mira/
vulkan.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4/* automatically generated by rust-bindgen 0.70.1 */
5
6#[repr(C)]
7#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
8pub struct __BindgenBitfieldUnit<Storage> {
9    storage: Storage,
10}
11impl<Storage> __BindgenBitfieldUnit<Storage> {
12    #[inline]
13    pub const fn new(storage: Storage) -> Self {
14        Self { storage }
15    }
16}
17impl<Storage> __BindgenBitfieldUnit<Storage>
18where
19    Storage: AsRef<[u8]> + AsMut<[u8]>,
20{
21    #[inline]
22    pub fn get_bit(&self, index: usize) -> bool {
23        debug_assert!(index / 8 < self.storage.as_ref().len());
24        let byte_index = index / 8;
25        let byte = self.storage.as_ref()[byte_index];
26        let bit_index = if cfg!(target_endian = "big") {
27            7 - (index % 8)
28        } else {
29            index % 8
30        };
31        let mask = 1 << bit_index;
32        byte & mask == mask
33    }
34    #[inline]
35    pub fn set_bit(&mut self, index: usize, val: bool) {
36        debug_assert!(index / 8 < self.storage.as_ref().len());
37        let byte_index = index / 8;
38        let byte = &mut self.storage.as_mut()[byte_index];
39        let bit_index = if cfg!(target_endian = "big") {
40            7 - (index % 8)
41        } else {
42            index % 8
43        };
44        let mask = 1 << bit_index;
45        if val {
46            *byte |= mask;
47        } else {
48            *byte &= !mask;
49        }
50    }
51    #[inline]
52    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
53        debug_assert!(bit_width <= 64);
54        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
55        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
56        let mut val = 0;
57        for i in 0..(bit_width as usize) {
58            if self.get_bit(i + bit_offset) {
59                let index = if cfg!(target_endian = "big") {
60                    bit_width as usize - 1 - i
61                } else {
62                    i
63                };
64                val |= 1 << index;
65            }
66        }
67        val
68    }
69    #[inline]
70    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
71        debug_assert!(bit_width <= 64);
72        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
73        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
74        for i in 0..(bit_width as usize) {
75            let mask = 1 << i;
76            let val_bit_is_set = val & mask == mask;
77            let index = if cfg!(target_endian = "big") {
78                bit_width as usize - 1 - i
79            } else {
80                i
81            };
82            self.set_bit(index + bit_offset, val_bit_is_set);
83        }
84    }
85}
86pub const VULKAN_CORE_H_: u32 = 1;
87pub const VK_VERSION_1_0: u32 = 1;
88pub const __MINGW64_VERSION_MAJOR: u32 = 13;
89pub const __MINGW64_VERSION_MINOR: u32 = 0;
90pub const __MINGW64_VERSION_BUGFIX: u32 = 0;
91pub const __MINGW64_VERSION_RC: u32 = 0;
92pub const __MINGW64_VERSION_STATE: &[u8; 6] = b"alpha\0";
93pub const __MINGW32_MAJOR_VERSION: u32 = 3;
94pub const __MINGW32_MINOR_VERSION: u32 = 11;
95pub const _M_AMD64: u32 = 100;
96pub const _M_X64: u32 = 100;
97pub const __: u32 = 1;
98pub const __MINGW_USE_UNDERSCORE_PREFIX: u32 = 0;
99pub const __MINGW_HAVE_ANSI_C99_PRINTF: u32 = 1;
100pub const __MINGW_HAVE_WIDE_C99_PRINTF: u32 = 1;
101pub const __MINGW_HAVE_ANSI_C99_SCANF: u32 = 1;
102pub const __MINGW_HAVE_WIDE_C99_SCANF: u32 = 1;
103pub const __MINGW_SEC_WARN_STR : & [u8 ; 92] = b"This function or variable may be unsafe, use _CRT_SECURE_NO_WARNINGS to disable deprecation\0" ;
104pub const __MINGW_MSVC2005_DEPREC_STR : & [u8 ; 117] = b"This POSIX function is deprecated beginning in Visual C++ 2005, use _CRT_NONSTDC_NO_DEPRECATE to disable deprecation\0" ;
105pub const __MINGW_FORTIFY_LEVEL: u32 = 0;
106pub const __MINGW_FORTIFY_VA_ARG: u32 = 0;
107pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 0;
108pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
109pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
110pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
111pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
112pub const __USE_CRTIMP: u32 = 1;
113pub const USE___UUIDOF: u32 = 0;
114pub const __CRT__NO_INLINE: u32 = 1;
115pub const __MSVCRT_VERSION__: u32 = 1792;
116pub const _WIN32_WINNT: u32 = 1537;
117pub const MINGW_HAS_SECURE_API: u32 = 1;
118pub const __STDC_SECURE_LIB__: u32 = 200411;
119pub const __GOT_SECURE_LIB__: u32 = 200411;
120pub const MINGW_HAS_DDK_H: u32 = 1;
121pub const _CRT_PACKING: u32 = 8;
122pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 253;
123pub const _ARGMAX: u32 = 100;
124pub const __USE_MINGW_ANSI_STDIO: u32 = 1;
125pub const INT8_MIN: i32 = -128;
126pub const INT16_MIN: i32 = -32768;
127pub const INT32_MIN: i32 = -2147483648;
128pub const INT64_MIN: i64 = -9223372036854775808;
129pub const INT8_MAX: u32 = 127;
130pub const INT16_MAX: u32 = 32767;
131pub const INT32_MAX: u32 = 2147483647;
132pub const INT64_MAX: u64 = 9223372036854775807;
133pub const UINT8_MAX: u32 = 255;
134pub const UINT16_MAX: u32 = 65535;
135pub const UINT32_MAX: u32 = 4294967295;
136pub const UINT64_MAX: i32 = -1;
137pub const INT_LEAST8_MIN: i32 = -128;
138pub const INT_LEAST16_MIN: i32 = -32768;
139pub const INT_LEAST32_MIN: i32 = -2147483648;
140pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
141pub const INT_LEAST8_MAX: u32 = 127;
142pub const INT_LEAST16_MAX: u32 = 32767;
143pub const INT_LEAST32_MAX: u32 = 2147483647;
144pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
145pub const UINT_LEAST8_MAX: u32 = 255;
146pub const UINT_LEAST16_MAX: u32 = 65535;
147pub const UINT_LEAST32_MAX: u32 = 4294967295;
148pub const UINT_LEAST64_MAX: i32 = -1;
149pub const INT_FAST8_MIN: i32 = -128;
150pub const INT_FAST16_MIN: i32 = -32768;
151pub const INT_FAST32_MIN: i32 = -2147483648;
152pub const INT_FAST64_MIN: i64 = -9223372036854775808;
153pub const INT_FAST8_MAX: u32 = 127;
154pub const INT_FAST16_MAX: u32 = 32767;
155pub const INT_FAST32_MAX: u32 = 2147483647;
156pub const INT_FAST64_MAX: u64 = 9223372036854775807;
157pub const UINT_FAST8_MAX: u32 = 255;
158pub const UINT_FAST16_MAX: u32 = 65535;
159pub const UINT_FAST32_MAX: u32 = 4294967295;
160pub const UINT_FAST64_MAX: i32 = -1;
161pub const INTPTR_MIN: i64 = -9223372036854775808;
162pub const INTPTR_MAX: u64 = 9223372036854775807;
163pub const UINTPTR_MAX: i32 = -1;
164pub const INTMAX_MIN: i64 = -9223372036854775808;
165pub const INTMAX_MAX: u64 = 9223372036854775807;
166pub const UINTMAX_MAX: i32 = -1;
167pub const PTRDIFF_MIN: i64 = -9223372036854775808;
168pub const PTRDIFF_MAX: u64 = 9223372036854775807;
169pub const SIG_ATOMIC_MIN: i32 = -2147483648;
170pub const SIG_ATOMIC_MAX: u32 = 2147483647;
171pub const SIZE_MAX: i32 = -1;
172pub const WCHAR_MIN: u32 = 0;
173pub const WCHAR_MAX: u32 = 65535;
174pub const WINT_MIN: u32 = 0;
175pub const WINT_MAX: u32 = 65535;
176pub const VK_USE_64_BIT_PTR_DEFINES: u32 = 1;
177pub const VK_HEADER_VERSION: u32 = 302;
178pub const VK_ATTACHMENT_UNUSED: i32 = -1;
179pub const VK_FALSE: u32 = 0;
180pub const VK_LOD_CLAMP_NONE: f64 = 1000.0;
181pub const VK_QUEUE_FAMILY_IGNORED: i32 = -1;
182pub const VK_REMAINING_ARRAY_LAYERS: i32 = -1;
183pub const VK_REMAINING_MIP_LEVELS: i32 = -1;
184pub const VK_SUBPASS_EXTERNAL: i32 = -1;
185pub const VK_TRUE: u32 = 1;
186pub const VK_WHOLE_SIZE: i32 = -1;
187pub const VK_MAX_MEMORY_TYPES: u32 = 32;
188pub const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE: u32 = 256;
189pub const VK_UUID_SIZE: u32 = 16;
190pub const VK_MAX_EXTENSION_NAME_SIZE: u32 = 256;
191pub const VK_MAX_DESCRIPTION_SIZE: u32 = 256;
192pub const VK_MAX_MEMORY_HEAPS: u32 = 16;
193pub const VK_VERSION_1_1: u32 = 1;
194pub const VK_MAX_DEVICE_GROUP_SIZE: u32 = 32;
195pub const VK_LUID_SIZE: u32 = 8;
196pub const VK_QUEUE_FAMILY_EXTERNAL: i32 = -2;
197pub const VK_VERSION_1_2: u32 = 1;
198pub const VK_MAX_DRIVER_NAME_SIZE: u32 = 256;
199pub const VK_MAX_DRIVER_INFO_SIZE: u32 = 256;
200pub const VK_VERSION_1_3: u32 = 1;
201pub const VK_KHR_surface: u32 = 1;
202pub const VK_KHR_SURFACE_SPEC_VERSION: u32 = 25;
203pub const VK_KHR_SURFACE_EXTENSION_NAME: &[u8; 15] = b"VK_KHR_surface\0";
204pub const VK_KHR_swapchain: u32 = 1;
205pub const VK_KHR_SWAPCHAIN_SPEC_VERSION: u32 = 70;
206pub const VK_KHR_SWAPCHAIN_EXTENSION_NAME: &[u8; 17] = b"VK_KHR_swapchain\0";
207pub const VK_KHR_display: u32 = 1;
208pub const VK_KHR_DISPLAY_SPEC_VERSION: u32 = 23;
209pub const VK_KHR_DISPLAY_EXTENSION_NAME: &[u8; 15] = b"VK_KHR_display\0";
210pub const VK_KHR_display_swapchain: u32 = 1;
211pub const VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION: u32 = 10;
212pub const VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_display_swapchain\0";
213pub const VK_KHR_sampler_mirror_clamp_to_edge: u32 = 1;
214pub const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION: u32 = 3;
215pub const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME: &[u8; 36] =
216    b"VK_KHR_sampler_mirror_clamp_to_edge\0";
217pub const VK_KHR_video_queue: u32 = 1;
218pub const VK_KHR_VIDEO_QUEUE_SPEC_VERSION: u32 = 8;
219pub const VK_KHR_VIDEO_QUEUE_EXTENSION_NAME: &[u8; 19] = b"VK_KHR_video_queue\0";
220pub const VK_KHR_video_decode_queue: u32 = 1;
221pub const VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION: u32 = 8;
222pub const VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_video_decode_queue\0";
223pub const VK_KHR_video_encode_h264: u32 = 1;
224pub const VULKAN_VIDEO_CODEC_H264STD_H_: u32 = 1;
225pub const vulkan_video_codec_h264std: u32 = 1;
226pub const VULKAN_VIDEO_CODECS_COMMON_H_: u32 = 1;
227pub const vulkan_video_codecs_common: u32 = 1;
228pub const STD_VIDEO_H264_CPB_CNT_LIST_SIZE: u32 = 32;
229pub const STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS: u32 = 6;
230pub const STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS: u32 = 16;
231pub const STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS: u32 = 6;
232pub const STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS: u32 = 64;
233pub const STD_VIDEO_H264_MAX_NUM_LIST_REF: u32 = 32;
234pub const STD_VIDEO_H264_MAX_CHROMA_PLANES: u32 = 2;
235pub const STD_VIDEO_H264_NO_REFERENCE_PICTURE: u32 = 255;
236pub const VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_: u32 = 1;
237pub const vulkan_video_codec_h264std_encode: u32 = 1;
238pub const VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME: &[u8; 38] =
239    b"VK_STD_vulkan_video_codec_h264_encode\0";
240pub const VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION: u32 = 14;
241pub const VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_video_encode_h264\0";
242pub const VK_KHR_video_encode_h265: u32 = 1;
243pub const VULKAN_VIDEO_CODEC_H265STD_H_: u32 = 1;
244pub const vulkan_video_codec_h265std: u32 = 1;
245pub const STD_VIDEO_H265_CPB_CNT_LIST_SIZE: u32 = 32;
246pub const STD_VIDEO_H265_SUBLAYERS_LIST_SIZE: u32 = 7;
247pub const STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS: u32 = 6;
248pub const STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS: u32 = 16;
249pub const STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS: u32 = 6;
250pub const STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS: u32 = 64;
251pub const STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS: u32 = 6;
252pub const STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS: u32 = 64;
253pub const STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS: u32 = 2;
254pub const STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS: u32 = 64;
255pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE: u32 = 6;
256pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE: u32 = 19;
257pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE: u32 = 21;
258pub const STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE: u32 = 3;
259pub const STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE: u32 = 128;
260pub const STD_VIDEO_H265_MAX_NUM_LIST_REF: u32 = 15;
261pub const STD_VIDEO_H265_MAX_CHROMA_PLANES: u32 = 2;
262pub const STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS: u32 = 64;
263pub const STD_VIDEO_H265_MAX_DPB_SIZE: u32 = 16;
264pub const STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS: u32 = 32;
265pub const STD_VIDEO_H265_MAX_LONG_TERM_PICS: u32 = 16;
266pub const STD_VIDEO_H265_MAX_DELTA_POC: u32 = 48;
267pub const STD_VIDEO_H265_NO_REFERENCE_PICTURE: u32 = 255;
268pub const VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_: u32 = 1;
269pub const vulkan_video_codec_h265std_encode: u32 = 1;
270pub const VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME: &[u8; 38] =
271    b"VK_STD_vulkan_video_codec_h265_encode\0";
272pub const VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION: u32 = 14;
273pub const VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_video_encode_h265\0";
274pub const VK_KHR_video_decode_h264: u32 = 1;
275pub const VULKAN_VIDEO_CODEC_H264STD_DECODE_H_: u32 = 1;
276pub const vulkan_video_codec_h264std_decode: u32 = 1;
277pub const VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME: &[u8; 38] =
278    b"VK_STD_vulkan_video_codec_h264_decode\0";
279pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE: u32 = 2;
280pub const VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION: u32 = 9;
281pub const VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_video_decode_h264\0";
282pub const VK_KHR_dynamic_rendering: u32 = 1;
283pub const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION: u32 = 1;
284pub const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_dynamic_rendering\0";
285pub const VK_KHR_multiview: u32 = 1;
286pub const VK_KHR_MULTIVIEW_SPEC_VERSION: u32 = 1;
287pub const VK_KHR_MULTIVIEW_EXTENSION_NAME: &[u8; 17] = b"VK_KHR_multiview\0";
288pub const VK_KHR_get_physical_device_properties2: u32 = 1;
289pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION: u32 = 2;
290pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME: &[u8; 39] =
291    b"VK_KHR_get_physical_device_properties2\0";
292pub const VK_KHR_device_group: u32 = 1;
293pub const VK_KHR_DEVICE_GROUP_SPEC_VERSION: u32 = 4;
294pub const VK_KHR_DEVICE_GROUP_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_device_group\0";
295pub const VK_KHR_shader_draw_parameters: u32 = 1;
296pub const VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION: u32 = 1;
297pub const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME: &[u8; 30] =
298    b"VK_KHR_shader_draw_parameters\0";
299pub const VK_KHR_maintenance1: u32 = 1;
300pub const VK_KHR_MAINTENANCE_1_SPEC_VERSION: u32 = 2;
301pub const VK_KHR_MAINTENANCE_1_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance1\0";
302pub const VK_KHR_MAINTENANCE1_SPEC_VERSION: u32 = 2;
303pub const VK_KHR_MAINTENANCE1_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance1\0";
304pub const VK_KHR_device_group_creation: u32 = 1;
305pub const VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION: u32 = 1;
306pub const VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME: &[u8; 29] =
307    b"VK_KHR_device_group_creation\0";
308pub const VK_MAX_DEVICE_GROUP_SIZE_KHR: u32 = 32;
309pub const VK_KHR_external_memory_capabilities: u32 = 1;
310pub const VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION: u32 = 1;
311pub const VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME: &[u8; 36] =
312    b"VK_KHR_external_memory_capabilities\0";
313pub const VK_LUID_SIZE_KHR: u32 = 8;
314pub const VK_KHR_external_memory: u32 = 1;
315pub const VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION: u32 = 1;
316pub const VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_external_memory\0";
317pub const VK_QUEUE_FAMILY_EXTERNAL_KHR: i32 = -2;
318pub const VK_KHR_external_memory_fd: u32 = 1;
319pub const VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION: u32 = 1;
320pub const VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_external_memory_fd\0";
321pub const VK_KHR_external_semaphore_capabilities: u32 = 1;
322pub const VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION: u32 = 1;
323pub const VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME: &[u8; 39] =
324    b"VK_KHR_external_semaphore_capabilities\0";
325pub const VK_KHR_external_semaphore: u32 = 1;
326pub const VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION: u32 = 1;
327pub const VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_external_semaphore\0";
328pub const VK_KHR_external_semaphore_fd: u32 = 1;
329pub const VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION: u32 = 1;
330pub const VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME: &[u8; 29] =
331    b"VK_KHR_external_semaphore_fd\0";
332pub const VK_KHR_push_descriptor: u32 = 1;
333pub const VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION: u32 = 2;
334pub const VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_push_descriptor\0";
335pub const VK_KHR_shader_float16_int8: u32 = 1;
336pub const VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION: u32 = 1;
337pub const VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_shader_float16_int8\0";
338pub const VK_KHR_16bit_storage: u32 = 1;
339pub const VK_KHR_16BIT_STORAGE_SPEC_VERSION: u32 = 1;
340pub const VK_KHR_16BIT_STORAGE_EXTENSION_NAME: &[u8; 21] = b"VK_KHR_16bit_storage\0";
341pub const VK_KHR_incremental_present: u32 = 1;
342pub const VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION: u32 = 2;
343pub const VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_incremental_present\0";
344pub const VK_KHR_descriptor_update_template: u32 = 1;
345pub const VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION: u32 = 1;
346pub const VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME: &[u8; 34] =
347    b"VK_KHR_descriptor_update_template\0";
348pub const VK_KHR_imageless_framebuffer: u32 = 1;
349pub const VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION: u32 = 1;
350pub const VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME: &[u8; 29] =
351    b"VK_KHR_imageless_framebuffer\0";
352pub const VK_KHR_create_renderpass2: u32 = 1;
353pub const VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION: u32 = 1;
354pub const VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_create_renderpass2\0";
355pub const VK_KHR_shared_presentable_image: u32 = 1;
356pub const VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION: u32 = 1;
357pub const VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME: &[u8; 32] =
358    b"VK_KHR_shared_presentable_image\0";
359pub const VK_KHR_external_fence_capabilities: u32 = 1;
360pub const VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION: u32 = 1;
361pub const VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME: &[u8; 35] =
362    b"VK_KHR_external_fence_capabilities\0";
363pub const VK_KHR_external_fence: u32 = 1;
364pub const VK_KHR_EXTERNAL_FENCE_SPEC_VERSION: u32 = 1;
365pub const VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME: &[u8; 22] = b"VK_KHR_external_fence\0";
366pub const VK_KHR_external_fence_fd: u32 = 1;
367pub const VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION: u32 = 1;
368pub const VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_external_fence_fd\0";
369pub const VK_KHR_performance_query: u32 = 1;
370pub const VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION: u32 = 1;
371pub const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_performance_query\0";
372pub const VK_KHR_maintenance2: u32 = 1;
373pub const VK_KHR_MAINTENANCE_2_SPEC_VERSION: u32 = 1;
374pub const VK_KHR_MAINTENANCE_2_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance2\0";
375pub const VK_KHR_MAINTENANCE2_SPEC_VERSION: u32 = 1;
376pub const VK_KHR_MAINTENANCE2_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance2\0";
377pub const VK_KHR_get_surface_capabilities2: u32 = 1;
378pub const VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION: u32 = 1;
379pub const VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME: &[u8; 33] =
380    b"VK_KHR_get_surface_capabilities2\0";
381pub const VK_KHR_variable_pointers: u32 = 1;
382pub const VK_KHR_VARIABLE_POINTERS_SPEC_VERSION: u32 = 1;
383pub const VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_variable_pointers\0";
384pub const VK_KHR_get_display_properties2: u32 = 1;
385pub const VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION: u32 = 1;
386pub const VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME: &[u8; 31] =
387    b"VK_KHR_get_display_properties2\0";
388pub const VK_KHR_dedicated_allocation: u32 = 1;
389pub const VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION: u32 = 3;
390pub const VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME: &[u8; 28] = b"VK_KHR_dedicated_allocation\0";
391pub const VK_KHR_storage_buffer_storage_class: u32 = 1;
392pub const VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION: u32 = 1;
393pub const VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME: &[u8; 36] =
394    b"VK_KHR_storage_buffer_storage_class\0";
395pub const VK_KHR_relaxed_block_layout: u32 = 1;
396pub const VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION: u32 = 1;
397pub const VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME: &[u8; 28] = b"VK_KHR_relaxed_block_layout\0";
398pub const VK_KHR_get_memory_requirements2: u32 = 1;
399pub const VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION: u32 = 1;
400pub const VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME: &[u8; 32] =
401    b"VK_KHR_get_memory_requirements2\0";
402pub const VK_KHR_image_format_list: u32 = 1;
403pub const VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION: u32 = 1;
404pub const VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_image_format_list\0";
405pub const VK_KHR_sampler_ycbcr_conversion: u32 = 1;
406pub const VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION: u32 = 14;
407pub const VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME: &[u8; 32] =
408    b"VK_KHR_sampler_ycbcr_conversion\0";
409pub const VK_KHR_bind_memory2: u32 = 1;
410pub const VK_KHR_BIND_MEMORY_2_SPEC_VERSION: u32 = 1;
411pub const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_bind_memory2\0";
412pub const VK_KHR_maintenance3: u32 = 1;
413pub const VK_KHR_MAINTENANCE_3_SPEC_VERSION: u32 = 1;
414pub const VK_KHR_MAINTENANCE_3_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance3\0";
415pub const VK_KHR_MAINTENANCE3_SPEC_VERSION: u32 = 1;
416pub const VK_KHR_MAINTENANCE3_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance3\0";
417pub const VK_KHR_draw_indirect_count: u32 = 1;
418pub const VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION: u32 = 1;
419pub const VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_draw_indirect_count\0";
420pub const VK_KHR_shader_subgroup_extended_types: u32 = 1;
421pub const VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION: u32 = 1;
422pub const VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME: &[u8; 38] =
423    b"VK_KHR_shader_subgroup_extended_types\0";
424pub const VK_KHR_8bit_storage: u32 = 1;
425pub const VK_KHR_8BIT_STORAGE_SPEC_VERSION: u32 = 1;
426pub const VK_KHR_8BIT_STORAGE_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_8bit_storage\0";
427pub const VK_KHR_shader_atomic_int64: u32 = 1;
428pub const VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION: u32 = 1;
429pub const VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_shader_atomic_int64\0";
430pub const VK_KHR_shader_clock: u32 = 1;
431pub const VK_KHR_SHADER_CLOCK_SPEC_VERSION: u32 = 1;
432pub const VK_KHR_SHADER_CLOCK_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_shader_clock\0";
433pub const VK_KHR_video_decode_h265: u32 = 1;
434pub const VULKAN_VIDEO_CODEC_H265STD_DECODE_H_: u32 = 1;
435pub const vulkan_video_codec_h265std_decode: u32 = 1;
436pub const VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME: &[u8; 38] =
437    b"VK_STD_vulkan_video_codec_h265_decode\0";
438pub const STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE: u32 = 8;
439pub const VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION: u32 = 8;
440pub const VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_video_decode_h265\0";
441pub const VK_KHR_global_priority: u32 = 1;
442pub const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR: u32 = 16;
443pub const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION: u32 = 1;
444pub const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_global_priority\0";
445pub const VK_KHR_driver_properties: u32 = 1;
446pub const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION: u32 = 1;
447pub const VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_driver_properties\0";
448pub const VK_MAX_DRIVER_NAME_SIZE_KHR: u32 = 256;
449pub const VK_MAX_DRIVER_INFO_SIZE_KHR: u32 = 256;
450pub const VK_KHR_shader_float_controls: u32 = 1;
451pub const VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION: u32 = 4;
452pub const VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME: &[u8; 29] =
453    b"VK_KHR_shader_float_controls\0";
454pub const VK_KHR_depth_stencil_resolve: u32 = 1;
455pub const VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION: u32 = 1;
456pub const VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME: &[u8; 29] =
457    b"VK_KHR_depth_stencil_resolve\0";
458pub const VK_KHR_swapchain_mutable_format: u32 = 1;
459pub const VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION: u32 = 1;
460pub const VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME: &[u8; 32] =
461    b"VK_KHR_swapchain_mutable_format\0";
462pub const VK_KHR_timeline_semaphore: u32 = 1;
463pub const VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION: u32 = 2;
464pub const VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_timeline_semaphore\0";
465pub const VK_KHR_vulkan_memory_model: u32 = 1;
466pub const VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION: u32 = 3;
467pub const VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_vulkan_memory_model\0";
468pub const VK_KHR_shader_terminate_invocation: u32 = 1;
469pub const VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION: u32 = 1;
470pub const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME: &[u8; 35] =
471    b"VK_KHR_shader_terminate_invocation\0";
472pub const VK_KHR_fragment_shading_rate: u32 = 1;
473pub const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION: u32 = 2;
474pub const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME: &[u8; 29] =
475    b"VK_KHR_fragment_shading_rate\0";
476pub const VK_KHR_dynamic_rendering_local_read: u32 = 1;
477pub const VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION: u32 = 1;
478pub const VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME: &[u8; 36] =
479    b"VK_KHR_dynamic_rendering_local_read\0";
480pub const VK_KHR_shader_quad_control: u32 = 1;
481pub const VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION: u32 = 1;
482pub const VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME: &[u8; 27] = b"VK_KHR_shader_quad_control\0";
483pub const VK_KHR_spirv_1_4: u32 = 1;
484pub const VK_KHR_SPIRV_1_4_SPEC_VERSION: u32 = 1;
485pub const VK_KHR_SPIRV_1_4_EXTENSION_NAME: &[u8; 17] = b"VK_KHR_spirv_1_4\0";
486pub const VK_KHR_surface_protected_capabilities: u32 = 1;
487pub const VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION: u32 = 1;
488pub const VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME: &[u8; 38] =
489    b"VK_KHR_surface_protected_capabilities\0";
490pub const VK_KHR_separate_depth_stencil_layouts: u32 = 1;
491pub const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION: u32 = 1;
492pub const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME: &[u8; 38] =
493    b"VK_KHR_separate_depth_stencil_layouts\0";
494pub const VK_KHR_present_wait: u32 = 1;
495pub const VK_KHR_PRESENT_WAIT_SPEC_VERSION: u32 = 1;
496pub const VK_KHR_PRESENT_WAIT_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_present_wait\0";
497pub const VK_KHR_uniform_buffer_standard_layout: u32 = 1;
498pub const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION: u32 = 1;
499pub const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME: &[u8; 38] =
500    b"VK_KHR_uniform_buffer_standard_layout\0";
501pub const VK_KHR_buffer_device_address: u32 = 1;
502pub const VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION: u32 = 1;
503pub const VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME: &[u8; 29] =
504    b"VK_KHR_buffer_device_address\0";
505pub const VK_KHR_deferred_host_operations: u32 = 1;
506pub const VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION: u32 = 4;
507pub const VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME: &[u8; 32] =
508    b"VK_KHR_deferred_host_operations\0";
509pub const VK_KHR_pipeline_executable_properties: u32 = 1;
510pub const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION: u32 = 1;
511pub const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME: &[u8; 38] =
512    b"VK_KHR_pipeline_executable_properties\0";
513pub const VK_KHR_map_memory2: u32 = 1;
514pub const VK_KHR_MAP_MEMORY_2_SPEC_VERSION: u32 = 1;
515pub const VK_KHR_MAP_MEMORY_2_EXTENSION_NAME: &[u8; 19] = b"VK_KHR_map_memory2\0";
516pub const VK_KHR_shader_integer_dot_product: u32 = 1;
517pub const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION: u32 = 1;
518pub const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME: &[u8; 34] =
519    b"VK_KHR_shader_integer_dot_product\0";
520pub const VK_KHR_pipeline_library: u32 = 1;
521pub const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION: u32 = 1;
522pub const VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME: &[u8; 24] = b"VK_KHR_pipeline_library\0";
523pub const VK_KHR_shader_non_semantic_info: u32 = 1;
524pub const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION: u32 = 1;
525pub const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME: &[u8; 32] =
526    b"VK_KHR_shader_non_semantic_info\0";
527pub const VK_KHR_present_id: u32 = 1;
528pub const VK_KHR_PRESENT_ID_SPEC_VERSION: u32 = 1;
529pub const VK_KHR_PRESENT_ID_EXTENSION_NAME: &[u8; 18] = b"VK_KHR_present_id\0";
530pub const VK_KHR_video_encode_queue: u32 = 1;
531pub const VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION: u32 = 12;
532pub const VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_video_encode_queue\0";
533pub const VK_KHR_synchronization2: u32 = 1;
534pub const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION: u32 = 1;
535pub const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME: &[u8; 24] = b"VK_KHR_synchronization2\0";
536pub const VK_KHR_fragment_shader_barycentric: u32 = 1;
537pub const VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION: u32 = 1;
538pub const VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME: &[u8; 35] =
539    b"VK_KHR_fragment_shader_barycentric\0";
540pub const VK_KHR_shader_subgroup_uniform_control_flow: u32 = 1;
541pub const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION: u32 = 1;
542pub const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME: &[u8; 44] =
543    b"VK_KHR_shader_subgroup_uniform_control_flow\0";
544pub const VK_KHR_zero_initialize_workgroup_memory: u32 = 1;
545pub const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION: u32 = 1;
546pub const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME: &[u8; 40] =
547    b"VK_KHR_zero_initialize_workgroup_memory\0";
548pub const VK_KHR_workgroup_memory_explicit_layout: u32 = 1;
549pub const VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION: u32 = 1;
550pub const VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME: &[u8; 40] =
551    b"VK_KHR_workgroup_memory_explicit_layout\0";
552pub const VK_KHR_copy_commands2: u32 = 1;
553pub const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION: u32 = 1;
554pub const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME: &[u8; 22] = b"VK_KHR_copy_commands2\0";
555pub const VK_KHR_format_feature_flags2: u32 = 1;
556pub const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION: u32 = 2;
557pub const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME: &[u8; 29] =
558    b"VK_KHR_format_feature_flags2\0";
559pub const VK_KHR_ray_tracing_maintenance1: u32 = 1;
560pub const VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION: u32 = 1;
561pub const VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME: &[u8; 32] =
562    b"VK_KHR_ray_tracing_maintenance1\0";
563pub const VK_KHR_portability_enumeration: u32 = 1;
564pub const VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION: u32 = 1;
565pub const VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME: &[u8; 31] =
566    b"VK_KHR_portability_enumeration\0";
567pub const VK_KHR_maintenance4: u32 = 1;
568pub const VK_KHR_MAINTENANCE_4_SPEC_VERSION: u32 = 2;
569pub const VK_KHR_MAINTENANCE_4_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance4\0";
570pub const VK_KHR_shader_subgroup_rotate: u32 = 1;
571pub const VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION: u32 = 2;
572pub const VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME: &[u8; 30] =
573    b"VK_KHR_shader_subgroup_rotate\0";
574pub const VK_KHR_shader_maximal_reconvergence: u32 = 1;
575pub const VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION: u32 = 1;
576pub const VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME: &[u8; 36] =
577    b"VK_KHR_shader_maximal_reconvergence\0";
578pub const VK_KHR_maintenance5: u32 = 1;
579pub const VK_KHR_MAINTENANCE_5_SPEC_VERSION: u32 = 1;
580pub const VK_KHR_MAINTENANCE_5_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance5\0";
581pub const VK_KHR_ray_tracing_position_fetch: u32 = 1;
582pub const VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION: u32 = 1;
583pub const VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME: &[u8; 34] =
584    b"VK_KHR_ray_tracing_position_fetch\0";
585pub const VK_KHR_pipeline_binary: u32 = 1;
586pub const VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR: u32 = 32;
587pub const VK_KHR_PIPELINE_BINARY_SPEC_VERSION: u32 = 1;
588pub const VK_KHR_PIPELINE_BINARY_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_pipeline_binary\0";
589pub const VK_KHR_cooperative_matrix: u32 = 1;
590pub const VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION: u32 = 2;
591pub const VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_cooperative_matrix\0";
592pub const VK_KHR_compute_shader_derivatives: u32 = 1;
593pub const VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION: u32 = 1;
594pub const VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME: &[u8; 34] =
595    b"VK_KHR_compute_shader_derivatives\0";
596pub const VK_KHR_video_decode_av1: u32 = 1;
597pub const VULKAN_VIDEO_CODEC_AV1STD_H_: u32 = 1;
598pub const vulkan_video_codec_av1std: u32 = 1;
599pub const STD_VIDEO_AV1_NUM_REF_FRAMES: u32 = 8;
600pub const STD_VIDEO_AV1_REFS_PER_FRAME: u32 = 7;
601pub const STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME: u32 = 8;
602pub const STD_VIDEO_AV1_MAX_TILE_COLS: u32 = 64;
603pub const STD_VIDEO_AV1_MAX_TILE_ROWS: u32 = 64;
604pub const STD_VIDEO_AV1_MAX_SEGMENTS: u32 = 8;
605pub const STD_VIDEO_AV1_SEG_LVL_MAX: u32 = 8;
606pub const STD_VIDEO_AV1_PRIMARY_REF_NONE: u32 = 7;
607pub const STD_VIDEO_AV1_SELECT_INTEGER_MV: u32 = 2;
608pub const STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS: u32 = 2;
609pub const STD_VIDEO_AV1_SKIP_MODE_FRAMES: u32 = 2;
610pub const STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS: u32 = 4;
611pub const STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS: u32 = 2;
612pub const STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS: u32 = 8;
613pub const STD_VIDEO_AV1_MAX_NUM_PLANES: u32 = 3;
614pub const STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS: u32 = 6;
615pub const STD_VIDEO_AV1_MAX_NUM_Y_POINTS: u32 = 14;
616pub const STD_VIDEO_AV1_MAX_NUM_CB_POINTS: u32 = 10;
617pub const STD_VIDEO_AV1_MAX_NUM_CR_POINTS: u32 = 10;
618pub const STD_VIDEO_AV1_MAX_NUM_POS_LUMA: u32 = 24;
619pub const STD_VIDEO_AV1_MAX_NUM_POS_CHROMA: u32 = 25;
620pub const VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_: u32 = 1;
621pub const vulkan_video_codec_av1std_decode: u32 = 1;
622pub const VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME: &[u8; 37] =
623    b"VK_STD_vulkan_video_codec_av1_decode\0";
624pub const VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR: u32 = 7;
625pub const VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION: u32 = 1;
626pub const VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME: &[u8; 24] = b"VK_KHR_video_decode_av1\0";
627pub const VK_KHR_video_encode_av1: u32 = 1;
628pub const VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_: u32 = 1;
629pub const vulkan_video_codec_av1std_encode: u32 = 1;
630pub const VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME: &[u8; 37] =
631    b"VK_STD_vulkan_video_codec_av1_encode\0";
632pub const VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION: u32 = 1;
633pub const VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME: &[u8; 24] = b"VK_KHR_video_encode_av1\0";
634pub const VK_KHR_video_maintenance1: u32 = 1;
635pub const VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION: u32 = 1;
636pub const VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_video_maintenance1\0";
637pub const VK_KHR_vertex_attribute_divisor: u32 = 1;
638pub const VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION: u32 = 1;
639pub const VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME: &[u8; 32] =
640    b"VK_KHR_vertex_attribute_divisor\0";
641pub const VK_KHR_load_store_op_none: u32 = 1;
642pub const VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION: u32 = 1;
643pub const VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_load_store_op_none\0";
644pub const VK_KHR_shader_float_controls2: u32 = 1;
645pub const VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION: u32 = 1;
646pub const VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME: &[u8; 30] =
647    b"VK_KHR_shader_float_controls2\0";
648pub const VK_KHR_index_type_uint8: u32 = 1;
649pub const VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION: u32 = 1;
650pub const VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME: &[u8; 24] = b"VK_KHR_index_type_uint8\0";
651pub const VK_KHR_line_rasterization: u32 = 1;
652pub const VK_KHR_LINE_RASTERIZATION_SPEC_VERSION: u32 = 1;
653pub const VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_line_rasterization\0";
654pub const VK_KHR_calibrated_timestamps: u32 = 1;
655pub const VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION: u32 = 1;
656pub const VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME: &[u8; 29] =
657    b"VK_KHR_calibrated_timestamps\0";
658pub const VK_KHR_shader_expect_assume: u32 = 1;
659pub const VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION: u32 = 1;
660pub const VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME: &[u8; 28] = b"VK_KHR_shader_expect_assume\0";
661pub const VK_KHR_maintenance6: u32 = 1;
662pub const VK_KHR_MAINTENANCE_6_SPEC_VERSION: u32 = 1;
663pub const VK_KHR_MAINTENANCE_6_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance6\0";
664pub const VK_KHR_video_encode_quantization_map: u32 = 1;
665pub const VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION: u32 = 2;
666pub const VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME: &[u8; 37] =
667    b"VK_KHR_video_encode_quantization_map\0";
668pub const VK_KHR_shader_relaxed_extended_instruction: u32 = 1;
669pub const VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION: u32 = 1;
670pub const VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME: &[u8; 43] =
671    b"VK_KHR_shader_relaxed_extended_instruction\0";
672pub const VK_KHR_maintenance7: u32 = 1;
673pub const VK_KHR_MAINTENANCE_7_SPEC_VERSION: u32 = 1;
674pub const VK_KHR_MAINTENANCE_7_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_maintenance7\0";
675pub const VK_EXT_debug_report: u32 = 1;
676pub const VK_EXT_DEBUG_REPORT_SPEC_VERSION: u32 = 10;
677pub const VK_EXT_DEBUG_REPORT_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_debug_report\0";
678pub const VK_NV_glsl_shader: u32 = 1;
679pub const VK_NV_GLSL_SHADER_SPEC_VERSION: u32 = 1;
680pub const VK_NV_GLSL_SHADER_EXTENSION_NAME: &[u8; 18] = b"VK_NV_glsl_shader\0";
681pub const VK_EXT_depth_range_unrestricted: u32 = 1;
682pub const VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION: u32 = 1;
683pub const VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME: &[u8; 32] =
684    b"VK_EXT_depth_range_unrestricted\0";
685pub const VK_IMG_filter_cubic: u32 = 1;
686pub const VK_IMG_FILTER_CUBIC_SPEC_VERSION: u32 = 1;
687pub const VK_IMG_FILTER_CUBIC_EXTENSION_NAME: &[u8; 20] = b"VK_IMG_filter_cubic\0";
688pub const VK_AMD_rasterization_order: u32 = 1;
689pub const VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION: u32 = 1;
690pub const VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME: &[u8; 27] = b"VK_AMD_rasterization_order\0";
691pub const VK_AMD_shader_trinary_minmax: u32 = 1;
692pub const VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION: u32 = 1;
693pub const VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME: &[u8; 29] =
694    b"VK_AMD_shader_trinary_minmax\0";
695pub const VK_AMD_shader_explicit_vertex_parameter: u32 = 1;
696pub const VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION: u32 = 1;
697pub const VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME: &[u8; 40] =
698    b"VK_AMD_shader_explicit_vertex_parameter\0";
699pub const VK_EXT_debug_marker: u32 = 1;
700pub const VK_EXT_DEBUG_MARKER_SPEC_VERSION: u32 = 4;
701pub const VK_EXT_DEBUG_MARKER_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_debug_marker\0";
702pub const VK_AMD_gcn_shader: u32 = 1;
703pub const VK_AMD_GCN_SHADER_SPEC_VERSION: u32 = 1;
704pub const VK_AMD_GCN_SHADER_EXTENSION_NAME: &[u8; 18] = b"VK_AMD_gcn_shader\0";
705pub const VK_NV_dedicated_allocation: u32 = 1;
706pub const VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION: u32 = 1;
707pub const VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME: &[u8; 27] = b"VK_NV_dedicated_allocation\0";
708pub const VK_EXT_transform_feedback: u32 = 1;
709pub const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION: u32 = 1;
710pub const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_transform_feedback\0";
711pub const VK_NVX_binary_import: u32 = 1;
712pub const VK_NVX_BINARY_IMPORT_SPEC_VERSION: u32 = 2;
713pub const VK_NVX_BINARY_IMPORT_EXTENSION_NAME: &[u8; 21] = b"VK_NVX_binary_import\0";
714pub const VK_NVX_image_view_handle: u32 = 1;
715pub const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION: u32 = 3;
716pub const VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME: &[u8; 25] = b"VK_NVX_image_view_handle\0";
717pub const VK_AMD_draw_indirect_count: u32 = 1;
718pub const VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION: u32 = 2;
719pub const VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME: &[u8; 27] = b"VK_AMD_draw_indirect_count\0";
720pub const VK_AMD_negative_viewport_height: u32 = 1;
721pub const VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION: u32 = 1;
722pub const VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME: &[u8; 32] =
723    b"VK_AMD_negative_viewport_height\0";
724pub const VK_AMD_gpu_shader_half_float: u32 = 1;
725pub const VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION: u32 = 2;
726pub const VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME: &[u8; 29] =
727    b"VK_AMD_gpu_shader_half_float\0";
728pub const VK_AMD_shader_ballot: u32 = 1;
729pub const VK_AMD_SHADER_BALLOT_SPEC_VERSION: u32 = 1;
730pub const VK_AMD_SHADER_BALLOT_EXTENSION_NAME: &[u8; 21] = b"VK_AMD_shader_ballot\0";
731pub const VK_AMD_texture_gather_bias_lod: u32 = 1;
732pub const VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION: u32 = 1;
733pub const VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME: &[u8; 31] =
734    b"VK_AMD_texture_gather_bias_lod\0";
735pub const VK_AMD_shader_info: u32 = 1;
736pub const VK_AMD_SHADER_INFO_SPEC_VERSION: u32 = 1;
737pub const VK_AMD_SHADER_INFO_EXTENSION_NAME: &[u8; 19] = b"VK_AMD_shader_info\0";
738pub const VK_AMD_shader_image_load_store_lod: u32 = 1;
739pub const VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION: u32 = 1;
740pub const VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME: &[u8; 35] =
741    b"VK_AMD_shader_image_load_store_lod\0";
742pub const VK_NV_corner_sampled_image: u32 = 1;
743pub const VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION: u32 = 2;
744pub const VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME: &[u8; 27] = b"VK_NV_corner_sampled_image\0";
745pub const VK_IMG_format_pvrtc: u32 = 1;
746pub const VK_IMG_FORMAT_PVRTC_SPEC_VERSION: u32 = 1;
747pub const VK_IMG_FORMAT_PVRTC_EXTENSION_NAME: &[u8; 20] = b"VK_IMG_format_pvrtc\0";
748pub const VK_NV_external_memory_capabilities: u32 = 1;
749pub const VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION: u32 = 1;
750pub const VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME: &[u8; 35] =
751    b"VK_NV_external_memory_capabilities\0";
752pub const VK_NV_external_memory: u32 = 1;
753pub const VK_NV_EXTERNAL_MEMORY_SPEC_VERSION: u32 = 1;
754pub const VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME: &[u8; 22] = b"VK_NV_external_memory\0";
755pub const VK_EXT_validation_flags: u32 = 1;
756pub const VK_EXT_VALIDATION_FLAGS_SPEC_VERSION: u32 = 3;
757pub const VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_validation_flags\0";
758pub const VK_EXT_shader_subgroup_ballot: u32 = 1;
759pub const VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION: u32 = 1;
760pub const VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME: &[u8; 30] =
761    b"VK_EXT_shader_subgroup_ballot\0";
762pub const VK_EXT_shader_subgroup_vote: u32 = 1;
763pub const VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION: u32 = 1;
764pub const VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_shader_subgroup_vote\0";
765pub const VK_EXT_texture_compression_astc_hdr: u32 = 1;
766pub const VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION: u32 = 1;
767pub const VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME: &[u8; 36] =
768    b"VK_EXT_texture_compression_astc_hdr\0";
769pub const VK_EXT_astc_decode_mode: u32 = 1;
770pub const VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION: u32 = 1;
771pub const VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_astc_decode_mode\0";
772pub const VK_EXT_pipeline_robustness: u32 = 1;
773pub const VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION: u32 = 1;
774pub const VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_pipeline_robustness\0";
775pub const VK_EXT_conditional_rendering: u32 = 1;
776pub const VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION: u32 = 2;
777pub const VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME: &[u8; 29] =
778    b"VK_EXT_conditional_rendering\0";
779pub const VK_NV_clip_space_w_scaling: u32 = 1;
780pub const VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION: u32 = 1;
781pub const VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME: &[u8; 27] = b"VK_NV_clip_space_w_scaling\0";
782pub const VK_EXT_direct_mode_display: u32 = 1;
783pub const VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION: u32 = 1;
784pub const VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_direct_mode_display\0";
785pub const VK_EXT_display_surface_counter: u32 = 1;
786pub const VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION: u32 = 1;
787pub const VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME: &[u8; 31] =
788    b"VK_EXT_display_surface_counter\0";
789pub const VK_EXT_display_control: u32 = 1;
790pub const VK_EXT_DISPLAY_CONTROL_SPEC_VERSION: u32 = 1;
791pub const VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME: &[u8; 23] = b"VK_EXT_display_control\0";
792pub const VK_GOOGLE_display_timing: u32 = 1;
793pub const VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION: u32 = 1;
794pub const VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME: &[u8; 25] = b"VK_GOOGLE_display_timing\0";
795pub const VK_NV_sample_mask_override_coverage: u32 = 1;
796pub const VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION: u32 = 1;
797pub const VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME: &[u8; 36] =
798    b"VK_NV_sample_mask_override_coverage\0";
799pub const VK_NV_geometry_shader_passthrough: u32 = 1;
800pub const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION: u32 = 1;
801pub const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME: &[u8; 34] =
802    b"VK_NV_geometry_shader_passthrough\0";
803pub const VK_NV_viewport_array2: u32 = 1;
804pub const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION: u32 = 1;
805pub const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME: &[u8; 22] = b"VK_NV_viewport_array2\0";
806pub const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION: u32 = 1;
807pub const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME: &[u8; 22] = b"VK_NV_viewport_array2\0";
808pub const VK_NVX_multiview_per_view_attributes: u32 = 1;
809pub const VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION: u32 = 1;
810pub const VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME: &[u8; 37] =
811    b"VK_NVX_multiview_per_view_attributes\0";
812pub const VK_NV_viewport_swizzle: u32 = 1;
813pub const VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION: u32 = 1;
814pub const VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME: &[u8; 23] = b"VK_NV_viewport_swizzle\0";
815pub const VK_EXT_discard_rectangles: u32 = 1;
816pub const VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION: u32 = 2;
817pub const VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_discard_rectangles\0";
818pub const VK_EXT_conservative_rasterization: u32 = 1;
819pub const VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION: u32 = 1;
820pub const VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME: &[u8; 34] =
821    b"VK_EXT_conservative_rasterization\0";
822pub const VK_EXT_depth_clip_enable: u32 = 1;
823pub const VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION: u32 = 1;
824pub const VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME: &[u8; 25] = b"VK_EXT_depth_clip_enable\0";
825pub const VK_EXT_swapchain_colorspace: u32 = 1;
826pub const VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION: u32 = 5;
827pub const VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_swapchain_colorspace\0";
828pub const VK_EXT_hdr_metadata: u32 = 1;
829pub const VK_EXT_HDR_METADATA_SPEC_VERSION: u32 = 3;
830pub const VK_EXT_HDR_METADATA_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_hdr_metadata\0";
831pub const VK_IMG_relaxed_line_rasterization: u32 = 1;
832pub const VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION: u32 = 1;
833pub const VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME: &[u8; 34] =
834    b"VK_IMG_relaxed_line_rasterization\0";
835pub const VK_EXT_external_memory_dma_buf: u32 = 1;
836pub const VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION: u32 = 1;
837pub const VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME: &[u8; 31] =
838    b"VK_EXT_external_memory_dma_buf\0";
839pub const VK_EXT_queue_family_foreign: u32 = 1;
840pub const VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION: u32 = 1;
841pub const VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_queue_family_foreign\0";
842pub const VK_QUEUE_FAMILY_FOREIGN_EXT: i32 = -3;
843pub const VK_EXT_debug_utils: u32 = 1;
844pub const VK_EXT_DEBUG_UTILS_SPEC_VERSION: u32 = 2;
845pub const VK_EXT_DEBUG_UTILS_EXTENSION_NAME: &[u8; 19] = b"VK_EXT_debug_utils\0";
846pub const VK_EXT_sampler_filter_minmax: u32 = 1;
847pub const VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION: u32 = 2;
848pub const VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME: &[u8; 29] =
849    b"VK_EXT_sampler_filter_minmax\0";
850pub const VK_AMD_gpu_shader_int16: u32 = 1;
851pub const VK_AMD_GPU_SHADER_INT16_SPEC_VERSION: u32 = 2;
852pub const VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME: &[u8; 24] = b"VK_AMD_gpu_shader_int16\0";
853pub const VK_AMD_mixed_attachment_samples: u32 = 1;
854pub const VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION: u32 = 1;
855pub const VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME: &[u8; 32] =
856    b"VK_AMD_mixed_attachment_samples\0";
857pub const VK_AMD_shader_fragment_mask: u32 = 1;
858pub const VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION: u32 = 1;
859pub const VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME: &[u8; 28] = b"VK_AMD_shader_fragment_mask\0";
860pub const VK_EXT_inline_uniform_block: u32 = 1;
861pub const VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION: u32 = 1;
862pub const VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_inline_uniform_block\0";
863pub const VK_EXT_shader_stencil_export: u32 = 1;
864pub const VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION: u32 = 1;
865pub const VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME: &[u8; 29] =
866    b"VK_EXT_shader_stencil_export\0";
867pub const VK_EXT_sample_locations: u32 = 1;
868pub const VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION: u32 = 1;
869pub const VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_sample_locations\0";
870pub const VK_EXT_blend_operation_advanced: u32 = 1;
871pub const VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION: u32 = 2;
872pub const VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME: &[u8; 32] =
873    b"VK_EXT_blend_operation_advanced\0";
874pub const VK_NV_fragment_coverage_to_color: u32 = 1;
875pub const VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION: u32 = 1;
876pub const VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME: &[u8; 33] =
877    b"VK_NV_fragment_coverage_to_color\0";
878pub const VK_NV_framebuffer_mixed_samples: u32 = 1;
879pub const VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION: u32 = 1;
880pub const VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME: &[u8; 32] =
881    b"VK_NV_framebuffer_mixed_samples\0";
882pub const VK_NV_fill_rectangle: u32 = 1;
883pub const VK_NV_FILL_RECTANGLE_SPEC_VERSION: u32 = 1;
884pub const VK_NV_FILL_RECTANGLE_EXTENSION_NAME: &[u8; 21] = b"VK_NV_fill_rectangle\0";
885pub const VK_NV_shader_sm_builtins: u32 = 1;
886pub const VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION: u32 = 1;
887pub const VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME: &[u8; 25] = b"VK_NV_shader_sm_builtins\0";
888pub const VK_EXT_post_depth_coverage: u32 = 1;
889pub const VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION: u32 = 1;
890pub const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_post_depth_coverage\0";
891pub const VK_EXT_image_drm_format_modifier: u32 = 1;
892pub const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION: u32 = 2;
893pub const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME: &[u8; 33] =
894    b"VK_EXT_image_drm_format_modifier\0";
895pub const VK_EXT_validation_cache: u32 = 1;
896pub const VK_EXT_VALIDATION_CACHE_SPEC_VERSION: u32 = 1;
897pub const VK_EXT_VALIDATION_CACHE_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_validation_cache\0";
898pub const VK_EXT_descriptor_indexing: u32 = 1;
899pub const VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION: u32 = 2;
900pub const VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_descriptor_indexing\0";
901pub const VK_EXT_shader_viewport_index_layer: u32 = 1;
902pub const VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION: u32 = 1;
903pub const VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME: &[u8; 35] =
904    b"VK_EXT_shader_viewport_index_layer\0";
905pub const VK_NV_shading_rate_image: u32 = 1;
906pub const VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION: u32 = 3;
907pub const VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME: &[u8; 25] = b"VK_NV_shading_rate_image\0";
908pub const VK_NV_ray_tracing: u32 = 1;
909pub const VK_NV_RAY_TRACING_SPEC_VERSION: u32 = 3;
910pub const VK_NV_RAY_TRACING_EXTENSION_NAME: &[u8; 18] = b"VK_NV_ray_tracing\0";
911pub const VK_SHADER_UNUSED_KHR: i32 = -1;
912pub const VK_SHADER_UNUSED_NV: i32 = -1;
913pub const VK_NV_representative_fragment_test: u32 = 1;
914pub const VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION: u32 = 2;
915pub const VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME: &[u8; 35] =
916    b"VK_NV_representative_fragment_test\0";
917pub const VK_EXT_filter_cubic: u32 = 1;
918pub const VK_EXT_FILTER_CUBIC_SPEC_VERSION: u32 = 3;
919pub const VK_EXT_FILTER_CUBIC_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_filter_cubic\0";
920pub const VK_QCOM_render_pass_shader_resolve: u32 = 1;
921pub const VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION: u32 = 4;
922pub const VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME: &[u8; 35] =
923    b"VK_QCOM_render_pass_shader_resolve\0";
924pub const VK_EXT_global_priority: u32 = 1;
925pub const VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION: u32 = 2;
926pub const VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME: &[u8; 23] = b"VK_EXT_global_priority\0";
927pub const VK_EXT_external_memory_host: u32 = 1;
928pub const VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION: u32 = 1;
929pub const VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_external_memory_host\0";
930pub const VK_AMD_buffer_marker: u32 = 1;
931pub const VK_AMD_BUFFER_MARKER_SPEC_VERSION: u32 = 1;
932pub const VK_AMD_BUFFER_MARKER_EXTENSION_NAME: &[u8; 21] = b"VK_AMD_buffer_marker\0";
933pub const VK_AMD_pipeline_compiler_control: u32 = 1;
934pub const VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION: u32 = 1;
935pub const VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME: &[u8; 33] =
936    b"VK_AMD_pipeline_compiler_control\0";
937pub const VK_EXT_calibrated_timestamps: u32 = 1;
938pub const VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION: u32 = 2;
939pub const VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME: &[u8; 29] =
940    b"VK_EXT_calibrated_timestamps\0";
941pub const VK_AMD_shader_core_properties: u32 = 1;
942pub const VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION: u32 = 2;
943pub const VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME: &[u8; 30] =
944    b"VK_AMD_shader_core_properties\0";
945pub const VK_AMD_memory_overallocation_behavior: u32 = 1;
946pub const VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION: u32 = 1;
947pub const VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME: &[u8; 38] =
948    b"VK_AMD_memory_overallocation_behavior\0";
949pub const VK_EXT_vertex_attribute_divisor: u32 = 1;
950pub const VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION: u32 = 3;
951pub const VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME: &[u8; 32] =
952    b"VK_EXT_vertex_attribute_divisor\0";
953pub const VK_EXT_pipeline_creation_feedback: u32 = 1;
954pub const VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION: u32 = 1;
955pub const VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME: &[u8; 34] =
956    b"VK_EXT_pipeline_creation_feedback\0";
957pub const VK_NV_shader_subgroup_partitioned: u32 = 1;
958pub const VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION: u32 = 1;
959pub const VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME: &[u8; 34] =
960    b"VK_NV_shader_subgroup_partitioned\0";
961pub const VK_NV_compute_shader_derivatives: u32 = 1;
962pub const VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION: u32 = 1;
963pub const VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME: &[u8; 33] =
964    b"VK_NV_compute_shader_derivatives\0";
965pub const VK_NV_mesh_shader: u32 = 1;
966pub const VK_NV_MESH_SHADER_SPEC_VERSION: u32 = 1;
967pub const VK_NV_MESH_SHADER_EXTENSION_NAME: &[u8; 18] = b"VK_NV_mesh_shader\0";
968pub const VK_NV_fragment_shader_barycentric: u32 = 1;
969pub const VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION: u32 = 1;
970pub const VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME: &[u8; 34] =
971    b"VK_NV_fragment_shader_barycentric\0";
972pub const VK_NV_shader_image_footprint: u32 = 1;
973pub const VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION: u32 = 2;
974pub const VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME: &[u8; 29] =
975    b"VK_NV_shader_image_footprint\0";
976pub const VK_NV_scissor_exclusive: u32 = 1;
977pub const VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION: u32 = 2;
978pub const VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME: &[u8; 24] = b"VK_NV_scissor_exclusive\0";
979pub const VK_NV_device_diagnostic_checkpoints: u32 = 1;
980pub const VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION: u32 = 2;
981pub const VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME: &[u8; 36] =
982    b"VK_NV_device_diagnostic_checkpoints\0";
983pub const VK_INTEL_shader_integer_functions2: u32 = 1;
984pub const VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION: u32 = 1;
985pub const VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME: &[u8; 35] =
986    b"VK_INTEL_shader_integer_functions2\0";
987pub const VK_INTEL_performance_query: u32 = 1;
988pub const VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION: u32 = 2;
989pub const VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME: &[u8; 27] = b"VK_INTEL_performance_query\0";
990pub const VK_EXT_pci_bus_info: u32 = 1;
991pub const VK_EXT_PCI_BUS_INFO_SPEC_VERSION: u32 = 2;
992pub const VK_EXT_PCI_BUS_INFO_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_pci_bus_info\0";
993pub const VK_AMD_display_native_hdr: u32 = 1;
994pub const VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION: u32 = 1;
995pub const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME: &[u8; 26] = b"VK_AMD_display_native_hdr\0";
996pub const VK_EXT_fragment_density_map: u32 = 1;
997pub const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION: u32 = 2;
998pub const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_fragment_density_map\0";
999pub const VK_EXT_scalar_block_layout: u32 = 1;
1000pub const VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION: u32 = 1;
1001pub const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_scalar_block_layout\0";
1002pub const VK_GOOGLE_hlsl_functionality1: u32 = 1;
1003pub const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION: u32 = 1;
1004pub const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME: &[u8; 30] =
1005    b"VK_GOOGLE_hlsl_functionality1\0";
1006pub const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION: u32 = 1;
1007pub const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME: &[u8; 30] =
1008    b"VK_GOOGLE_hlsl_functionality1\0";
1009pub const VK_GOOGLE_decorate_string: u32 = 1;
1010pub const VK_GOOGLE_DECORATE_STRING_SPEC_VERSION: u32 = 1;
1011pub const VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME: &[u8; 26] = b"VK_GOOGLE_decorate_string\0";
1012pub const VK_EXT_subgroup_size_control: u32 = 1;
1013pub const VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION: u32 = 2;
1014pub const VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME: &[u8; 29] =
1015    b"VK_EXT_subgroup_size_control\0";
1016pub const VK_AMD_shader_core_properties2: u32 = 1;
1017pub const VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION: u32 = 1;
1018pub const VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME: &[u8; 31] =
1019    b"VK_AMD_shader_core_properties2\0";
1020pub const VK_AMD_device_coherent_memory: u32 = 1;
1021pub const VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION: u32 = 1;
1022pub const VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME: &[u8; 30] =
1023    b"VK_AMD_device_coherent_memory\0";
1024pub const VK_EXT_shader_image_atomic_int64: u32 = 1;
1025pub const VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION: u32 = 1;
1026pub const VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME: &[u8; 33] =
1027    b"VK_EXT_shader_image_atomic_int64\0";
1028pub const VK_EXT_memory_budget: u32 = 1;
1029pub const VK_EXT_MEMORY_BUDGET_SPEC_VERSION: u32 = 1;
1030pub const VK_EXT_MEMORY_BUDGET_EXTENSION_NAME: &[u8; 21] = b"VK_EXT_memory_budget\0";
1031pub const VK_EXT_memory_priority: u32 = 1;
1032pub const VK_EXT_MEMORY_PRIORITY_SPEC_VERSION: u32 = 1;
1033pub const VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME: &[u8; 23] = b"VK_EXT_memory_priority\0";
1034pub const VK_NV_dedicated_allocation_image_aliasing: u32 = 1;
1035pub const VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION: u32 = 1;
1036pub const VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME: &[u8; 42] =
1037    b"VK_NV_dedicated_allocation_image_aliasing\0";
1038pub const VK_EXT_buffer_device_address: u32 = 1;
1039pub const VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION: u32 = 2;
1040pub const VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME: &[u8; 29] =
1041    b"VK_EXT_buffer_device_address\0";
1042pub const VK_EXT_tooling_info: u32 = 1;
1043pub const VK_EXT_TOOLING_INFO_SPEC_VERSION: u32 = 1;
1044pub const VK_EXT_TOOLING_INFO_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_tooling_info\0";
1045pub const VK_EXT_separate_stencil_usage: u32 = 1;
1046pub const VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION: u32 = 1;
1047pub const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME: &[u8; 30] =
1048    b"VK_EXT_separate_stencil_usage\0";
1049pub const VK_EXT_validation_features: u32 = 1;
1050pub const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION: u32 = 6;
1051pub const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_validation_features\0";
1052pub const VK_NV_cooperative_matrix: u32 = 1;
1053pub const VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION: u32 = 1;
1054pub const VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME: &[u8; 25] = b"VK_NV_cooperative_matrix\0";
1055pub const VK_NV_coverage_reduction_mode: u32 = 1;
1056pub const VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION: u32 = 1;
1057pub const VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME: &[u8; 30] =
1058    b"VK_NV_coverage_reduction_mode\0";
1059pub const VK_EXT_fragment_shader_interlock: u32 = 1;
1060pub const VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION: u32 = 1;
1061pub const VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME: &[u8; 33] =
1062    b"VK_EXT_fragment_shader_interlock\0";
1063pub const VK_EXT_ycbcr_image_arrays: u32 = 1;
1064pub const VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION: u32 = 1;
1065pub const VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_ycbcr_image_arrays\0";
1066pub const VK_EXT_provoking_vertex: u32 = 1;
1067pub const VK_EXT_PROVOKING_VERTEX_SPEC_VERSION: u32 = 1;
1068pub const VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_provoking_vertex\0";
1069pub const VK_EXT_headless_surface: u32 = 1;
1070pub const VK_EXT_HEADLESS_SURFACE_SPEC_VERSION: u32 = 1;
1071pub const VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_headless_surface\0";
1072pub const VK_EXT_line_rasterization: u32 = 1;
1073pub const VK_EXT_LINE_RASTERIZATION_SPEC_VERSION: u32 = 1;
1074pub const VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_line_rasterization\0";
1075pub const VK_EXT_shader_atomic_float: u32 = 1;
1076pub const VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION: u32 = 1;
1077pub const VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_shader_atomic_float\0";
1078pub const VK_EXT_host_query_reset: u32 = 1;
1079pub const VK_EXT_HOST_QUERY_RESET_SPEC_VERSION: u32 = 1;
1080pub const VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_host_query_reset\0";
1081pub const VK_EXT_index_type_uint8: u32 = 1;
1082pub const VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION: u32 = 1;
1083pub const VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_index_type_uint8\0";
1084pub const VK_EXT_extended_dynamic_state: u32 = 1;
1085pub const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION: u32 = 1;
1086pub const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME: &[u8; 30] =
1087    b"VK_EXT_extended_dynamic_state\0";
1088pub const VK_EXT_host_image_copy: u32 = 1;
1089pub const VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION: u32 = 1;
1090pub const VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME: &[u8; 23] = b"VK_EXT_host_image_copy\0";
1091pub const VK_EXT_map_memory_placed: u32 = 1;
1092pub const VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION: u32 = 1;
1093pub const VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME: &[u8; 25] = b"VK_EXT_map_memory_placed\0";
1094pub const VK_EXT_shader_atomic_float2: u32 = 1;
1095pub const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION: u32 = 1;
1096pub const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_shader_atomic_float2\0";
1097pub const VK_EXT_surface_maintenance1: u32 = 1;
1098pub const VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION: u32 = 1;
1099pub const VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_surface_maintenance1\0";
1100pub const VK_EXT_swapchain_maintenance1: u32 = 1;
1101pub const VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION: u32 = 1;
1102pub const VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME: &[u8; 30] =
1103    b"VK_EXT_swapchain_maintenance1\0";
1104pub const VK_EXT_shader_demote_to_helper_invocation: u32 = 1;
1105pub const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION: u32 = 1;
1106pub const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME: &[u8; 42] =
1107    b"VK_EXT_shader_demote_to_helper_invocation\0";
1108pub const VK_NV_device_generated_commands: u32 = 1;
1109pub const VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION: u32 = 3;
1110pub const VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME: &[u8; 32] =
1111    b"VK_NV_device_generated_commands\0";
1112pub const VK_NV_inherited_viewport_scissor: u32 = 1;
1113pub const VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION: u32 = 1;
1114pub const VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME: &[u8; 33] =
1115    b"VK_NV_inherited_viewport_scissor\0";
1116pub const VK_EXT_texel_buffer_alignment: u32 = 1;
1117pub const VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION: u32 = 1;
1118pub const VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME: &[u8; 30] =
1119    b"VK_EXT_texel_buffer_alignment\0";
1120pub const VK_QCOM_render_pass_transform: u32 = 1;
1121pub const VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION: u32 = 4;
1122pub const VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME: &[u8; 30] =
1123    b"VK_QCOM_render_pass_transform\0";
1124pub const VK_EXT_depth_bias_control: u32 = 1;
1125pub const VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION: u32 = 1;
1126pub const VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_depth_bias_control\0";
1127pub const VK_EXT_device_memory_report: u32 = 1;
1128pub const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION: u32 = 2;
1129pub const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_device_memory_report\0";
1130pub const VK_EXT_acquire_drm_display: u32 = 1;
1131pub const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION: u32 = 1;
1132pub const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_acquire_drm_display\0";
1133pub const VK_EXT_robustness2: u32 = 1;
1134pub const VK_EXT_ROBUSTNESS_2_SPEC_VERSION: u32 = 1;
1135pub const VK_EXT_ROBUSTNESS_2_EXTENSION_NAME: &[u8; 19] = b"VK_EXT_robustness2\0";
1136pub const VK_EXT_custom_border_color: u32 = 1;
1137pub const VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION: u32 = 12;
1138pub const VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_custom_border_color\0";
1139pub const VK_GOOGLE_user_type: u32 = 1;
1140pub const VK_GOOGLE_USER_TYPE_SPEC_VERSION: u32 = 1;
1141pub const VK_GOOGLE_USER_TYPE_EXTENSION_NAME: &[u8; 20] = b"VK_GOOGLE_user_type\0";
1142pub const VK_NV_present_barrier: u32 = 1;
1143pub const VK_NV_PRESENT_BARRIER_SPEC_VERSION: u32 = 1;
1144pub const VK_NV_PRESENT_BARRIER_EXTENSION_NAME: &[u8; 22] = b"VK_NV_present_barrier\0";
1145pub const VK_EXT_private_data: u32 = 1;
1146pub const VK_EXT_PRIVATE_DATA_SPEC_VERSION: u32 = 1;
1147pub const VK_EXT_PRIVATE_DATA_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_private_data\0";
1148pub const VK_EXT_pipeline_creation_cache_control: u32 = 1;
1149pub const VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION: u32 = 3;
1150pub const VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME: &[u8; 39] =
1151    b"VK_EXT_pipeline_creation_cache_control\0";
1152pub const VK_NV_device_diagnostics_config: u32 = 1;
1153pub const VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION: u32 = 2;
1154pub const VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME: &[u8; 32] =
1155    b"VK_NV_device_diagnostics_config\0";
1156pub const VK_QCOM_render_pass_store_ops: u32 = 1;
1157pub const VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION: u32 = 2;
1158pub const VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME: &[u8; 30] =
1159    b"VK_QCOM_render_pass_store_ops\0";
1160pub const VK_NV_cuda_kernel_launch: u32 = 1;
1161pub const VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION: u32 = 2;
1162pub const VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME: &[u8; 25] = b"VK_NV_cuda_kernel_launch\0";
1163pub const VK_NV_low_latency: u32 = 1;
1164pub const VK_NV_LOW_LATENCY_SPEC_VERSION: u32 = 1;
1165pub const VK_NV_LOW_LATENCY_EXTENSION_NAME: &[u8; 18] = b"VK_NV_low_latency\0";
1166pub const VK_EXT_descriptor_buffer: u32 = 1;
1167pub const VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION: u32 = 1;
1168pub const VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME: &[u8; 25] = b"VK_EXT_descriptor_buffer\0";
1169pub const VK_EXT_graphics_pipeline_library: u32 = 1;
1170pub const VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION: u32 = 1;
1171pub const VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME: &[u8; 33] =
1172    b"VK_EXT_graphics_pipeline_library\0";
1173pub const VK_AMD_shader_early_and_late_fragment_tests: u32 = 1;
1174pub const VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION: u32 = 1;
1175pub const VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME: &[u8; 44] =
1176    b"VK_AMD_shader_early_and_late_fragment_tests\0";
1177pub const VK_NV_fragment_shading_rate_enums: u32 = 1;
1178pub const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION: u32 = 1;
1179pub const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME: &[u8; 34] =
1180    b"VK_NV_fragment_shading_rate_enums\0";
1181pub const VK_NV_ray_tracing_motion_blur: u32 = 1;
1182pub const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION: u32 = 1;
1183pub const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME: &[u8; 30] =
1184    b"VK_NV_ray_tracing_motion_blur\0";
1185pub const VK_EXT_ycbcr_2plane_444_formats: u32 = 1;
1186pub const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION: u32 = 1;
1187pub const VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME: &[u8; 32] =
1188    b"VK_EXT_ycbcr_2plane_444_formats\0";
1189pub const VK_EXT_fragment_density_map2: u32 = 1;
1190pub const VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION: u32 = 1;
1191pub const VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME: &[u8; 29] =
1192    b"VK_EXT_fragment_density_map2\0";
1193pub const VK_QCOM_rotated_copy_commands: u32 = 1;
1194pub const VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION: u32 = 2;
1195pub const VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME: &[u8; 30] =
1196    b"VK_QCOM_rotated_copy_commands\0";
1197pub const VK_EXT_image_robustness: u32 = 1;
1198pub const VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION: u32 = 1;
1199pub const VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_image_robustness\0";
1200pub const VK_EXT_image_compression_control: u32 = 1;
1201pub const VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION: u32 = 1;
1202pub const VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME: &[u8; 33] =
1203    b"VK_EXT_image_compression_control\0";
1204pub const VK_EXT_attachment_feedback_loop_layout: u32 = 1;
1205pub const VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION: u32 = 2;
1206pub const VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME: &[u8; 39] =
1207    b"VK_EXT_attachment_feedback_loop_layout\0";
1208pub const VK_EXT_4444_formats: u32 = 1;
1209pub const VK_EXT_4444_FORMATS_SPEC_VERSION: u32 = 1;
1210pub const VK_EXT_4444_FORMATS_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_4444_formats\0";
1211pub const VK_EXT_device_fault: u32 = 1;
1212pub const VK_EXT_DEVICE_FAULT_SPEC_VERSION: u32 = 2;
1213pub const VK_EXT_DEVICE_FAULT_EXTENSION_NAME: &[u8; 20] = b"VK_EXT_device_fault\0";
1214pub const VK_ARM_rasterization_order_attachment_access: u32 = 1;
1215pub const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION: u32 = 1;
1216pub const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME: &[u8; 45] =
1217    b"VK_ARM_rasterization_order_attachment_access\0";
1218pub const VK_EXT_rgba10x6_formats: u32 = 1;
1219pub const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION: u32 = 1;
1220pub const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_rgba10x6_formats\0";
1221pub const VK_VALVE_mutable_descriptor_type: u32 = 1;
1222pub const VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION: u32 = 1;
1223pub const VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME: &[u8; 33] =
1224    b"VK_VALVE_mutable_descriptor_type\0";
1225pub const VK_EXT_vertex_input_dynamic_state: u32 = 1;
1226pub const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION: u32 = 2;
1227pub const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME: &[u8; 34] =
1228    b"VK_EXT_vertex_input_dynamic_state\0";
1229pub const VK_EXT_physical_device_drm: u32 = 1;
1230pub const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION: u32 = 1;
1231pub const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_physical_device_drm\0";
1232pub const VK_EXT_device_address_binding_report: u32 = 1;
1233pub const VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION: u32 = 1;
1234pub const VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME: &[u8; 37] =
1235    b"VK_EXT_device_address_binding_report\0";
1236pub const VK_EXT_depth_clip_control: u32 = 1;
1237pub const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION: u32 = 1;
1238pub const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_depth_clip_control\0";
1239pub const VK_EXT_primitive_topology_list_restart: u32 = 1;
1240pub const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION: u32 = 1;
1241pub const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME: &[u8; 39] =
1242    b"VK_EXT_primitive_topology_list_restart\0";
1243pub const VK_EXT_present_mode_fifo_latest_ready: u32 = 1;
1244pub const VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION: u32 = 1;
1245pub const VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME: &[u8; 38] =
1246    b"VK_EXT_present_mode_fifo_latest_ready\0";
1247pub const VK_HUAWEI_subpass_shading: u32 = 1;
1248pub const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION: u32 = 3;
1249pub const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME: &[u8; 26] = b"VK_HUAWEI_subpass_shading\0";
1250pub const VK_HUAWEI_invocation_mask: u32 = 1;
1251pub const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION: u32 = 1;
1252pub const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME: &[u8; 26] = b"VK_HUAWEI_invocation_mask\0";
1253pub const VK_NV_external_memory_rdma: u32 = 1;
1254pub const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION: u32 = 1;
1255pub const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME: &[u8; 27] = b"VK_NV_external_memory_rdma\0";
1256pub const VK_EXT_pipeline_properties: u32 = 1;
1257pub const VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION: u32 = 1;
1258pub const VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_pipeline_properties\0";
1259pub const VK_EXT_frame_boundary: u32 = 1;
1260pub const VK_EXT_FRAME_BOUNDARY_SPEC_VERSION: u32 = 1;
1261pub const VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME: &[u8; 22] = b"VK_EXT_frame_boundary\0";
1262pub const VK_EXT_multisampled_render_to_single_sampled: u32 = 1;
1263pub const VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION: u32 = 1;
1264pub const VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME: &[u8; 45] =
1265    b"VK_EXT_multisampled_render_to_single_sampled\0";
1266pub const VK_EXT_extended_dynamic_state2: u32 = 1;
1267pub const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION: u32 = 1;
1268pub const VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME: &[u8; 31] =
1269    b"VK_EXT_extended_dynamic_state2\0";
1270pub const VK_EXT_color_write_enable: u32 = 1;
1271pub const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION: u32 = 1;
1272pub const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_color_write_enable\0";
1273pub const VK_EXT_primitives_generated_query: u32 = 1;
1274pub const VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION: u32 = 1;
1275pub const VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME: &[u8; 34] =
1276    b"VK_EXT_primitives_generated_query\0";
1277pub const VK_EXT_global_priority_query: u32 = 1;
1278pub const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION: u32 = 1;
1279pub const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME: &[u8; 29] =
1280    b"VK_EXT_global_priority_query\0";
1281pub const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT: u32 = 16;
1282pub const VK_EXT_image_view_min_lod: u32 = 1;
1283pub const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION: u32 = 1;
1284pub const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_image_view_min_lod\0";
1285pub const VK_EXT_multi_draw: u32 = 1;
1286pub const VK_EXT_MULTI_DRAW_SPEC_VERSION: u32 = 1;
1287pub const VK_EXT_MULTI_DRAW_EXTENSION_NAME: &[u8; 18] = b"VK_EXT_multi_draw\0";
1288pub const VK_EXT_image_2d_view_of_3d: u32 = 1;
1289pub const VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION: u32 = 1;
1290pub const VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_image_2d_view_of_3d\0";
1291pub const VK_EXT_shader_tile_image: u32 = 1;
1292pub const VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION: u32 = 1;
1293pub const VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME: &[u8; 25] = b"VK_EXT_shader_tile_image\0";
1294pub const VK_EXT_opacity_micromap: u32 = 1;
1295pub const VK_EXT_OPACITY_MICROMAP_SPEC_VERSION: u32 = 2;
1296pub const VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_opacity_micromap\0";
1297pub const VK_EXT_load_store_op_none: u32 = 1;
1298pub const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION: u32 = 1;
1299pub const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME: &[u8; 26] = b"VK_EXT_load_store_op_none\0";
1300pub const VK_HUAWEI_cluster_culling_shader: u32 = 1;
1301pub const VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION: u32 = 3;
1302pub const VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME: &[u8; 33] =
1303    b"VK_HUAWEI_cluster_culling_shader\0";
1304pub const VK_EXT_border_color_swizzle: u32 = 1;
1305pub const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION: u32 = 1;
1306pub const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_border_color_swizzle\0";
1307pub const VK_EXT_pageable_device_local_memory: u32 = 1;
1308pub const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION: u32 = 1;
1309pub const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME: &[u8; 36] =
1310    b"VK_EXT_pageable_device_local_memory\0";
1311pub const VK_ARM_shader_core_properties: u32 = 1;
1312pub const VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION: u32 = 1;
1313pub const VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME: &[u8; 30] =
1314    b"VK_ARM_shader_core_properties\0";
1315pub const VK_ARM_scheduling_controls: u32 = 1;
1316pub const VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION: u32 = 1;
1317pub const VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME: &[u8; 27] = b"VK_ARM_scheduling_controls\0";
1318pub const VK_EXT_image_sliced_view_of_3d: u32 = 1;
1319pub const VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION: u32 = 1;
1320pub const VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME: &[u8; 31] =
1321    b"VK_EXT_image_sliced_view_of_3d\0";
1322pub const VK_REMAINING_3D_SLICES_EXT: i32 = -1;
1323pub const VK_VALVE_descriptor_set_host_mapping: u32 = 1;
1324pub const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION: u32 = 1;
1325pub const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME: &[u8; 37] =
1326    b"VK_VALVE_descriptor_set_host_mapping\0";
1327pub const VK_EXT_depth_clamp_zero_one: u32 = 1;
1328pub const VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION: u32 = 1;
1329pub const VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_depth_clamp_zero_one\0";
1330pub const VK_EXT_non_seamless_cube_map: u32 = 1;
1331pub const VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION: u32 = 1;
1332pub const VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME: &[u8; 29] =
1333    b"VK_EXT_non_seamless_cube_map\0";
1334pub const VK_ARM_render_pass_striped: u32 = 1;
1335pub const VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION: u32 = 1;
1336pub const VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME: &[u8; 27] = b"VK_ARM_render_pass_striped\0";
1337pub const VK_QCOM_fragment_density_map_offset: u32 = 1;
1338pub const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION: u32 = 2;
1339pub const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME: &[u8; 36] =
1340    b"VK_QCOM_fragment_density_map_offset\0";
1341pub const VK_NV_copy_memory_indirect: u32 = 1;
1342pub const VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION: u32 = 1;
1343pub const VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME: &[u8; 27] = b"VK_NV_copy_memory_indirect\0";
1344pub const VK_NV_memory_decompression: u32 = 1;
1345pub const VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION: u32 = 1;
1346pub const VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME: &[u8; 27] = b"VK_NV_memory_decompression\0";
1347pub const VK_NV_device_generated_commands_compute: u32 = 1;
1348pub const VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION: u32 = 2;
1349pub const VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME: &[u8; 40] =
1350    b"VK_NV_device_generated_commands_compute\0";
1351pub const VK_NV_linear_color_attachment: u32 = 1;
1352pub const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION: u32 = 1;
1353pub const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME: &[u8; 30] =
1354    b"VK_NV_linear_color_attachment\0";
1355pub const VK_GOOGLE_surfaceless_query: u32 = 1;
1356pub const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION: u32 = 2;
1357pub const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME: &[u8; 28] = b"VK_GOOGLE_surfaceless_query\0";
1358pub const VK_EXT_image_compression_control_swapchain: u32 = 1;
1359pub const VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION: u32 = 1;
1360pub const VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME: &[u8; 43] =
1361    b"VK_EXT_image_compression_control_swapchain\0";
1362pub const VK_QCOM_image_processing: u32 = 1;
1363pub const VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION: u32 = 1;
1364pub const VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME: &[u8; 25] = b"VK_QCOM_image_processing\0";
1365pub const VK_EXT_nested_command_buffer: u32 = 1;
1366pub const VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION: u32 = 1;
1367pub const VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME: &[u8; 29] =
1368    b"VK_EXT_nested_command_buffer\0";
1369pub const VK_EXT_external_memory_acquire_unmodified: u32 = 1;
1370pub const VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION: u32 = 1;
1371pub const VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME: &[u8; 42] =
1372    b"VK_EXT_external_memory_acquire_unmodified\0";
1373pub const VK_EXT_extended_dynamic_state3: u32 = 1;
1374pub const VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION: u32 = 2;
1375pub const VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME: &[u8; 31] =
1376    b"VK_EXT_extended_dynamic_state3\0";
1377pub const VK_EXT_subpass_merge_feedback: u32 = 1;
1378pub const VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION: u32 = 2;
1379pub const VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME: &[u8; 30] =
1380    b"VK_EXT_subpass_merge_feedback\0";
1381pub const VK_LUNARG_direct_driver_loading: u32 = 1;
1382pub const VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION: u32 = 1;
1383pub const VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME: &[u8; 32] =
1384    b"VK_LUNARG_direct_driver_loading\0";
1385pub const VK_EXT_shader_module_identifier: u32 = 1;
1386pub const VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT: u32 = 32;
1387pub const VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION: u32 = 1;
1388pub const VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME: &[u8; 32] =
1389    b"VK_EXT_shader_module_identifier\0";
1390pub const VK_EXT_rasterization_order_attachment_access: u32 = 1;
1391pub const VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION: u32 = 1;
1392pub const VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME: &[u8; 45] =
1393    b"VK_EXT_rasterization_order_attachment_access\0";
1394pub const VK_NV_optical_flow: u32 = 1;
1395pub const VK_NV_OPTICAL_FLOW_SPEC_VERSION: u32 = 1;
1396pub const VK_NV_OPTICAL_FLOW_EXTENSION_NAME: &[u8; 19] = b"VK_NV_optical_flow\0";
1397pub const VK_EXT_legacy_dithering: u32 = 1;
1398pub const VK_EXT_LEGACY_DITHERING_SPEC_VERSION: u32 = 2;
1399pub const VK_EXT_LEGACY_DITHERING_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_legacy_dithering\0";
1400pub const VK_EXT_pipeline_protected_access: u32 = 1;
1401pub const VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION: u32 = 1;
1402pub const VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME: &[u8; 33] =
1403    b"VK_EXT_pipeline_protected_access\0";
1404pub const VK_AMD_anti_lag: u32 = 1;
1405pub const VK_AMD_ANTI_LAG_SPEC_VERSION: u32 = 1;
1406pub const VK_AMD_ANTI_LAG_EXTENSION_NAME: &[u8; 16] = b"VK_AMD_anti_lag\0";
1407pub const VK_EXT_shader_object: u32 = 1;
1408pub const VK_EXT_SHADER_OBJECT_SPEC_VERSION: u32 = 1;
1409pub const VK_EXT_SHADER_OBJECT_EXTENSION_NAME: &[u8; 21] = b"VK_EXT_shader_object\0";
1410pub const VK_QCOM_tile_properties: u32 = 1;
1411pub const VK_QCOM_TILE_PROPERTIES_SPEC_VERSION: u32 = 1;
1412pub const VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME: &[u8; 24] = b"VK_QCOM_tile_properties\0";
1413pub const VK_SEC_amigo_profiling: u32 = 1;
1414pub const VK_SEC_AMIGO_PROFILING_SPEC_VERSION: u32 = 1;
1415pub const VK_SEC_AMIGO_PROFILING_EXTENSION_NAME: &[u8; 23] = b"VK_SEC_amigo_profiling\0";
1416pub const VK_QCOM_multiview_per_view_viewports: u32 = 1;
1417pub const VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION: u32 = 1;
1418pub const VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME: &[u8; 37] =
1419    b"VK_QCOM_multiview_per_view_viewports\0";
1420pub const VK_NV_ray_tracing_invocation_reorder: u32 = 1;
1421pub const VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION: u32 = 1;
1422pub const VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME: &[u8; 37] =
1423    b"VK_NV_ray_tracing_invocation_reorder\0";
1424pub const VK_NV_extended_sparse_address_space: u32 = 1;
1425pub const VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION: u32 = 1;
1426pub const VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME: &[u8; 36] =
1427    b"VK_NV_extended_sparse_address_space\0";
1428pub const VK_EXT_mutable_descriptor_type: u32 = 1;
1429pub const VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION: u32 = 1;
1430pub const VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME: &[u8; 31] =
1431    b"VK_EXT_mutable_descriptor_type\0";
1432pub const VK_EXT_legacy_vertex_attributes: u32 = 1;
1433pub const VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION: u32 = 1;
1434pub const VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME: &[u8; 32] =
1435    b"VK_EXT_legacy_vertex_attributes\0";
1436pub const VK_EXT_layer_settings: u32 = 1;
1437pub const VK_EXT_LAYER_SETTINGS_SPEC_VERSION: u32 = 2;
1438pub const VK_EXT_LAYER_SETTINGS_EXTENSION_NAME: &[u8; 22] = b"VK_EXT_layer_settings\0";
1439pub const VK_ARM_shader_core_builtins: u32 = 1;
1440pub const VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION: u32 = 2;
1441pub const VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME: &[u8; 28] = b"VK_ARM_shader_core_builtins\0";
1442pub const VK_EXT_pipeline_library_group_handles: u32 = 1;
1443pub const VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION: u32 = 1;
1444pub const VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME: &[u8; 38] =
1445    b"VK_EXT_pipeline_library_group_handles\0";
1446pub const VK_EXT_dynamic_rendering_unused_attachments: u32 = 1;
1447pub const VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION: u32 = 1;
1448pub const VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME: &[u8; 44] =
1449    b"VK_EXT_dynamic_rendering_unused_attachments\0";
1450pub const VK_NV_low_latency2: u32 = 1;
1451pub const VK_NV_LOW_LATENCY_2_SPEC_VERSION: u32 = 2;
1452pub const VK_NV_LOW_LATENCY_2_EXTENSION_NAME: &[u8; 19] = b"VK_NV_low_latency2\0";
1453pub const VK_QCOM_multiview_per_view_render_areas: u32 = 1;
1454pub const VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION: u32 = 1;
1455pub const VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME: &[u8; 40] =
1456    b"VK_QCOM_multiview_per_view_render_areas\0";
1457pub const VK_NV_per_stage_descriptor_set: u32 = 1;
1458pub const VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION: u32 = 1;
1459pub const VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME: &[u8; 31] =
1460    b"VK_NV_per_stage_descriptor_set\0";
1461pub const VK_QCOM_image_processing2: u32 = 1;
1462pub const VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION: u32 = 1;
1463pub const VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME: &[u8; 26] = b"VK_QCOM_image_processing2\0";
1464pub const VK_QCOM_filter_cubic_weights: u32 = 1;
1465pub const VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION: u32 = 1;
1466pub const VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME: &[u8; 29] =
1467    b"VK_QCOM_filter_cubic_weights\0";
1468pub const VK_QCOM_ycbcr_degamma: u32 = 1;
1469pub const VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION: u32 = 1;
1470pub const VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME: &[u8; 22] = b"VK_QCOM_ycbcr_degamma\0";
1471pub const VK_QCOM_filter_cubic_clamp: u32 = 1;
1472pub const VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION: u32 = 1;
1473pub const VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME: &[u8; 27] = b"VK_QCOM_filter_cubic_clamp\0";
1474pub const VK_EXT_attachment_feedback_loop_dynamic_state: u32 = 1;
1475pub const VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION: u32 = 1;
1476pub const VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME: &[u8; 46] =
1477    b"VK_EXT_attachment_feedback_loop_dynamic_state\0";
1478pub const VK_MSFT_layered_driver: u32 = 1;
1479pub const VK_MSFT_LAYERED_DRIVER_SPEC_VERSION: u32 = 1;
1480pub const VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME: &[u8; 23] = b"VK_MSFT_layered_driver\0";
1481pub const VK_NV_descriptor_pool_overallocation: u32 = 1;
1482pub const VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION: u32 = 1;
1483pub const VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME: &[u8; 37] =
1484    b"VK_NV_descriptor_pool_overallocation\0";
1485pub const VK_NV_display_stereo: u32 = 1;
1486pub const VK_NV_DISPLAY_STEREO_SPEC_VERSION: u32 = 1;
1487pub const VK_NV_DISPLAY_STEREO_EXTENSION_NAME: &[u8; 21] = b"VK_NV_display_stereo\0";
1488pub const VK_NV_raw_access_chains: u32 = 1;
1489pub const VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION: u32 = 1;
1490pub const VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME: &[u8; 24] = b"VK_NV_raw_access_chains\0";
1491pub const VK_NV_command_buffer_inheritance: u32 = 1;
1492pub const VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION: u32 = 1;
1493pub const VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME: &[u8; 33] =
1494    b"VK_NV_command_buffer_inheritance\0";
1495pub const VK_NV_shader_atomic_float16_vector: u32 = 1;
1496pub const VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION: u32 = 1;
1497pub const VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME: &[u8; 35] =
1498    b"VK_NV_shader_atomic_float16_vector\0";
1499pub const VK_EXT_shader_replicated_composites: u32 = 1;
1500pub const VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION: u32 = 1;
1501pub const VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME: &[u8; 36] =
1502    b"VK_EXT_shader_replicated_composites\0";
1503pub const VK_NV_ray_tracing_validation: u32 = 1;
1504pub const VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION: u32 = 1;
1505pub const VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME: &[u8; 29] =
1506    b"VK_NV_ray_tracing_validation\0";
1507pub const VK_EXT_device_generated_commands: u32 = 1;
1508pub const VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION: u32 = 1;
1509pub const VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME: &[u8; 33] =
1510    b"VK_EXT_device_generated_commands\0";
1511pub const VK_MESA_image_alignment_control: u32 = 1;
1512pub const VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION: u32 = 1;
1513pub const VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME: &[u8; 32] =
1514    b"VK_MESA_image_alignment_control\0";
1515pub const VK_EXT_depth_clamp_control: u32 = 1;
1516pub const VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION: u32 = 1;
1517pub const VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME: &[u8; 27] = b"VK_EXT_depth_clamp_control\0";
1518pub const VK_HUAWEI_hdr_vivid: u32 = 1;
1519pub const VK_HUAWEI_HDR_VIVID_SPEC_VERSION: u32 = 1;
1520pub const VK_HUAWEI_HDR_VIVID_EXTENSION_NAME: &[u8; 20] = b"VK_HUAWEI_hdr_vivid\0";
1521pub const VK_NV_cooperative_matrix2: u32 = 1;
1522pub const VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION: u32 = 1;
1523pub const VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME: &[u8; 26] = b"VK_NV_cooperative_matrix2\0";
1524pub const VK_EXT_vertex_attribute_robustness: u32 = 1;
1525pub const VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION: u32 = 1;
1526pub const VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME: &[u8; 35] =
1527    b"VK_EXT_vertex_attribute_robustness\0";
1528pub const VK_KHR_acceleration_structure: u32 = 1;
1529pub const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION: u32 = 13;
1530pub const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME: &[u8; 30] =
1531    b"VK_KHR_acceleration_structure\0";
1532pub const VK_KHR_ray_tracing_pipeline: u32 = 1;
1533pub const VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION: u32 = 1;
1534pub const VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME: &[u8; 28] = b"VK_KHR_ray_tracing_pipeline\0";
1535pub const VK_KHR_ray_query: u32 = 1;
1536pub const VK_KHR_RAY_QUERY_SPEC_VERSION: u32 = 1;
1537pub const VK_KHR_RAY_QUERY_EXTENSION_NAME: &[u8; 17] = b"VK_KHR_ray_query\0";
1538pub const VK_EXT_mesh_shader: u32 = 1;
1539pub const VK_EXT_MESH_SHADER_SPEC_VERSION: u32 = 1;
1540pub const VK_EXT_MESH_SHADER_EXTENSION_NAME: &[u8; 19] = b"VK_EXT_mesh_shader\0";
1541pub const VULKAN_ANDROID_H_: u32 = 1;
1542pub const VK_KHR_android_surface: u32 = 1;
1543pub const VK_KHR_ANDROID_SURFACE_SPEC_VERSION: u32 = 6;
1544pub const VK_KHR_ANDROID_SURFACE_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_android_surface\0";
1545pub const VK_ANDROID_external_memory_android_hardware_buffer: u32 = 1;
1546pub const VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION: u32 = 5;
1547pub const VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME: &[u8; 51] =
1548    b"VK_ANDROID_external_memory_android_hardware_buffer\0";
1549pub const VK_ANDROID_external_format_resolve: u32 = 1;
1550pub const VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION: u32 = 1;
1551pub const VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME: &[u8; 35] =
1552    b"VK_ANDROID_external_format_resolve\0";
1553pub const VULKAN_BETA_H_: u32 = 1;
1554pub const VK_KHR_portability_subset: u32 = 1;
1555pub const VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION: u32 = 1;
1556pub const VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME: &[u8; 26] = b"VK_KHR_portability_subset\0";
1557pub const VK_AMDX_shader_enqueue: u32 = 1;
1558pub const VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION: u32 = 2;
1559pub const VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME: &[u8; 23] = b"VK_AMDX_shader_enqueue\0";
1560pub const VK_SHADER_INDEX_UNUSED_AMDX: i32 = -1;
1561pub const VK_NV_displacement_micromap: u32 = 1;
1562pub const VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION: u32 = 2;
1563pub const VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME: &[u8; 28] = b"VK_NV_displacement_micromap\0";
1564pub const VULKAN_DIRECTFB_H_: u32 = 1;
1565pub const VK_EXT_directfb_surface: u32 = 1;
1566pub const VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION: u32 = 1;
1567pub const VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME: &[u8; 24] = b"VK_EXT_directfb_surface\0";
1568pub const VULKAN_FUCHSIA_H_: u32 = 1;
1569pub const VK_FUCHSIA_imagepipe_surface: u32 = 1;
1570pub const VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION: u32 = 1;
1571pub const VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME: &[u8; 29] =
1572    b"VK_FUCHSIA_imagepipe_surface\0";
1573pub const VK_FUCHSIA_external_memory: u32 = 1;
1574pub const VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION: u32 = 1;
1575pub const VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME: &[u8; 27] = b"VK_FUCHSIA_external_memory\0";
1576pub const VK_FUCHSIA_external_semaphore: u32 = 1;
1577pub const VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION: u32 = 1;
1578pub const VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME: &[u8; 30] =
1579    b"VK_FUCHSIA_external_semaphore\0";
1580pub const VK_FUCHSIA_buffer_collection: u32 = 1;
1581pub const VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION: u32 = 2;
1582pub const VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME: &[u8; 29] =
1583    b"VK_FUCHSIA_buffer_collection\0";
1584pub const VULKAN_IOS_H_: u32 = 1;
1585pub const VK_MVK_ios_surface: u32 = 1;
1586pub const VK_MVK_IOS_SURFACE_SPEC_VERSION: u32 = 3;
1587pub const VK_MVK_IOS_SURFACE_EXTENSION_NAME: &[u8; 19] = b"VK_MVK_ios_surface\0";
1588pub const VULKAN_MACOS_H_: u32 = 1;
1589pub const VK_MVK_macos_surface: u32 = 1;
1590pub const VK_MVK_MACOS_SURFACE_SPEC_VERSION: u32 = 3;
1591pub const VK_MVK_MACOS_SURFACE_EXTENSION_NAME: &[u8; 21] = b"VK_MVK_macos_surface\0";
1592pub const VULKAN_METAL_H_: u32 = 1;
1593pub const VK_EXT_metal_surface: u32 = 1;
1594pub const VK_EXT_METAL_SURFACE_SPEC_VERSION: u32 = 1;
1595pub const VK_EXT_METAL_SURFACE_EXTENSION_NAME: &[u8; 21] = b"VK_EXT_metal_surface\0";
1596pub const VK_EXT_metal_objects: u32 = 1;
1597pub const VK_EXT_METAL_OBJECTS_SPEC_VERSION: u32 = 2;
1598pub const VK_EXT_METAL_OBJECTS_EXTENSION_NAME: &[u8; 21] = b"VK_EXT_metal_objects\0";
1599pub const VULKAN_SCREEN_H_: u32 = 1;
1600pub const VK_QNX_screen_surface: u32 = 1;
1601pub const VK_QNX_SCREEN_SURFACE_SPEC_VERSION: u32 = 1;
1602pub const VK_QNX_SCREEN_SURFACE_EXTENSION_NAME: &[u8; 22] = b"VK_QNX_screen_surface\0";
1603pub const VK_QNX_external_memory_screen_buffer: u32 = 1;
1604pub const VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION: u32 = 1;
1605pub const VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME: &[u8; 37] =
1606    b"VK_QNX_external_memory_screen_buffer\0";
1607pub const VULKAN_VI_H_: u32 = 1;
1608pub const VK_NN_vi_surface: u32 = 1;
1609pub const VK_NN_VI_SURFACE_SPEC_VERSION: u32 = 1;
1610pub const VK_NN_VI_SURFACE_EXTENSION_NAME: &[u8; 17] = b"VK_NN_vi_surface\0";
1611pub const VULKAN_WAYLAND_H_: u32 = 1;
1612pub const VK_KHR_wayland_surface: u32 = 1;
1613pub const VK_KHR_WAYLAND_SURFACE_SPEC_VERSION: u32 = 6;
1614pub const VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME: &[u8; 23] = b"VK_KHR_wayland_surface\0";
1615pub const VULKAN_WIN32_H_: u32 = 1;
1616pub const VK_KHR_win32_surface: u32 = 1;
1617pub const VK_KHR_WIN32_SURFACE_SPEC_VERSION: u32 = 6;
1618pub const VK_KHR_WIN32_SURFACE_EXTENSION_NAME: &[u8; 21] = b"VK_KHR_win32_surface\0";
1619pub const VK_KHR_external_memory_win32: u32 = 1;
1620pub const VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION: u32 = 1;
1621pub const VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME: &[u8; 29] =
1622    b"VK_KHR_external_memory_win32\0";
1623pub const VK_KHR_win32_keyed_mutex: u32 = 1;
1624pub const VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION: u32 = 1;
1625pub const VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME: &[u8; 25] = b"VK_KHR_win32_keyed_mutex\0";
1626pub const VK_KHR_external_semaphore_win32: u32 = 1;
1627pub const VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION: u32 = 1;
1628pub const VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME: &[u8; 32] =
1629    b"VK_KHR_external_semaphore_win32\0";
1630pub const VK_KHR_external_fence_win32: u32 = 1;
1631pub const VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION: u32 = 1;
1632pub const VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME: &[u8; 28] = b"VK_KHR_external_fence_win32\0";
1633pub const VK_NV_external_memory_win32: u32 = 1;
1634pub const VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION: u32 = 1;
1635pub const VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME: &[u8; 28] = b"VK_NV_external_memory_win32\0";
1636pub const VK_NV_win32_keyed_mutex: u32 = 1;
1637pub const VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION: u32 = 2;
1638pub const VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME: &[u8; 24] = b"VK_NV_win32_keyed_mutex\0";
1639pub const VK_EXT_full_screen_exclusive: u32 = 1;
1640pub const VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION: u32 = 4;
1641pub const VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME: &[u8; 29] =
1642    b"VK_EXT_full_screen_exclusive\0";
1643pub const VK_NV_acquire_winrt_display: u32 = 1;
1644pub const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION: u32 = 1;
1645pub const VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME: &[u8; 28] = b"VK_NV_acquire_winrt_display\0";
1646pub const VULKAN_XCB_H_: u32 = 1;
1647pub const VK_KHR_xcb_surface: u32 = 1;
1648pub const VK_KHR_XCB_SURFACE_SPEC_VERSION: u32 = 6;
1649pub const VK_KHR_XCB_SURFACE_EXTENSION_NAME: &[u8; 19] = b"VK_KHR_xcb_surface\0";
1650pub const VULKAN_XLIB_H_: u32 = 1;
1651pub const VK_KHR_xlib_surface: u32 = 1;
1652pub const VK_KHR_XLIB_SURFACE_SPEC_VERSION: u32 = 6;
1653pub const VK_KHR_XLIB_SURFACE_EXTENSION_NAME: &[u8; 20] = b"VK_KHR_xlib_surface\0";
1654pub const VULKAN_XLIB_XRANDR_H_: u32 = 1;
1655pub const VK_EXT_acquire_xlib_display: u32 = 1;
1656pub const VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION: u32 = 1;
1657pub const VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME: &[u8; 28] = b"VK_EXT_acquire_xlib_display\0";
1658pub const VULKAN_H_: u32 = 1;
1659pub const __bool_true_false_are_defined: u32 = 1;
1660pub const true_: u32 = 1;
1661pub const false_: u32 = 0;
1662pub const CURRENT_LOADER_ICD_INTERFACE_VERSION: u32 = 7;
1663pub const MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION: u32 = 0;
1664pub const MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION: u32 = 4;
1665pub const ICD_LOADER_MAGIC: u32 = 30261470;
1666pub const MAX_NUM_UNKNOWN_EXTS: u32 = 250;
1667pub const CURRENT_LOADER_LAYER_INTERFACE_VERSION: u32 = 2;
1668pub const MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION: u32 = 1;
1669pub const VK_CURRENT_CHAIN_VERSION: u32 = 1;
1670pub const VULKAN_GGP_H_: u32 = 1;
1671pub const VK_GGP_stream_descriptor_surface: u32 = 1;
1672pub const VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION: u32 = 1;
1673pub const VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME: &[u8; 33] =
1674    b"VK_GGP_stream_descriptor_surface\0";
1675pub const VK_GGP_frame_token: u32 = 1;
1676pub const VK_GGP_FRAME_TOKEN_SPEC_VERSION: u32 = 1;
1677pub const VK_GGP_FRAME_TOKEN_EXTENSION_NAME: &[u8; 19] = b"VK_GGP_frame_token\0";
1678pub type wchar_t = ::std::os::raw::c_ushort;
1679#[repr(C)]
1680#[repr(align(16))]
1681#[derive(Debug, Copy, Clone)]
1682pub struct max_align_t {
1683    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1684    pub __bindgen_padding_0: u64,
1685    pub __clang_max_align_nonce2: u128,
1686}
1687pub type __gnuc_va_list = __builtin_va_list;
1688pub type va_list = __gnuc_va_list;
1689extern "C" {
1690    pub fn __mingw_get_crt_info() -> *const ::std::os::raw::c_char;
1691}
1692pub type rsize_t = usize;
1693pub type wint_t = ::std::os::raw::c_ushort;
1694pub type wctype_t = ::std::os::raw::c_ushort;
1695pub type errno_t = ::std::os::raw::c_int;
1696pub type __time32_t = ::std::os::raw::c_long;
1697pub type __time64_t = ::std::os::raw::c_longlong;
1698pub type time_t = __time64_t;
1699#[repr(C)]
1700#[derive(Debug, Copy, Clone)]
1701pub struct threadmbcinfostruct {
1702    _unused: [u8; 0],
1703}
1704pub type pthreadlocinfo = *mut threadlocaleinfostruct;
1705pub type pthreadmbcinfo = *mut threadmbcinfostruct;
1706#[repr(C)]
1707#[derive(Debug, Copy, Clone)]
1708pub struct __lc_time_data {
1709    _unused: [u8; 0],
1710}
1711#[repr(C)]
1712#[derive(Debug, Copy, Clone)]
1713pub struct localeinfo_struct {
1714    pub locinfo: pthreadlocinfo,
1715    pub mbcinfo: pthreadmbcinfo,
1716}
1717pub type _locale_tstruct = localeinfo_struct;
1718pub type _locale_t = *mut localeinfo_struct;
1719#[repr(C)]
1720#[derive(Debug, Copy, Clone)]
1721pub struct tagLC_ID {
1722    pub wLanguage: ::std::os::raw::c_ushort,
1723    pub wCountry: ::std::os::raw::c_ushort,
1724    pub wCodePage: ::std::os::raw::c_ushort,
1725}
1726pub type LC_ID = tagLC_ID;
1727pub type LPLC_ID = *mut tagLC_ID;
1728#[repr(C)]
1729#[derive(Debug, Copy, Clone)]
1730pub struct threadlocaleinfostruct {
1731    pub refcount: ::std::os::raw::c_int,
1732    pub lc_codepage: ::std::os::raw::c_uint,
1733    pub lc_collate_cp: ::std::os::raw::c_uint,
1734    pub lc_handle: [::std::os::raw::c_ulong; 6usize],
1735    pub lc_id: [LC_ID; 6usize],
1736    pub lc_category: [threadlocaleinfostruct__bindgen_ty_1; 6usize],
1737    pub lc_clike: ::std::os::raw::c_int,
1738    pub mb_cur_max: ::std::os::raw::c_int,
1739    pub lconv_intl_refcount: *mut ::std::os::raw::c_int,
1740    pub lconv_num_refcount: *mut ::std::os::raw::c_int,
1741    pub lconv_mon_refcount: *mut ::std::os::raw::c_int,
1742    pub lconv: *mut lconv,
1743    pub ctype1_refcount: *mut ::std::os::raw::c_int,
1744    pub ctype1: *mut ::std::os::raw::c_ushort,
1745    pub pctype: *const ::std::os::raw::c_ushort,
1746    pub pclmap: *const ::std::os::raw::c_uchar,
1747    pub pcumap: *const ::std::os::raw::c_uchar,
1748    pub lc_time_curr: *mut __lc_time_data,
1749}
1750#[repr(C)]
1751#[derive(Debug, Copy, Clone)]
1752pub struct threadlocaleinfostruct__bindgen_ty_1 {
1753    pub locale: *mut ::std::os::raw::c_char,
1754    pub wlocale: *mut wchar_t,
1755    pub refcount: *mut ::std::os::raw::c_int,
1756    pub wrefcount: *mut ::std::os::raw::c_int,
1757}
1758pub type threadlocinfo = threadlocaleinfostruct;
1759pub type int_least8_t = ::std::os::raw::c_schar;
1760pub type uint_least8_t = ::std::os::raw::c_uchar;
1761pub type int_least16_t = ::std::os::raw::c_short;
1762pub type uint_least16_t = ::std::os::raw::c_ushort;
1763pub type int_least32_t = ::std::os::raw::c_int;
1764pub type uint_least32_t = ::std::os::raw::c_uint;
1765pub type int_least64_t = ::std::os::raw::c_longlong;
1766pub type uint_least64_t = ::std::os::raw::c_ulonglong;
1767pub type int_fast8_t = ::std::os::raw::c_schar;
1768pub type uint_fast8_t = ::std::os::raw::c_uchar;
1769pub type int_fast16_t = ::std::os::raw::c_short;
1770pub type uint_fast16_t = ::std::os::raw::c_ushort;
1771pub type int_fast32_t = ::std::os::raw::c_int;
1772pub type uint_fast32_t = ::std::os::raw::c_uint;
1773pub type int_fast64_t = ::std::os::raw::c_longlong;
1774pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
1775pub type intmax_t = ::std::os::raw::c_longlong;
1776pub type uintmax_t = ::std::os::raw::c_ulonglong;
1777pub type VkBool32 = u32;
1778pub type VkDeviceAddress = u64;
1779pub type VkDeviceSize = u64;
1780pub type VkFlags = u32;
1781pub type VkSampleMask = u32;
1782#[repr(C)]
1783#[derive(Debug, Copy, Clone)]
1784pub struct VkBuffer_T {
1785    _unused: [u8; 0],
1786}
1787pub type VkBuffer = *mut VkBuffer_T;
1788#[repr(C)]
1789#[derive(Debug, Copy, Clone)]
1790pub struct VkImage_T {
1791    _unused: [u8; 0],
1792}
1793pub type VkImage = *mut VkImage_T;
1794#[repr(C)]
1795#[derive(Debug, Copy, Clone)]
1796pub struct VkInstance_T {
1797    _unused: [u8; 0],
1798}
1799pub type VkInstance = *mut VkInstance_T;
1800#[repr(C)]
1801#[derive(Debug, Copy, Clone)]
1802pub struct VkPhysicalDevice_T {
1803    _unused: [u8; 0],
1804}
1805pub type VkPhysicalDevice = *mut VkPhysicalDevice_T;
1806#[repr(C)]
1807#[derive(Debug, Copy, Clone)]
1808pub struct VkDevice_T {
1809    _unused: [u8; 0],
1810}
1811pub type VkDevice = *mut VkDevice_T;
1812#[repr(C)]
1813#[derive(Debug, Copy, Clone)]
1814pub struct VkQueue_T {
1815    _unused: [u8; 0],
1816}
1817pub type VkQueue = *mut VkQueue_T;
1818#[repr(C)]
1819#[derive(Debug, Copy, Clone)]
1820pub struct VkSemaphore_T {
1821    _unused: [u8; 0],
1822}
1823pub type VkSemaphore = *mut VkSemaphore_T;
1824#[repr(C)]
1825#[derive(Debug, Copy, Clone)]
1826pub struct VkCommandBuffer_T {
1827    _unused: [u8; 0],
1828}
1829pub type VkCommandBuffer = *mut VkCommandBuffer_T;
1830#[repr(C)]
1831#[derive(Debug, Copy, Clone)]
1832pub struct VkFence_T {
1833    _unused: [u8; 0],
1834}
1835pub type VkFence = *mut VkFence_T;
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct VkDeviceMemory_T {
1839    _unused: [u8; 0],
1840}
1841pub type VkDeviceMemory = *mut VkDeviceMemory_T;
1842#[repr(C)]
1843#[derive(Debug, Copy, Clone)]
1844pub struct VkEvent_T {
1845    _unused: [u8; 0],
1846}
1847pub type VkEvent = *mut VkEvent_T;
1848#[repr(C)]
1849#[derive(Debug, Copy, Clone)]
1850pub struct VkQueryPool_T {
1851    _unused: [u8; 0],
1852}
1853pub type VkQueryPool = *mut VkQueryPool_T;
1854#[repr(C)]
1855#[derive(Debug, Copy, Clone)]
1856pub struct VkBufferView_T {
1857    _unused: [u8; 0],
1858}
1859pub type VkBufferView = *mut VkBufferView_T;
1860#[repr(C)]
1861#[derive(Debug, Copy, Clone)]
1862pub struct VkImageView_T {
1863    _unused: [u8; 0],
1864}
1865pub type VkImageView = *mut VkImageView_T;
1866#[repr(C)]
1867#[derive(Debug, Copy, Clone)]
1868pub struct VkShaderModule_T {
1869    _unused: [u8; 0],
1870}
1871pub type VkShaderModule = *mut VkShaderModule_T;
1872#[repr(C)]
1873#[derive(Debug, Copy, Clone)]
1874pub struct VkPipelineCache_T {
1875    _unused: [u8; 0],
1876}
1877pub type VkPipelineCache = *mut VkPipelineCache_T;
1878#[repr(C)]
1879#[derive(Debug, Copy, Clone)]
1880pub struct VkPipelineLayout_T {
1881    _unused: [u8; 0],
1882}
1883pub type VkPipelineLayout = *mut VkPipelineLayout_T;
1884#[repr(C)]
1885#[derive(Debug, Copy, Clone)]
1886pub struct VkPipeline_T {
1887    _unused: [u8; 0],
1888}
1889pub type VkPipeline = *mut VkPipeline_T;
1890#[repr(C)]
1891#[derive(Debug, Copy, Clone)]
1892pub struct VkRenderPass_T {
1893    _unused: [u8; 0],
1894}
1895pub type VkRenderPass = *mut VkRenderPass_T;
1896#[repr(C)]
1897#[derive(Debug, Copy, Clone)]
1898pub struct VkDescriptorSetLayout_T {
1899    _unused: [u8; 0],
1900}
1901pub type VkDescriptorSetLayout = *mut VkDescriptorSetLayout_T;
1902#[repr(C)]
1903#[derive(Debug, Copy, Clone)]
1904pub struct VkSampler_T {
1905    _unused: [u8; 0],
1906}
1907pub type VkSampler = *mut VkSampler_T;
1908#[repr(C)]
1909#[derive(Debug, Copy, Clone)]
1910pub struct VkDescriptorSet_T {
1911    _unused: [u8; 0],
1912}
1913pub type VkDescriptorSet = *mut VkDescriptorSet_T;
1914#[repr(C)]
1915#[derive(Debug, Copy, Clone)]
1916pub struct VkDescriptorPool_T {
1917    _unused: [u8; 0],
1918}
1919pub type VkDescriptorPool = *mut VkDescriptorPool_T;
1920#[repr(C)]
1921#[derive(Debug, Copy, Clone)]
1922pub struct VkFramebuffer_T {
1923    _unused: [u8; 0],
1924}
1925pub type VkFramebuffer = *mut VkFramebuffer_T;
1926#[repr(C)]
1927#[derive(Debug, Copy, Clone)]
1928pub struct VkCommandPool_T {
1929    _unused: [u8; 0],
1930}
1931pub type VkCommandPool = *mut VkCommandPool_T;
1932pub const VK_SUCCESS: VkResult = 0;
1933pub const VK_NOT_READY: VkResult = 1;
1934pub const VK_TIMEOUT: VkResult = 2;
1935pub const VK_EVENT_SET: VkResult = 3;
1936pub const VK_EVENT_RESET: VkResult = 4;
1937pub const VK_INCOMPLETE: VkResult = 5;
1938pub const VK_ERROR_OUT_OF_HOST_MEMORY: VkResult = -1;
1939pub const VK_ERROR_OUT_OF_DEVICE_MEMORY: VkResult = -2;
1940pub const VK_ERROR_INITIALIZATION_FAILED: VkResult = -3;
1941pub const VK_ERROR_DEVICE_LOST: VkResult = -4;
1942pub const VK_ERROR_MEMORY_MAP_FAILED: VkResult = -5;
1943pub const VK_ERROR_LAYER_NOT_PRESENT: VkResult = -6;
1944pub const VK_ERROR_EXTENSION_NOT_PRESENT: VkResult = -7;
1945pub const VK_ERROR_FEATURE_NOT_PRESENT: VkResult = -8;
1946pub const VK_ERROR_INCOMPATIBLE_DRIVER: VkResult = -9;
1947pub const VK_ERROR_TOO_MANY_OBJECTS: VkResult = -10;
1948pub const VK_ERROR_FORMAT_NOT_SUPPORTED: VkResult = -11;
1949pub const VK_ERROR_FRAGMENTED_POOL: VkResult = -12;
1950pub const VK_ERROR_UNKNOWN: VkResult = -13;
1951pub const VK_ERROR_OUT_OF_POOL_MEMORY: VkResult = -1000069000;
1952pub const VK_ERROR_INVALID_EXTERNAL_HANDLE: VkResult = -1000072003;
1953pub const VK_ERROR_FRAGMENTATION: VkResult = -1000161000;
1954pub const VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: VkResult = -1000257000;
1955pub const VK_PIPELINE_COMPILE_REQUIRED: VkResult = 1000297000;
1956pub const VK_ERROR_SURFACE_LOST_KHR: VkResult = -1000000000;
1957pub const VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: VkResult = -1000000001;
1958pub const VK_SUBOPTIMAL_KHR: VkResult = 1000001003;
1959pub const VK_ERROR_OUT_OF_DATE_KHR: VkResult = -1000001004;
1960pub const VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: VkResult = -1000003001;
1961pub const VK_ERROR_VALIDATION_FAILED_EXT: VkResult = -1000011001;
1962pub const VK_ERROR_INVALID_SHADER_NV: VkResult = -1000012000;
1963pub const VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR: VkResult = -1000023000;
1964pub const VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR: VkResult = -1000023001;
1965pub const VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR: VkResult = -1000023002;
1966pub const VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR: VkResult = -1000023003;
1967pub const VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR: VkResult = -1000023004;
1968pub const VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR: VkResult = -1000023005;
1969pub const VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: VkResult = -1000158000;
1970pub const VK_ERROR_NOT_PERMITTED_KHR: VkResult = -1000174001;
1971pub const VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: VkResult = -1000255000;
1972pub const VK_THREAD_IDLE_KHR: VkResult = 1000268000;
1973pub const VK_THREAD_DONE_KHR: VkResult = 1000268001;
1974pub const VK_OPERATION_DEFERRED_KHR: VkResult = 1000268002;
1975pub const VK_OPERATION_NOT_DEFERRED_KHR: VkResult = 1000268003;
1976pub const VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR: VkResult = -1000299000;
1977pub const VK_ERROR_COMPRESSION_EXHAUSTED_EXT: VkResult = -1000338000;
1978pub const VK_INCOMPATIBLE_SHADER_BINARY_EXT: VkResult = 1000482000;
1979pub const VK_PIPELINE_BINARY_MISSING_KHR: VkResult = 1000483000;
1980pub const VK_ERROR_NOT_ENOUGH_SPACE_KHR: VkResult = -1000483000;
1981pub const VK_ERROR_OUT_OF_POOL_MEMORY_KHR: VkResult = -1000069000;
1982pub const VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR: VkResult = -1000072003;
1983pub const VK_ERROR_FRAGMENTATION_EXT: VkResult = -1000161000;
1984pub const VK_ERROR_NOT_PERMITTED_EXT: VkResult = -1000174001;
1985pub const VK_ERROR_INVALID_DEVICE_ADDRESS_EXT: VkResult = -1000257000;
1986pub const VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR: VkResult = -1000257000;
1987pub const VK_PIPELINE_COMPILE_REQUIRED_EXT: VkResult = 1000297000;
1988pub const VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT: VkResult = 1000297000;
1989pub const VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT: VkResult = 1000482000;
1990pub const VK_RESULT_MAX_ENUM: VkResult = 2147483647;
1991pub type VkResult = ::std::os::raw::c_int;
1992pub const VK_STRUCTURE_TYPE_APPLICATION_INFO: VkStructureType = 0;
1993pub const VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: VkStructureType = 1;
1994pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: VkStructureType = 2;
1995pub const VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: VkStructureType = 3;
1996pub const VK_STRUCTURE_TYPE_SUBMIT_INFO: VkStructureType = 4;
1997pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: VkStructureType = 5;
1998pub const VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: VkStructureType = 6;
1999pub const VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: VkStructureType = 7;
2000pub const VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: VkStructureType = 8;
2001pub const VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: VkStructureType = 9;
2002pub const VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: VkStructureType = 10;
2003pub const VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: VkStructureType = 11;
2004pub const VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: VkStructureType = 12;
2005pub const VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: VkStructureType = 13;
2006pub const VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: VkStructureType = 14;
2007pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: VkStructureType = 15;
2008pub const VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: VkStructureType = 16;
2009pub const VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: VkStructureType = 17;
2010pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: VkStructureType = 18;
2011pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO:
2012    VkStructureType = 19;
2013pub const VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO:
2014    VkStructureType = 20;
2015pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO:
2016    VkStructureType = 21;
2017pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: VkStructureType =
2018    22;
2019pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO:
2020    VkStructureType = 23;
2021pub const VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO:
2022    VkStructureType = 24;
2023pub const VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO:
2024    VkStructureType = 25;
2025pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO:
2026    VkStructureType = 26;
2027pub const VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: VkStructureType =
2028    27;
2029pub const VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: VkStructureType = 28;
2030pub const VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: VkStructureType = 29;
2031pub const VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: VkStructureType = 30;
2032pub const VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: VkStructureType = 31;
2033pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: VkStructureType = 32;
2034pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: VkStructureType = 33;
2035pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: VkStructureType = 34;
2036pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: VkStructureType = 35;
2037pub const VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: VkStructureType = 36;
2038pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: VkStructureType = 37;
2039pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: VkStructureType = 38;
2040pub const VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: VkStructureType = 39;
2041pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: VkStructureType = 40;
2042pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: VkStructureType = 41;
2043pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: VkStructureType = 42;
2044pub const VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: VkStructureType = 43;
2045pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: VkStructureType = 44;
2046pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: VkStructureType = 45;
2047pub const VK_STRUCTURE_TYPE_MEMORY_BARRIER: VkStructureType = 46;
2048pub const VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: VkStructureType = 47;
2049pub const VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: VkStructureType = 48;
2050pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: VkStructureType =
2051    1000094000;
2052pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: VkStructureType = 1000157000;
2053pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: VkStructureType = 1000157001;
2054pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
2055    VkStructureType = 1000083000;
2056pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: VkStructureType =
2057    1000127000;
2058pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: VkStructureType =
2059    1000127001;
2060pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: VkStructureType =
2061    1000060000;
2062pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: VkStructureType =
2063    1000060003;
2064pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
2065    VkStructureType = 1000060004;
2066pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: VkStructureType = 1000060005;
2067pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: VkStructureType =
2068    1000060006;
2069pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: VkStructureType =
2070    1000060013;
2071pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: VkStructureType =
2072    1000060014;
2073pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: VkStructureType =
2074    1000070000;
2075pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: VkStructureType =
2076    1000070001;
2077pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: VkStructureType =
2078    1000146000;
2079pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: VkStructureType =
2080    1000146001;
2081pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2:
2082    VkStructureType = 1000146002;
2083pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: VkStructureType = 1000146003;
2084pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: VkStructureType =
2085    1000146004;
2086pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: VkStructureType =
2087    1000059000;
2088pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: VkStructureType =
2089    1000059001;
2090pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: VkStructureType = 1000059002;
2091pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType = 1000059003;
2092pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: VkStructureType =
2093    1000059004;
2094pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: VkStructureType = 1000059005;
2095pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: VkStructureType =
2096    1000059006;
2097pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType =
2098    1000059007;
2099pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2:
2100    VkStructureType = 1000059008;
2101pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
2102    VkStructureType = 1000117000;
2103pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
2104    VkStructureType = 1000117001;
2105pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: VkStructureType =
2106    1000117002;
2107pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO : VkStructureType = 1000117003 ;
2108pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: VkStructureType =
2109    1000053000;
2110pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: VkStructureType =
2111    1000053001;
2112pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: VkStructureType =
2113    1000053002;
2114pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
2115    VkStructureType = 1000120000;
2116pub const VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: VkStructureType = 1000145000;
2117pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
2118    VkStructureType = 1000145001;
2119pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
2120    VkStructureType = 1000145002;
2121pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: VkStructureType = 1000145003;
2122pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: VkStructureType =
2123    1000156000;
2124pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: VkStructureType =
2125    1000156001;
2126pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: VkStructureType =
2127    1000156002;
2128pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: VkStructureType =
2129    1000156003;
2130pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
2131    VkStructureType = 1000156004;
2132pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
2133    VkStructureType = 1000156005;
2134pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO:
2135    VkStructureType = 1000085000;
2136pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
2137    VkStructureType = 1000071000;
2138pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: VkStructureType =
2139    1000071001;
2140pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: VkStructureType =
2141    1000071002;
2142pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: VkStructureType =
2143    1000071003;
2144pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: VkStructureType =
2145    1000071004;
2146pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: VkStructureType =
2147    1000072000;
2148pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: VkStructureType =
2149    1000072001;
2150pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: VkStructureType =
2151    1000072002;
2152pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: VkStructureType =
2153    1000112000;
2154pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: VkStructureType = 1000112001;
2155pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: VkStructureType = 1000113000;
2156pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: VkStructureType =
2157    1000077000;
2158pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO:
2159    VkStructureType = 1000076000;
2160pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: VkStructureType =
2161    1000076001;
2162pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
2163    VkStructureType = 1000168000;
2164pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: VkStructureType =
2165    1000168001;
2166pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
2167    VkStructureType = 1000063000;
2168pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: VkStructureType =
2169    49;
2170pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: VkStructureType =
2171    50;
2172pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: VkStructureType =
2173    51;
2174pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: VkStructureType =
2175    52;
2176pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: VkStructureType =
2177    1000147000;
2178pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: VkStructureType = 1000109000;
2179pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: VkStructureType = 1000109001;
2180pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: VkStructureType = 1000109002;
2181pub const VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: VkStructureType = 1000109003;
2182pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: VkStructureType = 1000109004;
2183pub const VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: VkStructureType = 1000109005;
2184pub const VK_STRUCTURE_TYPE_SUBPASS_END_INFO: VkStructureType = 1000109006;
2185pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: VkStructureType =
2186    1000177000;
2187pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: VkStructureType =
2188    1000196000;
2189pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
2190    VkStructureType = 1000180000;
2191pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
2192    VkStructureType = 1000082000;
2193pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
2194    VkStructureType = 1000197000;
2195pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
2196    VkStructureType = 1000161000;
2197pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
2198    VkStructureType = 1000161001;
2199pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
2200    VkStructureType = 1000161002;
2201pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO : VkStructureType = 1000161003 ;
2202pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT : VkStructureType = 1000161004 ;
2203pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
2204    VkStructureType = 1000199000;
2205pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
2206    VkStructureType = 1000199001;
2207pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
2208    VkStructureType = 1000221000;
2209pub const VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: VkStructureType =
2210    1000246000;
2211pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
2212    VkStructureType = 1000130000;
2213pub const VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: VkStructureType =
2214    1000130001;
2215pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
2216    VkStructureType = 1000211000;
2217pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
2218    VkStructureType = 1000108000;
2219pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: VkStructureType =
2220    1000108001;
2221pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: VkStructureType =
2222    1000108002;
2223pub const VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: VkStructureType =
2224    1000108003;
2225pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES : VkStructureType = 1000253000 ;
2226pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES : VkStructureType = 1000175000 ;
2227pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES : VkStructureType = 1000241000 ;
2228pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: VkStructureType =
2229    1000241001;
2230pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: VkStructureType =
2231    1000241002;
2232pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
2233    VkStructureType = 1000261000;
2234pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
2235    VkStructureType = 1000207000;
2236pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
2237    VkStructureType = 1000207001;
2238pub const VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: VkStructureType =
2239    1000207002;
2240pub const VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: VkStructureType =
2241    1000207003;
2242pub const VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: VkStructureType = 1000207004;
2243pub const VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: VkStructureType = 1000207005;
2244pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
2245    VkStructureType = 1000257000;
2246pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: VkStructureType =
2247    1000244001;
2248pub const VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
2249    VkStructureType = 1000257002;
2250pub const VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
2251    VkStructureType = 1000257003;
2252pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO:
2253    VkStructureType = 1000257004;
2254pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: VkStructureType =
2255    53;
2256pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: VkStructureType =
2257    54;
2258pub const VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO:
2259    VkStructureType = 1000192000;
2260pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
2261    VkStructureType = 1000215000;
2262pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: VkStructureType =
2263    1000245000;
2264pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES : VkStructureType = 1000276000 ;
2265pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: VkStructureType =
2266    1000295000;
2267pub const VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: VkStructureType =
2268    1000295001;
2269pub const VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: VkStructureType =
2270    1000295002;
2271pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES : VkStructureType = 1000297000 ;
2272pub const VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: VkStructureType = 1000314000;
2273pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2: VkStructureType = 1000314001;
2274pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2: VkStructureType = 1000314002;
2275pub const VK_STRUCTURE_TYPE_DEPENDENCY_INFO: VkStructureType = 1000314003;
2276pub const VK_STRUCTURE_TYPE_SUBMIT_INFO_2: VkStructureType = 1000314004;
2277pub const VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO: VkStructureType = 1000314005;
2278pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO: VkStructureType =
2279    1000314006;
2280pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
2281    VkStructureType = 1000314007;
2282pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES : VkStructureType = 1000325000 ;
2283pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
2284    VkStructureType = 1000335000;
2285pub const VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2: VkStructureType = 1000337000;
2286pub const VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2: VkStructureType = 1000337001;
2287pub const VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2: VkStructureType =
2288    1000337002;
2289pub const VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2: VkStructureType =
2290    1000337003;
2291pub const VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: VkStructureType = 1000337004;
2292pub const VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: VkStructureType = 1000337005;
2293pub const VK_STRUCTURE_TYPE_BUFFER_COPY_2: VkStructureType = 1000337006;
2294pub const VK_STRUCTURE_TYPE_IMAGE_COPY_2: VkStructureType = 1000337007;
2295pub const VK_STRUCTURE_TYPE_IMAGE_BLIT_2: VkStructureType = 1000337008;
2296pub const VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2: VkStructureType = 1000337009;
2297pub const VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: VkStructureType = 1000337010;
2298pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES:
2299    VkStructureType = 1000225000;
2300pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO : VkStructureType = 1000225001 ;
2301pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
2302    VkStructureType = 1000225002;
2303pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
2304    VkStructureType = 1000138000;
2305pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES:
2306    VkStructureType = 1000138001;
2307pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK:
2308    VkStructureType = 1000138002;
2309pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO:
2310    VkStructureType = 1000138003;
2311pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES : VkStructureType = 1000066000 ;
2312pub const VK_STRUCTURE_TYPE_RENDERING_INFO: VkStructureType = 1000044000;
2313pub const VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: VkStructureType = 1000044001;
2314pub const VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: VkStructureType =
2315    1000044002;
2316pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
2317    VkStructureType = 1000044003;
2318pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO:
2319    VkStructureType = 1000044004;
2320pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
2321    VkStructureType = 1000280000;
2322pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES : VkStructureType = 1000280001 ;
2323pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES:
2324    VkStructureType = 1000281001;
2325pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: VkStructureType = 1000360000;
2326pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
2327    VkStructureType = 1000413000;
2328pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES:
2329    VkStructureType = 1000413001;
2330pub const VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: VkStructureType =
2331    1000413002;
2332pub const VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: VkStructureType =
2333    1000413003;
2334pub const VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000001000;
2335pub const VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: VkStructureType = 1000001001;
2336pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: VkStructureType =
2337    1000060007;
2338pub const VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType =
2339    1000060008;
2340pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: VkStructureType =
2341    1000060009;
2342pub const VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: VkStructureType =
2343    1000060010;
2344pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: VkStructureType =
2345    1000060011;
2346pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
2347    VkStructureType = 1000060012;
2348pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: VkStructureType =
2349    1000002000;
2350pub const VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: VkStructureType =
2351    1000002001;
2352pub const VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: VkStructureType = 1000003000;
2353pub const VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: VkStructureType =
2354    1000004000;
2355pub const VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: VkStructureType =
2356    1000005000;
2357pub const VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: VkStructureType =
2358    1000006000;
2359pub const VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: VkStructureType =
2360    1000008000;
2361pub const VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: VkStructureType =
2362    1000009000;
2363pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: VkStructureType =
2364    1000011000;
2365pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
2366    VkStructureType = 1000018000;
2367pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: VkStructureType =
2368    1000022000;
2369pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: VkStructureType =
2370    1000022001;
2371pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: VkStructureType =
2372    1000022002;
2373pub const VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: VkStructureType = 1000023000;
2374pub const VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR: VkStructureType = 1000023001;
2375pub const VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR: VkStructureType =
2376    1000023002;
2377pub const VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR: VkStructureType =
2378    1000023003;
2379pub const VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR: VkStructureType =
2380    1000023004;
2381pub const VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR: VkStructureType =
2382    1000023005;
2383pub const VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR:
2384    VkStructureType = 1000023006;
2385pub const VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR:
2386    VkStructureType = 1000023007;
2387pub const VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR: VkStructureType =
2388    1000023008;
2389pub const VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR: VkStructureType = 1000023009;
2390pub const VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR: VkStructureType =
2391    1000023010;
2392pub const VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR: VkStructureType =
2393    1000023011;
2394pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: VkStructureType =
2395    1000023012;
2396pub const VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: VkStructureType =
2397    1000023013;
2398pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: VkStructureType =
2399    1000023014;
2400pub const VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: VkStructureType =
2401    1000023015;
2402pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR:
2403    VkStructureType = 1000023016;
2404pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: VkStructureType = 1000024000;
2405pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: VkStructureType =
2406    1000024001;
2407pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: VkStructureType =
2408    1000024002;
2409pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
2410    VkStructureType = 1000026000;
2411pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
2412    VkStructureType = 1000026001;
2413pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
2414    VkStructureType = 1000026002;
2415pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
2416    VkStructureType = 1000028000;
2417pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
2418    VkStructureType = 1000028001;
2419pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
2420    VkStructureType = 1000028002;
2421pub const VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: VkStructureType = 1000029000;
2422pub const VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX: VkStructureType =
2423    1000029001;
2424pub const VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: VkStructureType = 1000029002;
2425pub const VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX:
2426    VkStructureType = 1000029004;
2427pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: VkStructureType =
2428    1000030000;
2429pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: VkStructureType =
2430    1000030001;
2431pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR: VkStructureType =
2432    1000038000;
2433pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR:
2434    VkStructureType = 1000038001;
2435pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR:
2436    VkStructureType = 1000038002;
2437pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR: VkStructureType =
2438    1000038003;
2439pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR: VkStructureType =
2440    1000038004;
2441pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR: VkStructureType =
2442    1000038005;
2443pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR:
2444    VkStructureType = 1000038006;
2445pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR: VkStructureType =
2446    1000038007;
2447pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR:
2448    VkStructureType = 1000038008;
2449pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR:
2450    VkStructureType = 1000038009;
2451pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR:
2452    VkStructureType = 1000038010;
2453pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR:
2454    VkStructureType = 1000038011;
2455pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR:
2456    VkStructureType = 1000038012;
2457pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR : VkStructureType = 1000038013 ;
2458pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR: VkStructureType =
2459    1000039000;
2460pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR:
2461    VkStructureType = 1000039001;
2462pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR:
2463    VkStructureType = 1000039002;
2464pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR: VkStructureType =
2465    1000039003;
2466pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR: VkStructureType =
2467    1000039004;
2468pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR:
2469    VkStructureType = 1000039005;
2470pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR:
2471    VkStructureType = 1000039006;
2472pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR: VkStructureType =
2473    1000039007;
2474pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR:
2475    VkStructureType = 1000039009;
2476pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR:
2477    VkStructureType = 1000039010;
2478pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR:
2479    VkStructureType = 1000039011;
2480pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR:
2481    VkStructureType = 1000039012;
2482pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR:
2483    VkStructureType = 1000039013;
2484pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR : VkStructureType = 1000039014 ;
2485pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: VkStructureType =
2486    1000040000;
2487pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: VkStructureType =
2488    1000040001;
2489pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: VkStructureType =
2490    1000040003;
2491pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR:
2492    VkStructureType = 1000040004;
2493pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR:
2494    VkStructureType = 1000040005;
2495pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: VkStructureType =
2496    1000040006;
2497pub const VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
2498    VkStructureType = 1000041000;
2499pub const VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP:
2500    VkStructureType = 1000049000;
2501pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV:
2502    VkStructureType = 1000050000;
2503pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: VkStructureType =
2504    1000056000;
2505pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: VkStructureType =
2506    1000056001;
2507pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType =
2508    1000057000;
2509pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType =
2510    1000057001;
2511pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
2512    VkStructureType = 1000058000;
2513pub const VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: VkStructureType = 1000061000;
2514pub const VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: VkStructureType = 1000062000;
2515pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: VkStructureType =
2516    1000067000;
2517pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT:
2518    VkStructureType = 1000067001;
2519pub const VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: VkStructureType =
2520    1000068000;
2521pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT:
2522    VkStructureType = 1000068001;
2523pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT:
2524    VkStructureType = 1000068002;
2525pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType =
2526    1000073000;
2527pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType =
2528    1000073001;
2529pub const VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: VkStructureType =
2530    1000073002;
2531pub const VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: VkStructureType =
2532    1000073003;
2533pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: VkStructureType = 1000074000;
2534pub const VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: VkStructureType = 1000074001;
2535pub const VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: VkStructureType = 1000074002;
2536pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
2537    VkStructureType = 1000075000;
2538pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
2539    VkStructureType = 1000078000;
2540pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
2541    VkStructureType = 1000078001;
2542pub const VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: VkStructureType =
2543    1000078002;
2544pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType =
2545    1000078003;
2546pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: VkStructureType =
2547    1000079000;
2548pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: VkStructureType = 1000079001;
2549pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
2550    VkStructureType = 1000080000;
2551pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT : VkStructureType = 1000081000 ;
2552pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
2553    VkStructureType = 1000081001;
2554pub const VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: VkStructureType =
2555    1000081002;
2556pub const VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: VkStructureType = 1000084000;
2557pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
2558    VkStructureType = 1000087000;
2559pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: VkStructureType =
2560    1000090000;
2561pub const VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: VkStructureType = 1000091000;
2562pub const VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: VkStructureType = 1000091001;
2563pub const VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: VkStructureType = 1000091002;
2564pub const VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: VkStructureType =
2565    1000091003;
2566pub const VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: VkStructureType = 1000092000;
2567pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX : VkStructureType = 1000097000 ;
2568pub const VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX:
2569    VkStructureType = 1000044009;
2570pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
2571    VkStructureType = 1000098000;
2572pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
2573    VkStructureType = 1000099000;
2574pub const VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
2575    VkStructureType = 1000099001;
2576pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT : VkStructureType = 1000101000 ;
2577pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT : VkStructureType = 1000101001 ;
2578pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
2579    VkStructureType = 1000102000;
2580pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT : VkStructureType = 1000102001 ;
2581pub const VK_STRUCTURE_TYPE_HDR_METADATA_EXT: VkStructureType = 1000105000;
2582pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG : VkStructureType = 1000110000 ;
2583pub const VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
2584    VkStructureType = 1000111000;
2585pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType =
2586    1000114000;
2587pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType =
2588    1000114001;
2589pub const VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType =
2590    1000114002;
2591pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: VkStructureType = 1000115000;
2592pub const VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: VkStructureType = 1000115001;
2593pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR:
2594    VkStructureType = 1000116000;
2595pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR:
2596    VkStructureType = 1000116001;
2597pub const VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR:
2598    VkStructureType = 1000116002;
2599pub const VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: VkStructureType =
2600    1000116003;
2601pub const VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: VkStructureType =
2602    1000116004;
2603pub const VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: VkStructureType = 1000116005;
2604pub const VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: VkStructureType =
2605    1000116006;
2606pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: VkStructureType =
2607    1000119000;
2608pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: VkStructureType =
2609    1000119001;
2610pub const VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: VkStructureType = 1000119002;
2611pub const VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: VkStructureType = 1000121000;
2612pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: VkStructureType =
2613    1000121001;
2614pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: VkStructureType =
2615    1000121002;
2616pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: VkStructureType = 1000121003;
2617pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: VkStructureType =
2618    1000121004;
2619pub const VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: VkStructureType =
2620    1000122000;
2621pub const VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: VkStructureType =
2622    1000123000;
2623pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: VkStructureType =
2624    1000128000;
2625pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: VkStructureType =
2626    1000128001;
2627pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: VkStructureType = 1000128002;
2628pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT:
2629    VkStructureType = 1000128003;
2630pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: VkStructureType =
2631    1000128004;
2632pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: VkStructureType =
2633    1000129000;
2634pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID:
2635    VkStructureType = 1000129001;
2636pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
2637    VkStructureType = 1000129002;
2638pub const VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
2639    VkStructureType = 1000129003;
2640pub const VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
2641    VkStructureType = 1000129004;
2642pub const VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: VkStructureType = 1000129005;
2643pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID:
2644    VkStructureType = 1000129006;
2645pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX:
2646    VkStructureType = 1000134000;
2647pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX:
2648    VkStructureType = 1000134001;
2649pub const VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX:
2650    VkStructureType = 1000134002;
2651pub const VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX:
2652    VkStructureType = 1000134003;
2653pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX:
2654    VkStructureType = 1000134004;
2655pub const VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: VkStructureType =
2656    1000044008;
2657pub const VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: VkStructureType = 1000143000;
2658pub const VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
2659    VkStructureType = 1000143001;
2660pub const VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
2661    VkStructureType = 1000143002;
2662pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
2663    VkStructureType = 1000143003;
2664pub const VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: VkStructureType =
2665    1000143004;
2666pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT : VkStructureType = 1000148000 ;
2667pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT : VkStructureType = 1000148001 ;
2668pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
2669    VkStructureType = 1000148002;
2670pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
2671    VkStructureType = 1000149000;
2672pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR:
2673    VkStructureType = 1000150007;
2674pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR:
2675    VkStructureType = 1000150000;
2676pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR:
2677    VkStructureType = 1000150002;
2678pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR:
2679    VkStructureType = 1000150003;
2680pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR:
2681    VkStructureType = 1000150004;
2682pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR:
2683    VkStructureType = 1000150005;
2684pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: VkStructureType =
2685    1000150006;
2686pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR:
2687    VkStructureType = 1000150009;
2688pub const VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: VkStructureType =
2689    1000150010;
2690pub const VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR:
2691    VkStructureType = 1000150011;
2692pub const VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR:
2693    VkStructureType = 1000150012;
2694pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR:
2695    VkStructureType = 1000150013;
2696pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR : VkStructureType = 1000150014 ;
2697pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR:
2698    VkStructureType = 1000150017;
2699pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR:
2700    VkStructureType = 1000150020;
2701pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR:
2702    VkStructureType = 1000347000;
2703pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR:
2704    VkStructureType = 1000347001;
2705pub const VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: VkStructureType =
2706    1000150015;
2707pub const VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR:
2708    VkStructureType = 1000150016;
2709pub const VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR:
2710    VkStructureType = 1000150018;
2711pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR:
2712    VkStructureType = 1000348013;
2713pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
2714    VkStructureType = 1000152000;
2715pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
2716    VkStructureType = 1000154000;
2717pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV:
2718    VkStructureType = 1000154001;
2719pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
2720    VkStructureType = 1000158000;
2721pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
2722    VkStructureType = 1000158002;
2723pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
2724    VkStructureType = 1000158003;
2725pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
2726    VkStructureType = 1000158004;
2727pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT:
2728    VkStructureType = 1000158005;
2729pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT:
2730    VkStructureType = 1000158006;
2731pub const VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: VkStructureType =
2732    1000160000;
2733pub const VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
2734    VkStructureType = 1000160001;
2735pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR:
2736    VkStructureType = 1000163000;
2737pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
2738    VkStructureType = 1000163001;
2739pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV : VkStructureType = 1000164000 ;
2740pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV:
2741    VkStructureType = 1000164001;
2742pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV:
2743    VkStructureType = 1000164002;
2744pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV : VkStructureType = 1000164005 ;
2745pub const VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: VkStructureType =
2746    1000165000;
2747pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: VkStructureType =
2748    1000165001;
2749pub const VK_STRUCTURE_TYPE_GEOMETRY_NV: VkStructureType = 1000165003;
2750pub const VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: VkStructureType = 1000165004;
2751pub const VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: VkStructureType = 1000165005;
2752pub const VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV:
2753    VkStructureType = 1000165006;
2754pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV:
2755    VkStructureType = 1000165007;
2756pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV:
2757    VkStructureType = 1000165008;
2758pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV:
2759    VkStructureType = 1000165009;
2760pub const VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV:
2761    VkStructureType = 1000165011;
2762pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: VkStructureType =
2763    1000165012;
2764pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV : VkStructureType = 1000166000 ;
2765pub const VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV : VkStructureType = 1000166001 ;
2766pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT:
2767    VkStructureType = 1000170000;
2768pub const VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT:
2769    VkStructureType = 1000170001;
2770pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: VkStructureType =
2771    1000178000;
2772pub const VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: VkStructureType =
2773    1000178001;
2774pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
2775    VkStructureType = 1000178002;
2776pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR:
2777    VkStructureType = 1000181000;
2778pub const VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD:
2779    VkStructureType = 1000183000;
2780pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
2781    VkStructureType = 1000185000;
2782pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: VkStructureType =
2783    1000187000;
2784pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR:
2785    VkStructureType = 1000187001;
2786pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR:
2787    VkStructureType = 1000187002;
2788pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: VkStructureType =
2789    1000187003;
2790pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: VkStructureType =
2791    1000187004;
2792pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: VkStructureType =
2793    1000187005;
2794pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR:
2795    VkStructureType = 1000174000;
2796pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR:
2797    VkStructureType = 1000388000;
2798pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR:
2799    VkStructureType = 1000388001;
2800pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD:
2801    VkStructureType = 1000189000;
2802pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT : VkStructureType = 1000190000 ;
2803pub const VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: VkStructureType = 1000191000;
2804pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
2805    VkStructureType = 1000202000;
2806pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:
2807    VkStructureType = 1000202001;
2808pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:
2809    VkStructureType = 1000204000;
2810pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV : VkStructureType = 1000205000 ;
2811pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:
2812    VkStructureType = 1000205002;
2813pub const VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: VkStructureType = 1000206000;
2814pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: VkStructureType =
2815    1000206001;
2816pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV:
2817    VkStructureType = 1000314008;
2818pub const VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: VkStructureType = 1000314009;
2819pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL : VkStructureType = 1000209000 ;
2820pub const VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL:
2821    VkStructureType = 1000210000;
2822pub const VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: VkStructureType =
2823    1000210001;
2824pub const VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: VkStructureType =
2825    1000210002;
2826pub const VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: VkStructureType =
2827    1000210003;
2828pub const VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: VkStructureType =
2829    1000210004;
2830pub const VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL:
2831    VkStructureType = 1000210005;
2832pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
2833    VkStructureType = 1000212000;
2834pub const VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD:
2835    VkStructureType = 1000213000;
2836pub const VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
2837    VkStructureType = 1000213001;
2838pub const VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: VkStructureType =
2839    1000214000;
2840pub const VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: VkStructureType =
2841    1000217000;
2842pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT:
2843    VkStructureType = 1000218000;
2844pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT:
2845    VkStructureType = 1000218001;
2846pub const VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT:
2847    VkStructureType = 1000218002;
2848pub const VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT:
2849    VkStructureType = 1000044007;
2850pub const VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
2851    VkStructureType = 1000226000;
2852pub const VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR:
2853    VkStructureType = 1000226001;
2854pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR:
2855    VkStructureType = 1000226002;
2856pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
2857    VkStructureType = 1000226003;
2858pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR:
2859    VkStructureType = 1000226004;
2860pub const VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR:
2861    VkStructureType = 1000044006;
2862pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD:
2863    VkStructureType = 1000227000;
2864pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD:
2865    VkStructureType = 1000229000;
2866pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR : VkStructureType = 1000232000 ;
2867pub const VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR:
2868    VkStructureType = 1000232001;
2869pub const VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR:
2870    VkStructureType = 1000232002;
2871pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT : VkStructureType = 1000234000 ;
2872pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR:
2873    VkStructureType = 1000235000;
2874pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT:
2875    VkStructureType = 1000237000;
2876pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT:
2877    VkStructureType = 1000238000;
2878pub const VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: VkStructureType =
2879    1000238001;
2880pub const VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: VkStructureType =
2881    1000239000;
2882pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV : VkStructureType = 1000240000 ;
2883pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
2884    VkStructureType = 1000244000;
2885pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: VkStructureType =
2886    1000244002;
2887pub const VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: VkStructureType = 1000247000;
2888pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR:
2889    VkStructureType = 1000248000;
2890pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV:
2891    VkStructureType = 1000249000;
2892pub const VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: VkStructureType =
2893    1000249001;
2894pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV:
2895    VkStructureType = 1000249002;
2896pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
2897    VkStructureType = 1000250000;
2898pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV:
2899    VkStructureType = 1000250001;
2900pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV:
2901    VkStructureType = 1000250002;
2902pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT : VkStructureType = 1000251000 ;
2903pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT:
2904    VkStructureType = 1000252000;
2905pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
2906    VkStructureType = 1000254000;
2907pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT : VkStructureType = 1000254001 ;
2908pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
2909    VkStructureType = 1000254002;
2910pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT:
2911    VkStructureType = 1000255000;
2912pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:
2913    VkStructureType = 1000255002;
2914pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:
2915    VkStructureType = 1000255001;
2916pub const VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: VkStructureType =
2917    1000256000;
2918pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT:
2919    VkStructureType = 1000260000;
2920pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
2921    VkStructureType = 1000267000;
2922pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR : VkStructureType = 1000269000 ;
2923pub const VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: VkStructureType = 1000269001;
2924pub const VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: VkStructureType =
2925    1000269002;
2926pub const VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: VkStructureType =
2927    1000269003;
2928pub const VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: VkStructureType =
2929    1000269004;
2930pub const VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR:
2931    VkStructureType = 1000269005;
2932pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT:
2933    VkStructureType = 1000270000;
2934pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT:
2935    VkStructureType = 1000270001;
2936pub const VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT: VkStructureType = 1000270002;
2937pub const VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT: VkStructureType = 1000270003;
2938pub const VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT: VkStructureType =
2939    1000270004;
2940pub const VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT: VkStructureType =
2941    1000270005;
2942pub const VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT: VkStructureType =
2943    1000270006;
2944pub const VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT: VkStructureType =
2945    1000270007;
2946pub const VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: VkStructureType =
2947    1000270008;
2948pub const VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT:
2949    VkStructureType = 1000270009;
2950pub const VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR: VkStructureType = 1000271000;
2951pub const VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR: VkStructureType = 1000271001;
2952pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT:
2953    VkStructureType = 1000272000;
2954pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT:
2955    VkStructureType = 1000272001;
2956pub const VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT: VkStructureType =
2957    1000272002;
2958pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT:
2959    VkStructureType = 1000273000;
2960pub const VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: VkStructureType = 1000274000;
2961pub const VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT:
2962    VkStructureType = 1000274001;
2963pub const VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT:
2964    VkStructureType = 1000274002;
2965pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT:
2966    VkStructureType = 1000275000;
2967pub const VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: VkStructureType =
2968    1000275001;
2969pub const VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT:
2970    VkStructureType = 1000275002;
2971pub const VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: VkStructureType =
2972    1000275003;
2973pub const VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT:
2974    VkStructureType = 1000275004;
2975pub const VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT: VkStructureType =
2976    1000275005;
2977pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV : VkStructureType = 1000277000 ;
2978pub const VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: VkStructureType =
2979    1000277001;
2980pub const VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV:
2981    VkStructureType = 1000277002;
2982pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: VkStructureType =
2983    1000277003;
2984pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV:
2985    VkStructureType = 1000277004;
2986pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: VkStructureType =
2987    1000277005;
2988pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV:
2989    VkStructureType = 1000277006;
2990pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV : VkStructureType = 1000277007 ;
2991pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV : VkStructureType = 1000278000 ;
2992pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV:
2993    VkStructureType = 1000278001;
2994pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
2995    VkStructureType = 1000281000;
2996pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM : VkStructureType = 1000282000 ;
2997pub const VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: VkStructureType =
2998    1000282001;
2999pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT:
3000    VkStructureType = 1000283000;
3001pub const VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT: VkStructureType = 1000283001;
3002pub const VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT: VkStructureType =
3003    1000283002;
3004pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT:
3005    VkStructureType = 1000284000;
3006pub const VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT:
3007    VkStructureType = 1000284001;
3008pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT:
3009    VkStructureType = 1000284002;
3010pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
3011    VkStructureType = 1000286000;
3012pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
3013    VkStructureType = 1000286001;
3014pub const VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT:
3015    VkStructureType = 1000287000;
3016pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
3017    VkStructureType = 1000287001;
3018pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
3019    VkStructureType = 1000287002;
3020pub const VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: VkStructureType =
3021    1000290000;
3022pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV:
3023    VkStructureType = 1000292000;
3024pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV:
3025    VkStructureType = 1000292001;
3026pub const VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV:
3027    VkStructureType = 1000292002;
3028pub const VK_STRUCTURE_TYPE_PRESENT_ID_KHR: VkStructureType = 1000294000;
3029pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR:
3030    VkStructureType = 1000294001;
3031pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR: VkStructureType = 1000299000;
3032pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: VkStructureType =
3033    1000299001;
3034pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR:
3035    VkStructureType = 1000299002;
3036pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: VkStructureType =
3037    1000299003;
3038pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: VkStructureType =
3039    1000299004;
3040pub const VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR:
3041    VkStructureType = 1000299005;
3042pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR:
3043    VkStructureType = 1000299006;
3044pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR:
3045    VkStructureType = 1000299007;
3046pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: VkStructureType =
3047    1000299008;
3048pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR:
3049    VkStructureType = 1000299009;
3050pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR:
3051    VkStructureType = 1000299010;
3052pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV:
3053    VkStructureType = 1000300000;
3054pub const VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:
3055    VkStructureType = 1000300001;
3056pub const VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: VkStructureType =
3057    1000307000;
3058pub const VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV: VkStructureType =
3059    1000307001;
3060pub const VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV: VkStructureType = 1000307002;
3061pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV:
3062    VkStructureType = 1000307003;
3063pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV:
3064    VkStructureType = 1000307004;
3065pub const VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: VkStructureType =
3066    1000310000;
3067pub const VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: VkStructureType =
3068    1000311000;
3069pub const VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT: VkStructureType =
3070    1000311001;
3071pub const VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: VkStructureType =
3072    1000311002;
3073pub const VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: VkStructureType =
3074    1000311003;
3075pub const VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: VkStructureType =
3076    1000311004;
3077pub const VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: VkStructureType =
3078    1000311005;
3079pub const VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: VkStructureType =
3080    1000311006;
3081pub const VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: VkStructureType =
3082    1000311007;
3083pub const VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: VkStructureType =
3084    1000311008;
3085pub const VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: VkStructureType =
3086    1000311009;
3087pub const VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: VkStructureType =
3088    1000311010;
3089pub const VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: VkStructureType =
3090    1000311011;
3091pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT:
3092    VkStructureType = 1000316000;
3093pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT : VkStructureType = 1000316001 ;
3094pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT:
3095    VkStructureType = 1000316002;
3096pub const VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT: VkStructureType =
3097    1000316003;
3098pub const VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT: VkStructureType = 1000316004;
3099pub const VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:
3100    VkStructureType = 1000316005;
3101pub const VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:
3102    VkStructureType = 1000316006;
3103pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:
3104    VkStructureType = 1000316007;
3105pub const VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:
3106    VkStructureType = 1000316008;
3107pub const VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT:
3108    VkStructureType = 1000316010;
3109pub const VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT: VkStructureType =
3110    1000316011;
3111pub const VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT : VkStructureType = 1000316012 ;
3112pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT : VkStructureType = 1000316009 ;
3113pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT : VkStructureType = 1000320000 ;
3114pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT : VkStructureType = 1000320001 ;
3115pub const VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:
3116    VkStructureType = 1000320002;
3117pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD : VkStructureType = 1000321000 ;
3118pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR : VkStructureType = 1000203000 ;
3119pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR : VkStructureType = 1000322000 ;
3120pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR : VkStructureType = 1000323000 ;
3121pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV : VkStructureType = 1000326000 ;
3122pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV : VkStructureType = 1000326001 ;
3123pub const VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV : VkStructureType = 1000326002 ;
3124pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV : VkStructureType = 1000327000 ;
3125pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV:
3126    VkStructureType = 1000327001;
3127pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: VkStructureType =
3128    1000327002;
3129pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT:
3130    VkStructureType = 1000328000;
3131pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT:
3132    VkStructureType = 1000328001;
3133pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT : VkStructureType = 1000330000 ;
3134pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT:
3135    VkStructureType = 1000332000;
3136pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT : VkStructureType = 1000332001 ;
3137pub const VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: VkStructureType =
3138    1000333000;
3139pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR : VkStructureType = 1000336000 ;
3140pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT : VkStructureType = 1000338000 ;
3141pub const VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: VkStructureType =
3142    1000338001;
3143pub const VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: VkStructureType =
3144    1000338004;
3145pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT : VkStructureType = 1000339000 ;
3146pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
3147    VkStructureType = 1000340000;
3148pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: VkStructureType =
3149    1000341000;
3150pub const VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT: VkStructureType = 1000341001;
3151pub const VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT: VkStructureType = 1000341002;
3152pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:
3153    VkStructureType = 1000344000;
3154pub const VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: VkStructureType =
3155    1000346000;
3156pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT : VkStructureType = 1000352000 ;
3157pub const VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT:
3158    VkStructureType = 1000352001;
3159pub const VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT:
3160    VkStructureType = 1000352002;
3161pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: VkStructureType =
3162    1000353000;
3163pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT:
3164    VkStructureType = 1000354000;
3165pub const VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT:
3166    VkStructureType = 1000354001;
3167pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
3168    VkStructureType = 1000355000;
3169pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT:
3170    VkStructureType = 1000355001;
3171pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT : VkStructureType = 1000356000 ;
3172pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT : VkStructureType = 1000361000 ;
3173pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA:
3174    VkStructureType = 1000364000;
3175pub const VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA:
3176    VkStructureType = 1000364001;
3177pub const VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA: VkStructureType =
3178    1000364002;
3179pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA:
3180    VkStructureType = 1000365000;
3181pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA:
3182    VkStructureType = 1000365001;
3183pub const VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA: VkStructureType =
3184    1000366000;
3185pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA:
3186    VkStructureType = 1000366001;
3187pub const VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA:
3188    VkStructureType = 1000366002;
3189pub const VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA: VkStructureType =
3190    1000366003;
3191pub const VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA: VkStructureType =
3192    1000366004;
3193pub const VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA:
3194    VkStructureType = 1000366005;
3195pub const VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA: VkStructureType =
3196    1000366006;
3197pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA: VkStructureType =
3198    1000366007;
3199pub const VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA: VkStructureType =
3200    1000366008;
3201pub const VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA:
3202    VkStructureType = 1000366009;
3203pub const VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI:
3204    VkStructureType = 1000369000;
3205pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI:
3206    VkStructureType = 1000369001;
3207pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI:
3208    VkStructureType = 1000369002;
3209pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI:
3210    VkStructureType = 1000370000;
3211pub const VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV: VkStructureType =
3212    1000371000;
3213pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV:
3214    VkStructureType = 1000371001;
3215pub const VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT: VkStructureType =
3216    1000372000;
3217pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT:
3218    VkStructureType = 1000372001;
3219pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT:
3220    VkStructureType = 1000375000;
3221pub const VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT: VkStructureType = 1000375001;
3222pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT : VkStructureType = 1000376000 ;
3223pub const VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: VkStructureType =
3224    1000376001;
3225pub const VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT:
3226    VkStructureType = 1000376002;
3227pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT : VkStructureType = 1000377000 ;
3228pub const VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: VkStructureType =
3229    1000378000;
3230pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT:
3231    VkStructureType = 1000381000;
3232pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: VkStructureType =
3233    1000381001;
3234pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT : VkStructureType = 1000382000 ;
3235pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR : VkStructureType = 1000386000 ;
3236pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
3237    VkStructureType = 1000391000;
3238pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: VkStructureType =
3239    1000391001;
3240pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
3241    VkStructureType = 1000392000;
3242pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
3243    VkStructureType = 1000392001;
3244pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:
3245    VkStructureType = 1000393000;
3246pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT:
3247    VkStructureType = 1000395000;
3248pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT:
3249    VkStructureType = 1000395001;
3250pub const VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT: VkStructureType = 1000396000;
3251pub const VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT: VkStructureType = 1000396001;
3252pub const VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT: VkStructureType = 1000396002;
3253pub const VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT: VkStructureType =
3254    1000396003;
3255pub const VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT: VkStructureType =
3256    1000396004;
3257pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT:
3258    VkStructureType = 1000396005;
3259pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT:
3260    VkStructureType = 1000396006;
3261pub const VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT: VkStructureType = 1000396007;
3262pub const VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT: VkStructureType =
3263    1000396008;
3264pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT : VkStructureType = 1000396009 ;
3265pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV:
3266    VkStructureType = 1000397000;
3267pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV:
3268    VkStructureType = 1000397001;
3269pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV : VkStructureType = 1000397002 ;
3270pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI : VkStructureType = 1000404000 ;
3271pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI : VkStructureType = 1000404001 ;
3272pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI : VkStructureType = 1000404002 ;
3273pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:
3274    VkStructureType = 1000411000;
3275pub const VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT : VkStructureType = 1000411001 ;
3276pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT : VkStructureType = 1000412000 ;
3277pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM:
3278    VkStructureType = 1000415000;
3279pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR:
3280    VkStructureType = 1000416000;
3281pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM:
3282    VkStructureType = 1000417000;
3283pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM:
3284    VkStructureType = 1000417001;
3285pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM:
3286    VkStructureType = 1000417002;
3287pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT:
3288    VkStructureType = 1000418000;
3289pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: VkStructureType =
3290    1000418001;
3291pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE : VkStructureType = 1000420000 ;
3292pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE:
3293    VkStructureType = 1000420001;
3294pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE:
3295    VkStructureType = 1000420002;
3296pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT:
3297    VkStructureType = 1000421000;
3298pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT:
3299    VkStructureType = 1000422000;
3300pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM:
3301    VkStructureType = 1000424000;
3302pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM:
3303    VkStructureType = 1000424001;
3304pub const VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM: VkStructureType =
3305    1000424002;
3306pub const VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM: VkStructureType =
3307    1000424003;
3308pub const VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: VkStructureType =
3309    1000424004;
3310pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM : VkStructureType = 1000425000 ;
3311pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM : VkStructureType = 1000425001 ;
3312pub const VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM:
3313    VkStructureType = 1000425002;
3314pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV:
3315    VkStructureType = 1000426000;
3316pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV:
3317    VkStructureType = 1000426001;
3318pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV:
3319    VkStructureType = 1000427000;
3320pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV:
3321    VkStructureType = 1000427001;
3322pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV : VkStructureType = 1000428000 ;
3323pub const VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV:
3324    VkStructureType = 1000428001;
3325pub const VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV:
3326    VkStructureType = 1000428002;
3327pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV:
3328    VkStructureType = 1000430000;
3329pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR : VkStructureType = 1000434000 ;
3330pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT : VkStructureType = 1000437000 ;
3331pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM:
3332    VkStructureType = 1000440000;
3333pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM:
3334    VkStructureType = 1000440001;
3335pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM:
3336    VkStructureType = 1000440002;
3337pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT:
3338    VkStructureType = 1000451000;
3339pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT:
3340    VkStructureType = 1000451001;
3341pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT:
3342    VkStructureType = 1000453000;
3343pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT : VkStructureType = 1000455000 ;
3344pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT : VkStructureType = 1000455001 ;
3345pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT:
3346    VkStructureType = 1000458000;
3347pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: VkStructureType =
3348    1000458001;
3349pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT:
3350    VkStructureType = 1000458002;
3351pub const VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT:
3352    VkStructureType = 1000458003;
3353pub const VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG: VkStructureType =
3354    1000459000;
3355pub const VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: VkStructureType =
3356    1000459001;
3357pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT : VkStructureType = 1000462000 ;
3358pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT : VkStructureType = 1000462001 ;
3359pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT : VkStructureType = 1000462002 ;
3360pub const VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT: VkStructureType =
3361    1000462003;
3362pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT : VkStructureType = 1000342000 ;
3363pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV:
3364    VkStructureType = 1000464000;
3365pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV:
3366    VkStructureType = 1000464001;
3367pub const VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: VkStructureType =
3368    1000464002;
3369pub const VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV:
3370    VkStructureType = 1000464003;
3371pub const VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV: VkStructureType =
3372    1000464004;
3373pub const VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV: VkStructureType =
3374    1000464005;
3375pub const VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV:
3376    VkStructureType = 1000464010;
3377pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT:
3378    VkStructureType = 1000465000;
3379pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT : VkStructureType = 1000466000 ;
3380pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID : VkStructureType = 1000468000 ;
3381pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID : VkStructureType = 1000468001 ;
3382pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID : VkStructureType = 1000468002 ;
3383pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR:
3384    VkStructureType = 1000470000;
3385pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR:
3386    VkStructureType = 1000470001;
3387pub const VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR: VkStructureType = 1000470003;
3388pub const VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR: VkStructureType =
3389    1000470004;
3390pub const VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR: VkStructureType = 1000338002;
3391pub const VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR: VkStructureType = 1000338003;
3392pub const VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR:
3393    VkStructureType = 1000470005;
3394pub const VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: VkStructureType =
3395    1000470006;
3396pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: VkStructureType =
3397    1000476000;
3398pub const VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD: VkStructureType = 1000476001;
3399pub const VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD: VkStructureType =
3400    1000476002;
3401pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR : VkStructureType = 1000481000 ;
3402pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT:
3403    VkStructureType = 1000482000;
3404pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT:
3405    VkStructureType = 1000482001;
3406pub const VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT: VkStructureType = 1000482002;
3407pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR:
3408    VkStructureType = 1000483000;
3409pub const VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR: VkStructureType =
3410    1000483001;
3411pub const VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR: VkStructureType = 1000483002;
3412pub const VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR: VkStructureType = 1000483003;
3413pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR:
3414    VkStructureType = 1000483004;
3415pub const VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR:
3416    VkStructureType = 1000483005;
3417pub const VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR: VkStructureType =
3418    1000483006;
3419pub const VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR: VkStructureType = 1000483007;
3420pub const VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR:
3421    VkStructureType = 1000483008;
3422pub const VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR: VkStructureType =
3423    1000483009;
3424pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM:
3425    VkStructureType = 1000484000;
3426pub const VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM: VkStructureType = 1000484001;
3427pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC:
3428    VkStructureType = 1000485000;
3429pub const VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: VkStructureType =
3430    1000485001;
3431pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM : VkStructureType = 1000488000 ;
3432pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV : VkStructureType = 1000490000 ;
3433pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV : VkStructureType = 1000490001 ;
3434pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV : VkStructureType = 1000492000 ;
3435pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV : VkStructureType = 1000492001 ;
3436pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
3437    VkStructureType = 1000351000;
3438pub const VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT:
3439    VkStructureType = 1000351002;
3440pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT : VkStructureType = 1000495000 ;
3441pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT : VkStructureType = 1000495001 ;
3442pub const VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT: VkStructureType =
3443    1000496000;
3444pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM:
3445    VkStructureType = 1000497000;
3446pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM:
3447    VkStructureType = 1000497001;
3448pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT : VkStructureType = 1000498000 ;
3449pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT : VkStructureType = 1000499000 ;
3450pub const VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV: VkStructureType =
3451    1000505000;
3452pub const VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV: VkStructureType = 1000505001;
3453pub const VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV: VkStructureType =
3454    1000505002;
3455pub const VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV: VkStructureType =
3456    1000505003;
3457pub const VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV: VkStructureType =
3458    1000505004;
3459pub const VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV: VkStructureType =
3460    1000505005;
3461pub const VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV: VkStructureType =
3462    1000505006;
3463pub const VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV: VkStructureType =
3464    1000505007;
3465pub const VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: VkStructureType =
3466    1000505008;
3467pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR:
3468    VkStructureType = 1000506000;
3469pub const VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR: VkStructureType =
3470    1000506001;
3471pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR:
3472    VkStructureType = 1000506002;
3473pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM : VkStructureType = 1000510000 ;
3474pub const VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM : VkStructureType = 1000510001 ;
3475pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR : VkStructureType = 1000201000 ;
3476pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR : VkStructureType = 1000511000 ;
3477pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR: VkStructureType =
3478    1000512000;
3479pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR: VkStructureType =
3480    1000512001;
3481pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR: VkStructureType =
3482    1000512003;
3483pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR:
3484    VkStructureType = 1000512004;
3485pub const VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR: VkStructureType =
3486    1000512005;
3487pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR: VkStructureType =
3488    1000513000;
3489pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR:
3490    VkStructureType = 1000513001;
3491pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR: VkStructureType =
3492    1000513002;
3493pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR: VkStructureType =
3494    1000513003;
3495pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR:
3496    VkStructureType = 1000513004;
3497pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR: VkStructureType =
3498    1000513005;
3499pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR:
3500    VkStructureType = 1000513006;
3501pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR:
3502    VkStructureType = 1000513007;
3503pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR:
3504    VkStructureType = 1000513008;
3505pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR:
3506    VkStructureType = 1000513009;
3507pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR:
3508    VkStructureType = 1000513010;
3509pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR:
3510    VkStructureType = 1000515000;
3511pub const VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: VkStructureType =
3512    1000515001;
3513pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV:
3514    VkStructureType = 1000516000;
3515pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM:
3516    VkStructureType = 1000518000;
3517pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM:
3518    VkStructureType = 1000518001;
3519pub const VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM:
3520    VkStructureType = 1000518002;
3521pub const VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM:
3522    VkStructureType = 1000519000;
3523pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM:
3524    VkStructureType = 1000519001;
3525pub const VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: VkStructureType =
3526    1000519002;
3527pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM:
3528    VkStructureType = 1000520000;
3529pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM : VkStructureType = 1000520001 ;
3530pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM:
3531    VkStructureType = 1000521000;
3532pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT : VkStructureType = 1000524000 ;
3533pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR : VkStructureType = 1000525000 ;
3534pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR:
3535    VkStructureType = 1000190001;
3536pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR : VkStructureType = 1000190002 ;
3537pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR:
3538    VkStructureType = 1000528000;
3539pub const VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX: VkStructureType =
3540    1000529000;
3541pub const VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX: VkStructureType =
3542    1000529001;
3543pub const VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX: VkStructureType =
3544    1000529002;
3545pub const VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX: VkStructureType = 1000529003;
3546pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX : VkStructureType = 1000529004 ;
3547pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT:
3548    VkStructureType = 1000530000;
3549pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR:
3550    VkStructureType = 1000265000;
3551pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR:
3552    VkStructureType = 1000259000;
3553pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR:
3554    VkStructureType = 1000259001;
3555pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR:
3556    VkStructureType = 1000259002;
3557pub const VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR: VkStructureType =
3558    1000184000;
3559pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR:
3560    VkStructureType = 1000544000;
3561pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR:
3562    VkStructureType = 1000545000;
3563pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR:
3564    VkStructureType = 1000545001;
3565pub const VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR: VkStructureType = 1000545002;
3566pub const VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR: VkStructureType =
3567    1000545003;
3568pub const VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR: VkStructureType = 1000545004;
3569pub const VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR: VkStructureType =
3570    1000545005;
3571pub const VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR:
3572    VkStructureType = 1000545006;
3573pub const VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT:
3574    VkStructureType = 1000545007;
3575pub const VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT:
3576    VkStructureType = 1000545008;
3577pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV : VkStructureType = 1000546000 ;
3578pub const VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: VkStructureType =
3579    1000551000;
3580pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV: VkStructureType =
3581    1000551001;
3582pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR:
3583    VkStructureType = 1000553000;
3584pub const VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR:
3585    VkStructureType = 1000553001;
3586pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR:
3587    VkStructureType = 1000553002;
3588pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR : VkStructureType = 1000553005 ;
3589pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR : VkStructureType = 1000553009 ;
3590pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR:
3591    VkStructureType = 1000553003;
3592pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR:
3593    VkStructureType = 1000553004;
3594pub const VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR:
3595    VkStructureType = 1000553006;
3596pub const VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR:
3597    VkStructureType = 1000553007;
3598pub const VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR:
3599    VkStructureType = 1000553008;
3600pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV:
3601    VkStructureType = 1000555000;
3602pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR : VkStructureType = 1000558000 ;
3603pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV : VkStructureType = 1000559000 ;
3604pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR:
3605    VkStructureType = 1000562000;
3606pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR:
3607    VkStructureType = 1000562001;
3608pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR:
3609    VkStructureType = 1000562002;
3610pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR:
3611    VkStructureType = 1000562003;
3612pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR:
3613    VkStructureType = 1000562004;
3614pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV : VkStructureType = 1000563000 ;
3615pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT : VkStructureType = 1000564000 ;
3616pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV:
3617    VkStructureType = 1000568000;
3618pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT : VkStructureType = 1000572000 ;
3619pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT : VkStructureType = 1000572001 ;
3620pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT:
3621    VkStructureType = 1000572002;
3622pub const VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT:
3623    VkStructureType = 1000572003;
3624pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT: VkStructureType =
3625    1000572004;
3626pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT:
3627    VkStructureType = 1000572006;
3628pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT: VkStructureType =
3629    1000572007;
3630pub const VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT:
3631    VkStructureType = 1000572008;
3632pub const VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT:
3633    VkStructureType = 1000572009;
3634pub const VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT:
3635    VkStructureType = 1000572010;
3636pub const VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT:
3637    VkStructureType = 1000572011;
3638pub const VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT:
3639    VkStructureType = 1000572012;
3640pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT: VkStructureType =
3641    1000572013;
3642pub const VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT: VkStructureType =
3643    1000572014;
3644pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA : VkStructureType = 1000575000 ;
3645pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA : VkStructureType = 1000575001 ;
3646pub const VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA:
3647    VkStructureType = 1000575002;
3648pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT:
3649    VkStructureType = 1000582000;
3650pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT : VkStructureType = 1000582001 ;
3651pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI:
3652    VkStructureType = 1000590000;
3653pub const VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI: VkStructureType =
3654    1000590001;
3655pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV:
3656    VkStructureType = 1000593000;
3657pub const VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV:
3658    VkStructureType = 1000593001;
3659pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV:
3660    VkStructureType = 1000593002;
3661pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT : VkStructureType = 1000608000 ;
3662pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
3663    VkStructureType = 1000120000;
3664pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
3665    VkStructureType = 1000063000;
3666pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT: VkStructureType =
3667    1000011000;
3668pub const VK_STRUCTURE_TYPE_RENDERING_INFO_KHR: VkStructureType = 1000044000;
3669pub const VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR: VkStructureType =
3670    1000044001;
3671pub const VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: VkStructureType =
3672    1000044002;
3673pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR:
3674    VkStructureType = 1000044003;
3675pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR:
3676    VkStructureType = 1000044004;
3677pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR: VkStructureType =
3678    1000053000;
3679pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR:
3680    VkStructureType = 1000053001;
3681pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR:
3682    VkStructureType = 1000053002;
3683pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR: VkStructureType =
3684    1000059000;
3685pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: VkStructureType =
3686    1000059001;
3687pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059002;
3688pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType =
3689    1000059003;
3690pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR:
3691    VkStructureType = 1000059004;
3692pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: VkStructureType =
3693    1000059005;
3694pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR:
3695    VkStructureType = 1000059006;
3696pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType =
3697    1000059007;
3698pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR:
3699    VkStructureType = 1000059008;
3700pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR: VkStructureType =
3701    1000060000;
3702pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR:
3703    VkStructureType = 1000060003;
3704pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR:
3705    VkStructureType = 1000060004;
3706pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR: VkStructureType =
3707    1000060005;
3708pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR: VkStructureType =
3709    1000060006;
3710pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR:
3711    VkStructureType = 1000060013;
3712pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR:
3713    VkStructureType = 1000060014;
3714pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT : VkStructureType = 1000066000 ;
3715pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR: VkStructureType =
3716    1000070000;
3717pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR: VkStructureType =
3718    1000070001;
3719pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR:
3720    VkStructureType = 1000071000;
3721pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR: VkStructureType =
3722    1000071001;
3723pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR:
3724    VkStructureType = 1000071002;
3725pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR: VkStructureType =
3726    1000071003;
3727pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR: VkStructureType =
3728    1000071004;
3729pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR:
3730    VkStructureType = 1000072000;
3731pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR: VkStructureType =
3732    1000072001;
3733pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR: VkStructureType =
3734    1000072002;
3735pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR:
3736    VkStructureType = 1000076000;
3737pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR: VkStructureType =
3738    1000076001;
3739pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR: VkStructureType =
3740    1000077000;
3741pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR:
3742    VkStructureType = 1000082000;
3743pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR:
3744    VkStructureType = 1000082000;
3745pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR:
3746    VkStructureType = 1000083000;
3747pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR:
3748    VkStructureType = 1000085000;
3749pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT: VkStructureType = 1000090000;
3750pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR:
3751    VkStructureType = 1000108000;
3752pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR:
3753    VkStructureType = 1000108001;
3754pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR: VkStructureType =
3755    1000108002;
3756pub const VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: VkStructureType =
3757    1000108003;
3758pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR: VkStructureType =
3759    1000109000;
3760pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR: VkStructureType =
3761    1000109001;
3762pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR: VkStructureType = 1000109002;
3763pub const VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR: VkStructureType = 1000109003;
3764pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR: VkStructureType =
3765    1000109004;
3766pub const VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR: VkStructureType = 1000109005;
3767pub const VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR: VkStructureType = 1000109006;
3768pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR:
3769    VkStructureType = 1000112000;
3770pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR: VkStructureType =
3771    1000112001;
3772pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR: VkStructureType =
3773    1000113000;
3774pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR:
3775    VkStructureType = 1000117000;
3776pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR:
3777    VkStructureType = 1000117001;
3778pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR: VkStructureType =
3779    1000117002;
3780pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR : VkStructureType = 1000117003 ;
3781pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR:
3782    VkStructureType = 1000120000;
3783pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR:
3784    VkStructureType = 1000120000;
3785pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: VkStructureType =
3786    1000127000;
3787pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR: VkStructureType =
3788    1000127001;
3789pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
3790    VkStructureType = 1000130000;
3791pub const VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
3792    VkStructureType = 1000130001;
3793pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
3794    VkStructureType = 1000138000;
3795pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT:
3796    VkStructureType = 1000138001;
3797pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT:
3798    VkStructureType = 1000138002;
3799pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT:
3800    VkStructureType = 1000138003;
3801pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType =
3802    1000146000;
3803pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType =
3804    1000146001;
3805pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR:
3806    VkStructureType = 1000146002;
3807pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR: VkStructureType = 1000146003;
3808pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR:
3809    VkStructureType = 1000146004;
3810pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: VkStructureType =
3811    1000147000;
3812pub const VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV: VkStructureType =
3813    1000044008;
3814pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR:
3815    VkStructureType = 1000156000;
3816pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: VkStructureType =
3817    1000156001;
3818pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR: VkStructureType =
3819    1000156002;
3820pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR:
3821    VkStructureType = 1000156003;
3822pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR : VkStructureType = 1000156004 ;
3823pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR:
3824    VkStructureType = 1000156005;
3825pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR: VkStructureType =
3826    1000157000;
3827pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR: VkStructureType =
3828    1000157001;
3829pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
3830    VkStructureType = 1000161000;
3831pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
3832    VkStructureType = 1000161001;
3833pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
3834    VkStructureType = 1000161002;
3835pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT : VkStructureType = 1000161003 ;
3836pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT : VkStructureType = 1000161004 ;
3837pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR:
3838    VkStructureType = 1000168000;
3839pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR: VkStructureType =
3840    1000168001;
3841pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
3842    VkStructureType = 1000174000;
3843pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR : VkStructureType = 1000175000 ;
3844pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
3845    VkStructureType = 1000177000;
3846pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR:
3847    VkStructureType = 1000180000;
3848pub const VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: VkStructureType =
3849    1000184000;
3850pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
3851    VkStructureType = 1000190001;
3852pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT : VkStructureType = 1000190002 ;
3853pub const VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT:
3854    VkStructureType = 1000192000;
3855pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: VkStructureType =
3856    1000196000;
3857pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR:
3858    VkStructureType = 1000197000;
3859pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR:
3860    VkStructureType = 1000199000;
3861pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR:
3862    VkStructureType = 1000199001;
3863pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV : VkStructureType = 1000201000 ;
3864pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV : VkStructureType = 1000203000 ;
3865pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR:
3866    VkStructureType = 1000207000;
3867pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR:
3868    VkStructureType = 1000207001;
3869pub const VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR: VkStructureType =
3870    1000207002;
3871pub const VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR: VkStructureType =
3872    1000207003;
3873pub const VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR: VkStructureType = 1000207004;
3874pub const VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR: VkStructureType = 1000207005;
3875pub const VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL: VkStructureType =
3876    1000210000;
3877pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR:
3878    VkStructureType = 1000211000;
3879pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR : VkStructureType = 1000215000 ;
3880pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT:
3881    VkStructureType = 1000221000;
3882pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT:
3883    VkStructureType = 1000225000;
3884pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT : VkStructureType = 1000225001 ;
3885pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT:
3886    VkStructureType = 1000225002;
3887pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR : VkStructureType = 1000241000 ;
3888pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR:
3889    VkStructureType = 1000241001;
3890pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR:
3891    VkStructureType = 1000241002;
3892pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT:
3893    VkStructureType = 1000244000;
3894pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT: VkStructureType =
3895    1000244001;
3896pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT: VkStructureType =
3897    1000245000;
3898pub const VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: VkStructureType =
3899    1000246000;
3900pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR : VkStructureType = 1000253000 ;
3901pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR:
3902    VkStructureType = 1000257000;
3903pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR: VkStructureType =
3904    1000244001;
3905pub const VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR:
3906    VkStructureType = 1000257002;
3907pub const VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR:
3908    VkStructureType = 1000257003;
3909pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR:
3910    VkStructureType = 1000257004;
3911pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
3912    VkStructureType = 1000259000;
3913pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:
3914    VkStructureType = 1000259001;
3915pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
3916    VkStructureType = 1000259002;
3917pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:
3918    VkStructureType = 1000261000;
3919pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
3920    VkStructureType = 1000265000;
3921pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT : VkStructureType = 1000276000 ;
3922pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR : VkStructureType = 1000280000 ;
3923pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR : VkStructureType = 1000280001 ;
3924pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT : VkStructureType = 1000281001 ;
3925pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT:
3926    VkStructureType = 1000295000;
3927pub const VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: VkStructureType =
3928    1000295001;
3929pub const VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT: VkStructureType =
3930    1000295002;
3931pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT : VkStructureType = 1000297000 ;
3932pub const VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: VkStructureType = 1000314000;
3933pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR: VkStructureType =
3934    1000314001;
3935pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR: VkStructureType =
3936    1000314002;
3937pub const VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR: VkStructureType = 1000314003;
3938pub const VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR: VkStructureType = 1000314004;
3939pub const VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR: VkStructureType = 1000314005;
3940pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR: VkStructureType =
3941    1000314006;
3942pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR:
3943    VkStructureType = 1000314007;
3944pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR : VkStructureType = 1000325000 ;
3945pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT:
3946    VkStructureType = 1000335000;
3947pub const VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR: VkStructureType = 1000337000;
3948pub const VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR: VkStructureType = 1000337001;
3949pub const VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR: VkStructureType =
3950    1000337002;
3951pub const VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR: VkStructureType =
3952    1000337003;
3953pub const VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR: VkStructureType = 1000337004;
3954pub const VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR: VkStructureType = 1000337005;
3955pub const VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR: VkStructureType = 1000337006;
3956pub const VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR: VkStructureType = 1000337007;
3957pub const VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR: VkStructureType = 1000337008;
3958pub const VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: VkStructureType = 1000337009;
3959pub const VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: VkStructureType = 1000337010;
3960pub const VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT: VkStructureType = 1000338002;
3961pub const VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT: VkStructureType = 1000338003;
3962pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM : VkStructureType = 1000342000 ;
3963pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE : VkStructureType = 1000351000 ;
3964pub const VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:
3965    VkStructureType = 1000351002;
3966pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: VkStructureType = 1000360000;
3967pub const VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT: VkStructureType = 1000269001;
3968pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT:
3969    VkStructureType = 1000388000;
3970pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT:
3971    VkStructureType = 1000388001;
3972pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR:
3973    VkStructureType = 1000413000;
3974pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR:
3975    VkStructureType = 1000413001;
3976pub const VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR: VkStructureType =
3977    1000413002;
3978pub const VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR: VkStructureType =
3979    1000413003;
3980pub const VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT:
3981    VkStructureType = 1000225001;
3982pub const VK_STRUCTURE_TYPE_MAX_ENUM: VkStructureType = 2147483647;
3983pub type VkStructureType = ::std::os::raw::c_uint;
3984pub const VK_PIPELINE_CACHE_HEADER_VERSION_ONE:
3985    VkPipelineCacheHeaderVersion = 1;
3986pub const VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM:
3987    VkPipelineCacheHeaderVersion = 2147483647;
3988pub type VkPipelineCacheHeaderVersion = ::std::os::raw::c_uint;
3989pub const VK_IMAGE_LAYOUT_UNDEFINED: VkImageLayout = 0;
3990pub const VK_IMAGE_LAYOUT_GENERAL: VkImageLayout = 1;
3991pub const VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: VkImageLayout = 2;
3992pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 3;
3993pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 4;
3994pub const VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: VkImageLayout = 5;
3995pub const VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: VkImageLayout = 6;
3996pub const VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: VkImageLayout = 7;
3997pub const VK_IMAGE_LAYOUT_PREINITIALIZED: VkImageLayout = 8;
3998pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout =
3999    1000117000;
4000pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout =
4001    1000117001;
4002pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: VkImageLayout = 1000241000;
4003pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: VkImageLayout = 1000241001;
4004pub const VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 1000241002;
4005pub const VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 1000241003;
4006pub const VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL: VkImageLayout = 1000314000;
4007pub const VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL: VkImageLayout = 1000314001;
4008pub const VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: VkImageLayout = 1000001002;
4009pub const VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR: VkImageLayout = 1000024000;
4010pub const VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR: VkImageLayout = 1000024001;
4011pub const VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR: VkImageLayout = 1000024002;
4012pub const VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: VkImageLayout = 1000111000;
4013pub const VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: VkImageLayout =
4014    1000218000;
4015pub const VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR:
4016    VkImageLayout = 1000164003;
4017pub const VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR: VkImageLayout = 1000232000;
4018pub const VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR: VkImageLayout = 1000299000;
4019pub const VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR: VkImageLayout = 1000299001;
4020pub const VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR: VkImageLayout = 1000299002;
4021pub const VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT: VkImageLayout =
4022    1000339000;
4023pub const VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR: VkImageLayout =
4024    1000553000;
4025pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR:
4026    VkImageLayout = 1000117000;
4027pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR:
4028    VkImageLayout = 1000117001;
4029pub const VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: VkImageLayout = 1000164003;
4030pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR: VkImageLayout = 1000241000;
4031pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR: VkImageLayout = 1000241001;
4032pub const VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR: VkImageLayout = 1000241002;
4033pub const VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR: VkImageLayout = 1000241003;
4034pub const VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR: VkImageLayout = 1000314000;
4035pub const VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR: VkImageLayout = 1000314001;
4036pub const VK_IMAGE_LAYOUT_MAX_ENUM: VkImageLayout = 2147483647;
4037pub type VkImageLayout = ::std::os::raw::c_uint;
4038pub const VK_OBJECT_TYPE_UNKNOWN: VkObjectType = 0;
4039pub const VK_OBJECT_TYPE_INSTANCE: VkObjectType = 1;
4040pub const VK_OBJECT_TYPE_PHYSICAL_DEVICE: VkObjectType = 2;
4041pub const VK_OBJECT_TYPE_DEVICE: VkObjectType = 3;
4042pub const VK_OBJECT_TYPE_QUEUE: VkObjectType = 4;
4043pub const VK_OBJECT_TYPE_SEMAPHORE: VkObjectType = 5;
4044pub const VK_OBJECT_TYPE_COMMAND_BUFFER: VkObjectType = 6;
4045pub const VK_OBJECT_TYPE_FENCE: VkObjectType = 7;
4046pub const VK_OBJECT_TYPE_DEVICE_MEMORY: VkObjectType = 8;
4047pub const VK_OBJECT_TYPE_BUFFER: VkObjectType = 9;
4048pub const VK_OBJECT_TYPE_IMAGE: VkObjectType = 10;
4049pub const VK_OBJECT_TYPE_EVENT: VkObjectType = 11;
4050pub const VK_OBJECT_TYPE_QUERY_POOL: VkObjectType = 12;
4051pub const VK_OBJECT_TYPE_BUFFER_VIEW: VkObjectType = 13;
4052pub const VK_OBJECT_TYPE_IMAGE_VIEW: VkObjectType = 14;
4053pub const VK_OBJECT_TYPE_SHADER_MODULE: VkObjectType = 15;
4054pub const VK_OBJECT_TYPE_PIPELINE_CACHE: VkObjectType = 16;
4055pub const VK_OBJECT_TYPE_PIPELINE_LAYOUT: VkObjectType = 17;
4056pub const VK_OBJECT_TYPE_RENDER_PASS: VkObjectType = 18;
4057pub const VK_OBJECT_TYPE_PIPELINE: VkObjectType = 19;
4058pub const VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: VkObjectType = 20;
4059pub const VK_OBJECT_TYPE_SAMPLER: VkObjectType = 21;
4060pub const VK_OBJECT_TYPE_DESCRIPTOR_POOL: VkObjectType = 22;
4061pub const VK_OBJECT_TYPE_DESCRIPTOR_SET: VkObjectType = 23;
4062pub const VK_OBJECT_TYPE_FRAMEBUFFER: VkObjectType = 24;
4063pub const VK_OBJECT_TYPE_COMMAND_POOL: VkObjectType = 25;
4064pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: VkObjectType = 1000156000;
4065pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: VkObjectType = 1000085000;
4066pub const VK_OBJECT_TYPE_PRIVATE_DATA_SLOT: VkObjectType = 1000295000;
4067pub const VK_OBJECT_TYPE_SURFACE_KHR: VkObjectType = 1000000000;
4068pub const VK_OBJECT_TYPE_SWAPCHAIN_KHR: VkObjectType = 1000001000;
4069pub const VK_OBJECT_TYPE_DISPLAY_KHR: VkObjectType = 1000002000;
4070pub const VK_OBJECT_TYPE_DISPLAY_MODE_KHR: VkObjectType = 1000002001;
4071pub const VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: VkObjectType = 1000011000;
4072pub const VK_OBJECT_TYPE_VIDEO_SESSION_KHR: VkObjectType = 1000023000;
4073pub const VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR: VkObjectType = 1000023001;
4074pub const VK_OBJECT_TYPE_CU_MODULE_NVX: VkObjectType = 1000029000;
4075pub const VK_OBJECT_TYPE_CU_FUNCTION_NVX: VkObjectType = 1000029001;
4076pub const VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: VkObjectType = 1000128000;
4077pub const VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR: VkObjectType = 1000150000;
4078pub const VK_OBJECT_TYPE_VALIDATION_CACHE_EXT: VkObjectType = 1000160000;
4079pub const VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: VkObjectType = 1000165000;
4080pub const VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL: VkObjectType = 1000210000;
4081pub const VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR: VkObjectType = 1000268000;
4082pub const VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV: VkObjectType = 1000277000;
4083pub const VK_OBJECT_TYPE_CUDA_MODULE_NV: VkObjectType = 1000307000;
4084pub const VK_OBJECT_TYPE_CUDA_FUNCTION_NV: VkObjectType = 1000307001;
4085pub const VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA: VkObjectType = 1000366000;
4086pub const VK_OBJECT_TYPE_MICROMAP_EXT: VkObjectType = 1000396000;
4087pub const VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV: VkObjectType = 1000464000;
4088pub const VK_OBJECT_TYPE_SHADER_EXT: VkObjectType = 1000482000;
4089pub const VK_OBJECT_TYPE_PIPELINE_BINARY_KHR: VkObjectType = 1000483000;
4090pub const VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT: VkObjectType = 1000572000;
4091pub const VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT: VkObjectType = 1000572001;
4092pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR: VkObjectType = 1000085000;
4093pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR: VkObjectType = 1000156000;
4094pub const VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT: VkObjectType = 1000295000;
4095pub const VK_OBJECT_TYPE_MAX_ENUM: VkObjectType = 2147483647;
4096pub type VkObjectType = ::std::os::raw::c_uint;
4097pub const VK_VENDOR_ID_KHRONOS: VkVendorId = 65536;
4098pub const VK_VENDOR_ID_VIV: VkVendorId = 65537;
4099pub const VK_VENDOR_ID_VSI: VkVendorId = 65538;
4100pub const VK_VENDOR_ID_KAZAN: VkVendorId = 65539;
4101pub const VK_VENDOR_ID_CODEPLAY: VkVendorId = 65540;
4102pub const VK_VENDOR_ID_MESA: VkVendorId = 65541;
4103pub const VK_VENDOR_ID_POCL: VkVendorId = 65542;
4104pub const VK_VENDOR_ID_MOBILEYE: VkVendorId = 65543;
4105pub const VK_VENDOR_ID_MAX_ENUM: VkVendorId = 2147483647;
4106pub type VkVendorId = ::std::os::raw::c_uint;
4107pub const VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: VkSystemAllocationScope = 0;
4108pub const VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: VkSystemAllocationScope = 1;
4109pub const VK_SYSTEM_ALLOCATION_SCOPE_CACHE: VkSystemAllocationScope = 2;
4110pub const VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: VkSystemAllocationScope = 3;
4111pub const VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: VkSystemAllocationScope = 4;
4112pub const VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM: VkSystemAllocationScope =
4113    2147483647;
4114pub type VkSystemAllocationScope = ::std::os::raw::c_uint;
4115pub const VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE:
4116    VkInternalAllocationType = 0;
4117pub const VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM: VkInternalAllocationType =
4118    2147483647;
4119pub type VkInternalAllocationType = ::std::os::raw::c_uint;
4120pub const VK_FORMAT_UNDEFINED: VkFormat = 0;
4121pub const VK_FORMAT_R4G4_UNORM_PACK8: VkFormat = 1;
4122pub const VK_FORMAT_R4G4B4A4_UNORM_PACK16: VkFormat = 2;
4123pub const VK_FORMAT_B4G4R4A4_UNORM_PACK16: VkFormat = 3;
4124pub const VK_FORMAT_R5G6B5_UNORM_PACK16: VkFormat = 4;
4125pub const VK_FORMAT_B5G6R5_UNORM_PACK16: VkFormat = 5;
4126pub const VK_FORMAT_R5G5B5A1_UNORM_PACK16: VkFormat = 6;
4127pub const VK_FORMAT_B5G5R5A1_UNORM_PACK16: VkFormat = 7;
4128pub const VK_FORMAT_A1R5G5B5_UNORM_PACK16: VkFormat = 8;
4129pub const VK_FORMAT_R8_UNORM: VkFormat = 9;
4130pub const VK_FORMAT_R8_SNORM: VkFormat = 10;
4131pub const VK_FORMAT_R8_USCALED: VkFormat = 11;
4132pub const VK_FORMAT_R8_SSCALED: VkFormat = 12;
4133pub const VK_FORMAT_R8_UINT: VkFormat = 13;
4134pub const VK_FORMAT_R8_SINT: VkFormat = 14;
4135pub const VK_FORMAT_R8_SRGB: VkFormat = 15;
4136pub const VK_FORMAT_R8G8_UNORM: VkFormat = 16;
4137pub const VK_FORMAT_R8G8_SNORM: VkFormat = 17;
4138pub const VK_FORMAT_R8G8_USCALED: VkFormat = 18;
4139pub const VK_FORMAT_R8G8_SSCALED: VkFormat = 19;
4140pub const VK_FORMAT_R8G8_UINT: VkFormat = 20;
4141pub const VK_FORMAT_R8G8_SINT: VkFormat = 21;
4142pub const VK_FORMAT_R8G8_SRGB: VkFormat = 22;
4143pub const VK_FORMAT_R8G8B8_UNORM: VkFormat = 23;
4144pub const VK_FORMAT_R8G8B8_SNORM: VkFormat = 24;
4145pub const VK_FORMAT_R8G8B8_USCALED: VkFormat = 25;
4146pub const VK_FORMAT_R8G8B8_SSCALED: VkFormat = 26;
4147pub const VK_FORMAT_R8G8B8_UINT: VkFormat = 27;
4148pub const VK_FORMAT_R8G8B8_SINT: VkFormat = 28;
4149pub const VK_FORMAT_R8G8B8_SRGB: VkFormat = 29;
4150pub const VK_FORMAT_B8G8R8_UNORM: VkFormat = 30;
4151pub const VK_FORMAT_B8G8R8_SNORM: VkFormat = 31;
4152pub const VK_FORMAT_B8G8R8_USCALED: VkFormat = 32;
4153pub const VK_FORMAT_B8G8R8_SSCALED: VkFormat = 33;
4154pub const VK_FORMAT_B8G8R8_UINT: VkFormat = 34;
4155pub const VK_FORMAT_B8G8R8_SINT: VkFormat = 35;
4156pub const VK_FORMAT_B8G8R8_SRGB: VkFormat = 36;
4157pub const VK_FORMAT_R8G8B8A8_UNORM: VkFormat = 37;
4158pub const VK_FORMAT_R8G8B8A8_SNORM: VkFormat = 38;
4159pub const VK_FORMAT_R8G8B8A8_USCALED: VkFormat = 39;
4160pub const VK_FORMAT_R8G8B8A8_SSCALED: VkFormat = 40;
4161pub const VK_FORMAT_R8G8B8A8_UINT: VkFormat = 41;
4162pub const VK_FORMAT_R8G8B8A8_SINT: VkFormat = 42;
4163pub const VK_FORMAT_R8G8B8A8_SRGB: VkFormat = 43;
4164pub const VK_FORMAT_B8G8R8A8_UNORM: VkFormat = 44;
4165pub const VK_FORMAT_B8G8R8A8_SNORM: VkFormat = 45;
4166pub const VK_FORMAT_B8G8R8A8_USCALED: VkFormat = 46;
4167pub const VK_FORMAT_B8G8R8A8_SSCALED: VkFormat = 47;
4168pub const VK_FORMAT_B8G8R8A8_UINT: VkFormat = 48;
4169pub const VK_FORMAT_B8G8R8A8_SINT: VkFormat = 49;
4170pub const VK_FORMAT_B8G8R8A8_SRGB: VkFormat = 50;
4171pub const VK_FORMAT_A8B8G8R8_UNORM_PACK32: VkFormat = 51;
4172pub const VK_FORMAT_A8B8G8R8_SNORM_PACK32: VkFormat = 52;
4173pub const VK_FORMAT_A8B8G8R8_USCALED_PACK32: VkFormat = 53;
4174pub const VK_FORMAT_A8B8G8R8_SSCALED_PACK32: VkFormat = 54;
4175pub const VK_FORMAT_A8B8G8R8_UINT_PACK32: VkFormat = 55;
4176pub const VK_FORMAT_A8B8G8R8_SINT_PACK32: VkFormat = 56;
4177pub const VK_FORMAT_A8B8G8R8_SRGB_PACK32: VkFormat = 57;
4178pub const VK_FORMAT_A2R10G10B10_UNORM_PACK32: VkFormat = 58;
4179pub const VK_FORMAT_A2R10G10B10_SNORM_PACK32: VkFormat = 59;
4180pub const VK_FORMAT_A2R10G10B10_USCALED_PACK32: VkFormat = 60;
4181pub const VK_FORMAT_A2R10G10B10_SSCALED_PACK32: VkFormat = 61;
4182pub const VK_FORMAT_A2R10G10B10_UINT_PACK32: VkFormat = 62;
4183pub const VK_FORMAT_A2R10G10B10_SINT_PACK32: VkFormat = 63;
4184pub const VK_FORMAT_A2B10G10R10_UNORM_PACK32: VkFormat = 64;
4185pub const VK_FORMAT_A2B10G10R10_SNORM_PACK32: VkFormat = 65;
4186pub const VK_FORMAT_A2B10G10R10_USCALED_PACK32: VkFormat = 66;
4187pub const VK_FORMAT_A2B10G10R10_SSCALED_PACK32: VkFormat = 67;
4188pub const VK_FORMAT_A2B10G10R10_UINT_PACK32: VkFormat = 68;
4189pub const VK_FORMAT_A2B10G10R10_SINT_PACK32: VkFormat = 69;
4190pub const VK_FORMAT_R16_UNORM: VkFormat = 70;
4191pub const VK_FORMAT_R16_SNORM: VkFormat = 71;
4192pub const VK_FORMAT_R16_USCALED: VkFormat = 72;
4193pub const VK_FORMAT_R16_SSCALED: VkFormat = 73;
4194pub const VK_FORMAT_R16_UINT: VkFormat = 74;
4195pub const VK_FORMAT_R16_SINT: VkFormat = 75;
4196pub const VK_FORMAT_R16_SFLOAT: VkFormat = 76;
4197pub const VK_FORMAT_R16G16_UNORM: VkFormat = 77;
4198pub const VK_FORMAT_R16G16_SNORM: VkFormat = 78;
4199pub const VK_FORMAT_R16G16_USCALED: VkFormat = 79;
4200pub const VK_FORMAT_R16G16_SSCALED: VkFormat = 80;
4201pub const VK_FORMAT_R16G16_UINT: VkFormat = 81;
4202pub const VK_FORMAT_R16G16_SINT: VkFormat = 82;
4203pub const VK_FORMAT_R16G16_SFLOAT: VkFormat = 83;
4204pub const VK_FORMAT_R16G16B16_UNORM: VkFormat = 84;
4205pub const VK_FORMAT_R16G16B16_SNORM: VkFormat = 85;
4206pub const VK_FORMAT_R16G16B16_USCALED: VkFormat = 86;
4207pub const VK_FORMAT_R16G16B16_SSCALED: VkFormat = 87;
4208pub const VK_FORMAT_R16G16B16_UINT: VkFormat = 88;
4209pub const VK_FORMAT_R16G16B16_SINT: VkFormat = 89;
4210pub const VK_FORMAT_R16G16B16_SFLOAT: VkFormat = 90;
4211pub const VK_FORMAT_R16G16B16A16_UNORM: VkFormat = 91;
4212pub const VK_FORMAT_R16G16B16A16_SNORM: VkFormat = 92;
4213pub const VK_FORMAT_R16G16B16A16_USCALED: VkFormat = 93;
4214pub const VK_FORMAT_R16G16B16A16_SSCALED: VkFormat = 94;
4215pub const VK_FORMAT_R16G16B16A16_UINT: VkFormat = 95;
4216pub const VK_FORMAT_R16G16B16A16_SINT: VkFormat = 96;
4217pub const VK_FORMAT_R16G16B16A16_SFLOAT: VkFormat = 97;
4218pub const VK_FORMAT_R32_UINT: VkFormat = 98;
4219pub const VK_FORMAT_R32_SINT: VkFormat = 99;
4220pub const VK_FORMAT_R32_SFLOAT: VkFormat = 100;
4221pub const VK_FORMAT_R32G32_UINT: VkFormat = 101;
4222pub const VK_FORMAT_R32G32_SINT: VkFormat = 102;
4223pub const VK_FORMAT_R32G32_SFLOAT: VkFormat = 103;
4224pub const VK_FORMAT_R32G32B32_UINT: VkFormat = 104;
4225pub const VK_FORMAT_R32G32B32_SINT: VkFormat = 105;
4226pub const VK_FORMAT_R32G32B32_SFLOAT: VkFormat = 106;
4227pub const VK_FORMAT_R32G32B32A32_UINT: VkFormat = 107;
4228pub const VK_FORMAT_R32G32B32A32_SINT: VkFormat = 108;
4229pub const VK_FORMAT_R32G32B32A32_SFLOAT: VkFormat = 109;
4230pub const VK_FORMAT_R64_UINT: VkFormat = 110;
4231pub const VK_FORMAT_R64_SINT: VkFormat = 111;
4232pub const VK_FORMAT_R64_SFLOAT: VkFormat = 112;
4233pub const VK_FORMAT_R64G64_UINT: VkFormat = 113;
4234pub const VK_FORMAT_R64G64_SINT: VkFormat = 114;
4235pub const VK_FORMAT_R64G64_SFLOAT: VkFormat = 115;
4236pub const VK_FORMAT_R64G64B64_UINT: VkFormat = 116;
4237pub const VK_FORMAT_R64G64B64_SINT: VkFormat = 117;
4238pub const VK_FORMAT_R64G64B64_SFLOAT: VkFormat = 118;
4239pub const VK_FORMAT_R64G64B64A64_UINT: VkFormat = 119;
4240pub const VK_FORMAT_R64G64B64A64_SINT: VkFormat = 120;
4241pub const VK_FORMAT_R64G64B64A64_SFLOAT: VkFormat = 121;
4242pub const VK_FORMAT_B10G11R11_UFLOAT_PACK32: VkFormat = 122;
4243pub const VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: VkFormat = 123;
4244pub const VK_FORMAT_D16_UNORM: VkFormat = 124;
4245pub const VK_FORMAT_X8_D24_UNORM_PACK32: VkFormat = 125;
4246pub const VK_FORMAT_D32_SFLOAT: VkFormat = 126;
4247pub const VK_FORMAT_S8_UINT: VkFormat = 127;
4248pub const VK_FORMAT_D16_UNORM_S8_UINT: VkFormat = 128;
4249pub const VK_FORMAT_D24_UNORM_S8_UINT: VkFormat = 129;
4250pub const VK_FORMAT_D32_SFLOAT_S8_UINT: VkFormat = 130;
4251pub const VK_FORMAT_BC1_RGB_UNORM_BLOCK: VkFormat = 131;
4252pub const VK_FORMAT_BC1_RGB_SRGB_BLOCK: VkFormat = 132;
4253pub const VK_FORMAT_BC1_RGBA_UNORM_BLOCK: VkFormat = 133;
4254pub const VK_FORMAT_BC1_RGBA_SRGB_BLOCK: VkFormat = 134;
4255pub const VK_FORMAT_BC2_UNORM_BLOCK: VkFormat = 135;
4256pub const VK_FORMAT_BC2_SRGB_BLOCK: VkFormat = 136;
4257pub const VK_FORMAT_BC3_UNORM_BLOCK: VkFormat = 137;
4258pub const VK_FORMAT_BC3_SRGB_BLOCK: VkFormat = 138;
4259pub const VK_FORMAT_BC4_UNORM_BLOCK: VkFormat = 139;
4260pub const VK_FORMAT_BC4_SNORM_BLOCK: VkFormat = 140;
4261pub const VK_FORMAT_BC5_UNORM_BLOCK: VkFormat = 141;
4262pub const VK_FORMAT_BC5_SNORM_BLOCK: VkFormat = 142;
4263pub const VK_FORMAT_BC6H_UFLOAT_BLOCK: VkFormat = 143;
4264pub const VK_FORMAT_BC6H_SFLOAT_BLOCK: VkFormat = 144;
4265pub const VK_FORMAT_BC7_UNORM_BLOCK: VkFormat = 145;
4266pub const VK_FORMAT_BC7_SRGB_BLOCK: VkFormat = 146;
4267pub const VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: VkFormat = 147;
4268pub const VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: VkFormat = 148;
4269pub const VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: VkFormat = 149;
4270pub const VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: VkFormat = 150;
4271pub const VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: VkFormat = 151;
4272pub const VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: VkFormat = 152;
4273pub const VK_FORMAT_EAC_R11_UNORM_BLOCK: VkFormat = 153;
4274pub const VK_FORMAT_EAC_R11_SNORM_BLOCK: VkFormat = 154;
4275pub const VK_FORMAT_EAC_R11G11_UNORM_BLOCK: VkFormat = 155;
4276pub const VK_FORMAT_EAC_R11G11_SNORM_BLOCK: VkFormat = 156;
4277pub const VK_FORMAT_ASTC_4x4_UNORM_BLOCK: VkFormat = 157;
4278pub const VK_FORMAT_ASTC_4x4_SRGB_BLOCK: VkFormat = 158;
4279pub const VK_FORMAT_ASTC_5x4_UNORM_BLOCK: VkFormat = 159;
4280pub const VK_FORMAT_ASTC_5x4_SRGB_BLOCK: VkFormat = 160;
4281pub const VK_FORMAT_ASTC_5x5_UNORM_BLOCK: VkFormat = 161;
4282pub const VK_FORMAT_ASTC_5x5_SRGB_BLOCK: VkFormat = 162;
4283pub const VK_FORMAT_ASTC_6x5_UNORM_BLOCK: VkFormat = 163;
4284pub const VK_FORMAT_ASTC_6x5_SRGB_BLOCK: VkFormat = 164;
4285pub const VK_FORMAT_ASTC_6x6_UNORM_BLOCK: VkFormat = 165;
4286pub const VK_FORMAT_ASTC_6x6_SRGB_BLOCK: VkFormat = 166;
4287pub const VK_FORMAT_ASTC_8x5_UNORM_BLOCK: VkFormat = 167;
4288pub const VK_FORMAT_ASTC_8x5_SRGB_BLOCK: VkFormat = 168;
4289pub const VK_FORMAT_ASTC_8x6_UNORM_BLOCK: VkFormat = 169;
4290pub const VK_FORMAT_ASTC_8x6_SRGB_BLOCK: VkFormat = 170;
4291pub const VK_FORMAT_ASTC_8x8_UNORM_BLOCK: VkFormat = 171;
4292pub const VK_FORMAT_ASTC_8x8_SRGB_BLOCK: VkFormat = 172;
4293pub const VK_FORMAT_ASTC_10x5_UNORM_BLOCK: VkFormat = 173;
4294pub const VK_FORMAT_ASTC_10x5_SRGB_BLOCK: VkFormat = 174;
4295pub const VK_FORMAT_ASTC_10x6_UNORM_BLOCK: VkFormat = 175;
4296pub const VK_FORMAT_ASTC_10x6_SRGB_BLOCK: VkFormat = 176;
4297pub const VK_FORMAT_ASTC_10x8_UNORM_BLOCK: VkFormat = 177;
4298pub const VK_FORMAT_ASTC_10x8_SRGB_BLOCK: VkFormat = 178;
4299pub const VK_FORMAT_ASTC_10x10_UNORM_BLOCK: VkFormat = 179;
4300pub const VK_FORMAT_ASTC_10x10_SRGB_BLOCK: VkFormat = 180;
4301pub const VK_FORMAT_ASTC_12x10_UNORM_BLOCK: VkFormat = 181;
4302pub const VK_FORMAT_ASTC_12x10_SRGB_BLOCK: VkFormat = 182;
4303pub const VK_FORMAT_ASTC_12x12_UNORM_BLOCK: VkFormat = 183;
4304pub const VK_FORMAT_ASTC_12x12_SRGB_BLOCK: VkFormat = 184;
4305pub const VK_FORMAT_G8B8G8R8_422_UNORM: VkFormat = 1000156000;
4306pub const VK_FORMAT_B8G8R8G8_422_UNORM: VkFormat = 1000156001;
4307pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: VkFormat = 1000156002;
4308pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: VkFormat = 1000156003;
4309pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: VkFormat = 1000156004;
4310pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: VkFormat = 1000156005;
4311pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: VkFormat = 1000156006;
4312pub const VK_FORMAT_R10X6_UNORM_PACK16: VkFormat = 1000156007;
4313pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16: VkFormat = 1000156008;
4314pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: VkFormat = 1000156009;
4315pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: VkFormat = 1000156010;
4316pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: VkFormat = 1000156011;
4317pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156012;
4318pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156013;
4319pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156014;
4320pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156015;
4321pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156016;
4322pub const VK_FORMAT_R12X4_UNORM_PACK16: VkFormat = 1000156017;
4323pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16: VkFormat = 1000156018;
4324pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: VkFormat = 1000156019;
4325pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: VkFormat = 1000156020;
4326pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: VkFormat = 1000156021;
4327pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156022;
4328pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156023;
4329pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156024;
4330pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156025;
4331pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156026;
4332pub const VK_FORMAT_G16B16G16R16_422_UNORM: VkFormat = 1000156027;
4333pub const VK_FORMAT_B16G16R16G16_422_UNORM: VkFormat = 1000156028;
4334pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: VkFormat = 1000156029;
4335pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: VkFormat = 1000156030;
4336pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: VkFormat = 1000156031;
4337pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: VkFormat = 1000156032;
4338pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: VkFormat = 1000156033;
4339pub const VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: VkFormat = 1000330000;
4340pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: VkFormat = 1000330001;
4341pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: VkFormat = 1000330002;
4342pub const VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: VkFormat = 1000330003;
4343pub const VK_FORMAT_A4R4G4B4_UNORM_PACK16: VkFormat = 1000340000;
4344pub const VK_FORMAT_A4B4G4R4_UNORM_PACK16: VkFormat = 1000340001;
4345pub const VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: VkFormat = 1000066000;
4346pub const VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: VkFormat = 1000066001;
4347pub const VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: VkFormat = 1000066002;
4348pub const VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: VkFormat = 1000066003;
4349pub const VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: VkFormat = 1000066004;
4350pub const VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: VkFormat = 1000066005;
4351pub const VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: VkFormat = 1000066006;
4352pub const VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: VkFormat = 1000066007;
4353pub const VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK: VkFormat = 1000066008;
4354pub const VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK: VkFormat = 1000066009;
4355pub const VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: VkFormat = 1000066010;
4356pub const VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: VkFormat = 1000066011;
4357pub const VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: VkFormat = 1000066012;
4358pub const VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: VkFormat = 1000066013;
4359pub const VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054000;
4360pub const VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054001;
4361pub const VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054002;
4362pub const VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054003;
4363pub const VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054004;
4364pub const VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054005;
4365pub const VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054006;
4366pub const VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054007;
4367pub const VK_FORMAT_R16G16_SFIXED5_NV: VkFormat = 1000464000;
4368pub const VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR: VkFormat = 1000470000;
4369pub const VK_FORMAT_A8_UNORM_KHR: VkFormat = 1000470001;
4370pub const VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT: VkFormat = 1000066000;
4371pub const VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT: VkFormat = 1000066001;
4372pub const VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT: VkFormat = 1000066002;
4373pub const VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT: VkFormat = 1000066003;
4374pub const VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT: VkFormat = 1000066004;
4375pub const VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT: VkFormat = 1000066005;
4376pub const VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT: VkFormat = 1000066006;
4377pub const VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT: VkFormat = 1000066007;
4378pub const VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT: VkFormat = 1000066008;
4379pub const VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT: VkFormat = 1000066009;
4380pub const VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT: VkFormat = 1000066010;
4381pub const VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT: VkFormat = 1000066011;
4382pub const VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT: VkFormat = 1000066012;
4383pub const VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT: VkFormat = 1000066013;
4384pub const VK_FORMAT_G8B8G8R8_422_UNORM_KHR: VkFormat = 1000156000;
4385pub const VK_FORMAT_B8G8R8G8_422_UNORM_KHR: VkFormat = 1000156001;
4386pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR: VkFormat = 1000156002;
4387pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR: VkFormat = 1000156003;
4388pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR: VkFormat = 1000156004;
4389pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR: VkFormat = 1000156005;
4390pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR: VkFormat = 1000156006;
4391pub const VK_FORMAT_R10X6_UNORM_PACK16_KHR: VkFormat = 1000156007;
4392pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR: VkFormat = 1000156008;
4393pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: VkFormat = 1000156009;
4394pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156010;
4395pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156011;
4396pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156012;
4397pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156013;
4398pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156014;
4399pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156015;
4400pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156016;
4401pub const VK_FORMAT_R12X4_UNORM_PACK16_KHR: VkFormat = 1000156017;
4402pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR: VkFormat = 1000156018;
4403pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: VkFormat = 1000156019;
4404pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156020;
4405pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156021;
4406pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156022;
4407pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156023;
4408pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156024;
4409pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156025;
4410pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156026;
4411pub const VK_FORMAT_G16B16G16R16_422_UNORM_KHR: VkFormat = 1000156027;
4412pub const VK_FORMAT_B16G16R16G16_422_UNORM_KHR: VkFormat = 1000156028;
4413pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR: VkFormat = 1000156029;
4414pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR: VkFormat = 1000156030;
4415pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR: VkFormat = 1000156031;
4416pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR: VkFormat = 1000156032;
4417pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR: VkFormat = 1000156033;
4418pub const VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT: VkFormat = 1000330000;
4419pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT: VkFormat = 1000330001;
4420pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT: VkFormat = 1000330002;
4421pub const VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT: VkFormat = 1000330003;
4422pub const VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT: VkFormat = 1000340000;
4423pub const VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT: VkFormat = 1000340001;
4424pub const VK_FORMAT_R16G16_S10_5_NV: VkFormat = 1000464000;
4425pub const VK_FORMAT_MAX_ENUM: VkFormat = 2147483647;
4426pub type VkFormat = ::std::os::raw::c_uint;
4427pub const VK_IMAGE_TILING_OPTIMAL: VkImageTiling = 0;
4428pub const VK_IMAGE_TILING_LINEAR: VkImageTiling = 1;
4429pub const VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: VkImageTiling = 1000158000;
4430pub const VK_IMAGE_TILING_MAX_ENUM: VkImageTiling = 2147483647;
4431pub type VkImageTiling = ::std::os::raw::c_uint;
4432pub const VK_IMAGE_TYPE_1D: VkImageType = 0;
4433pub const VK_IMAGE_TYPE_2D: VkImageType = 1;
4434pub const VK_IMAGE_TYPE_3D: VkImageType = 2;
4435pub const VK_IMAGE_TYPE_MAX_ENUM: VkImageType = 2147483647;
4436pub type VkImageType = ::std::os::raw::c_uint;
4437pub const VK_PHYSICAL_DEVICE_TYPE_OTHER: VkPhysicalDeviceType = 0;
4438pub const VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: VkPhysicalDeviceType = 1;
4439pub const VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: VkPhysicalDeviceType = 2;
4440pub const VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: VkPhysicalDeviceType = 3;
4441pub const VK_PHYSICAL_DEVICE_TYPE_CPU: VkPhysicalDeviceType = 4;
4442pub const VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: VkPhysicalDeviceType = 2147483647;
4443pub type VkPhysicalDeviceType = ::std::os::raw::c_uint;
4444pub const VK_QUERY_TYPE_OCCLUSION: VkQueryType = 0;
4445pub const VK_QUERY_TYPE_PIPELINE_STATISTICS: VkQueryType = 1;
4446pub const VK_QUERY_TYPE_TIMESTAMP: VkQueryType = 2;
4447pub const VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR: VkQueryType = 1000023000;
4448pub const VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: VkQueryType = 1000028004;
4449pub const VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR: VkQueryType = 1000116000;
4450pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR: VkQueryType =
4451    1000150000;
4452pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR: VkQueryType =
4453    1000150001;
4454pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: VkQueryType =
4455    1000165000;
4456pub const VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL: VkQueryType = 1000210000;
4457pub const VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR: VkQueryType = 1000299000;
4458pub const VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT: VkQueryType = 1000328000;
4459pub const VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT: VkQueryType = 1000382000;
4460pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR : VkQueryType = 1000386000 ;
4461pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR: VkQueryType = 1000386001;
4462pub const VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT: VkQueryType = 1000396000;
4463pub const VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT: VkQueryType = 1000396001;
4464pub const VK_QUERY_TYPE_MAX_ENUM: VkQueryType = 2147483647;
4465pub type VkQueryType = ::std::os::raw::c_uint;
4466pub const VK_SHARING_MODE_EXCLUSIVE: VkSharingMode = 0;
4467pub const VK_SHARING_MODE_CONCURRENT: VkSharingMode = 1;
4468pub const VK_SHARING_MODE_MAX_ENUM: VkSharingMode = 2147483647;
4469pub type VkSharingMode = ::std::os::raw::c_uint;
4470pub const VK_COMPONENT_SWIZZLE_IDENTITY: VkComponentSwizzle = 0;
4471pub const VK_COMPONENT_SWIZZLE_ZERO: VkComponentSwizzle = 1;
4472pub const VK_COMPONENT_SWIZZLE_ONE: VkComponentSwizzle = 2;
4473pub const VK_COMPONENT_SWIZZLE_R: VkComponentSwizzle = 3;
4474pub const VK_COMPONENT_SWIZZLE_G: VkComponentSwizzle = 4;
4475pub const VK_COMPONENT_SWIZZLE_B: VkComponentSwizzle = 5;
4476pub const VK_COMPONENT_SWIZZLE_A: VkComponentSwizzle = 6;
4477pub const VK_COMPONENT_SWIZZLE_MAX_ENUM: VkComponentSwizzle = 2147483647;
4478pub type VkComponentSwizzle = ::std::os::raw::c_uint;
4479pub const VK_IMAGE_VIEW_TYPE_1D: VkImageViewType = 0;
4480pub const VK_IMAGE_VIEW_TYPE_2D: VkImageViewType = 1;
4481pub const VK_IMAGE_VIEW_TYPE_3D: VkImageViewType = 2;
4482pub const VK_IMAGE_VIEW_TYPE_CUBE: VkImageViewType = 3;
4483pub const VK_IMAGE_VIEW_TYPE_1D_ARRAY: VkImageViewType = 4;
4484pub const VK_IMAGE_VIEW_TYPE_2D_ARRAY: VkImageViewType = 5;
4485pub const VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: VkImageViewType = 6;
4486pub const VK_IMAGE_VIEW_TYPE_MAX_ENUM: VkImageViewType = 2147483647;
4487pub type VkImageViewType = ::std::os::raw::c_uint;
4488pub const VK_BLEND_FACTOR_ZERO: VkBlendFactor = 0;
4489pub const VK_BLEND_FACTOR_ONE: VkBlendFactor = 1;
4490pub const VK_BLEND_FACTOR_SRC_COLOR: VkBlendFactor = 2;
4491pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: VkBlendFactor = 3;
4492pub const VK_BLEND_FACTOR_DST_COLOR: VkBlendFactor = 4;
4493pub const VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: VkBlendFactor = 5;
4494pub const VK_BLEND_FACTOR_SRC_ALPHA: VkBlendFactor = 6;
4495pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: VkBlendFactor = 7;
4496pub const VK_BLEND_FACTOR_DST_ALPHA: VkBlendFactor = 8;
4497pub const VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: VkBlendFactor = 9;
4498pub const VK_BLEND_FACTOR_CONSTANT_COLOR: VkBlendFactor = 10;
4499pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: VkBlendFactor = 11;
4500pub const VK_BLEND_FACTOR_CONSTANT_ALPHA: VkBlendFactor = 12;
4501pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: VkBlendFactor = 13;
4502pub const VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: VkBlendFactor = 14;
4503pub const VK_BLEND_FACTOR_SRC1_COLOR: VkBlendFactor = 15;
4504pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: VkBlendFactor = 16;
4505pub const VK_BLEND_FACTOR_SRC1_ALPHA: VkBlendFactor = 17;
4506pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: VkBlendFactor = 18;
4507pub const VK_BLEND_FACTOR_MAX_ENUM: VkBlendFactor = 2147483647;
4508pub type VkBlendFactor = ::std::os::raw::c_uint;
4509pub const VK_BLEND_OP_ADD: VkBlendOp = 0;
4510pub const VK_BLEND_OP_SUBTRACT: VkBlendOp = 1;
4511pub const VK_BLEND_OP_REVERSE_SUBTRACT: VkBlendOp = 2;
4512pub const VK_BLEND_OP_MIN: VkBlendOp = 3;
4513pub const VK_BLEND_OP_MAX: VkBlendOp = 4;
4514pub const VK_BLEND_OP_ZERO_EXT: VkBlendOp = 1000148000;
4515pub const VK_BLEND_OP_SRC_EXT: VkBlendOp = 1000148001;
4516pub const VK_BLEND_OP_DST_EXT: VkBlendOp = 1000148002;
4517pub const VK_BLEND_OP_SRC_OVER_EXT: VkBlendOp = 1000148003;
4518pub const VK_BLEND_OP_DST_OVER_EXT: VkBlendOp = 1000148004;
4519pub const VK_BLEND_OP_SRC_IN_EXT: VkBlendOp = 1000148005;
4520pub const VK_BLEND_OP_DST_IN_EXT: VkBlendOp = 1000148006;
4521pub const VK_BLEND_OP_SRC_OUT_EXT: VkBlendOp = 1000148007;
4522pub const VK_BLEND_OP_DST_OUT_EXT: VkBlendOp = 1000148008;
4523pub const VK_BLEND_OP_SRC_ATOP_EXT: VkBlendOp = 1000148009;
4524pub const VK_BLEND_OP_DST_ATOP_EXT: VkBlendOp = 1000148010;
4525pub const VK_BLEND_OP_XOR_EXT: VkBlendOp = 1000148011;
4526pub const VK_BLEND_OP_MULTIPLY_EXT: VkBlendOp = 1000148012;
4527pub const VK_BLEND_OP_SCREEN_EXT: VkBlendOp = 1000148013;
4528pub const VK_BLEND_OP_OVERLAY_EXT: VkBlendOp = 1000148014;
4529pub const VK_BLEND_OP_DARKEN_EXT: VkBlendOp = 1000148015;
4530pub const VK_BLEND_OP_LIGHTEN_EXT: VkBlendOp = 1000148016;
4531pub const VK_BLEND_OP_COLORDODGE_EXT: VkBlendOp = 1000148017;
4532pub const VK_BLEND_OP_COLORBURN_EXT: VkBlendOp = 1000148018;
4533pub const VK_BLEND_OP_HARDLIGHT_EXT: VkBlendOp = 1000148019;
4534pub const VK_BLEND_OP_SOFTLIGHT_EXT: VkBlendOp = 1000148020;
4535pub const VK_BLEND_OP_DIFFERENCE_EXT: VkBlendOp = 1000148021;
4536pub const VK_BLEND_OP_EXCLUSION_EXT: VkBlendOp = 1000148022;
4537pub const VK_BLEND_OP_INVERT_EXT: VkBlendOp = 1000148023;
4538pub const VK_BLEND_OP_INVERT_RGB_EXT: VkBlendOp = 1000148024;
4539pub const VK_BLEND_OP_LINEARDODGE_EXT: VkBlendOp = 1000148025;
4540pub const VK_BLEND_OP_LINEARBURN_EXT: VkBlendOp = 1000148026;
4541pub const VK_BLEND_OP_VIVIDLIGHT_EXT: VkBlendOp = 1000148027;
4542pub const VK_BLEND_OP_LINEARLIGHT_EXT: VkBlendOp = 1000148028;
4543pub const VK_BLEND_OP_PINLIGHT_EXT: VkBlendOp = 1000148029;
4544pub const VK_BLEND_OP_HARDMIX_EXT: VkBlendOp = 1000148030;
4545pub const VK_BLEND_OP_HSL_HUE_EXT: VkBlendOp = 1000148031;
4546pub const VK_BLEND_OP_HSL_SATURATION_EXT: VkBlendOp = 1000148032;
4547pub const VK_BLEND_OP_HSL_COLOR_EXT: VkBlendOp = 1000148033;
4548pub const VK_BLEND_OP_HSL_LUMINOSITY_EXT: VkBlendOp = 1000148034;
4549pub const VK_BLEND_OP_PLUS_EXT: VkBlendOp = 1000148035;
4550pub const VK_BLEND_OP_PLUS_CLAMPED_EXT: VkBlendOp = 1000148036;
4551pub const VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: VkBlendOp = 1000148037;
4552pub const VK_BLEND_OP_PLUS_DARKER_EXT: VkBlendOp = 1000148038;
4553pub const VK_BLEND_OP_MINUS_EXT: VkBlendOp = 1000148039;
4554pub const VK_BLEND_OP_MINUS_CLAMPED_EXT: VkBlendOp = 1000148040;
4555pub const VK_BLEND_OP_CONTRAST_EXT: VkBlendOp = 1000148041;
4556pub const VK_BLEND_OP_INVERT_OVG_EXT: VkBlendOp = 1000148042;
4557pub const VK_BLEND_OP_RED_EXT: VkBlendOp = 1000148043;
4558pub const VK_BLEND_OP_GREEN_EXT: VkBlendOp = 1000148044;
4559pub const VK_BLEND_OP_BLUE_EXT: VkBlendOp = 1000148045;
4560pub const VK_BLEND_OP_MAX_ENUM: VkBlendOp = 2147483647;
4561pub type VkBlendOp = ::std::os::raw::c_uint;
4562pub const VK_COMPARE_OP_NEVER: VkCompareOp = 0;
4563pub const VK_COMPARE_OP_LESS: VkCompareOp = 1;
4564pub const VK_COMPARE_OP_EQUAL: VkCompareOp = 2;
4565pub const VK_COMPARE_OP_LESS_OR_EQUAL: VkCompareOp = 3;
4566pub const VK_COMPARE_OP_GREATER: VkCompareOp = 4;
4567pub const VK_COMPARE_OP_NOT_EQUAL: VkCompareOp = 5;
4568pub const VK_COMPARE_OP_GREATER_OR_EQUAL: VkCompareOp = 6;
4569pub const VK_COMPARE_OP_ALWAYS: VkCompareOp = 7;
4570pub const VK_COMPARE_OP_MAX_ENUM: VkCompareOp = 2147483647;
4571pub type VkCompareOp = ::std::os::raw::c_uint;
4572pub const VK_DYNAMIC_STATE_VIEWPORT: VkDynamicState = 0;
4573pub const VK_DYNAMIC_STATE_SCISSOR: VkDynamicState = 1;
4574pub const VK_DYNAMIC_STATE_LINE_WIDTH: VkDynamicState = 2;
4575pub const VK_DYNAMIC_STATE_DEPTH_BIAS: VkDynamicState = 3;
4576pub const VK_DYNAMIC_STATE_BLEND_CONSTANTS: VkDynamicState = 4;
4577pub const VK_DYNAMIC_STATE_DEPTH_BOUNDS: VkDynamicState = 5;
4578pub const VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: VkDynamicState = 6;
4579pub const VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: VkDynamicState = 7;
4580pub const VK_DYNAMIC_STATE_STENCIL_REFERENCE: VkDynamicState = 8;
4581pub const VK_DYNAMIC_STATE_CULL_MODE: VkDynamicState = 1000267000;
4582pub const VK_DYNAMIC_STATE_FRONT_FACE: VkDynamicState = 1000267001;
4583pub const VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY: VkDynamicState = 1000267002;
4584pub const VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT: VkDynamicState = 1000267003;
4585pub const VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT: VkDynamicState = 1000267004;
4586pub const VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE: VkDynamicState = 1000267005;
4587pub const VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE: VkDynamicState = 1000267006;
4588pub const VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE: VkDynamicState = 1000267007;
4589pub const VK_DYNAMIC_STATE_DEPTH_COMPARE_OP: VkDynamicState = 1000267008;
4590pub const VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE: VkDynamicState = 1000267009;
4591pub const VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE: VkDynamicState = 1000267010;
4592pub const VK_DYNAMIC_STATE_STENCIL_OP: VkDynamicState = 1000267011;
4593pub const VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE: VkDynamicState = 1000377001;
4594pub const VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE: VkDynamicState = 1000377002;
4595pub const VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE: VkDynamicState = 1000377004;
4596pub const VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: VkDynamicState = 1000087000;
4597pub const VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: VkDynamicState = 1000099000;
4598pub const VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT: VkDynamicState = 1000099001;
4599pub const VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT: VkDynamicState = 1000099002;
4600pub const VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: VkDynamicState = 1000143000;
4601pub const VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR: VkDynamicState =
4602    1000347000;
4603pub const VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: VkDynamicState =
4604    1000164004;
4605pub const VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: VkDynamicState =
4606    1000164006;
4607pub const VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV: VkDynamicState = 1000205000;
4608pub const VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: VkDynamicState = 1000205001;
4609pub const VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: VkDynamicState = 1000226000;
4610pub const VK_DYNAMIC_STATE_VERTEX_INPUT_EXT: VkDynamicState = 1000352000;
4611pub const VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: VkDynamicState = 1000377000;
4612pub const VK_DYNAMIC_STATE_LOGIC_OP_EXT: VkDynamicState = 1000377003;
4613pub const VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: VkDynamicState = 1000381000;
4614pub const VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT: VkDynamicState = 1000455003;
4615pub const VK_DYNAMIC_STATE_POLYGON_MODE_EXT: VkDynamicState = 1000455004;
4616pub const VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT: VkDynamicState = 1000455005;
4617pub const VK_DYNAMIC_STATE_SAMPLE_MASK_EXT: VkDynamicState = 1000455006;
4618pub const VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT: VkDynamicState = 1000455007;
4619pub const VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT: VkDynamicState = 1000455008;
4620pub const VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT: VkDynamicState = 1000455009;
4621pub const VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT: VkDynamicState = 1000455010;
4622pub const VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT: VkDynamicState = 1000455011;
4623pub const VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT: VkDynamicState = 1000455012;
4624pub const VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT: VkDynamicState =
4625    1000455002;
4626pub const VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT: VkDynamicState = 1000455013;
4627pub const VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT: VkDynamicState =
4628    1000455014;
4629pub const VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT: VkDynamicState =
4630    1000455015;
4631pub const VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT: VkDynamicState = 1000455016;
4632pub const VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT: VkDynamicState = 1000455017;
4633pub const VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT: VkDynamicState = 1000455018;
4634pub const VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT: VkDynamicState = 1000455019;
4635pub const VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT: VkDynamicState = 1000455020;
4636pub const VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT: VkDynamicState = 1000455021;
4637pub const VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT: VkDynamicState =
4638    1000455022;
4639pub const VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV: VkDynamicState = 1000455023;
4640pub const VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV: VkDynamicState = 1000455024;
4641pub const VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV: VkDynamicState = 1000455025;
4642pub const VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV: VkDynamicState =
4643    1000455026;
4644pub const VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV: VkDynamicState = 1000455027;
4645pub const VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV: VkDynamicState =
4646    1000455028;
4647pub const VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV: VkDynamicState = 1000455029;
4648pub const VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV: VkDynamicState = 1000455030;
4649pub const VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV: VkDynamicState =
4650    1000455031;
4651pub const VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV: VkDynamicState = 1000455032;
4652pub const VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT: VkDynamicState =
4653    1000524000;
4654pub const VK_DYNAMIC_STATE_LINE_STIPPLE_KHR: VkDynamicState = 1000259000;
4655pub const VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT: VkDynamicState = 1000582000;
4656pub const VK_DYNAMIC_STATE_LINE_STIPPLE_EXT: VkDynamicState = 1000259000;
4657pub const VK_DYNAMIC_STATE_CULL_MODE_EXT: VkDynamicState = 1000267000;
4658pub const VK_DYNAMIC_STATE_FRONT_FACE_EXT: VkDynamicState = 1000267001;
4659pub const VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT: VkDynamicState = 1000267002;
4660pub const VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT: VkDynamicState = 1000267003;
4661pub const VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT: VkDynamicState = 1000267004;
4662pub const VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT: VkDynamicState =
4663    1000267005;
4664pub const VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT: VkDynamicState = 1000267006;
4665pub const VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT: VkDynamicState = 1000267007;
4666pub const VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT: VkDynamicState = 1000267008;
4667pub const VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT: VkDynamicState = 1000267009;
4668pub const VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT: VkDynamicState = 1000267010;
4669pub const VK_DYNAMIC_STATE_STENCIL_OP_EXT: VkDynamicState = 1000267011;
4670pub const VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT: VkDynamicState =
4671    1000377001;
4672pub const VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT: VkDynamicState = 1000377002;
4673pub const VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT: VkDynamicState = 1000377004;
4674pub const VK_DYNAMIC_STATE_MAX_ENUM: VkDynamicState = 2147483647;
4675pub type VkDynamicState = ::std::os::raw::c_uint;
4676pub const VK_FRONT_FACE_COUNTER_CLOCKWISE: VkFrontFace = 0;
4677pub const VK_FRONT_FACE_CLOCKWISE: VkFrontFace = 1;
4678pub const VK_FRONT_FACE_MAX_ENUM: VkFrontFace = 2147483647;
4679pub type VkFrontFace = ::std::os::raw::c_uint;
4680pub const VK_VERTEX_INPUT_RATE_VERTEX: VkVertexInputRate = 0;
4681pub const VK_VERTEX_INPUT_RATE_INSTANCE: VkVertexInputRate = 1;
4682pub const VK_VERTEX_INPUT_RATE_MAX_ENUM: VkVertexInputRate = 2147483647;
4683pub type VkVertexInputRate = ::std::os::raw::c_uint;
4684pub const VK_PRIMITIVE_TOPOLOGY_POINT_LIST: VkPrimitiveTopology = 0;
4685pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST: VkPrimitiveTopology = 1;
4686pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: VkPrimitiveTopology = 2;
4687pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: VkPrimitiveTopology = 3;
4688pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: VkPrimitiveTopology = 4;
4689pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: VkPrimitiveTopology = 5;
4690pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: VkPrimitiveTopology =
4691    6;
4692pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: VkPrimitiveTopology =
4693    7;
4694pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
4695    VkPrimitiveTopology = 8;
4696pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
4697    VkPrimitiveTopology = 9;
4698pub const VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: VkPrimitiveTopology = 10;
4699pub const VK_PRIMITIVE_TOPOLOGY_MAX_ENUM: VkPrimitiveTopology = 2147483647;
4700pub type VkPrimitiveTopology = ::std::os::raw::c_uint;
4701pub const VK_POLYGON_MODE_FILL: VkPolygonMode = 0;
4702pub const VK_POLYGON_MODE_LINE: VkPolygonMode = 1;
4703pub const VK_POLYGON_MODE_POINT: VkPolygonMode = 2;
4704pub const VK_POLYGON_MODE_FILL_RECTANGLE_NV: VkPolygonMode = 1000153000;
4705pub const VK_POLYGON_MODE_MAX_ENUM: VkPolygonMode = 2147483647;
4706pub type VkPolygonMode = ::std::os::raw::c_uint;
4707pub const VK_STENCIL_OP_KEEP: VkStencilOp = 0;
4708pub const VK_STENCIL_OP_ZERO: VkStencilOp = 1;
4709pub const VK_STENCIL_OP_REPLACE: VkStencilOp = 2;
4710pub const VK_STENCIL_OP_INCREMENT_AND_CLAMP: VkStencilOp = 3;
4711pub const VK_STENCIL_OP_DECREMENT_AND_CLAMP: VkStencilOp = 4;
4712pub const VK_STENCIL_OP_INVERT: VkStencilOp = 5;
4713pub const VK_STENCIL_OP_INCREMENT_AND_WRAP: VkStencilOp = 6;
4714pub const VK_STENCIL_OP_DECREMENT_AND_WRAP: VkStencilOp = 7;
4715pub const VK_STENCIL_OP_MAX_ENUM: VkStencilOp = 2147483647;
4716pub type VkStencilOp = ::std::os::raw::c_uint;
4717pub const VK_LOGIC_OP_CLEAR: VkLogicOp = 0;
4718pub const VK_LOGIC_OP_AND: VkLogicOp = 1;
4719pub const VK_LOGIC_OP_AND_REVERSE: VkLogicOp = 2;
4720pub const VK_LOGIC_OP_COPY: VkLogicOp = 3;
4721pub const VK_LOGIC_OP_AND_INVERTED: VkLogicOp = 4;
4722pub const VK_LOGIC_OP_NO_OP: VkLogicOp = 5;
4723pub const VK_LOGIC_OP_XOR: VkLogicOp = 6;
4724pub const VK_LOGIC_OP_OR: VkLogicOp = 7;
4725pub const VK_LOGIC_OP_NOR: VkLogicOp = 8;
4726pub const VK_LOGIC_OP_EQUIVALENT: VkLogicOp = 9;
4727pub const VK_LOGIC_OP_INVERT: VkLogicOp = 10;
4728pub const VK_LOGIC_OP_OR_REVERSE: VkLogicOp = 11;
4729pub const VK_LOGIC_OP_COPY_INVERTED: VkLogicOp = 12;
4730pub const VK_LOGIC_OP_OR_INVERTED: VkLogicOp = 13;
4731pub const VK_LOGIC_OP_NAND: VkLogicOp = 14;
4732pub const VK_LOGIC_OP_SET: VkLogicOp = 15;
4733pub const VK_LOGIC_OP_MAX_ENUM: VkLogicOp = 2147483647;
4734pub type VkLogicOp = ::std::os::raw::c_uint;
4735pub const VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: VkBorderColor = 0;
4736pub const VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: VkBorderColor = 1;
4737pub const VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: VkBorderColor = 2;
4738pub const VK_BORDER_COLOR_INT_OPAQUE_BLACK: VkBorderColor = 3;
4739pub const VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: VkBorderColor = 4;
4740pub const VK_BORDER_COLOR_INT_OPAQUE_WHITE: VkBorderColor = 5;
4741pub const VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: VkBorderColor = 1000287003;
4742pub const VK_BORDER_COLOR_INT_CUSTOM_EXT: VkBorderColor = 1000287004;
4743pub const VK_BORDER_COLOR_MAX_ENUM: VkBorderColor = 2147483647;
4744pub type VkBorderColor = ::std::os::raw::c_uint;
4745pub const VK_FILTER_NEAREST: VkFilter = 0;
4746pub const VK_FILTER_LINEAR: VkFilter = 1;
4747pub const VK_FILTER_CUBIC_EXT: VkFilter = 1000015000;
4748pub const VK_FILTER_CUBIC_IMG: VkFilter = 1000015000;
4749pub const VK_FILTER_MAX_ENUM: VkFilter = 2147483647;
4750pub type VkFilter = ::std::os::raw::c_uint;
4751pub const VK_SAMPLER_ADDRESS_MODE_REPEAT: VkSamplerAddressMode = 0;
4752pub const VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: VkSamplerAddressMode = 1;
4753pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: VkSamplerAddressMode = 2;
4754pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: VkSamplerAddressMode = 3;
4755pub const VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: VkSamplerAddressMode =
4756    4;
4757pub const VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR:
4758    VkSamplerAddressMode = 4;
4759pub const VK_SAMPLER_ADDRESS_MODE_MAX_ENUM: VkSamplerAddressMode = 2147483647;
4760pub type VkSamplerAddressMode = ::std::os::raw::c_uint;
4761pub const VK_SAMPLER_MIPMAP_MODE_NEAREST: VkSamplerMipmapMode = 0;
4762pub const VK_SAMPLER_MIPMAP_MODE_LINEAR: VkSamplerMipmapMode = 1;
4763pub const VK_SAMPLER_MIPMAP_MODE_MAX_ENUM: VkSamplerMipmapMode = 2147483647;
4764pub type VkSamplerMipmapMode = ::std::os::raw::c_uint;
4765pub const VK_DESCRIPTOR_TYPE_SAMPLER: VkDescriptorType = 0;
4766pub const VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: VkDescriptorType = 1;
4767pub const VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: VkDescriptorType = 2;
4768pub const VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: VkDescriptorType = 3;
4769pub const VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: VkDescriptorType = 4;
4770pub const VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: VkDescriptorType = 5;
4771pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: VkDescriptorType = 6;
4772pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: VkDescriptorType = 7;
4773pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: VkDescriptorType = 8;
4774pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: VkDescriptorType = 9;
4775pub const VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: VkDescriptorType = 10;
4776pub const VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: VkDescriptorType = 1000138000;
4777pub const VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: VkDescriptorType =
4778    1000150000;
4779pub const VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: VkDescriptorType =
4780    1000165000;
4781pub const VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM: VkDescriptorType =
4782    1000440000;
4783pub const VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM: VkDescriptorType = 1000440001;
4784pub const VK_DESCRIPTOR_TYPE_MUTABLE_EXT: VkDescriptorType = 1000351000;
4785pub const VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: VkDescriptorType =
4786    1000138000;
4787pub const VK_DESCRIPTOR_TYPE_MUTABLE_VALVE: VkDescriptorType = 1000351000;
4788pub const VK_DESCRIPTOR_TYPE_MAX_ENUM: VkDescriptorType = 2147483647;
4789pub type VkDescriptorType = ::std::os::raw::c_uint;
4790pub const VK_ATTACHMENT_LOAD_OP_LOAD: VkAttachmentLoadOp = 0;
4791pub const VK_ATTACHMENT_LOAD_OP_CLEAR: VkAttachmentLoadOp = 1;
4792pub const VK_ATTACHMENT_LOAD_OP_DONT_CARE: VkAttachmentLoadOp = 2;
4793pub const VK_ATTACHMENT_LOAD_OP_NONE_KHR: VkAttachmentLoadOp = 1000400000;
4794pub const VK_ATTACHMENT_LOAD_OP_NONE_EXT: VkAttachmentLoadOp = 1000400000;
4795pub const VK_ATTACHMENT_LOAD_OP_MAX_ENUM: VkAttachmentLoadOp = 2147483647;
4796pub type VkAttachmentLoadOp = ::std::os::raw::c_uint;
4797pub const VK_ATTACHMENT_STORE_OP_STORE: VkAttachmentStoreOp = 0;
4798pub const VK_ATTACHMENT_STORE_OP_DONT_CARE: VkAttachmentStoreOp = 1;
4799pub const VK_ATTACHMENT_STORE_OP_NONE: VkAttachmentStoreOp = 1000301000;
4800pub const VK_ATTACHMENT_STORE_OP_NONE_KHR: VkAttachmentStoreOp = 1000301000;
4801pub const VK_ATTACHMENT_STORE_OP_NONE_QCOM: VkAttachmentStoreOp = 1000301000;
4802pub const VK_ATTACHMENT_STORE_OP_NONE_EXT: VkAttachmentStoreOp = 1000301000;
4803pub const VK_ATTACHMENT_STORE_OP_MAX_ENUM: VkAttachmentStoreOp = 2147483647;
4804pub type VkAttachmentStoreOp = ::std::os::raw::c_uint;
4805pub const VK_PIPELINE_BIND_POINT_GRAPHICS: VkPipelineBindPoint = 0;
4806pub const VK_PIPELINE_BIND_POINT_COMPUTE: VkPipelineBindPoint = 1;
4807pub const VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX: VkPipelineBindPoint =
4808    1000134000;
4809pub const VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR: VkPipelineBindPoint =
4810    1000165000;
4811pub const VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI: VkPipelineBindPoint =
4812    1000369003;
4813pub const VK_PIPELINE_BIND_POINT_RAY_TRACING_NV: VkPipelineBindPoint =
4814    1000165000;
4815pub const VK_PIPELINE_BIND_POINT_MAX_ENUM: VkPipelineBindPoint = 2147483647;
4816pub type VkPipelineBindPoint = ::std::os::raw::c_uint;
4817pub const VK_COMMAND_BUFFER_LEVEL_PRIMARY: VkCommandBufferLevel = 0;
4818pub const VK_COMMAND_BUFFER_LEVEL_SECONDARY: VkCommandBufferLevel = 1;
4819pub const VK_COMMAND_BUFFER_LEVEL_MAX_ENUM: VkCommandBufferLevel = 2147483647;
4820pub type VkCommandBufferLevel = ::std::os::raw::c_uint;
4821pub const VK_INDEX_TYPE_UINT16: VkIndexType = 0;
4822pub const VK_INDEX_TYPE_UINT32: VkIndexType = 1;
4823pub const VK_INDEX_TYPE_NONE_KHR: VkIndexType = 1000165000;
4824pub const VK_INDEX_TYPE_UINT8_KHR: VkIndexType = 1000265000;
4825pub const VK_INDEX_TYPE_NONE_NV: VkIndexType = 1000165000;
4826pub const VK_INDEX_TYPE_UINT8_EXT: VkIndexType = 1000265000;
4827pub const VK_INDEX_TYPE_MAX_ENUM: VkIndexType = 2147483647;
4828pub type VkIndexType = ::std::os::raw::c_uint;
4829pub const VK_SUBPASS_CONTENTS_INLINE: VkSubpassContents = 0;
4830pub const VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: VkSubpassContents = 1;
4831pub const VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR:
4832    VkSubpassContents = 1000451000;
4833pub const VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT:
4834    VkSubpassContents = 1000451000;
4835pub const VK_SUBPASS_CONTENTS_MAX_ENUM: VkSubpassContents = 2147483647;
4836pub type VkSubpassContents = ::std::os::raw::c_uint;
4837pub const VK_ACCESS_INDIRECT_COMMAND_READ_BIT: VkAccessFlagBits = 1;
4838pub const VK_ACCESS_INDEX_READ_BIT: VkAccessFlagBits = 2;
4839pub const VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: VkAccessFlagBits = 4;
4840pub const VK_ACCESS_UNIFORM_READ_BIT: VkAccessFlagBits = 8;
4841pub const VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: VkAccessFlagBits = 16;
4842pub const VK_ACCESS_SHADER_READ_BIT: VkAccessFlagBits = 32;
4843pub const VK_ACCESS_SHADER_WRITE_BIT: VkAccessFlagBits = 64;
4844pub const VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: VkAccessFlagBits = 128;
4845pub const VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 256;
4846pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: VkAccessFlagBits = 512;
4847pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 1024;
4848pub const VK_ACCESS_TRANSFER_READ_BIT: VkAccessFlagBits = 2048;
4849pub const VK_ACCESS_TRANSFER_WRITE_BIT: VkAccessFlagBits = 4096;
4850pub const VK_ACCESS_HOST_READ_BIT: VkAccessFlagBits = 8192;
4851pub const VK_ACCESS_HOST_WRITE_BIT: VkAccessFlagBits = 16384;
4852pub const VK_ACCESS_MEMORY_READ_BIT: VkAccessFlagBits = 32768;
4853pub const VK_ACCESS_MEMORY_WRITE_BIT: VkAccessFlagBits = 65536;
4854pub const VK_ACCESS_NONE: VkAccessFlagBits = 0;
4855pub const VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: VkAccessFlagBits = 33554432;
4856pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: VkAccessFlagBits =
4857    67108864;
4858pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: VkAccessFlagBits =
4859    134217728;
4860pub const VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: VkAccessFlagBits = 1048576;
4861pub const VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: VkAccessFlagBits =
4862    524288;
4863pub const VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR: VkAccessFlagBits =
4864    2097152;
4865pub const VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR: VkAccessFlagBits =
4866    4194304;
4867pub const VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: VkAccessFlagBits = 16777216;
4868pub const VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR:
4869    VkAccessFlagBits = 8388608;
4870pub const VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV: VkAccessFlagBits = 131072;
4871pub const VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV: VkAccessFlagBits = 262144;
4872pub const VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV: VkAccessFlagBits = 8388608;
4873pub const VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV: VkAccessFlagBits = 2097152;
4874pub const VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV: VkAccessFlagBits =
4875    4194304;
4876pub const VK_ACCESS_NONE_KHR: VkAccessFlagBits = 0;
4877pub const VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT: VkAccessFlagBits = 131072;
4878pub const VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT: VkAccessFlagBits = 262144;
4879pub const VK_ACCESS_FLAG_BITS_MAX_ENUM: VkAccessFlagBits = 2147483647;
4880pub type VkAccessFlagBits = ::std::os::raw::c_uint;
4881pub type VkAccessFlags = VkFlags;
4882pub const VK_IMAGE_ASPECT_COLOR_BIT: VkImageAspectFlagBits = 1;
4883pub const VK_IMAGE_ASPECT_DEPTH_BIT: VkImageAspectFlagBits = 2;
4884pub const VK_IMAGE_ASPECT_STENCIL_BIT: VkImageAspectFlagBits = 4;
4885pub const VK_IMAGE_ASPECT_METADATA_BIT: VkImageAspectFlagBits = 8;
4886pub const VK_IMAGE_ASPECT_PLANE_0_BIT: VkImageAspectFlagBits = 16;
4887pub const VK_IMAGE_ASPECT_PLANE_1_BIT: VkImageAspectFlagBits = 32;
4888pub const VK_IMAGE_ASPECT_PLANE_2_BIT: VkImageAspectFlagBits = 64;
4889pub const VK_IMAGE_ASPECT_NONE: VkImageAspectFlagBits = 0;
4890pub const VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: VkImageAspectFlagBits = 128;
4891pub const VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: VkImageAspectFlagBits = 256;
4892pub const VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: VkImageAspectFlagBits = 512;
4893pub const VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: VkImageAspectFlagBits =
4894    1024;
4895pub const VK_IMAGE_ASPECT_PLANE_0_BIT_KHR: VkImageAspectFlagBits = 16;
4896pub const VK_IMAGE_ASPECT_PLANE_1_BIT_KHR: VkImageAspectFlagBits = 32;
4897pub const VK_IMAGE_ASPECT_PLANE_2_BIT_KHR: VkImageAspectFlagBits = 64;
4898pub const VK_IMAGE_ASPECT_NONE_KHR: VkImageAspectFlagBits = 0;
4899pub const VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM: VkImageAspectFlagBits =
4900    2147483647;
4901pub type VkImageAspectFlagBits = ::std::os::raw::c_uint;
4902pub type VkImageAspectFlags = VkFlags;
4903pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT: VkFormatFeatureFlagBits = 1;
4904pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT: VkFormatFeatureFlagBits = 2;
4905pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT:
4906    VkFormatFeatureFlagBits = 4;
4907pub const VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT:
4908    VkFormatFeatureFlagBits = 8;
4909pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT:
4910    VkFormatFeatureFlagBits = 16;
4911pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT:
4912    VkFormatFeatureFlagBits = 32;
4913pub const VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT: VkFormatFeatureFlagBits = 64;
4914pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT: VkFormatFeatureFlagBits =
4915    128;
4916pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT:
4917    VkFormatFeatureFlagBits = 256;
4918pub const VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT:
4919    VkFormatFeatureFlagBits = 512;
4920pub const VK_FORMAT_FEATURE_BLIT_SRC_BIT: VkFormatFeatureFlagBits = 1024;
4921pub const VK_FORMAT_FEATURE_BLIT_DST_BIT: VkFormatFeatureFlagBits = 2048;
4922pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT:
4923    VkFormatFeatureFlagBits = 4096;
4924pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT: VkFormatFeatureFlagBits =
4925    16384;
4926pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT: VkFormatFeatureFlagBits =
4927    32768;
4928pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT:
4929    VkFormatFeatureFlagBits = 131072;
4930pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT : VkFormatFeatureFlagBits = 262144 ;
4931pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT : VkFormatFeatureFlagBits = 524288 ;
4932pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT : VkFormatFeatureFlagBits = 1048576 ;
4933pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : VkFormatFeatureFlagBits = 2097152 ;
4934pub const VK_FORMAT_FEATURE_DISJOINT_BIT: VkFormatFeatureFlagBits = 4194304;
4935pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT:
4936    VkFormatFeatureFlagBits = 8388608;
4937pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT:
4938    VkFormatFeatureFlagBits = 65536;
4939pub const VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR:
4940    VkFormatFeatureFlagBits = 33554432;
4941pub const VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR:
4942    VkFormatFeatureFlagBits = 67108864;
4943pub const VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
4944    VkFormatFeatureFlagBits = 536870912;
4945pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT:
4946    VkFormatFeatureFlagBits = 8192;
4947pub const VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT:
4948    VkFormatFeatureFlagBits = 16777216;
4949pub const VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
4950    VkFormatFeatureFlagBits = 1073741824;
4951pub const VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR:
4952    VkFormatFeatureFlagBits = 134217728;
4953pub const VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR:
4954    VkFormatFeatureFlagBits = 268435456;
4955pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG:
4956    VkFormatFeatureFlagBits = 8192;
4957pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR: VkFormatFeatureFlagBits =
4958    16384;
4959pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR: VkFormatFeatureFlagBits =
4960    32768;
4961pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT:
4962    VkFormatFeatureFlagBits = 65536;
4963pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR:
4964    VkFormatFeatureFlagBits = 131072;
4965pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR : VkFormatFeatureFlagBits = 262144 ;
4966pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : VkFormatFeatureFlagBits = 524288 ;
4967pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : VkFormatFeatureFlagBits = 1048576 ;
4968pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : VkFormatFeatureFlagBits = 2097152 ;
4969pub const VK_FORMAT_FEATURE_DISJOINT_BIT_KHR: VkFormatFeatureFlagBits =
4970    4194304;
4971pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR:
4972    VkFormatFeatureFlagBits = 8388608;
4973pub const VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM: VkFormatFeatureFlagBits =
4974    2147483647;
4975pub type VkFormatFeatureFlagBits = ::std::os::raw::c_uint;
4976pub type VkFormatFeatureFlags = VkFlags;
4977pub const VK_IMAGE_CREATE_SPARSE_BINDING_BIT: VkImageCreateFlagBits = 1;
4978pub const VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT: VkImageCreateFlagBits = 2;
4979pub const VK_IMAGE_CREATE_SPARSE_ALIASED_BIT: VkImageCreateFlagBits = 4;
4980pub const VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT: VkImageCreateFlagBits = 8;
4981pub const VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT: VkImageCreateFlagBits = 16;
4982pub const VK_IMAGE_CREATE_ALIAS_BIT: VkImageCreateFlagBits = 1024;
4983pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT:
4984    VkImageCreateFlagBits = 64;
4985pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT: VkImageCreateFlagBits = 32;
4986pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT:
4987    VkImageCreateFlagBits = 128;
4988pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT: VkImageCreateFlagBits = 256;
4989pub const VK_IMAGE_CREATE_PROTECTED_BIT: VkImageCreateFlagBits = 2048;
4990pub const VK_IMAGE_CREATE_DISJOINT_BIT: VkImageCreateFlagBits = 512;
4991pub const VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: VkImageCreateFlagBits = 8192;
4992pub const VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT:
4993    VkImageCreateFlagBits = 4096;
4994pub const VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT: VkImageCreateFlagBits = 16384;
4995pub const VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT:
4996    VkImageCreateFlagBits = 65536;
4997pub const VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT:
4998    VkImageCreateFlagBits = 262144;
4999pub const VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT: VkImageCreateFlagBits =
5000    131072;
5001pub const VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM:
5002    VkImageCreateFlagBits = 32768;
5003pub const VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR:
5004    VkImageCreateFlagBits = 1048576;
5005pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR:
5006    VkImageCreateFlagBits = 64;
5007pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR: VkImageCreateFlagBits =
5008    32;
5009pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR:
5010    VkImageCreateFlagBits = 128;
5011pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR: VkImageCreateFlagBits = 256;
5012pub const VK_IMAGE_CREATE_DISJOINT_BIT_KHR: VkImageCreateFlagBits = 512;
5013pub const VK_IMAGE_CREATE_ALIAS_BIT_KHR: VkImageCreateFlagBits = 1024;
5014pub const VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM: VkImageCreateFlagBits =
5015    2147483647;
5016pub type VkImageCreateFlagBits = ::std::os::raw::c_uint;
5017pub type VkImageCreateFlags = VkFlags;
5018pub const VK_SAMPLE_COUNT_1_BIT: VkSampleCountFlagBits = 1;
5019pub const VK_SAMPLE_COUNT_2_BIT: VkSampleCountFlagBits = 2;
5020pub const VK_SAMPLE_COUNT_4_BIT: VkSampleCountFlagBits = 4;
5021pub const VK_SAMPLE_COUNT_8_BIT: VkSampleCountFlagBits = 8;
5022pub const VK_SAMPLE_COUNT_16_BIT: VkSampleCountFlagBits = 16;
5023pub const VK_SAMPLE_COUNT_32_BIT: VkSampleCountFlagBits = 32;
5024pub const VK_SAMPLE_COUNT_64_BIT: VkSampleCountFlagBits = 64;
5025pub const VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM: VkSampleCountFlagBits =
5026    2147483647;
5027pub type VkSampleCountFlagBits = ::std::os::raw::c_uint;
5028pub type VkSampleCountFlags = VkFlags;
5029pub const VK_IMAGE_USAGE_TRANSFER_SRC_BIT: VkImageUsageFlagBits = 1;
5030pub const VK_IMAGE_USAGE_TRANSFER_DST_BIT: VkImageUsageFlagBits = 2;
5031pub const VK_IMAGE_USAGE_SAMPLED_BIT: VkImageUsageFlagBits = 4;
5032pub const VK_IMAGE_USAGE_STORAGE_BIT: VkImageUsageFlagBits = 8;
5033pub const VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT: VkImageUsageFlagBits = 16;
5034pub const VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT: VkImageUsageFlagBits =
5035    32;
5036pub const VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT: VkImageUsageFlagBits = 64;
5037pub const VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT: VkImageUsageFlagBits = 128;
5038pub const VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR: VkImageUsageFlagBits = 1024;
5039pub const VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR: VkImageUsageFlagBits = 2048;
5040pub const VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR: VkImageUsageFlagBits = 4096;
5041pub const VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT: VkImageUsageFlagBits =
5042    512;
5043pub const VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
5044    VkImageUsageFlagBits = 256;
5045pub const VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT: VkImageUsageFlagBits = 4194304;
5046pub const VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR: VkImageUsageFlagBits = 8192;
5047pub const VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR: VkImageUsageFlagBits =
5048    16384;
5049pub const VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR: VkImageUsageFlagBits =
5050    32768;
5051pub const VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT:
5052    VkImageUsageFlagBits = 524288;
5053pub const VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI: VkImageUsageFlagBits =
5054    262144;
5055pub const VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM: VkImageUsageFlagBits =
5056    1048576;
5057pub const VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM: VkImageUsageFlagBits =
5058    2097152;
5059pub const VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR:
5060    VkImageUsageFlagBits = 33554432;
5061pub const VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR:
5062    VkImageUsageFlagBits = 67108864;
5063pub const VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV: VkImageUsageFlagBits = 256;
5064pub const VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM: VkImageUsageFlagBits = 2147483647;
5065pub type VkImageUsageFlagBits = ::std::os::raw::c_uint;
5066pub type VkImageUsageFlags = VkFlags;
5067pub const VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR:
5068    VkInstanceCreateFlagBits = 1;
5069pub const VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM: VkInstanceCreateFlagBits =
5070    2147483647;
5071pub type VkInstanceCreateFlagBits = ::std::os::raw::c_uint;
5072pub type VkInstanceCreateFlags = VkFlags;
5073pub const VK_MEMORY_HEAP_DEVICE_LOCAL_BIT: VkMemoryHeapFlagBits = 1;
5074pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT: VkMemoryHeapFlagBits = 2;
5075pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR: VkMemoryHeapFlagBits = 2;
5076pub const VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM: VkMemoryHeapFlagBits = 2147483647;
5077pub type VkMemoryHeapFlagBits = ::std::os::raw::c_uint;
5078pub type VkMemoryHeapFlags = VkFlags;
5079pub const VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT: VkMemoryPropertyFlagBits =
5080    1;
5081pub const VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT: VkMemoryPropertyFlagBits =
5082    2;
5083pub const VK_MEMORY_PROPERTY_HOST_COHERENT_BIT: VkMemoryPropertyFlagBits =
5084    4;
5085pub const VK_MEMORY_PROPERTY_HOST_CACHED_BIT: VkMemoryPropertyFlagBits = 8;
5086pub const VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT:
5087    VkMemoryPropertyFlagBits = 16;
5088pub const VK_MEMORY_PROPERTY_PROTECTED_BIT: VkMemoryPropertyFlagBits = 32;
5089pub const VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD:
5090    VkMemoryPropertyFlagBits = 64;
5091pub const VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD:
5092    VkMemoryPropertyFlagBits = 128;
5093pub const VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV:
5094    VkMemoryPropertyFlagBits = 256;
5095pub const VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM: VkMemoryPropertyFlagBits =
5096    2147483647;
5097pub type VkMemoryPropertyFlagBits = ::std::os::raw::c_uint;
5098pub type VkMemoryPropertyFlags = VkFlags;
5099pub const VK_QUEUE_GRAPHICS_BIT: VkQueueFlagBits = 1;
5100pub const VK_QUEUE_COMPUTE_BIT: VkQueueFlagBits = 2;
5101pub const VK_QUEUE_TRANSFER_BIT: VkQueueFlagBits = 4;
5102pub const VK_QUEUE_SPARSE_BINDING_BIT: VkQueueFlagBits = 8;
5103pub const VK_QUEUE_PROTECTED_BIT: VkQueueFlagBits = 16;
5104pub const VK_QUEUE_VIDEO_DECODE_BIT_KHR: VkQueueFlagBits = 32;
5105pub const VK_QUEUE_VIDEO_ENCODE_BIT_KHR: VkQueueFlagBits = 64;
5106pub const VK_QUEUE_OPTICAL_FLOW_BIT_NV: VkQueueFlagBits = 256;
5107pub const VK_QUEUE_FLAG_BITS_MAX_ENUM: VkQueueFlagBits = 2147483647;
5108pub type VkQueueFlagBits = ::std::os::raw::c_uint;
5109pub type VkQueueFlags = VkFlags;
5110pub type VkDeviceCreateFlags = VkFlags;
5111pub const VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT:
5112    VkDeviceQueueCreateFlagBits = 1;
5113pub const VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM:
5114    VkDeviceQueueCreateFlagBits = 2147483647;
5115pub type VkDeviceQueueCreateFlagBits = ::std::os::raw::c_uint;
5116pub type VkDeviceQueueCreateFlags = VkFlags;
5117pub const VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT: VkPipelineStageFlagBits = 1;
5118pub const VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT: VkPipelineStageFlagBits = 2;
5119pub const VK_PIPELINE_STAGE_VERTEX_INPUT_BIT: VkPipelineStageFlagBits = 4;
5120pub const VK_PIPELINE_STAGE_VERTEX_SHADER_BIT: VkPipelineStageFlagBits = 8;
5121pub const VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
5122    VkPipelineStageFlagBits = 16;
5123pub const VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
5124    VkPipelineStageFlagBits = 32;
5125pub const VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT: VkPipelineStageFlagBits =
5126    64;
5127pub const VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT: VkPipelineStageFlagBits =
5128    128;
5129pub const VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
5130    VkPipelineStageFlagBits = 256;
5131pub const VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
5132    VkPipelineStageFlagBits = 512;
5133pub const VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
5134    VkPipelineStageFlagBits = 1024;
5135pub const VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT: VkPipelineStageFlagBits =
5136    2048;
5137pub const VK_PIPELINE_STAGE_TRANSFER_BIT: VkPipelineStageFlagBits = 4096;
5138pub const VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT: VkPipelineStageFlagBits =
5139    8192;
5140pub const VK_PIPELINE_STAGE_HOST_BIT: VkPipelineStageFlagBits = 16384;
5141pub const VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT: VkPipelineStageFlagBits =
5142    32768;
5143pub const VK_PIPELINE_STAGE_ALL_COMMANDS_BIT: VkPipelineStageFlagBits =
5144    65536;
5145pub const VK_PIPELINE_STAGE_NONE: VkPipelineStageFlagBits = 0;
5146pub const VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT:
5147    VkPipelineStageFlagBits = 16777216;
5148pub const VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT:
5149    VkPipelineStageFlagBits = 262144;
5150pub const VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
5151    VkPipelineStageFlagBits = 33554432;
5152pub const VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
5153    VkPipelineStageFlagBits = 2097152;
5154pub const VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
5155    VkPipelineStageFlagBits = 8388608;
5156pub const VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
5157    VkPipelineStageFlagBits = 4194304;
5158pub const VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV:
5159    VkPipelineStageFlagBits = 131072;
5160pub const VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT: VkPipelineStageFlagBits =
5161    524288;
5162pub const VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT: VkPipelineStageFlagBits =
5163    1048576;
5164pub const VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV:
5165    VkPipelineStageFlagBits = 4194304;
5166pub const VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV:
5167    VkPipelineStageFlagBits = 2097152;
5168pub const VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV:
5169    VkPipelineStageFlagBits = 33554432;
5170pub const VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV: VkPipelineStageFlagBits =
5171    524288;
5172pub const VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV: VkPipelineStageFlagBits =
5173    1048576;
5174pub const VK_PIPELINE_STAGE_NONE_KHR: VkPipelineStageFlagBits = 0;
5175pub const VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT:
5176    VkPipelineStageFlagBits = 131072;
5177pub const VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM: VkPipelineStageFlagBits =
5178    2147483647;
5179pub type VkPipelineStageFlagBits = ::std::os::raw::c_uint;
5180pub type VkPipelineStageFlags = VkFlags;
5181pub const VK_MEMORY_MAP_PLACED_BIT_EXT: VkMemoryMapFlagBits = 1;
5182pub const VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM: VkMemoryMapFlagBits = 2147483647;
5183pub type VkMemoryMapFlagBits = ::std::os::raw::c_uint;
5184pub type VkMemoryMapFlags = VkFlags;
5185pub const VK_SPARSE_MEMORY_BIND_METADATA_BIT:
5186    VkSparseMemoryBindFlagBits = 1;
5187pub const VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM:
5188    VkSparseMemoryBindFlagBits = 2147483647;
5189pub type VkSparseMemoryBindFlagBits = ::std::os::raw::c_uint;
5190pub type VkSparseMemoryBindFlags = VkFlags;
5191pub const VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT:
5192    VkSparseImageFormatFlagBits = 1;
5193pub const VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT:
5194    VkSparseImageFormatFlagBits = 2;
5195pub const VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT:
5196    VkSparseImageFormatFlagBits = 4;
5197pub const VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM:
5198    VkSparseImageFormatFlagBits = 2147483647;
5199pub type VkSparseImageFormatFlagBits = ::std::os::raw::c_uint;
5200pub type VkSparseImageFormatFlags = VkFlags;
5201pub const VK_FENCE_CREATE_SIGNALED_BIT: VkFenceCreateFlagBits = 1;
5202pub const VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM: VkFenceCreateFlagBits =
5203    2147483647;
5204pub type VkFenceCreateFlagBits = ::std::os::raw::c_uint;
5205pub type VkFenceCreateFlags = VkFlags;
5206pub type VkSemaphoreCreateFlags = VkFlags;
5207pub const VK_EVENT_CREATE_DEVICE_ONLY_BIT: VkEventCreateFlagBits = 1;
5208pub const VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR: VkEventCreateFlagBits = 1;
5209pub const VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM: VkEventCreateFlagBits =
5210    2147483647;
5211pub type VkEventCreateFlagBits = ::std::os::raw::c_uint;
5212pub type VkEventCreateFlags = VkFlags;
5213pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT : VkQueryPipelineStatisticFlagBits = 1 ;
5214pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT : VkQueryPipelineStatisticFlagBits = 2 ;
5215pub const VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT : VkQueryPipelineStatisticFlagBits = 4 ;
5216pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT : VkQueryPipelineStatisticFlagBits = 8 ;
5217pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT : VkQueryPipelineStatisticFlagBits = 16 ;
5218pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT:
5219    VkQueryPipelineStatisticFlagBits = 32;
5220pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT:
5221    VkQueryPipelineStatisticFlagBits = 64;
5222pub const VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT : VkQueryPipelineStatisticFlagBits = 128 ;
5223pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT : VkQueryPipelineStatisticFlagBits = 256 ;
5224pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT : VkQueryPipelineStatisticFlagBits = 512 ;
5225pub const VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT : VkQueryPipelineStatisticFlagBits = 1024 ;
5226pub const VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT : VkQueryPipelineStatisticFlagBits = 2048 ;
5227pub const VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT : VkQueryPipelineStatisticFlagBits = 4096 ;
5228pub const VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI : VkQueryPipelineStatisticFlagBits = 8192 ;
5229pub const VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM:
5230    VkQueryPipelineStatisticFlagBits = 2147483647;
5231pub type VkQueryPipelineStatisticFlagBits = ::std::os::raw::c_uint;
5232pub type VkQueryPipelineStatisticFlags = VkFlags;
5233pub type VkQueryPoolCreateFlags = VkFlags;
5234pub const VK_QUERY_RESULT_64_BIT: VkQueryResultFlagBits = 1;
5235pub const VK_QUERY_RESULT_WAIT_BIT: VkQueryResultFlagBits = 2;
5236pub const VK_QUERY_RESULT_WITH_AVAILABILITY_BIT: VkQueryResultFlagBits = 4;
5237pub const VK_QUERY_RESULT_PARTIAL_BIT: VkQueryResultFlagBits = 8;
5238pub const VK_QUERY_RESULT_WITH_STATUS_BIT_KHR: VkQueryResultFlagBits = 16;
5239pub const VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM: VkQueryResultFlagBits =
5240    2147483647;
5241pub type VkQueryResultFlagBits = ::std::os::raw::c_uint;
5242pub type VkQueryResultFlags = VkFlags;
5243pub const VK_BUFFER_CREATE_SPARSE_BINDING_BIT: VkBufferCreateFlagBits = 1;
5244pub const VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT: VkBufferCreateFlagBits = 2;
5245pub const VK_BUFFER_CREATE_SPARSE_ALIASED_BIT: VkBufferCreateFlagBits = 4;
5246pub const VK_BUFFER_CREATE_PROTECTED_BIT: VkBufferCreateFlagBits = 8;
5247pub const VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
5248    VkBufferCreateFlagBits = 16;
5249pub const VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT:
5250    VkBufferCreateFlagBits = 32;
5251pub const VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR:
5252    VkBufferCreateFlagBits = 64;
5253pub const VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT:
5254    VkBufferCreateFlagBits = 16;
5255pub const VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR:
5256    VkBufferCreateFlagBits = 16;
5257pub const VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM: VkBufferCreateFlagBits =
5258    2147483647;
5259pub type VkBufferCreateFlagBits = ::std::os::raw::c_uint;
5260pub type VkBufferCreateFlags = VkFlags;
5261pub const VK_BUFFER_USAGE_TRANSFER_SRC_BIT: VkBufferUsageFlagBits = 1;
5262pub const VK_BUFFER_USAGE_TRANSFER_DST_BIT: VkBufferUsageFlagBits = 2;
5263pub const VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 4;
5264pub const VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 8;
5265pub const VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT: VkBufferUsageFlagBits = 16;
5266pub const VK_BUFFER_USAGE_STORAGE_BUFFER_BIT: VkBufferUsageFlagBits = 32;
5267pub const VK_BUFFER_USAGE_INDEX_BUFFER_BIT: VkBufferUsageFlagBits = 64;
5268pub const VK_BUFFER_USAGE_VERTEX_BUFFER_BIT: VkBufferUsageFlagBits = 128;
5269pub const VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT: VkBufferUsageFlagBits = 256;
5270pub const VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT: VkBufferUsageFlagBits =
5271    131072;
5272pub const VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR: VkBufferUsageFlagBits =
5273    8192;
5274pub const VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR: VkBufferUsageFlagBits =
5275    16384;
5276pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT:
5277    VkBufferUsageFlagBits = 2048;
5278pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT:
5279    VkBufferUsageFlagBits = 4096;
5280pub const VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT:
5281    VkBufferUsageFlagBits = 512;
5282pub const VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX:
5283    VkBufferUsageFlagBits = 33554432;
5284pub const VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR : VkBufferUsageFlagBits = 524288 ;
5285pub const VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR:
5286    VkBufferUsageFlagBits = 1048576;
5287pub const VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR:
5288    VkBufferUsageFlagBits = 1024;
5289pub const VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR: VkBufferUsageFlagBits =
5290    32768;
5291pub const VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR: VkBufferUsageFlagBits =
5292    65536;
5293pub const VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT:
5294    VkBufferUsageFlagBits = 2097152;
5295pub const VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT:
5296    VkBufferUsageFlagBits = 4194304;
5297pub const VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT:
5298    VkBufferUsageFlagBits = 67108864;
5299pub const VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT:
5300    VkBufferUsageFlagBits = 8388608;
5301pub const VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT: VkBufferUsageFlagBits =
5302    16777216;
5303pub const VK_BUFFER_USAGE_RAY_TRACING_BIT_NV: VkBufferUsageFlagBits = 1024;
5304pub const VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT:
5305    VkBufferUsageFlagBits = 131072;
5306pub const VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR:
5307    VkBufferUsageFlagBits = 131072;
5308pub const VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM: VkBufferUsageFlagBits =
5309    2147483647;
5310pub type VkBufferUsageFlagBits = ::std::os::raw::c_uint;
5311pub type VkBufferUsageFlags = VkFlags;
5312pub type VkBufferViewCreateFlags = VkFlags;
5313pub const VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT:
5314    VkImageViewCreateFlagBits = 1;
5315pub const VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT : VkImageViewCreateFlagBits = 4 ;
5316pub const VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT:
5317    VkImageViewCreateFlagBits = 2;
5318pub const VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM:
5319    VkImageViewCreateFlagBits = 2147483647;
5320pub type VkImageViewCreateFlagBits = ::std::os::raw::c_uint;
5321pub type VkImageViewCreateFlags = VkFlags;
5322pub type VkShaderModuleCreateFlags = VkFlags;
5323pub const VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT:
5324    VkPipelineCacheCreateFlagBits = 1;
5325pub const VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT:
5326    VkPipelineCacheCreateFlagBits = 1;
5327pub const VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM:
5328    VkPipelineCacheCreateFlagBits = 2147483647;
5329pub type VkPipelineCacheCreateFlagBits = ::std::os::raw::c_uint;
5330pub type VkPipelineCacheCreateFlags = VkFlags;
5331pub const VK_COLOR_COMPONENT_R_BIT: VkColorComponentFlagBits = 1;
5332pub const VK_COLOR_COMPONENT_G_BIT: VkColorComponentFlagBits = 2;
5333pub const VK_COLOR_COMPONENT_B_BIT: VkColorComponentFlagBits = 4;
5334pub const VK_COLOR_COMPONENT_A_BIT: VkColorComponentFlagBits = 8;
5335pub const VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM: VkColorComponentFlagBits =
5336    2147483647;
5337pub type VkColorComponentFlagBits = ::std::os::raw::c_uint;
5338pub type VkColorComponentFlags = VkFlags;
5339pub const VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT:
5340    VkPipelineCreateFlagBits = 1;
5341pub const VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT:
5342    VkPipelineCreateFlagBits = 2;
5343pub const VK_PIPELINE_CREATE_DERIVATIVE_BIT: VkPipelineCreateFlagBits = 4;
5344pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT:
5345    VkPipelineCreateFlagBits = 8;
5346pub const VK_PIPELINE_CREATE_DISPATCH_BASE_BIT: VkPipelineCreateFlagBits =
5347    16;
5348pub const VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT:
5349    VkPipelineCreateFlagBits = 256;
5350pub const VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT:
5351    VkPipelineCreateFlagBits = 512;
5352pub const VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR : VkPipelineCreateFlagBits = 16384 ;
5353pub const VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR : VkPipelineCreateFlagBits = 32768 ;
5354pub const VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR:
5355    VkPipelineCreateFlagBits = 65536;
5356pub const VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR : VkPipelineCreateFlagBits = 131072 ;
5357pub const VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR:
5358    VkPipelineCreateFlagBits = 4096;
5359pub const VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR:
5360    VkPipelineCreateFlagBits = 8192;
5361pub const VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR : VkPipelineCreateFlagBits = 524288 ;
5362pub const VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV:
5363    VkPipelineCreateFlagBits = 32;
5364pub const VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT : VkPipelineCreateFlagBits = 4194304 ;
5365pub const VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR : VkPipelineCreateFlagBits = 2097152 ;
5366pub const VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR:
5367    VkPipelineCreateFlagBits = 64;
5368pub const VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR:
5369    VkPipelineCreateFlagBits = 128;
5370pub const VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV:
5371    VkPipelineCreateFlagBits = 262144;
5372pub const VK_PIPELINE_CREATE_LIBRARY_BIT_KHR: VkPipelineCreateFlagBits =
5373    2048;
5374pub const VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT:
5375    VkPipelineCreateFlagBits = 536870912;
5376pub const VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT:
5377    VkPipelineCreateFlagBits = 8388608;
5378pub const VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT:
5379    VkPipelineCreateFlagBits = 1024;
5380pub const VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV:
5381    VkPipelineCreateFlagBits = 1048576;
5382pub const VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT:
5383    VkPipelineCreateFlagBits = 33554432;
5384pub const VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT : VkPipelineCreateFlagBits = 67108864 ;
5385pub const VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT:
5386    VkPipelineCreateFlagBits = 16777216;
5387pub const VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV:
5388    VkPipelineCreateFlagBits = 268435456;
5389pub const VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT:
5390    VkPipelineCreateFlagBits = 134217728;
5391pub const VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT:
5392    VkPipelineCreateFlagBits = 1073741824;
5393pub const VK_PIPELINE_CREATE_DISPATCH_BASE: VkPipelineCreateFlagBits = 16;
5394pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR:
5395    VkPipelineCreateFlagBits = 8;
5396pub const VK_PIPELINE_CREATE_DISPATCH_BASE_KHR: VkPipelineCreateFlagBits =
5397    16;
5398pub const VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT : VkPipelineCreateFlagBits = 4194304 ;
5399pub const VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR : VkPipelineCreateFlagBits = 2097152 ;
5400pub const VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT:
5401    VkPipelineCreateFlagBits = 256;
5402pub const VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT:
5403    VkPipelineCreateFlagBits = 512;
5404pub const VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM: VkPipelineCreateFlagBits =
5405    2147483647;
5406pub type VkPipelineCreateFlagBits = ::std::os::raw::c_uint;
5407pub type VkPipelineCreateFlags = VkFlags;
5408pub const VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT : VkPipelineShaderStageCreateFlagBits = 1 ;
5409pub const VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT : VkPipelineShaderStageCreateFlagBits = 2 ;
5410pub const VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT : VkPipelineShaderStageCreateFlagBits = 1 ;
5411pub const VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT : VkPipelineShaderStageCreateFlagBits = 2 ;
5412pub const VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM:
5413    VkPipelineShaderStageCreateFlagBits = 2147483647;
5414pub type VkPipelineShaderStageCreateFlagBits = ::std::os::raw::c_uint;
5415pub type VkPipelineShaderStageCreateFlags = VkFlags;
5416pub const VK_SHADER_STAGE_VERTEX_BIT: VkShaderStageFlagBits = 1;
5417pub const VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: VkShaderStageFlagBits = 2;
5418pub const VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: VkShaderStageFlagBits =
5419    4;
5420pub const VK_SHADER_STAGE_GEOMETRY_BIT: VkShaderStageFlagBits = 8;
5421pub const VK_SHADER_STAGE_FRAGMENT_BIT: VkShaderStageFlagBits = 16;
5422pub const VK_SHADER_STAGE_COMPUTE_BIT: VkShaderStageFlagBits = 32;
5423pub const VK_SHADER_STAGE_ALL_GRAPHICS: VkShaderStageFlagBits = 31;
5424pub const VK_SHADER_STAGE_ALL: VkShaderStageFlagBits = 2147483647;
5425pub const VK_SHADER_STAGE_RAYGEN_BIT_KHR: VkShaderStageFlagBits = 256;
5426pub const VK_SHADER_STAGE_ANY_HIT_BIT_KHR: VkShaderStageFlagBits = 512;
5427pub const VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR: VkShaderStageFlagBits = 1024;
5428pub const VK_SHADER_STAGE_MISS_BIT_KHR: VkShaderStageFlagBits = 2048;
5429pub const VK_SHADER_STAGE_INTERSECTION_BIT_KHR: VkShaderStageFlagBits = 4096;
5430pub const VK_SHADER_STAGE_CALLABLE_BIT_KHR: VkShaderStageFlagBits = 8192;
5431pub const VK_SHADER_STAGE_TASK_BIT_EXT: VkShaderStageFlagBits = 64;
5432pub const VK_SHADER_STAGE_MESH_BIT_EXT: VkShaderStageFlagBits = 128;
5433pub const VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI: VkShaderStageFlagBits =
5434    16384;
5435pub const VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI: VkShaderStageFlagBits =
5436    524288;
5437pub const VK_SHADER_STAGE_RAYGEN_BIT_NV: VkShaderStageFlagBits = 256;
5438pub const VK_SHADER_STAGE_ANY_HIT_BIT_NV: VkShaderStageFlagBits = 512;
5439pub const VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV: VkShaderStageFlagBits = 1024;
5440pub const VK_SHADER_STAGE_MISS_BIT_NV: VkShaderStageFlagBits = 2048;
5441pub const VK_SHADER_STAGE_INTERSECTION_BIT_NV: VkShaderStageFlagBits = 4096;
5442pub const VK_SHADER_STAGE_CALLABLE_BIT_NV: VkShaderStageFlagBits = 8192;
5443pub const VK_SHADER_STAGE_TASK_BIT_NV: VkShaderStageFlagBits = 64;
5444pub const VK_SHADER_STAGE_MESH_BIT_NV: VkShaderStageFlagBits = 128;
5445pub const VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM: VkShaderStageFlagBits =
5446    2147483647;
5447pub type VkShaderStageFlagBits = ::std::os::raw::c_uint;
5448pub const VK_CULL_MODE_NONE: VkCullModeFlagBits = 0;
5449pub const VK_CULL_MODE_FRONT_BIT: VkCullModeFlagBits = 1;
5450pub const VK_CULL_MODE_BACK_BIT: VkCullModeFlagBits = 2;
5451pub const VK_CULL_MODE_FRONT_AND_BACK: VkCullModeFlagBits = 3;
5452pub const VK_CULL_MODE_FLAG_BITS_MAX_ENUM: VkCullModeFlagBits = 2147483647;
5453pub type VkCullModeFlagBits = ::std::os::raw::c_uint;
5454pub type VkCullModeFlags = VkFlags;
5455pub type VkPipelineVertexInputStateCreateFlags = VkFlags;
5456pub type VkPipelineInputAssemblyStateCreateFlags = VkFlags;
5457pub type VkPipelineTessellationStateCreateFlags = VkFlags;
5458pub type VkPipelineViewportStateCreateFlags = VkFlags;
5459pub type VkPipelineRasterizationStateCreateFlags = VkFlags;
5460pub type VkPipelineMultisampleStateCreateFlags = VkFlags;
5461pub const VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT : VkPipelineDepthStencilStateCreateFlagBits = 1 ;
5462pub const VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT : VkPipelineDepthStencilStateCreateFlagBits = 2 ;
5463pub const VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM : VkPipelineDepthStencilStateCreateFlagBits = 1 ;
5464pub const VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM : VkPipelineDepthStencilStateCreateFlagBits = 2 ;
5465pub const VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM : VkPipelineDepthStencilStateCreateFlagBits = 2147483647 ;
5466pub type VkPipelineDepthStencilStateCreateFlagBits = ::std::os::raw::c_uint;
5467pub type VkPipelineDepthStencilStateCreateFlags = VkFlags;
5468pub const VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT : VkPipelineColorBlendStateCreateFlagBits = 1 ;
5469pub const VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM : VkPipelineColorBlendStateCreateFlagBits = 1 ;
5470pub const VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM : VkPipelineColorBlendStateCreateFlagBits = 2147483647 ;
5471pub type VkPipelineColorBlendStateCreateFlagBits = ::std::os::raw::c_uint;
5472pub type VkPipelineColorBlendStateCreateFlags = VkFlags;
5473pub type VkPipelineDynamicStateCreateFlags = VkFlags;
5474pub const VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT:
5475    VkPipelineLayoutCreateFlagBits = 2;
5476pub const VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM:
5477    VkPipelineLayoutCreateFlagBits = 2147483647;
5478pub type VkPipelineLayoutCreateFlagBits = ::std::os::raw::c_uint;
5479pub type VkPipelineLayoutCreateFlags = VkFlags;
5480pub type VkShaderStageFlags = VkFlags;
5481pub const VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT: VkSamplerCreateFlagBits = 1;
5482pub const VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT:
5483    VkSamplerCreateFlagBits = 2;
5484pub const VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT:
5485    VkSamplerCreateFlagBits = 8;
5486pub const VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT:
5487    VkSamplerCreateFlagBits = 4;
5488pub const VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM:
5489    VkSamplerCreateFlagBits = 16;
5490pub const VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM: VkSamplerCreateFlagBits =
5491    2147483647;
5492pub type VkSamplerCreateFlagBits = ::std::os::raw::c_uint;
5493pub type VkSamplerCreateFlags = VkFlags;
5494pub const VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT:
5495    VkDescriptorPoolCreateFlagBits = 1;
5496pub const VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT:
5497    VkDescriptorPoolCreateFlagBits = 2;
5498pub const VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT:
5499    VkDescriptorPoolCreateFlagBits = 4;
5500pub const VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV : VkDescriptorPoolCreateFlagBits = 8 ;
5501pub const VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV : VkDescriptorPoolCreateFlagBits = 16 ;
5502pub const VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT:
5503    VkDescriptorPoolCreateFlagBits = 2;
5504pub const VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE:
5505    VkDescriptorPoolCreateFlagBits = 4;
5506pub const VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM:
5507    VkDescriptorPoolCreateFlagBits = 2147483647;
5508pub type VkDescriptorPoolCreateFlagBits = ::std::os::raw::c_uint;
5509pub type VkDescriptorPoolCreateFlags = VkFlags;
5510pub type VkDescriptorPoolResetFlags = VkFlags;
5511pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT : VkDescriptorSetLayoutCreateFlagBits = 2 ;
5512pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR : VkDescriptorSetLayoutCreateFlagBits = 1 ;
5513pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT : VkDescriptorSetLayoutCreateFlagBits = 16 ;
5514pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT : VkDescriptorSetLayoutCreateFlagBits = 32 ;
5515pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV : VkDescriptorSetLayoutCreateFlagBits = 128 ;
5516pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT : VkDescriptorSetLayoutCreateFlagBits = 4 ;
5517pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV:
5518    VkDescriptorSetLayoutCreateFlagBits = 64;
5519pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT : VkDescriptorSetLayoutCreateFlagBits = 2 ;
5520pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE : VkDescriptorSetLayoutCreateFlagBits = 4 ;
5521pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM:
5522    VkDescriptorSetLayoutCreateFlagBits = 2147483647;
5523pub type VkDescriptorSetLayoutCreateFlagBits = ::std::os::raw::c_uint;
5524pub type VkDescriptorSetLayoutCreateFlags = VkFlags;
5525pub const VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT:
5526    VkAttachmentDescriptionFlagBits = 1;
5527pub const VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM:
5528    VkAttachmentDescriptionFlagBits = 2147483647;
5529pub type VkAttachmentDescriptionFlagBits = ::std::os::raw::c_uint;
5530pub type VkAttachmentDescriptionFlags = VkFlags;
5531pub const VK_DEPENDENCY_BY_REGION_BIT: VkDependencyFlagBits = 1;
5532pub const VK_DEPENDENCY_DEVICE_GROUP_BIT: VkDependencyFlagBits = 4;
5533pub const VK_DEPENDENCY_VIEW_LOCAL_BIT: VkDependencyFlagBits = 2;
5534pub const VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT: VkDependencyFlagBits = 8;
5535pub const VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR: VkDependencyFlagBits = 2;
5536pub const VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR: VkDependencyFlagBits = 4;
5537pub const VK_DEPENDENCY_FLAG_BITS_MAX_ENUM: VkDependencyFlagBits = 2147483647;
5538pub type VkDependencyFlagBits = ::std::os::raw::c_uint;
5539pub type VkDependencyFlags = VkFlags;
5540pub const VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT:
5541    VkFramebufferCreateFlagBits = 1;
5542pub const VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR:
5543    VkFramebufferCreateFlagBits = 1;
5544pub const VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM:
5545    VkFramebufferCreateFlagBits = 2147483647;
5546pub type VkFramebufferCreateFlagBits = ::std::os::raw::c_uint;
5547pub type VkFramebufferCreateFlags = VkFlags;
5548pub const VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM:
5549    VkRenderPassCreateFlagBits = 2;
5550pub const VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM:
5551    VkRenderPassCreateFlagBits = 2147483647;
5552pub type VkRenderPassCreateFlagBits = ::std::os::raw::c_uint;
5553pub type VkRenderPassCreateFlags = VkFlags;
5554pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX:
5555    VkSubpassDescriptionFlagBits = 1;
5556pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX:
5557    VkSubpassDescriptionFlagBits = 2;
5558pub const VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM:
5559    VkSubpassDescriptionFlagBits = 4;
5560pub const VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM:
5561    VkSubpassDescriptionFlagBits = 8;
5562pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT : VkSubpassDescriptionFlagBits = 16 ;
5563pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT : VkSubpassDescriptionFlagBits = 32 ;
5564pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT : VkSubpassDescriptionFlagBits = 64 ;
5565pub const VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT:
5566    VkSubpassDescriptionFlagBits = 128;
5567pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM : VkSubpassDescriptionFlagBits = 16 ;
5568pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM : VkSubpassDescriptionFlagBits = 32 ;
5569pub const VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM : VkSubpassDescriptionFlagBits = 64 ;
5570pub const VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM:
5571    VkSubpassDescriptionFlagBits = 2147483647;
5572pub type VkSubpassDescriptionFlagBits = ::std::os::raw::c_uint;
5573pub type VkSubpassDescriptionFlags = VkFlags;
5574pub const VK_COMMAND_POOL_CREATE_TRANSIENT_BIT:
5575    VkCommandPoolCreateFlagBits = 1;
5576pub const VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT:
5577    VkCommandPoolCreateFlagBits = 2;
5578pub const VK_COMMAND_POOL_CREATE_PROTECTED_BIT:
5579    VkCommandPoolCreateFlagBits = 4;
5580pub const VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM:
5581    VkCommandPoolCreateFlagBits = 2147483647;
5582pub type VkCommandPoolCreateFlagBits = ::std::os::raw::c_uint;
5583pub type VkCommandPoolCreateFlags = VkFlags;
5584pub const VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT:
5585    VkCommandPoolResetFlagBits = 1;
5586pub const VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM:
5587    VkCommandPoolResetFlagBits = 2147483647;
5588pub type VkCommandPoolResetFlagBits = ::std::os::raw::c_uint;
5589pub type VkCommandPoolResetFlags = VkFlags;
5590pub const VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT:
5591    VkCommandBufferUsageFlagBits = 1;
5592pub const VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT:
5593    VkCommandBufferUsageFlagBits = 2;
5594pub const VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT:
5595    VkCommandBufferUsageFlagBits = 4;
5596pub const VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM:
5597    VkCommandBufferUsageFlagBits = 2147483647;
5598pub type VkCommandBufferUsageFlagBits = ::std::os::raw::c_uint;
5599pub type VkCommandBufferUsageFlags = VkFlags;
5600pub const VK_QUERY_CONTROL_PRECISE_BIT: VkQueryControlFlagBits = 1;
5601pub const VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM: VkQueryControlFlagBits =
5602    2147483647;
5603pub type VkQueryControlFlagBits = ::std::os::raw::c_uint;
5604pub type VkQueryControlFlags = VkFlags;
5605pub const VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT:
5606    VkCommandBufferResetFlagBits = 1;
5607pub const VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM:
5608    VkCommandBufferResetFlagBits = 2147483647;
5609pub type VkCommandBufferResetFlagBits = ::std::os::raw::c_uint;
5610pub type VkCommandBufferResetFlags = VkFlags;
5611pub const VK_STENCIL_FACE_FRONT_BIT: VkStencilFaceFlagBits = 1;
5612pub const VK_STENCIL_FACE_BACK_BIT: VkStencilFaceFlagBits = 2;
5613pub const VK_STENCIL_FACE_FRONT_AND_BACK: VkStencilFaceFlagBits = 3;
5614pub const VK_STENCIL_FRONT_AND_BACK: VkStencilFaceFlagBits = 3;
5615pub const VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM: VkStencilFaceFlagBits =
5616    2147483647;
5617pub type VkStencilFaceFlagBits = ::std::os::raw::c_uint;
5618pub type VkStencilFaceFlags = VkFlags;
5619#[repr(C)]
5620#[derive(Debug, Copy, Clone)]
5621pub struct VkExtent2D {
5622    pub width: u32,
5623    pub height: u32,
5624}
5625#[repr(C)]
5626#[derive(Debug, Copy, Clone)]
5627pub struct VkExtent3D {
5628    pub width: u32,
5629    pub height: u32,
5630    pub depth: u32,
5631}
5632#[repr(C)]
5633#[derive(Debug, Copy, Clone)]
5634pub struct VkOffset2D {
5635    pub x: i32,
5636    pub y: i32,
5637}
5638#[repr(C)]
5639#[derive(Debug, Copy, Clone)]
5640pub struct VkOffset3D {
5641    pub x: i32,
5642    pub y: i32,
5643    pub z: i32,
5644}
5645#[repr(C)]
5646#[derive(Debug, Copy, Clone)]
5647pub struct VkRect2D {
5648    pub offset: VkOffset2D,
5649    pub extent: VkExtent2D,
5650}
5651#[repr(C)]
5652#[derive(Debug, Copy, Clone)]
5653pub struct VkBaseInStructure {
5654    pub sType: VkStructureType,
5655    pub pNext: *const VkBaseInStructure,
5656}
5657#[repr(C)]
5658#[derive(Debug, Copy, Clone)]
5659pub struct VkBaseOutStructure {
5660    pub sType: VkStructureType,
5661    pub pNext: *mut VkBaseOutStructure,
5662}
5663#[repr(C)]
5664#[derive(Debug, Copy, Clone)]
5665pub struct VkBufferMemoryBarrier {
5666    pub sType: VkStructureType,
5667    pub pNext: *const ::std::os::raw::c_void,
5668    pub srcAccessMask: VkAccessFlags,
5669    pub dstAccessMask: VkAccessFlags,
5670    pub srcQueueFamilyIndex: u32,
5671    pub dstQueueFamilyIndex: u32,
5672    pub buffer: VkBuffer,
5673    pub offset: VkDeviceSize,
5674    pub size: VkDeviceSize,
5675}
5676#[repr(C)]
5677#[derive(Debug, Copy, Clone)]
5678pub struct VkDispatchIndirectCommand {
5679    pub x: u32,
5680    pub y: u32,
5681    pub z: u32,
5682}
5683#[repr(C)]
5684#[derive(Debug, Copy, Clone)]
5685pub struct VkDrawIndexedIndirectCommand {
5686    pub indexCount: u32,
5687    pub instanceCount: u32,
5688    pub firstIndex: u32,
5689    pub vertexOffset: i32,
5690    pub firstInstance: u32,
5691}
5692#[repr(C)]
5693#[derive(Debug, Copy, Clone)]
5694pub struct VkDrawIndirectCommand {
5695    pub vertexCount: u32,
5696    pub instanceCount: u32,
5697    pub firstVertex: u32,
5698    pub firstInstance: u32,
5699}
5700#[repr(C)]
5701#[derive(Debug, Copy, Clone)]
5702pub struct VkImageSubresourceRange {
5703    pub aspectMask: VkImageAspectFlags,
5704    pub baseMipLevel: u32,
5705    pub levelCount: u32,
5706    pub baseArrayLayer: u32,
5707    pub layerCount: u32,
5708}
5709#[repr(C)]
5710#[derive(Debug, Copy, Clone)]
5711pub struct VkImageMemoryBarrier {
5712    pub sType: VkStructureType,
5713    pub pNext: *const ::std::os::raw::c_void,
5714    pub srcAccessMask: VkAccessFlags,
5715    pub dstAccessMask: VkAccessFlags,
5716    pub oldLayout: VkImageLayout,
5717    pub newLayout: VkImageLayout,
5718    pub srcQueueFamilyIndex: u32,
5719    pub dstQueueFamilyIndex: u32,
5720    pub image: VkImage,
5721    pub subresourceRange: VkImageSubresourceRange,
5722}
5723#[repr(C)]
5724#[derive(Debug, Copy, Clone)]
5725pub struct VkMemoryBarrier {
5726    pub sType: VkStructureType,
5727    pub pNext: *const ::std::os::raw::c_void,
5728    pub srcAccessMask: VkAccessFlags,
5729    pub dstAccessMask: VkAccessFlags,
5730}
5731#[repr(C)]
5732#[derive(Debug, Copy, Clone)]
5733pub struct VkPipelineCacheHeaderVersionOne {
5734    pub headerSize: u32,
5735    pub headerVersion: VkPipelineCacheHeaderVersion,
5736    pub vendorID: u32,
5737    pub deviceID: u32,
5738    pub pipelineCacheUUID: [u8; 16usize],
5739}
5740pub type PFN_vkAllocationFunction = 
5741    unsafe extern "C" fn(
5742        pUserData: *mut ::std::os::raw::c_void,
5743        size: usize,
5744        alignment: usize,
5745        allocationScope: VkSystemAllocationScope,
5746    ) -> *mut ::std::os::raw::c_void;
5747
5748pub type PFN_vkFreeFunction = 
5749    unsafe extern "C" fn(
5750        pUserData: *mut ::std::os::raw::c_void,
5751        pMemory: *mut ::std::os::raw::c_void,
5752    );
5753
5754pub type PFN_vkInternalAllocationNotification = 
5755    unsafe extern "C" fn(
5756        pUserData: *mut ::std::os::raw::c_void,
5757        size: usize,
5758        allocationType: VkInternalAllocationType,
5759        allocationScope: VkSystemAllocationScope,
5760    );
5761
5762pub type PFN_vkInternalFreeNotification = 
5763    unsafe extern "C" fn(
5764        pUserData: *mut ::std::os::raw::c_void,
5765        size: usize,
5766        allocationType: VkInternalAllocationType,
5767        allocationScope: VkSystemAllocationScope,
5768    );
5769
5770pub type PFN_vkReallocationFunction = 
5771    unsafe extern "C" fn(
5772        pUserData: *mut ::std::os::raw::c_void,
5773        pOriginal: *mut ::std::os::raw::c_void,
5774        size: usize,
5775        alignment: usize,
5776        allocationScope: VkSystemAllocationScope,
5777    ) -> *mut ::std::os::raw::c_void;
5778
5779pub type PFN_vkVoidFunction = unsafe extern "C" fn();
5780#[repr(C)]
5781#[derive(Debug, Copy, Clone)]
5782pub struct VkAllocationCallbacks {
5783    pub pUserData: *mut ::std::os::raw::c_void,
5784    pub pfnAllocation: PFN_vkAllocationFunction,
5785    pub pfnReallocation: PFN_vkReallocationFunction,
5786    pub pfnFree: PFN_vkFreeFunction,
5787    pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
5788    pub pfnInternalFree: PFN_vkInternalFreeNotification,
5789}
5790#[repr(C)]
5791#[derive(Debug, Copy, Clone)]
5792pub struct VkApplicationInfo {
5793    pub sType: VkStructureType,
5794    pub pNext: *const ::std::os::raw::c_void,
5795    pub pApplicationName: *const ::std::os::raw::c_char,
5796    pub applicationVersion: u32,
5797    pub pEngineName: *const ::std::os::raw::c_char,
5798    pub engineVersion: u32,
5799    pub apiVersion: u32,
5800}
5801#[repr(C)]
5802#[derive(Debug, Copy, Clone)]
5803pub struct VkFormatProperties {
5804    pub linearTilingFeatures: VkFormatFeatureFlags,
5805    pub optimalTilingFeatures: VkFormatFeatureFlags,
5806    pub bufferFeatures: VkFormatFeatureFlags,
5807}
5808#[repr(C)]
5809#[derive(Debug, Copy, Clone)]
5810pub struct VkImageFormatProperties {
5811    pub maxExtent: VkExtent3D,
5812    pub maxMipLevels: u32,
5813    pub maxArrayLayers: u32,
5814    pub sampleCounts: VkSampleCountFlags,
5815    pub maxResourceSize: VkDeviceSize,
5816}
5817#[repr(C)]
5818#[derive(Debug, Copy, Clone)]
5819pub struct VkInstanceCreateInfo {
5820    pub sType: VkStructureType,
5821    pub pNext: *const ::std::os::raw::c_void,
5822    pub flags: VkInstanceCreateFlags,
5823    pub pApplicationInfo: *const VkApplicationInfo,
5824    pub enabledLayerCount: u32,
5825    pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
5826    pub enabledExtensionCount: u32,
5827    pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
5828}
5829#[repr(C)]
5830#[derive(Debug, Copy, Clone)]
5831pub struct VkMemoryHeap {
5832    pub size: VkDeviceSize,
5833    pub flags: VkMemoryHeapFlags,
5834}
5835#[repr(C)]
5836#[derive(Debug, Copy, Clone)]
5837pub struct VkMemoryType {
5838    pub propertyFlags: VkMemoryPropertyFlags,
5839    pub heapIndex: u32,
5840}
5841#[repr(C)]
5842#[derive(Debug, Copy, Clone)]
5843pub struct VkPhysicalDeviceFeatures {
5844    pub robustBufferAccess: VkBool32,
5845    pub fullDrawIndexUint32: VkBool32,
5846    pub imageCubeArray: VkBool32,
5847    pub independentBlend: VkBool32,
5848    pub geometryShader: VkBool32,
5849    pub tessellationShader: VkBool32,
5850    pub sampleRateShading: VkBool32,
5851    pub dualSrcBlend: VkBool32,
5852    pub logicOp: VkBool32,
5853    pub multiDrawIndirect: VkBool32,
5854    pub drawIndirectFirstInstance: VkBool32,
5855    pub depthClamp: VkBool32,
5856    pub depthBiasClamp: VkBool32,
5857    pub fillModeNonSolid: VkBool32,
5858    pub depthBounds: VkBool32,
5859    pub wideLines: VkBool32,
5860    pub largePoints: VkBool32,
5861    pub alphaToOne: VkBool32,
5862    pub multiViewport: VkBool32,
5863    pub samplerAnisotropy: VkBool32,
5864    pub textureCompressionETC2: VkBool32,
5865    pub textureCompressionASTC_LDR: VkBool32,
5866    pub textureCompressionBC: VkBool32,
5867    pub occlusionQueryPrecise: VkBool32,
5868    pub pipelineStatisticsQuery: VkBool32,
5869    pub vertexPipelineStoresAndAtomics: VkBool32,
5870    pub fragmentStoresAndAtomics: VkBool32,
5871    pub shaderTessellationAndGeometryPointSize: VkBool32,
5872    pub shaderImageGatherExtended: VkBool32,
5873    pub shaderStorageImageExtendedFormats: VkBool32,
5874    pub shaderStorageImageMultisample: VkBool32,
5875    pub shaderStorageImageReadWithoutFormat: VkBool32,
5876    pub shaderStorageImageWriteWithoutFormat: VkBool32,
5877    pub shaderUniformBufferArrayDynamicIndexing: VkBool32,
5878    pub shaderSampledImageArrayDynamicIndexing: VkBool32,
5879    pub shaderStorageBufferArrayDynamicIndexing: VkBool32,
5880    pub shaderStorageImageArrayDynamicIndexing: VkBool32,
5881    pub shaderClipDistance: VkBool32,
5882    pub shaderCullDistance: VkBool32,
5883    pub shaderFloat64: VkBool32,
5884    pub shaderInt64: VkBool32,
5885    pub shaderInt16: VkBool32,
5886    pub shaderResourceResidency: VkBool32,
5887    pub shaderResourceMinLod: VkBool32,
5888    pub sparseBinding: VkBool32,
5889    pub sparseResidencyBuffer: VkBool32,
5890    pub sparseResidencyImage2D: VkBool32,
5891    pub sparseResidencyImage3D: VkBool32,
5892    pub sparseResidency2Samples: VkBool32,
5893    pub sparseResidency4Samples: VkBool32,
5894    pub sparseResidency8Samples: VkBool32,
5895    pub sparseResidency16Samples: VkBool32,
5896    pub sparseResidencyAliased: VkBool32,
5897    pub variableMultisampleRate: VkBool32,
5898    pub inheritedQueries: VkBool32,
5899}
5900#[repr(C)]
5901#[derive(Debug, Copy, Clone)]
5902pub struct VkPhysicalDeviceLimits {
5903    pub maxImageDimension1D: u32,
5904    pub maxImageDimension2D: u32,
5905    pub maxImageDimension3D: u32,
5906    pub maxImageDimensionCube: u32,
5907    pub maxImageArrayLayers: u32,
5908    pub maxTexelBufferElements: u32,
5909    pub maxUniformBufferRange: u32,
5910    pub maxStorageBufferRange: u32,
5911    pub maxPushConstantsSize: u32,
5912    pub maxMemoryAllocationCount: u32,
5913    pub maxSamplerAllocationCount: u32,
5914    pub bufferImageGranularity: VkDeviceSize,
5915    pub sparseAddressSpaceSize: VkDeviceSize,
5916    pub maxBoundDescriptorSets: u32,
5917    pub maxPerStageDescriptorSamplers: u32,
5918    pub maxPerStageDescriptorUniformBuffers: u32,
5919    pub maxPerStageDescriptorStorageBuffers: u32,
5920    pub maxPerStageDescriptorSampledImages: u32,
5921    pub maxPerStageDescriptorStorageImages: u32,
5922    pub maxPerStageDescriptorInputAttachments: u32,
5923    pub maxPerStageResources: u32,
5924    pub maxDescriptorSetSamplers: u32,
5925    pub maxDescriptorSetUniformBuffers: u32,
5926    pub maxDescriptorSetUniformBuffersDynamic: u32,
5927    pub maxDescriptorSetStorageBuffers: u32,
5928    pub maxDescriptorSetStorageBuffersDynamic: u32,
5929    pub maxDescriptorSetSampledImages: u32,
5930    pub maxDescriptorSetStorageImages: u32,
5931    pub maxDescriptorSetInputAttachments: u32,
5932    pub maxVertexInputAttributes: u32,
5933    pub maxVertexInputBindings: u32,
5934    pub maxVertexInputAttributeOffset: u32,
5935    pub maxVertexInputBindingStride: u32,
5936    pub maxVertexOutputComponents: u32,
5937    pub maxTessellationGenerationLevel: u32,
5938    pub maxTessellationPatchSize: u32,
5939    pub maxTessellationControlPerVertexInputComponents: u32,
5940    pub maxTessellationControlPerVertexOutputComponents: u32,
5941    pub maxTessellationControlPerPatchOutputComponents: u32,
5942    pub maxTessellationControlTotalOutputComponents: u32,
5943    pub maxTessellationEvaluationInputComponents: u32,
5944    pub maxTessellationEvaluationOutputComponents: u32,
5945    pub maxGeometryShaderInvocations: u32,
5946    pub maxGeometryInputComponents: u32,
5947    pub maxGeometryOutputComponents: u32,
5948    pub maxGeometryOutputVertices: u32,
5949    pub maxGeometryTotalOutputComponents: u32,
5950    pub maxFragmentInputComponents: u32,
5951    pub maxFragmentOutputAttachments: u32,
5952    pub maxFragmentDualSrcAttachments: u32,
5953    pub maxFragmentCombinedOutputResources: u32,
5954    pub maxComputeSharedMemorySize: u32,
5955    pub maxComputeWorkGroupCount: [u32; 3usize],
5956    pub maxComputeWorkGroupInvocations: u32,
5957    pub maxComputeWorkGroupSize: [u32; 3usize],
5958    pub subPixelPrecisionBits: u32,
5959    pub subTexelPrecisionBits: u32,
5960    pub mipmapPrecisionBits: u32,
5961    pub maxDrawIndexedIndexValue: u32,
5962    pub maxDrawIndirectCount: u32,
5963    pub maxSamplerLodBias: f32,
5964    pub maxSamplerAnisotropy: f32,
5965    pub maxViewports: u32,
5966    pub maxViewportDimensions: [u32; 2usize],
5967    pub viewportBoundsRange: [f32; 2usize],
5968    pub viewportSubPixelBits: u32,
5969    pub minMemoryMapAlignment: usize,
5970    pub minTexelBufferOffsetAlignment: VkDeviceSize,
5971    pub minUniformBufferOffsetAlignment: VkDeviceSize,
5972    pub minStorageBufferOffsetAlignment: VkDeviceSize,
5973    pub minTexelOffset: i32,
5974    pub maxTexelOffset: u32,
5975    pub minTexelGatherOffset: i32,
5976    pub maxTexelGatherOffset: u32,
5977    pub minInterpolationOffset: f32,
5978    pub maxInterpolationOffset: f32,
5979    pub subPixelInterpolationOffsetBits: u32,
5980    pub maxFramebufferWidth: u32,
5981    pub maxFramebufferHeight: u32,
5982    pub maxFramebufferLayers: u32,
5983    pub framebufferColorSampleCounts: VkSampleCountFlags,
5984    pub framebufferDepthSampleCounts: VkSampleCountFlags,
5985    pub framebufferStencilSampleCounts: VkSampleCountFlags,
5986    pub framebufferNoAttachmentsSampleCounts: VkSampleCountFlags,
5987    pub maxColorAttachments: u32,
5988    pub sampledImageColorSampleCounts: VkSampleCountFlags,
5989    pub sampledImageIntegerSampleCounts: VkSampleCountFlags,
5990    pub sampledImageDepthSampleCounts: VkSampleCountFlags,
5991    pub sampledImageStencilSampleCounts: VkSampleCountFlags,
5992    pub storageImageSampleCounts: VkSampleCountFlags,
5993    pub maxSampleMaskWords: u32,
5994    pub timestampComputeAndGraphics: VkBool32,
5995    pub timestampPeriod: f32,
5996    pub maxClipDistances: u32,
5997    pub maxCullDistances: u32,
5998    pub maxCombinedClipAndCullDistances: u32,
5999    pub discreteQueuePriorities: u32,
6000    pub pointSizeRange: [f32; 2usize],
6001    pub lineWidthRange: [f32; 2usize],
6002    pub pointSizeGranularity: f32,
6003    pub lineWidthGranularity: f32,
6004    pub strictLines: VkBool32,
6005    pub standardSampleLocations: VkBool32,
6006    pub optimalBufferCopyOffsetAlignment: VkDeviceSize,
6007    pub optimalBufferCopyRowPitchAlignment: VkDeviceSize,
6008    pub nonCoherentAtomSize: VkDeviceSize,
6009}
6010#[repr(C)]
6011#[derive(Debug, Copy, Clone)]
6012pub struct VkPhysicalDeviceMemoryProperties {
6013    pub memoryTypeCount: u32,
6014    pub memoryTypes: [VkMemoryType; 32usize],
6015    pub memoryHeapCount: u32,
6016    pub memoryHeaps: [VkMemoryHeap; 16usize],
6017}
6018#[repr(C)]
6019#[derive(Debug, Copy, Clone)]
6020pub struct VkPhysicalDeviceSparseProperties {
6021    pub residencyStandard2DBlockShape: VkBool32,
6022    pub residencyStandard2DMultisampleBlockShape: VkBool32,
6023    pub residencyStandard3DBlockShape: VkBool32,
6024    pub residencyAlignedMipSize: VkBool32,
6025    pub residencyNonResidentStrict: VkBool32,
6026}
6027#[repr(C)]
6028#[derive(Debug, Copy, Clone)]
6029pub struct VkPhysicalDeviceProperties {
6030    pub apiVersion: u32,
6031    pub driverVersion: u32,
6032    pub vendorID: u32,
6033    pub deviceID: u32,
6034    pub deviceType: VkPhysicalDeviceType,
6035    pub deviceName: [::std::os::raw::c_char; 256usize],
6036    pub pipelineCacheUUID: [u8; 16usize],
6037    pub limits: VkPhysicalDeviceLimits,
6038    pub sparseProperties: VkPhysicalDeviceSparseProperties,
6039}
6040#[repr(C)]
6041#[derive(Debug, Copy, Clone)]
6042pub struct VkQueueFamilyProperties {
6043    pub queueFlags: VkQueueFlags,
6044    pub queueCount: u32,
6045    pub timestampValidBits: u32,
6046    pub minImageTransferGranularity: VkExtent3D,
6047}
6048#[repr(C)]
6049#[derive(Debug, Copy, Clone)]
6050pub struct VkDeviceQueueCreateInfo {
6051    pub sType: VkStructureType,
6052    pub pNext: *const ::std::os::raw::c_void,
6053    pub flags: VkDeviceQueueCreateFlags,
6054    pub queueFamilyIndex: u32,
6055    pub queueCount: u32,
6056    pub pQueuePriorities: *const f32,
6057}
6058#[repr(C)]
6059#[derive(Debug, Copy, Clone)]
6060pub struct VkDeviceCreateInfo {
6061    pub sType: VkStructureType,
6062    pub pNext: *const ::std::os::raw::c_void,
6063    pub flags: VkDeviceCreateFlags,
6064    pub queueCreateInfoCount: u32,
6065    pub pQueueCreateInfos: *const VkDeviceQueueCreateInfo,
6066    pub enabledLayerCount: u32,
6067    pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
6068    pub enabledExtensionCount: u32,
6069    pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
6070    pub pEnabledFeatures: *const VkPhysicalDeviceFeatures,
6071}
6072#[repr(C)]
6073#[derive(Debug, Copy, Clone)]
6074pub struct VkExtensionProperties {
6075    pub extensionName: [::std::os::raw::c_char; 256usize],
6076    pub specVersion: u32,
6077}
6078#[repr(C)]
6079#[derive(Debug, Copy, Clone)]
6080pub struct VkLayerProperties {
6081    pub layerName: [::std::os::raw::c_char; 256usize],
6082    pub specVersion: u32,
6083    pub implementationVersion: u32,
6084    pub description: [::std::os::raw::c_char; 256usize],
6085}
6086#[repr(C)]
6087#[derive(Debug, Copy, Clone)]
6088pub struct VkSubmitInfo {
6089    pub sType: VkStructureType,
6090    pub pNext: *const ::std::os::raw::c_void,
6091    pub waitSemaphoreCount: u32,
6092    pub pWaitSemaphores: *const VkSemaphore,
6093    pub pWaitDstStageMask: *const VkPipelineStageFlags,
6094    pub commandBufferCount: u32,
6095    pub pCommandBuffers: *const VkCommandBuffer,
6096    pub signalSemaphoreCount: u32,
6097    pub pSignalSemaphores: *const VkSemaphore,
6098}
6099#[repr(C)]
6100#[derive(Debug, Copy, Clone)]
6101pub struct VkMappedMemoryRange {
6102    pub sType: VkStructureType,
6103    pub pNext: *const ::std::os::raw::c_void,
6104    pub memory: VkDeviceMemory,
6105    pub offset: VkDeviceSize,
6106    pub size: VkDeviceSize,
6107}
6108#[repr(C)]
6109#[derive(Debug, Copy, Clone)]
6110pub struct VkMemoryAllocateInfo {
6111    pub sType: VkStructureType,
6112    pub pNext: *const ::std::os::raw::c_void,
6113    pub allocationSize: VkDeviceSize,
6114    pub memoryTypeIndex: u32,
6115}
6116#[repr(C)]
6117#[derive(Debug, Copy, Clone)]
6118pub struct VkMemoryRequirements {
6119    pub size: VkDeviceSize,
6120    pub alignment: VkDeviceSize,
6121    pub memoryTypeBits: u32,
6122}
6123#[repr(C)]
6124#[derive(Debug, Copy, Clone)]
6125pub struct VkSparseMemoryBind {
6126    pub resourceOffset: VkDeviceSize,
6127    pub size: VkDeviceSize,
6128    pub memory: VkDeviceMemory,
6129    pub memoryOffset: VkDeviceSize,
6130    pub flags: VkSparseMemoryBindFlags,
6131}
6132#[repr(C)]
6133#[derive(Debug, Copy, Clone)]
6134pub struct VkSparseBufferMemoryBindInfo {
6135    pub buffer: VkBuffer,
6136    pub bindCount: u32,
6137    pub pBinds: *const VkSparseMemoryBind,
6138}
6139#[repr(C)]
6140#[derive(Debug, Copy, Clone)]
6141pub struct VkSparseImageOpaqueMemoryBindInfo {
6142    pub image: VkImage,
6143    pub bindCount: u32,
6144    pub pBinds: *const VkSparseMemoryBind,
6145}
6146#[repr(C)]
6147#[derive(Debug, Copy, Clone)]
6148pub struct VkImageSubresource {
6149    pub aspectMask: VkImageAspectFlags,
6150    pub mipLevel: u32,
6151    pub arrayLayer: u32,
6152}
6153#[repr(C)]
6154#[derive(Debug, Copy, Clone)]
6155pub struct VkSparseImageMemoryBind {
6156    pub subresource: VkImageSubresource,
6157    pub offset: VkOffset3D,
6158    pub extent: VkExtent3D,
6159    pub memory: VkDeviceMemory,
6160    pub memoryOffset: VkDeviceSize,
6161    pub flags: VkSparseMemoryBindFlags,
6162}
6163#[repr(C)]
6164#[derive(Debug, Copy, Clone)]
6165pub struct VkSparseImageMemoryBindInfo {
6166    pub image: VkImage,
6167    pub bindCount: u32,
6168    pub pBinds: *const VkSparseImageMemoryBind,
6169}
6170#[repr(C)]
6171#[derive(Debug, Copy, Clone)]
6172pub struct VkBindSparseInfo {
6173    pub sType: VkStructureType,
6174    pub pNext: *const ::std::os::raw::c_void,
6175    pub waitSemaphoreCount: u32,
6176    pub pWaitSemaphores: *const VkSemaphore,
6177    pub bufferBindCount: u32,
6178    pub pBufferBinds: *const VkSparseBufferMemoryBindInfo,
6179    pub imageOpaqueBindCount: u32,
6180    pub pImageOpaqueBinds: *const VkSparseImageOpaqueMemoryBindInfo,
6181    pub imageBindCount: u32,
6182    pub pImageBinds: *const VkSparseImageMemoryBindInfo,
6183    pub signalSemaphoreCount: u32,
6184    pub pSignalSemaphores: *const VkSemaphore,
6185}
6186#[repr(C)]
6187#[derive(Debug, Copy, Clone)]
6188pub struct VkSparseImageFormatProperties {
6189    pub aspectMask: VkImageAspectFlags,
6190    pub imageGranularity: VkExtent3D,
6191    pub flags: VkSparseImageFormatFlags,
6192}
6193#[repr(C)]
6194#[derive(Debug, Copy, Clone)]
6195pub struct VkSparseImageMemoryRequirements {
6196    pub formatProperties: VkSparseImageFormatProperties,
6197    pub imageMipTailFirstLod: u32,
6198    pub imageMipTailSize: VkDeviceSize,
6199    pub imageMipTailOffset: VkDeviceSize,
6200    pub imageMipTailStride: VkDeviceSize,
6201}
6202#[repr(C)]
6203#[derive(Debug, Copy, Clone)]
6204pub struct VkFenceCreateInfo {
6205    pub sType: VkStructureType,
6206    pub pNext: *const ::std::os::raw::c_void,
6207    pub flags: VkFenceCreateFlags,
6208}
6209#[repr(C)]
6210#[derive(Debug, Copy, Clone)]
6211pub struct VkSemaphoreCreateInfo {
6212    pub sType: VkStructureType,
6213    pub pNext: *const ::std::os::raw::c_void,
6214    pub flags: VkSemaphoreCreateFlags,
6215}
6216#[repr(C)]
6217#[derive(Debug, Copy, Clone)]
6218pub struct VkEventCreateInfo {
6219    pub sType: VkStructureType,
6220    pub pNext: *const ::std::os::raw::c_void,
6221    pub flags: VkEventCreateFlags,
6222}
6223#[repr(C)]
6224#[derive(Debug, Copy, Clone)]
6225pub struct VkQueryPoolCreateInfo {
6226    pub sType: VkStructureType,
6227    pub pNext: *const ::std::os::raw::c_void,
6228    pub flags: VkQueryPoolCreateFlags,
6229    pub queryType: VkQueryType,
6230    pub queryCount: u32,
6231    pub pipelineStatistics: VkQueryPipelineStatisticFlags,
6232}
6233#[repr(C)]
6234#[derive(Debug, Copy, Clone)]
6235pub struct VkBufferCreateInfo {
6236    pub sType: VkStructureType,
6237    pub pNext: *const ::std::os::raw::c_void,
6238    pub flags: VkBufferCreateFlags,
6239    pub size: VkDeviceSize,
6240    pub usage: VkBufferUsageFlags,
6241    pub sharingMode: VkSharingMode,
6242    pub queueFamilyIndexCount: u32,
6243    pub pQueueFamilyIndices: *const u32,
6244}
6245#[repr(C)]
6246#[derive(Debug, Copy, Clone)]
6247pub struct VkBufferViewCreateInfo {
6248    pub sType: VkStructureType,
6249    pub pNext: *const ::std::os::raw::c_void,
6250    pub flags: VkBufferViewCreateFlags,
6251    pub buffer: VkBuffer,
6252    pub format: VkFormat,
6253    pub offset: VkDeviceSize,
6254    pub range: VkDeviceSize,
6255}
6256#[repr(C)]
6257#[derive(Debug, Copy, Clone)]
6258pub struct VkImageCreateInfo {
6259    pub sType: VkStructureType,
6260    pub pNext: *const ::std::os::raw::c_void,
6261    pub flags: VkImageCreateFlags,
6262    pub imageType: VkImageType,
6263    pub format: VkFormat,
6264    pub extent: VkExtent3D,
6265    pub mipLevels: u32,
6266    pub arrayLayers: u32,
6267    pub samples: VkSampleCountFlagBits,
6268    pub tiling: VkImageTiling,
6269    pub usage: VkImageUsageFlags,
6270    pub sharingMode: VkSharingMode,
6271    pub queueFamilyIndexCount: u32,
6272    pub pQueueFamilyIndices: *const u32,
6273    pub initialLayout: VkImageLayout,
6274}
6275#[repr(C)]
6276#[derive(Debug, Copy, Clone)]
6277pub struct VkSubresourceLayout {
6278    pub offset: VkDeviceSize,
6279    pub size: VkDeviceSize,
6280    pub rowPitch: VkDeviceSize,
6281    pub arrayPitch: VkDeviceSize,
6282    pub depthPitch: VkDeviceSize,
6283}
6284#[repr(C)]
6285#[derive(Debug, Copy, Clone)]
6286pub struct VkComponentMapping {
6287    pub r: VkComponentSwizzle,
6288    pub g: VkComponentSwizzle,
6289    pub b: VkComponentSwizzle,
6290    pub a: VkComponentSwizzle,
6291}
6292#[repr(C)]
6293#[derive(Debug, Copy, Clone)]
6294pub struct VkImageViewCreateInfo {
6295    pub sType: VkStructureType,
6296    pub pNext: *const ::std::os::raw::c_void,
6297    pub flags: VkImageViewCreateFlags,
6298    pub image: VkImage,
6299    pub viewType: VkImageViewType,
6300    pub format: VkFormat,
6301    pub components: VkComponentMapping,
6302    pub subresourceRange: VkImageSubresourceRange,
6303}
6304#[repr(C)]
6305#[derive(Debug, Copy, Clone)]
6306pub struct VkShaderModuleCreateInfo {
6307    pub sType: VkStructureType,
6308    pub pNext: *const ::std::os::raw::c_void,
6309    pub flags: VkShaderModuleCreateFlags,
6310    pub codeSize: usize,
6311    pub pCode: *const u32,
6312}
6313#[repr(C)]
6314#[derive(Debug, Copy, Clone)]
6315pub struct VkPipelineCacheCreateInfo {
6316    pub sType: VkStructureType,
6317    pub pNext: *const ::std::os::raw::c_void,
6318    pub flags: VkPipelineCacheCreateFlags,
6319    pub initialDataSize: usize,
6320    pub pInitialData: *const ::std::os::raw::c_void,
6321}
6322#[repr(C)]
6323#[derive(Debug, Copy, Clone)]
6324pub struct VkSpecializationMapEntry {
6325    pub constantID: u32,
6326    pub offset: u32,
6327    pub size: usize,
6328}
6329#[repr(C)]
6330#[derive(Debug, Copy, Clone)]
6331pub struct VkSpecializationInfo {
6332    pub mapEntryCount: u32,
6333    pub pMapEntries: *const VkSpecializationMapEntry,
6334    pub dataSize: usize,
6335    pub pData: *const ::std::os::raw::c_void,
6336}
6337#[repr(C)]
6338#[derive(Debug, Copy, Clone)]
6339pub struct VkPipelineShaderStageCreateInfo {
6340    pub sType: VkStructureType,
6341    pub pNext: *const ::std::os::raw::c_void,
6342    pub flags: VkPipelineShaderStageCreateFlags,
6343    pub stage: VkShaderStageFlagBits,
6344    pub module: VkShaderModule,
6345    pub pName: *const ::std::os::raw::c_char,
6346    pub pSpecializationInfo: *const VkSpecializationInfo,
6347}
6348#[repr(C)]
6349#[derive(Debug, Copy, Clone)]
6350pub struct VkComputePipelineCreateInfo {
6351    pub sType: VkStructureType,
6352    pub pNext: *const ::std::os::raw::c_void,
6353    pub flags: VkPipelineCreateFlags,
6354    pub stage: VkPipelineShaderStageCreateInfo,
6355    pub layout: VkPipelineLayout,
6356    pub basePipelineHandle: VkPipeline,
6357    pub basePipelineIndex: i32,
6358}
6359#[repr(C)]
6360#[derive(Debug, Copy, Clone)]
6361pub struct VkVertexInputBindingDescription {
6362    pub binding: u32,
6363    pub stride: u32,
6364    pub inputRate: VkVertexInputRate,
6365}
6366#[repr(C)]
6367#[derive(Debug, Copy, Clone)]
6368pub struct VkVertexInputAttributeDescription {
6369    pub location: u32,
6370    pub binding: u32,
6371    pub format: VkFormat,
6372    pub offset: u32,
6373}
6374#[repr(C)]
6375#[derive(Debug, Copy, Clone)]
6376pub struct VkPipelineVertexInputStateCreateInfo {
6377    pub sType: VkStructureType,
6378    pub pNext: *const ::std::os::raw::c_void,
6379    pub flags: VkPipelineVertexInputStateCreateFlags,
6380    pub vertexBindingDescriptionCount: u32,
6381    pub pVertexBindingDescriptions: *const VkVertexInputBindingDescription,
6382    pub vertexAttributeDescriptionCount: u32,
6383    pub pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription,
6384}
6385#[repr(C)]
6386#[derive(Debug, Copy, Clone)]
6387pub struct VkPipelineInputAssemblyStateCreateInfo {
6388    pub sType: VkStructureType,
6389    pub pNext: *const ::std::os::raw::c_void,
6390    pub flags: VkPipelineInputAssemblyStateCreateFlags,
6391    pub topology: VkPrimitiveTopology,
6392    pub primitiveRestartEnable: VkBool32,
6393}
6394#[repr(C)]
6395#[derive(Debug, Copy, Clone)]
6396pub struct VkPipelineTessellationStateCreateInfo {
6397    pub sType: VkStructureType,
6398    pub pNext: *const ::std::os::raw::c_void,
6399    pub flags: VkPipelineTessellationStateCreateFlags,
6400    pub patchControlPoints: u32,
6401}
6402#[repr(C)]
6403#[derive(Debug, Copy, Clone)]
6404pub struct VkViewport {
6405    pub x: f32,
6406    pub y: f32,
6407    pub width: f32,
6408    pub height: f32,
6409    pub minDepth: f32,
6410    pub maxDepth: f32,
6411}
6412#[repr(C)]
6413#[derive(Debug, Copy, Clone)]
6414pub struct VkPipelineViewportStateCreateInfo {
6415    pub sType: VkStructureType,
6416    pub pNext: *const ::std::os::raw::c_void,
6417    pub flags: VkPipelineViewportStateCreateFlags,
6418    pub viewportCount: u32,
6419    pub pViewports: *const VkViewport,
6420    pub scissorCount: u32,
6421    pub pScissors: *const VkRect2D,
6422}
6423#[repr(C)]
6424#[derive(Debug, Copy, Clone)]
6425pub struct VkPipelineRasterizationStateCreateInfo {
6426    pub sType: VkStructureType,
6427    pub pNext: *const ::std::os::raw::c_void,
6428    pub flags: VkPipelineRasterizationStateCreateFlags,
6429    pub depthClampEnable: VkBool32,
6430    pub rasterizerDiscardEnable: VkBool32,
6431    pub polygonMode: VkPolygonMode,
6432    pub cullMode: VkCullModeFlags,
6433    pub frontFace: VkFrontFace,
6434    pub depthBiasEnable: VkBool32,
6435    pub depthBiasConstantFactor: f32,
6436    pub depthBiasClamp: f32,
6437    pub depthBiasSlopeFactor: f32,
6438    pub lineWidth: f32,
6439}
6440#[repr(C)]
6441#[derive(Debug, Copy, Clone)]
6442pub struct VkPipelineMultisampleStateCreateInfo {
6443    pub sType: VkStructureType,
6444    pub pNext: *const ::std::os::raw::c_void,
6445    pub flags: VkPipelineMultisampleStateCreateFlags,
6446    pub rasterizationSamples: VkSampleCountFlagBits,
6447    pub sampleShadingEnable: VkBool32,
6448    pub minSampleShading: f32,
6449    pub pSampleMask: *const VkSampleMask,
6450    pub alphaToCoverageEnable: VkBool32,
6451    pub alphaToOneEnable: VkBool32,
6452}
6453#[repr(C)]
6454#[derive(Debug, Copy, Clone)]
6455pub struct VkStencilOpState {
6456    pub failOp: VkStencilOp,
6457    pub passOp: VkStencilOp,
6458    pub depthFailOp: VkStencilOp,
6459    pub compareOp: VkCompareOp,
6460    pub compareMask: u32,
6461    pub writeMask: u32,
6462    pub reference: u32,
6463}
6464#[repr(C)]
6465#[derive(Debug, Copy, Clone)]
6466pub struct VkPipelineDepthStencilStateCreateInfo {
6467    pub sType: VkStructureType,
6468    pub pNext: *const ::std::os::raw::c_void,
6469    pub flags: VkPipelineDepthStencilStateCreateFlags,
6470    pub depthTestEnable: VkBool32,
6471    pub depthWriteEnable: VkBool32,
6472    pub depthCompareOp: VkCompareOp,
6473    pub depthBoundsTestEnable: VkBool32,
6474    pub stencilTestEnable: VkBool32,
6475    pub front: VkStencilOpState,
6476    pub back: VkStencilOpState,
6477    pub minDepthBounds: f32,
6478    pub maxDepthBounds: f32,
6479}
6480#[repr(C)]
6481#[derive(Debug, Copy, Clone)]
6482pub struct VkPipelineColorBlendAttachmentState {
6483    pub blendEnable: VkBool32,
6484    pub srcColorBlendFactor: VkBlendFactor,
6485    pub dstColorBlendFactor: VkBlendFactor,
6486    pub colorBlendOp: VkBlendOp,
6487    pub srcAlphaBlendFactor: VkBlendFactor,
6488    pub dstAlphaBlendFactor: VkBlendFactor,
6489    pub alphaBlendOp: VkBlendOp,
6490    pub colorWriteMask: VkColorComponentFlags,
6491}
6492#[repr(C)]
6493#[derive(Debug, Copy, Clone)]
6494pub struct VkPipelineColorBlendStateCreateInfo {
6495    pub sType: VkStructureType,
6496    pub pNext: *const ::std::os::raw::c_void,
6497    pub flags: VkPipelineColorBlendStateCreateFlags,
6498    pub logicOpEnable: VkBool32,
6499    pub logicOp: VkLogicOp,
6500    pub attachmentCount: u32,
6501    pub pAttachments: *const VkPipelineColorBlendAttachmentState,
6502    pub blendConstants: [f32; 4usize],
6503}
6504#[repr(C)]
6505#[derive(Debug, Copy, Clone)]
6506pub struct VkPipelineDynamicStateCreateInfo {
6507    pub sType: VkStructureType,
6508    pub pNext: *const ::std::os::raw::c_void,
6509    pub flags: VkPipelineDynamicStateCreateFlags,
6510    pub dynamicStateCount: u32,
6511    pub pDynamicStates: *const VkDynamicState,
6512}
6513#[repr(C)]
6514#[derive(Debug, Copy, Clone)]
6515pub struct VkGraphicsPipelineCreateInfo {
6516    pub sType: VkStructureType,
6517    pub pNext: *const ::std::os::raw::c_void,
6518    pub flags: VkPipelineCreateFlags,
6519    pub stageCount: u32,
6520    pub pStages: *const VkPipelineShaderStageCreateInfo,
6521    pub pVertexInputState: *const VkPipelineVertexInputStateCreateInfo,
6522    pub pInputAssemblyState: *const VkPipelineInputAssemblyStateCreateInfo,
6523    pub pTessellationState: *const VkPipelineTessellationStateCreateInfo,
6524    pub pViewportState: *const VkPipelineViewportStateCreateInfo,
6525    pub pRasterizationState: *const VkPipelineRasterizationStateCreateInfo,
6526    pub pMultisampleState: *const VkPipelineMultisampleStateCreateInfo,
6527    pub pDepthStencilState: *const VkPipelineDepthStencilStateCreateInfo,
6528    pub pColorBlendState: *const VkPipelineColorBlendStateCreateInfo,
6529    pub pDynamicState: *const VkPipelineDynamicStateCreateInfo,
6530    pub layout: VkPipelineLayout,
6531    pub renderPass: VkRenderPass,
6532    pub subpass: u32,
6533    pub basePipelineHandle: VkPipeline,
6534    pub basePipelineIndex: i32,
6535}
6536#[repr(C)]
6537#[derive(Debug, Copy, Clone)]
6538pub struct VkPushConstantRange {
6539    pub stageFlags: VkShaderStageFlags,
6540    pub offset: u32,
6541    pub size: u32,
6542}
6543#[repr(C)]
6544#[derive(Debug, Copy, Clone)]
6545pub struct VkPipelineLayoutCreateInfo {
6546    pub sType: VkStructureType,
6547    pub pNext: *const ::std::os::raw::c_void,
6548    pub flags: VkPipelineLayoutCreateFlags,
6549    pub setLayoutCount: u32,
6550    pub pSetLayouts: *const VkDescriptorSetLayout,
6551    pub pushConstantRangeCount: u32,
6552    pub pPushConstantRanges: *const VkPushConstantRange,
6553}
6554#[repr(C)]
6555#[derive(Debug, Copy, Clone)]
6556pub struct VkSamplerCreateInfo {
6557    pub sType: VkStructureType,
6558    pub pNext: *const ::std::os::raw::c_void,
6559    pub flags: VkSamplerCreateFlags,
6560    pub magFilter: VkFilter,
6561    pub minFilter: VkFilter,
6562    pub mipmapMode: VkSamplerMipmapMode,
6563    pub addressModeU: VkSamplerAddressMode,
6564    pub addressModeV: VkSamplerAddressMode,
6565    pub addressModeW: VkSamplerAddressMode,
6566    pub mipLodBias: f32,
6567    pub anisotropyEnable: VkBool32,
6568    pub maxAnisotropy: f32,
6569    pub compareEnable: VkBool32,
6570    pub compareOp: VkCompareOp,
6571    pub minLod: f32,
6572    pub maxLod: f32,
6573    pub borderColor: VkBorderColor,
6574    pub unnormalizedCoordinates: VkBool32,
6575}
6576#[repr(C)]
6577#[derive(Debug, Copy, Clone)]
6578pub struct VkCopyDescriptorSet {
6579    pub sType: VkStructureType,
6580    pub pNext: *const ::std::os::raw::c_void,
6581    pub srcSet: VkDescriptorSet,
6582    pub srcBinding: u32,
6583    pub srcArrayElement: u32,
6584    pub dstSet: VkDescriptorSet,
6585    pub dstBinding: u32,
6586    pub dstArrayElement: u32,
6587    pub descriptorCount: u32,
6588}
6589#[repr(C)]
6590#[derive(Debug, Copy, Clone)]
6591pub struct VkDescriptorBufferInfo {
6592    pub buffer: VkBuffer,
6593    pub offset: VkDeviceSize,
6594    pub range: VkDeviceSize,
6595}
6596#[repr(C)]
6597#[derive(Debug, Copy, Clone)]
6598pub struct VkDescriptorImageInfo {
6599    pub sampler: VkSampler,
6600    pub imageView: VkImageView,
6601    pub imageLayout: VkImageLayout,
6602}
6603#[repr(C)]
6604#[derive(Debug, Copy, Clone)]
6605pub struct VkDescriptorPoolSize {
6606    pub type_: VkDescriptorType,
6607    pub descriptorCount: u32,
6608}
6609#[repr(C)]
6610#[derive(Debug, Copy, Clone)]
6611pub struct VkDescriptorPoolCreateInfo {
6612    pub sType: VkStructureType,
6613    pub pNext: *const ::std::os::raw::c_void,
6614    pub flags: VkDescriptorPoolCreateFlags,
6615    pub maxSets: u32,
6616    pub poolSizeCount: u32,
6617    pub pPoolSizes: *const VkDescriptorPoolSize,
6618}
6619#[repr(C)]
6620#[derive(Debug, Copy, Clone)]
6621pub struct VkDescriptorSetAllocateInfo {
6622    pub sType: VkStructureType,
6623    pub pNext: *const ::std::os::raw::c_void,
6624    pub descriptorPool: VkDescriptorPool,
6625    pub descriptorSetCount: u32,
6626    pub pSetLayouts: *const VkDescriptorSetLayout,
6627}
6628#[repr(C)]
6629#[derive(Debug, Copy, Clone)]
6630pub struct VkDescriptorSetLayoutBinding {
6631    pub binding: u32,
6632    pub descriptorType: VkDescriptorType,
6633    pub descriptorCount: u32,
6634    pub stageFlags: VkShaderStageFlags,
6635    pub pImmutableSamplers: *const VkSampler,
6636}
6637#[repr(C)]
6638#[derive(Debug, Copy, Clone)]
6639pub struct VkDescriptorSetLayoutCreateInfo {
6640    pub sType: VkStructureType,
6641    pub pNext: *const ::std::os::raw::c_void,
6642    pub flags: VkDescriptorSetLayoutCreateFlags,
6643    pub bindingCount: u32,
6644    pub pBindings: *const VkDescriptorSetLayoutBinding,
6645}
6646#[repr(C)]
6647#[derive(Debug, Copy, Clone)]
6648pub struct VkWriteDescriptorSet {
6649    pub sType: VkStructureType,
6650    pub pNext: *const ::std::os::raw::c_void,
6651    pub dstSet: VkDescriptorSet,
6652    pub dstBinding: u32,
6653    pub dstArrayElement: u32,
6654    pub descriptorCount: u32,
6655    pub descriptorType: VkDescriptorType,
6656    pub pImageInfo: *const VkDescriptorImageInfo,
6657    pub pBufferInfo: *const VkDescriptorBufferInfo,
6658    pub pTexelBufferView: *const VkBufferView,
6659}
6660#[repr(C)]
6661#[derive(Debug, Copy, Clone)]
6662pub struct VkAttachmentDescription {
6663    pub flags: VkAttachmentDescriptionFlags,
6664    pub format: VkFormat,
6665    pub samples: VkSampleCountFlagBits,
6666    pub loadOp: VkAttachmentLoadOp,
6667    pub storeOp: VkAttachmentStoreOp,
6668    pub stencilLoadOp: VkAttachmentLoadOp,
6669    pub stencilStoreOp: VkAttachmentStoreOp,
6670    pub initialLayout: VkImageLayout,
6671    pub finalLayout: VkImageLayout,
6672}
6673#[repr(C)]
6674#[derive(Debug, Copy, Clone)]
6675pub struct VkAttachmentReference {
6676    pub attachment: u32,
6677    pub layout: VkImageLayout,
6678}
6679#[repr(C)]
6680#[derive(Debug, Copy, Clone)]
6681pub struct VkFramebufferCreateInfo {
6682    pub sType: VkStructureType,
6683    pub pNext: *const ::std::os::raw::c_void,
6684    pub flags: VkFramebufferCreateFlags,
6685    pub renderPass: VkRenderPass,
6686    pub attachmentCount: u32,
6687    pub pAttachments: *const VkImageView,
6688    pub width: u32,
6689    pub height: u32,
6690    pub layers: u32,
6691}
6692#[repr(C)]
6693#[derive(Debug, Copy, Clone)]
6694pub struct VkSubpassDescription {
6695    pub flags: VkSubpassDescriptionFlags,
6696    pub pipelineBindPoint: VkPipelineBindPoint,
6697    pub inputAttachmentCount: u32,
6698    pub pInputAttachments: *const VkAttachmentReference,
6699    pub colorAttachmentCount: u32,
6700    pub pColorAttachments: *const VkAttachmentReference,
6701    pub pResolveAttachments: *const VkAttachmentReference,
6702    pub pDepthStencilAttachment: *const VkAttachmentReference,
6703    pub preserveAttachmentCount: u32,
6704    pub pPreserveAttachments: *const u32,
6705}
6706#[repr(C)]
6707#[derive(Debug, Copy, Clone)]
6708pub struct VkSubpassDependency {
6709    pub srcSubpass: u32,
6710    pub dstSubpass: u32,
6711    pub srcStageMask: VkPipelineStageFlags,
6712    pub dstStageMask: VkPipelineStageFlags,
6713    pub srcAccessMask: VkAccessFlags,
6714    pub dstAccessMask: VkAccessFlags,
6715    pub dependencyFlags: VkDependencyFlags,
6716}
6717#[repr(C)]
6718#[derive(Debug, Copy, Clone)]
6719pub struct VkRenderPassCreateInfo {
6720    pub sType: VkStructureType,
6721    pub pNext: *const ::std::os::raw::c_void,
6722    pub flags: VkRenderPassCreateFlags,
6723    pub attachmentCount: u32,
6724    pub pAttachments: *const VkAttachmentDescription,
6725    pub subpassCount: u32,
6726    pub pSubpasses: *const VkSubpassDescription,
6727    pub dependencyCount: u32,
6728    pub pDependencies: *const VkSubpassDependency,
6729}
6730#[repr(C)]
6731#[derive(Debug, Copy, Clone)]
6732pub struct VkCommandPoolCreateInfo {
6733    pub sType: VkStructureType,
6734    pub pNext: *const ::std::os::raw::c_void,
6735    pub flags: VkCommandPoolCreateFlags,
6736    pub queueFamilyIndex: u32,
6737}
6738#[repr(C)]
6739#[derive(Debug, Copy, Clone)]
6740pub struct VkCommandBufferAllocateInfo {
6741    pub sType: VkStructureType,
6742    pub pNext: *const ::std::os::raw::c_void,
6743    pub commandPool: VkCommandPool,
6744    pub level: VkCommandBufferLevel,
6745    pub commandBufferCount: u32,
6746}
6747#[repr(C)]
6748#[derive(Debug, Copy, Clone)]
6749pub struct VkCommandBufferInheritanceInfo {
6750    pub sType: VkStructureType,
6751    pub pNext: *const ::std::os::raw::c_void,
6752    pub renderPass: VkRenderPass,
6753    pub subpass: u32,
6754    pub framebuffer: VkFramebuffer,
6755    pub occlusionQueryEnable: VkBool32,
6756    pub queryFlags: VkQueryControlFlags,
6757    pub pipelineStatistics: VkQueryPipelineStatisticFlags,
6758}
6759#[repr(C)]
6760#[derive(Debug, Copy, Clone)]
6761pub struct VkCommandBufferBeginInfo {
6762    pub sType: VkStructureType,
6763    pub pNext: *const ::std::os::raw::c_void,
6764    pub flags: VkCommandBufferUsageFlags,
6765    pub pInheritanceInfo: *const VkCommandBufferInheritanceInfo,
6766}
6767#[repr(C)]
6768#[derive(Debug, Copy, Clone)]
6769pub struct VkBufferCopy {
6770    pub srcOffset: VkDeviceSize,
6771    pub dstOffset: VkDeviceSize,
6772    pub size: VkDeviceSize,
6773}
6774#[repr(C)]
6775#[derive(Debug, Copy, Clone)]
6776pub struct VkImageSubresourceLayers {
6777    pub aspectMask: VkImageAspectFlags,
6778    pub mipLevel: u32,
6779    pub baseArrayLayer: u32,
6780    pub layerCount: u32,
6781}
6782#[repr(C)]
6783#[derive(Debug, Copy, Clone)]
6784pub struct VkBufferImageCopy {
6785    pub bufferOffset: VkDeviceSize,
6786    pub bufferRowLength: u32,
6787    pub bufferImageHeight: u32,
6788    pub imageSubresource: VkImageSubresourceLayers,
6789    pub imageOffset: VkOffset3D,
6790    pub imageExtent: VkExtent3D,
6791}
6792#[repr(C)]
6793#[derive(Copy, Clone)]
6794pub union VkClearColorValue {
6795    pub float32: [f32; 4usize],
6796    pub int32: [i32; 4usize],
6797    pub uint32: [u32; 4usize],
6798}
6799#[repr(C)]
6800#[derive(Debug, Copy, Clone)]
6801pub struct VkClearDepthStencilValue {
6802    pub depth: f32,
6803    pub stencil: u32,
6804}
6805#[repr(C)]
6806#[derive(Copy, Clone)]
6807pub union VkClearValue {
6808    pub color: VkClearColorValue,
6809    pub depthStencil: VkClearDepthStencilValue,
6810}
6811#[repr(C)]
6812#[derive(Copy, Clone)]
6813pub struct VkClearAttachment {
6814    pub aspectMask: VkImageAspectFlags,
6815    pub colorAttachment: u32,
6816    pub clearValue: VkClearValue,
6817}
6818#[repr(C)]
6819#[derive(Debug, Copy, Clone)]
6820pub struct VkClearRect {
6821    pub rect: VkRect2D,
6822    pub baseArrayLayer: u32,
6823    pub layerCount: u32,
6824}
6825#[repr(C)]
6826#[derive(Debug, Copy, Clone)]
6827pub struct VkImageBlit {
6828    pub srcSubresource: VkImageSubresourceLayers,
6829    pub srcOffsets: [VkOffset3D; 2usize],
6830    pub dstSubresource: VkImageSubresourceLayers,
6831    pub dstOffsets: [VkOffset3D; 2usize],
6832}
6833#[repr(C)]
6834#[derive(Debug, Copy, Clone)]
6835pub struct VkImageCopy {
6836    pub srcSubresource: VkImageSubresourceLayers,
6837    pub srcOffset: VkOffset3D,
6838    pub dstSubresource: VkImageSubresourceLayers,
6839    pub dstOffset: VkOffset3D,
6840    pub extent: VkExtent3D,
6841}
6842#[repr(C)]
6843#[derive(Debug, Copy, Clone)]
6844pub struct VkImageResolve {
6845    pub srcSubresource: VkImageSubresourceLayers,
6846    pub srcOffset: VkOffset3D,
6847    pub dstSubresource: VkImageSubresourceLayers,
6848    pub dstOffset: VkOffset3D,
6849    pub extent: VkExtent3D,
6850}
6851#[repr(C)]
6852#[derive(Debug, Copy, Clone)]
6853pub struct VkRenderPassBeginInfo {
6854    pub sType: VkStructureType,
6855    pub pNext: *const ::std::os::raw::c_void,
6856    pub renderPass: VkRenderPass,
6857    pub framebuffer: VkFramebuffer,
6858    pub renderArea: VkRect2D,
6859    pub clearValueCount: u32,
6860    pub pClearValues: *const VkClearValue,
6861}
6862pub type PFN_vkCreateInstance = 
6863    unsafe extern "C" fn(
6864        pCreateInfo: *const VkInstanceCreateInfo,
6865        pAllocator: *const VkAllocationCallbacks,
6866        pInstance: *mut VkInstance,
6867    ) -> VkResult;
6868
6869pub type PFN_vkDestroyInstance = 
6870    unsafe extern "C" fn(instance: VkInstance, pAllocator: *const VkAllocationCallbacks);
6871
6872pub type PFN_vkEnumeratePhysicalDevices = 
6873    unsafe extern "C" fn(
6874        instance: VkInstance,
6875        pPhysicalDeviceCount: *mut u32,
6876        pPhysicalDevices: *mut VkPhysicalDevice,
6877    ) -> VkResult;
6878
6879pub type PFN_vkGetPhysicalDeviceFeatures = 
6880    unsafe extern "C" fn(
6881        physicalDevice: VkPhysicalDevice,
6882        pFeatures: *mut VkPhysicalDeviceFeatures,
6883    );
6884
6885pub type PFN_vkGetPhysicalDeviceFormatProperties = 
6886    unsafe extern "C" fn(
6887        physicalDevice: VkPhysicalDevice,
6888        format: VkFormat,
6889        pFormatProperties: *mut VkFormatProperties,
6890    );
6891
6892pub type PFN_vkGetPhysicalDeviceImageFormatProperties = 
6893    unsafe extern "C" fn(
6894        physicalDevice: VkPhysicalDevice,
6895        format: VkFormat,
6896        type_: VkImageType,
6897        tiling: VkImageTiling,
6898        usage: VkImageUsageFlags,
6899        flags: VkImageCreateFlags,
6900        pImageFormatProperties: *mut VkImageFormatProperties,
6901    ) -> VkResult;
6902
6903pub type PFN_vkGetPhysicalDeviceProperties = 
6904    unsafe extern "C" fn(
6905        physicalDevice: VkPhysicalDevice,
6906        pProperties: *mut VkPhysicalDeviceProperties,
6907    );
6908
6909pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = 
6910    unsafe extern "C" fn(
6911        physicalDevice: VkPhysicalDevice,
6912        pQueueFamilyPropertyCount: *mut u32,
6913        pQueueFamilyProperties: *mut VkQueueFamilyProperties,
6914    );
6915
6916pub type PFN_vkGetPhysicalDeviceMemoryProperties = 
6917    unsafe extern "C" fn(
6918        physicalDevice: VkPhysicalDevice,
6919        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
6920    );
6921
6922pub type PFN_vkGetInstanceProcAddr = 
6923    unsafe extern "C" fn(
6924        instance: VkInstance,
6925        pName: *const ::std::os::raw::c_char,
6926    ) -> PFN_vkVoidFunction;
6927
6928pub type PFN_vkGetDeviceProcAddr = 
6929    unsafe extern "C" fn(
6930        device: VkDevice,
6931        pName: *const ::std::os::raw::c_char,
6932    ) -> PFN_vkVoidFunction;
6933
6934pub type PFN_vkCreateDevice = 
6935    unsafe extern "C" fn(
6936        physicalDevice: VkPhysicalDevice,
6937        pCreateInfo: *const VkDeviceCreateInfo,
6938        pAllocator: *const VkAllocationCallbacks,
6939        pDevice: *mut VkDevice,
6940    ) -> VkResult;
6941
6942pub type PFN_vkDestroyDevice = 
6943    unsafe extern "C" fn(device: VkDevice, pAllocator: *const VkAllocationCallbacks);
6944
6945pub type PFN_vkEnumerateInstanceExtensionProperties = 
6946    unsafe extern "C" fn(
6947        pLayerName: *const ::std::os::raw::c_char,
6948        pPropertyCount: *mut u32,
6949        pProperties: *mut VkExtensionProperties,
6950    ) -> VkResult;
6951
6952pub type PFN_vkEnumerateDeviceExtensionProperties = 
6953    unsafe extern "C" fn(
6954        physicalDevice: VkPhysicalDevice,
6955        pLayerName: *const ::std::os::raw::c_char,
6956        pPropertyCount: *mut u32,
6957        pProperties: *mut VkExtensionProperties,
6958    ) -> VkResult;
6959
6960pub type PFN_vkEnumerateInstanceLayerProperties = 
6961    unsafe extern "C" fn(pPropertyCount: *mut u32, pProperties: *mut VkLayerProperties) -> VkResult;
6962
6963pub type PFN_vkEnumerateDeviceLayerProperties = 
6964    unsafe extern "C" fn(
6965        physicalDevice: VkPhysicalDevice,
6966        pPropertyCount: *mut u32,
6967        pProperties: *mut VkLayerProperties,
6968    ) -> VkResult;
6969
6970pub type PFN_vkGetDeviceQueue = 
6971    unsafe extern "C" fn(
6972        device: VkDevice,
6973        queueFamilyIndex: u32,
6974        queueIndex: u32,
6975        pQueue: *mut VkQueue,
6976    );
6977
6978pub type PFN_vkQueueSubmit = 
6979    unsafe extern "C" fn(
6980        queue: VkQueue,
6981        submitCount: u32,
6982        pSubmits: *const VkSubmitInfo,
6983        fence: VkFence,
6984    ) -> VkResult;
6985
6986pub type PFN_vkQueueWaitIdle =
6987    unsafe extern "C" fn(queue: VkQueue) -> VkResult;
6988pub type PFN_vkDeviceWaitIdle =
6989    unsafe extern "C" fn(device: VkDevice) -> VkResult;
6990pub type PFN_vkAllocateMemory = 
6991    unsafe extern "C" fn(
6992        device: VkDevice,
6993        pAllocateInfo: *const VkMemoryAllocateInfo,
6994        pAllocator: *const VkAllocationCallbacks,
6995        pMemory: *mut VkDeviceMemory,
6996    ) -> VkResult;
6997
6998pub type PFN_vkFreeMemory = 
6999    unsafe extern "C" fn(
7000        device: VkDevice,
7001        memory: VkDeviceMemory,
7002        pAllocator: *const VkAllocationCallbacks,
7003    );
7004
7005pub type PFN_vkMapMemory = 
7006    unsafe extern "C" fn(
7007        device: VkDevice,
7008        memory: VkDeviceMemory,
7009        offset: VkDeviceSize,
7010        size: VkDeviceSize,
7011        flags: VkMemoryMapFlags,
7012        ppData: *mut *mut ::std::os::raw::c_void,
7013    ) -> VkResult;
7014
7015pub type PFN_vkUnmapMemory =
7016    unsafe extern "C" fn(device: VkDevice, memory: VkDeviceMemory);
7017pub type PFN_vkFlushMappedMemoryRanges = 
7018    unsafe extern "C" fn(
7019        device: VkDevice,
7020        memoryRangeCount: u32,
7021        pMemoryRanges: *const VkMappedMemoryRange,
7022    ) -> VkResult;
7023
7024pub type PFN_vkInvalidateMappedMemoryRanges = 
7025    unsafe extern "C" fn(
7026        device: VkDevice,
7027        memoryRangeCount: u32,
7028        pMemoryRanges: *const VkMappedMemoryRange,
7029    ) -> VkResult;
7030
7031pub type PFN_vkGetDeviceMemoryCommitment = 
7032    unsafe extern "C" fn(
7033        device: VkDevice,
7034        memory: VkDeviceMemory,
7035        pCommittedMemoryInBytes: *mut VkDeviceSize,
7036    );
7037
7038pub type PFN_vkBindBufferMemory = 
7039    unsafe extern "C" fn(
7040        device: VkDevice,
7041        buffer: VkBuffer,
7042        memory: VkDeviceMemory,
7043        memoryOffset: VkDeviceSize,
7044    ) -> VkResult;
7045
7046pub type PFN_vkBindImageMemory = 
7047    unsafe extern "C" fn(
7048        device: VkDevice,
7049        image: VkImage,
7050        memory: VkDeviceMemory,
7051        memoryOffset: VkDeviceSize,
7052    ) -> VkResult;
7053
7054pub type PFN_vkGetBufferMemoryRequirements = 
7055    unsafe extern "C" fn(
7056        device: VkDevice,
7057        buffer: VkBuffer,
7058        pMemoryRequirements: *mut VkMemoryRequirements,
7059    );
7060
7061pub type PFN_vkGetImageMemoryRequirements = 
7062    unsafe extern "C" fn(
7063        device: VkDevice,
7064        image: VkImage,
7065        pMemoryRequirements: *mut VkMemoryRequirements,
7066    );
7067
7068pub type PFN_vkGetImageSparseMemoryRequirements = 
7069    unsafe extern "C" fn(
7070        device: VkDevice,
7071        image: VkImage,
7072        pSparseMemoryRequirementCount: *mut u32,
7073        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
7074    );
7075
7076pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = 
7077    unsafe extern "C" fn(
7078        physicalDevice: VkPhysicalDevice,
7079        format: VkFormat,
7080        type_: VkImageType,
7081        samples: VkSampleCountFlagBits,
7082        usage: VkImageUsageFlags,
7083        tiling: VkImageTiling,
7084        pPropertyCount: *mut u32,
7085        pProperties: *mut VkSparseImageFormatProperties,
7086    );
7087
7088pub type PFN_vkQueueBindSparse = 
7089    unsafe extern "C" fn(
7090        queue: VkQueue,
7091        bindInfoCount: u32,
7092        pBindInfo: *const VkBindSparseInfo,
7093        fence: VkFence,
7094    ) -> VkResult;
7095
7096pub type PFN_vkCreateFence = 
7097    unsafe extern "C" fn(
7098        device: VkDevice,
7099        pCreateInfo: *const VkFenceCreateInfo,
7100        pAllocator: *const VkAllocationCallbacks,
7101        pFence: *mut VkFence,
7102    ) -> VkResult;
7103
7104pub type PFN_vkDestroyFence = 
7105    unsafe extern "C" fn(
7106        device: VkDevice,
7107        fence: VkFence,
7108        pAllocator: *const VkAllocationCallbacks,
7109    );
7110
7111pub type PFN_vkResetFences = 
7112    unsafe extern "C" fn(device: VkDevice, fenceCount: u32, pFences: *const VkFence) -> VkResult;
7113
7114pub type PFN_vkGetFenceStatus =
7115    unsafe extern "C" fn(device: VkDevice, fence: VkFence) -> VkResult;
7116pub type PFN_vkWaitForFences = 
7117    unsafe extern "C" fn(
7118        device: VkDevice,
7119        fenceCount: u32,
7120        pFences: *const VkFence,
7121        waitAll: VkBool32,
7122        timeout: u64,
7123    ) -> VkResult;
7124
7125pub type PFN_vkCreateSemaphore = 
7126    unsafe extern "C" fn(
7127        device: VkDevice,
7128        pCreateInfo: *const VkSemaphoreCreateInfo,
7129        pAllocator: *const VkAllocationCallbacks,
7130        pSemaphore: *mut VkSemaphore,
7131    ) -> VkResult;
7132
7133pub type PFN_vkDestroySemaphore = 
7134    unsafe extern "C" fn(
7135        device: VkDevice,
7136        semaphore: VkSemaphore,
7137        pAllocator: *const VkAllocationCallbacks,
7138    );
7139
7140pub type PFN_vkCreateEvent = 
7141    unsafe extern "C" fn(
7142        device: VkDevice,
7143        pCreateInfo: *const VkEventCreateInfo,
7144        pAllocator: *const VkAllocationCallbacks,
7145        pEvent: *mut VkEvent,
7146    ) -> VkResult;
7147
7148pub type PFN_vkDestroyEvent = 
7149    unsafe extern "C" fn(
7150        device: VkDevice,
7151        event: VkEvent,
7152        pAllocator: *const VkAllocationCallbacks,
7153    );
7154
7155pub type PFN_vkGetEventStatus =
7156    unsafe extern "C" fn(device: VkDevice, event: VkEvent) -> VkResult;
7157pub type PFN_vkSetEvent =
7158    unsafe extern "C" fn(device: VkDevice, event: VkEvent) -> VkResult;
7159pub type PFN_vkResetEvent =
7160    unsafe extern "C" fn(device: VkDevice, event: VkEvent) -> VkResult;
7161pub type PFN_vkCreateQueryPool = 
7162    unsafe extern "C" fn(
7163        device: VkDevice,
7164        pCreateInfo: *const VkQueryPoolCreateInfo,
7165        pAllocator: *const VkAllocationCallbacks,
7166        pQueryPool: *mut VkQueryPool,
7167    ) -> VkResult;
7168
7169pub type PFN_vkDestroyQueryPool = 
7170    unsafe extern "C" fn(
7171        device: VkDevice,
7172        queryPool: VkQueryPool,
7173        pAllocator: *const VkAllocationCallbacks,
7174    );
7175
7176pub type PFN_vkGetQueryPoolResults = 
7177    unsafe extern "C" fn(
7178        device: VkDevice,
7179        queryPool: VkQueryPool,
7180        firstQuery: u32,
7181        queryCount: u32,
7182        dataSize: usize,
7183        pData: *mut ::std::os::raw::c_void,
7184        stride: VkDeviceSize,
7185        flags: VkQueryResultFlags,
7186    ) -> VkResult;
7187
7188pub type PFN_vkCreateBuffer = 
7189    unsafe extern "C" fn(
7190        device: VkDevice,
7191        pCreateInfo: *const VkBufferCreateInfo,
7192        pAllocator: *const VkAllocationCallbacks,
7193        pBuffer: *mut VkBuffer,
7194    ) -> VkResult;
7195
7196pub type PFN_vkDestroyBuffer = 
7197    unsafe extern "C" fn(
7198        device: VkDevice,
7199        buffer: VkBuffer,
7200        pAllocator: *const VkAllocationCallbacks,
7201    );
7202
7203pub type PFN_vkCreateBufferView = 
7204    unsafe extern "C" fn(
7205        device: VkDevice,
7206        pCreateInfo: *const VkBufferViewCreateInfo,
7207        pAllocator: *const VkAllocationCallbacks,
7208        pView: *mut VkBufferView,
7209    ) -> VkResult;
7210
7211pub type PFN_vkDestroyBufferView = 
7212    unsafe extern "C" fn(
7213        device: VkDevice,
7214        bufferView: VkBufferView,
7215        pAllocator: *const VkAllocationCallbacks,
7216    );
7217
7218pub type PFN_vkCreateImage = 
7219    unsafe extern "C" fn(
7220        device: VkDevice,
7221        pCreateInfo: *const VkImageCreateInfo,
7222        pAllocator: *const VkAllocationCallbacks,
7223        pImage: *mut VkImage,
7224    ) -> VkResult;
7225
7226pub type PFN_vkDestroyImage = 
7227    unsafe extern "C" fn(
7228        device: VkDevice,
7229        image: VkImage,
7230        pAllocator: *const VkAllocationCallbacks,
7231    );
7232
7233pub type PFN_vkGetImageSubresourceLayout = 
7234    unsafe extern "C" fn(
7235        device: VkDevice,
7236        image: VkImage,
7237        pSubresource: *const VkImageSubresource,
7238        pLayout: *mut VkSubresourceLayout,
7239    );
7240
7241pub type PFN_vkCreateImageView = 
7242    unsafe extern "C" fn(
7243        device: VkDevice,
7244        pCreateInfo: *const VkImageViewCreateInfo,
7245        pAllocator: *const VkAllocationCallbacks,
7246        pView: *mut VkImageView,
7247    ) -> VkResult;
7248
7249pub type PFN_vkDestroyImageView = 
7250    unsafe extern "C" fn(
7251        device: VkDevice,
7252        imageView: VkImageView,
7253        pAllocator: *const VkAllocationCallbacks,
7254    );
7255
7256pub type PFN_vkCreateShaderModule = 
7257    unsafe extern "C" fn(
7258        device: VkDevice,
7259        pCreateInfo: *const VkShaderModuleCreateInfo,
7260        pAllocator: *const VkAllocationCallbacks,
7261        pShaderModule: *mut VkShaderModule,
7262    ) -> VkResult;
7263
7264pub type PFN_vkDestroyShaderModule = 
7265    unsafe extern "C" fn(
7266        device: VkDevice,
7267        shaderModule: VkShaderModule,
7268        pAllocator: *const VkAllocationCallbacks,
7269    );
7270
7271pub type PFN_vkCreatePipelineCache = 
7272    unsafe extern "C" fn(
7273        device: VkDevice,
7274        pCreateInfo: *const VkPipelineCacheCreateInfo,
7275        pAllocator: *const VkAllocationCallbacks,
7276        pPipelineCache: *mut VkPipelineCache,
7277    ) -> VkResult;
7278
7279pub type PFN_vkDestroyPipelineCache = 
7280    unsafe extern "C" fn(
7281        device: VkDevice,
7282        pipelineCache: VkPipelineCache,
7283        pAllocator: *const VkAllocationCallbacks,
7284    );
7285
7286pub type PFN_vkGetPipelineCacheData = 
7287    unsafe extern "C" fn(
7288        device: VkDevice,
7289        pipelineCache: VkPipelineCache,
7290        pDataSize: *mut usize,
7291        pData: *mut ::std::os::raw::c_void,
7292    ) -> VkResult;
7293
7294pub type PFN_vkMergePipelineCaches = 
7295    unsafe extern "C" fn(
7296        device: VkDevice,
7297        dstCache: VkPipelineCache,
7298        srcCacheCount: u32,
7299        pSrcCaches: *const VkPipelineCache,
7300    ) -> VkResult;
7301
7302pub type PFN_vkCreateGraphicsPipelines = 
7303    unsafe extern "C" fn(
7304        device: VkDevice,
7305        pipelineCache: VkPipelineCache,
7306        createInfoCount: u32,
7307        pCreateInfos: *const VkGraphicsPipelineCreateInfo,
7308        pAllocator: *const VkAllocationCallbacks,
7309        pPipelines: *mut VkPipeline,
7310    ) -> VkResult;
7311
7312pub type PFN_vkCreateComputePipelines = 
7313    unsafe extern "C" fn(
7314        device: VkDevice,
7315        pipelineCache: VkPipelineCache,
7316        createInfoCount: u32,
7317        pCreateInfos: *const VkComputePipelineCreateInfo,
7318        pAllocator: *const VkAllocationCallbacks,
7319        pPipelines: *mut VkPipeline,
7320    ) -> VkResult;
7321
7322pub type PFN_vkDestroyPipeline = 
7323    unsafe extern "C" fn(
7324        device: VkDevice,
7325        pipeline: VkPipeline,
7326        pAllocator: *const VkAllocationCallbacks,
7327    );
7328
7329pub type PFN_vkCreatePipelineLayout = 
7330    unsafe extern "C" fn(
7331        device: VkDevice,
7332        pCreateInfo: *const VkPipelineLayoutCreateInfo,
7333        pAllocator: *const VkAllocationCallbacks,
7334        pPipelineLayout: *mut VkPipelineLayout,
7335    ) -> VkResult;
7336
7337pub type PFN_vkDestroyPipelineLayout = 
7338    unsafe extern "C" fn(
7339        device: VkDevice,
7340        pipelineLayout: VkPipelineLayout,
7341        pAllocator: *const VkAllocationCallbacks,
7342    );
7343
7344pub type PFN_vkCreateSampler = 
7345    unsafe extern "C" fn(
7346        device: VkDevice,
7347        pCreateInfo: *const VkSamplerCreateInfo,
7348        pAllocator: *const VkAllocationCallbacks,
7349        pSampler: *mut VkSampler,
7350    ) -> VkResult;
7351
7352pub type PFN_vkDestroySampler = 
7353    unsafe extern "C" fn(
7354        device: VkDevice,
7355        sampler: VkSampler,
7356        pAllocator: *const VkAllocationCallbacks,
7357    );
7358
7359pub type PFN_vkCreateDescriptorSetLayout = 
7360    unsafe extern "C" fn(
7361        device: VkDevice,
7362        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
7363        pAllocator: *const VkAllocationCallbacks,
7364        pSetLayout: *mut VkDescriptorSetLayout,
7365    ) -> VkResult;
7366
7367pub type PFN_vkDestroyDescriptorSetLayout = 
7368    unsafe extern "C" fn(
7369        device: VkDevice,
7370        descriptorSetLayout: VkDescriptorSetLayout,
7371        pAllocator: *const VkAllocationCallbacks,
7372    );
7373
7374pub type PFN_vkCreateDescriptorPool = 
7375    unsafe extern "C" fn(
7376        device: VkDevice,
7377        pCreateInfo: *const VkDescriptorPoolCreateInfo,
7378        pAllocator: *const VkAllocationCallbacks,
7379        pDescriptorPool: *mut VkDescriptorPool,
7380    ) -> VkResult;
7381
7382pub type PFN_vkDestroyDescriptorPool = 
7383    unsafe extern "C" fn(
7384        device: VkDevice,
7385        descriptorPool: VkDescriptorPool,
7386        pAllocator: *const VkAllocationCallbacks,
7387    );
7388
7389pub type PFN_vkResetDescriptorPool = 
7390    unsafe extern "C" fn(
7391        device: VkDevice,
7392        descriptorPool: VkDescriptorPool,
7393        flags: VkDescriptorPoolResetFlags,
7394    ) -> VkResult;
7395
7396pub type PFN_vkAllocateDescriptorSets = 
7397    unsafe extern "C" fn(
7398        device: VkDevice,
7399        pAllocateInfo: *const VkDescriptorSetAllocateInfo,
7400        pDescriptorSets: *mut VkDescriptorSet,
7401    ) -> VkResult;
7402
7403pub type PFN_vkFreeDescriptorSets = 
7404    unsafe extern "C" fn(
7405        device: VkDevice,
7406        descriptorPool: VkDescriptorPool,
7407        descriptorSetCount: u32,
7408        pDescriptorSets: *const VkDescriptorSet,
7409    ) -> VkResult;
7410
7411pub type PFN_vkUpdateDescriptorSets = 
7412    unsafe extern "C" fn(
7413        device: VkDevice,
7414        descriptorWriteCount: u32,
7415        pDescriptorWrites: *const VkWriteDescriptorSet,
7416        descriptorCopyCount: u32,
7417        pDescriptorCopies: *const VkCopyDescriptorSet,
7418    );
7419
7420pub type PFN_vkCreateFramebuffer = 
7421    unsafe extern "C" fn(
7422        device: VkDevice,
7423        pCreateInfo: *const VkFramebufferCreateInfo,
7424        pAllocator: *const VkAllocationCallbacks,
7425        pFramebuffer: *mut VkFramebuffer,
7426    ) -> VkResult;
7427
7428pub type PFN_vkDestroyFramebuffer = 
7429    unsafe extern "C" fn(
7430        device: VkDevice,
7431        framebuffer: VkFramebuffer,
7432        pAllocator: *const VkAllocationCallbacks,
7433    );
7434
7435pub type PFN_vkCreateRenderPass = 
7436    unsafe extern "C" fn(
7437        device: VkDevice,
7438        pCreateInfo: *const VkRenderPassCreateInfo,
7439        pAllocator: *const VkAllocationCallbacks,
7440        pRenderPass: *mut VkRenderPass,
7441    ) -> VkResult;
7442
7443pub type PFN_vkDestroyRenderPass = 
7444    unsafe extern "C" fn(
7445        device: VkDevice,
7446        renderPass: VkRenderPass,
7447        pAllocator: *const VkAllocationCallbacks,
7448    );
7449
7450pub type PFN_vkGetRenderAreaGranularity = 
7451    unsafe extern "C" fn(device: VkDevice, renderPass: VkRenderPass, pGranularity: *mut VkExtent2D);
7452
7453pub type PFN_vkCreateCommandPool = 
7454    unsafe extern "C" fn(
7455        device: VkDevice,
7456        pCreateInfo: *const VkCommandPoolCreateInfo,
7457        pAllocator: *const VkAllocationCallbacks,
7458        pCommandPool: *mut VkCommandPool,
7459    ) -> VkResult;
7460
7461pub type PFN_vkDestroyCommandPool = 
7462    unsafe extern "C" fn(
7463        device: VkDevice,
7464        commandPool: VkCommandPool,
7465        pAllocator: *const VkAllocationCallbacks,
7466    );
7467
7468pub type PFN_vkResetCommandPool = 
7469    unsafe extern "C" fn(
7470        device: VkDevice,
7471        commandPool: VkCommandPool,
7472        flags: VkCommandPoolResetFlags,
7473    ) -> VkResult;
7474
7475pub type PFN_vkAllocateCommandBuffers = 
7476    unsafe extern "C" fn(
7477        device: VkDevice,
7478        pAllocateInfo: *const VkCommandBufferAllocateInfo,
7479        pCommandBuffers: *mut VkCommandBuffer,
7480    ) -> VkResult;
7481
7482pub type PFN_vkFreeCommandBuffers = 
7483    unsafe extern "C" fn(
7484        device: VkDevice,
7485        commandPool: VkCommandPool,
7486        commandBufferCount: u32,
7487        pCommandBuffers: *const VkCommandBuffer,
7488    );
7489
7490pub type PFN_vkBeginCommandBuffer = 
7491    unsafe extern "C" fn(
7492        commandBuffer: VkCommandBuffer,
7493        pBeginInfo: *const VkCommandBufferBeginInfo,
7494    ) -> VkResult;
7495
7496pub type PFN_vkEndCommandBuffer =
7497    unsafe extern "C" fn(commandBuffer: VkCommandBuffer) -> VkResult;
7498pub type PFN_vkResetCommandBuffer = 
7499    unsafe extern "C" fn(
7500        commandBuffer: VkCommandBuffer,
7501        flags: VkCommandBufferResetFlags,
7502    ) -> VkResult;
7503
7504pub type PFN_vkCmdBindPipeline = 
7505    unsafe extern "C" fn(
7506        commandBuffer: VkCommandBuffer,
7507        pipelineBindPoint: VkPipelineBindPoint,
7508        pipeline: VkPipeline,
7509    );
7510
7511pub type PFN_vkCmdSetViewport = 
7512    unsafe extern "C" fn(
7513        commandBuffer: VkCommandBuffer,
7514        firstViewport: u32,
7515        viewportCount: u32,
7516        pViewports: *const VkViewport,
7517    );
7518
7519pub type PFN_vkCmdSetScissor = 
7520    unsafe extern "C" fn(
7521        commandBuffer: VkCommandBuffer,
7522        firstScissor: u32,
7523        scissorCount: u32,
7524        pScissors: *const VkRect2D,
7525    );
7526
7527pub type PFN_vkCmdSetLineWidth =
7528    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, lineWidth: f32);
7529pub type PFN_vkCmdSetDepthBias = 
7530    unsafe extern "C" fn(
7531        commandBuffer: VkCommandBuffer,
7532        depthBiasConstantFactor: f32,
7533        depthBiasClamp: f32,
7534        depthBiasSlopeFactor: f32,
7535    );
7536
7537pub type PFN_vkCmdSetBlendConstants = 
7538    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, blendConstants: *const f32);
7539
7540pub type PFN_vkCmdSetDepthBounds = 
7541    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, minDepthBounds: f32, maxDepthBounds: f32);
7542
7543pub type PFN_vkCmdSetStencilCompareMask = 
7544    unsafe extern "C" fn(
7545        commandBuffer: VkCommandBuffer,
7546        faceMask: VkStencilFaceFlags,
7547        compareMask: u32,
7548    );
7549
7550pub type PFN_vkCmdSetStencilWriteMask = 
7551    unsafe extern "C" fn(
7552        commandBuffer: VkCommandBuffer,
7553        faceMask: VkStencilFaceFlags,
7554        writeMask: u32,
7555    );
7556
7557pub type PFN_vkCmdSetStencilReference = 
7558    unsafe extern "C" fn(
7559        commandBuffer: VkCommandBuffer,
7560        faceMask: VkStencilFaceFlags,
7561        reference: u32,
7562    );
7563
7564pub type PFN_vkCmdBindDescriptorSets = 
7565    unsafe extern "C" fn(
7566        commandBuffer: VkCommandBuffer,
7567        pipelineBindPoint: VkPipelineBindPoint,
7568        layout: VkPipelineLayout,
7569        firstSet: u32,
7570        descriptorSetCount: u32,
7571        pDescriptorSets: *const VkDescriptorSet,
7572        dynamicOffsetCount: u32,
7573        pDynamicOffsets: *const u32,
7574    );
7575
7576pub type PFN_vkCmdBindIndexBuffer = 
7577    unsafe extern "C" fn(
7578        commandBuffer: VkCommandBuffer,
7579        buffer: VkBuffer,
7580        offset: VkDeviceSize,
7581        indexType: VkIndexType,
7582    );
7583
7584pub type PFN_vkCmdBindVertexBuffers = 
7585    unsafe extern "C" fn(
7586        commandBuffer: VkCommandBuffer,
7587        firstBinding: u32,
7588        bindingCount: u32,
7589        pBuffers: *const VkBuffer,
7590        pOffsets: *const VkDeviceSize,
7591    );
7592
7593pub type PFN_vkCmdDraw = 
7594    unsafe extern "C" fn(
7595        commandBuffer: VkCommandBuffer,
7596        vertexCount: u32,
7597        instanceCount: u32,
7598        firstVertex: u32,
7599        firstInstance: u32,
7600    );
7601
7602pub type PFN_vkCmdDrawIndexed = 
7603    unsafe extern "C" fn(
7604        commandBuffer: VkCommandBuffer,
7605        indexCount: u32,
7606        instanceCount: u32,
7607        firstIndex: u32,
7608        vertexOffset: i32,
7609        firstInstance: u32,
7610    );
7611
7612pub type PFN_vkCmdDrawIndirect = 
7613    unsafe extern "C" fn(
7614        commandBuffer: VkCommandBuffer,
7615        buffer: VkBuffer,
7616        offset: VkDeviceSize,
7617        drawCount: u32,
7618        stride: u32,
7619    );
7620
7621pub type PFN_vkCmdDrawIndexedIndirect = 
7622    unsafe extern "C" fn(
7623        commandBuffer: VkCommandBuffer,
7624        buffer: VkBuffer,
7625        offset: VkDeviceSize,
7626        drawCount: u32,
7627        stride: u32,
7628    );
7629
7630pub type PFN_vkCmdDispatch = 
7631    unsafe extern "C" fn(
7632        commandBuffer: VkCommandBuffer,
7633        groupCountX: u32,
7634        groupCountY: u32,
7635        groupCountZ: u32,
7636    );
7637
7638pub type PFN_vkCmdDispatchIndirect = 
7639    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize);
7640
7641pub type PFN_vkCmdCopyBuffer = 
7642    unsafe extern "C" fn(
7643        commandBuffer: VkCommandBuffer,
7644        srcBuffer: VkBuffer,
7645        dstBuffer: VkBuffer,
7646        regionCount: u32,
7647        pRegions: *const VkBufferCopy,
7648    );
7649
7650pub type PFN_vkCmdCopyImage = 
7651    unsafe extern "C" fn(
7652        commandBuffer: VkCommandBuffer,
7653        srcImage: VkImage,
7654        srcImageLayout: VkImageLayout,
7655        dstImage: VkImage,
7656        dstImageLayout: VkImageLayout,
7657        regionCount: u32,
7658        pRegions: *const VkImageCopy,
7659    );
7660
7661pub type PFN_vkCmdBlitImage = 
7662    unsafe extern "C" fn(
7663        commandBuffer: VkCommandBuffer,
7664        srcImage: VkImage,
7665        srcImageLayout: VkImageLayout,
7666        dstImage: VkImage,
7667        dstImageLayout: VkImageLayout,
7668        regionCount: u32,
7669        pRegions: *const VkImageBlit,
7670        filter: VkFilter,
7671    );
7672
7673pub type PFN_vkCmdCopyBufferToImage = 
7674    unsafe extern "C" fn(
7675        commandBuffer: VkCommandBuffer,
7676        srcBuffer: VkBuffer,
7677        dstImage: VkImage,
7678        dstImageLayout: VkImageLayout,
7679        regionCount: u32,
7680        pRegions: *const VkBufferImageCopy,
7681    );
7682
7683pub type PFN_vkCmdCopyImageToBuffer = 
7684    unsafe extern "C" fn(
7685        commandBuffer: VkCommandBuffer,
7686        srcImage: VkImage,
7687        srcImageLayout: VkImageLayout,
7688        dstBuffer: VkBuffer,
7689        regionCount: u32,
7690        pRegions: *const VkBufferImageCopy,
7691    );
7692
7693pub type PFN_vkCmdUpdateBuffer = 
7694    unsafe extern "C" fn(
7695        commandBuffer: VkCommandBuffer,
7696        dstBuffer: VkBuffer,
7697        dstOffset: VkDeviceSize,
7698        dataSize: VkDeviceSize,
7699        pData: *const ::std::os::raw::c_void,
7700    );
7701
7702pub type PFN_vkCmdFillBuffer = 
7703    unsafe extern "C" fn(
7704        commandBuffer: VkCommandBuffer,
7705        dstBuffer: VkBuffer,
7706        dstOffset: VkDeviceSize,
7707        size: VkDeviceSize,
7708        data: u32,
7709    );
7710
7711pub type PFN_vkCmdClearColorImage = 
7712    unsafe extern "C" fn(
7713        commandBuffer: VkCommandBuffer,
7714        image: VkImage,
7715        imageLayout: VkImageLayout,
7716        pColor: *const VkClearColorValue,
7717        rangeCount: u32,
7718        pRanges: *const VkImageSubresourceRange,
7719    );
7720
7721pub type PFN_vkCmdClearDepthStencilImage = 
7722    unsafe extern "C" fn(
7723        commandBuffer: VkCommandBuffer,
7724        image: VkImage,
7725        imageLayout: VkImageLayout,
7726        pDepthStencil: *const VkClearDepthStencilValue,
7727        rangeCount: u32,
7728        pRanges: *const VkImageSubresourceRange,
7729    );
7730
7731pub type PFN_vkCmdClearAttachments = 
7732    unsafe extern "C" fn(
7733        commandBuffer: VkCommandBuffer,
7734        attachmentCount: u32,
7735        pAttachments: *const VkClearAttachment,
7736        rectCount: u32,
7737        pRects: *const VkClearRect,
7738    );
7739
7740pub type PFN_vkCmdResolveImage = 
7741    unsafe extern "C" fn(
7742        commandBuffer: VkCommandBuffer,
7743        srcImage: VkImage,
7744        srcImageLayout: VkImageLayout,
7745        dstImage: VkImage,
7746        dstImageLayout: VkImageLayout,
7747        regionCount: u32,
7748        pRegions: *const VkImageResolve,
7749    );
7750
7751pub type PFN_vkCmdSetEvent = 
7752    unsafe extern "C" fn(
7753        commandBuffer: VkCommandBuffer,
7754        event: VkEvent,
7755        stageMask: VkPipelineStageFlags,
7756    );
7757
7758pub type PFN_vkCmdResetEvent = 
7759    unsafe extern "C" fn(
7760        commandBuffer: VkCommandBuffer,
7761        event: VkEvent,
7762        stageMask: VkPipelineStageFlags,
7763    );
7764
7765pub type PFN_vkCmdWaitEvents = 
7766    unsafe extern "C" fn(
7767        commandBuffer: VkCommandBuffer,
7768        eventCount: u32,
7769        pEvents: *const VkEvent,
7770        srcStageMask: VkPipelineStageFlags,
7771        dstStageMask: VkPipelineStageFlags,
7772        memoryBarrierCount: u32,
7773        pMemoryBarriers: *const VkMemoryBarrier,
7774        bufferMemoryBarrierCount: u32,
7775        pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
7776        imageMemoryBarrierCount: u32,
7777        pImageMemoryBarriers: *const VkImageMemoryBarrier,
7778    );
7779
7780pub type PFN_vkCmdPipelineBarrier = 
7781    unsafe extern "C" fn(
7782        commandBuffer: VkCommandBuffer,
7783        srcStageMask: VkPipelineStageFlags,
7784        dstStageMask: VkPipelineStageFlags,
7785        dependencyFlags: VkDependencyFlags,
7786        memoryBarrierCount: u32,
7787        pMemoryBarriers: *const VkMemoryBarrier,
7788        bufferMemoryBarrierCount: u32,
7789        pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
7790        imageMemoryBarrierCount: u32,
7791        pImageMemoryBarriers: *const VkImageMemoryBarrier,
7792    );
7793
7794pub type PFN_vkCmdBeginQuery = 
7795    unsafe extern "C" fn(
7796        commandBuffer: VkCommandBuffer,
7797        queryPool: VkQueryPool,
7798        query: u32,
7799        flags: VkQueryControlFlags,
7800    );
7801
7802pub type PFN_vkCmdEndQuery = 
7803    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32);
7804
7805pub type PFN_vkCmdResetQueryPool = 
7806    unsafe extern "C" fn(
7807        commandBuffer: VkCommandBuffer,
7808        queryPool: VkQueryPool,
7809        firstQuery: u32,
7810        queryCount: u32,
7811    );
7812
7813pub type PFN_vkCmdWriteTimestamp = 
7814    unsafe extern "C" fn(
7815        commandBuffer: VkCommandBuffer,
7816        pipelineStage: VkPipelineStageFlagBits,
7817        queryPool: VkQueryPool,
7818        query: u32,
7819    );
7820
7821pub type PFN_vkCmdCopyQueryPoolResults = 
7822    unsafe extern "C" fn(
7823        commandBuffer: VkCommandBuffer,
7824        queryPool: VkQueryPool,
7825        firstQuery: u32,
7826        queryCount: u32,
7827        dstBuffer: VkBuffer,
7828        dstOffset: VkDeviceSize,
7829        stride: VkDeviceSize,
7830        flags: VkQueryResultFlags,
7831    );
7832
7833pub type PFN_vkCmdPushConstants = 
7834    unsafe extern "C" fn(
7835        commandBuffer: VkCommandBuffer,
7836        layout: VkPipelineLayout,
7837        stageFlags: VkShaderStageFlags,
7838        offset: u32,
7839        size: u32,
7840        pValues: *const ::std::os::raw::c_void,
7841    );
7842
7843pub type PFN_vkCmdBeginRenderPass = 
7844    unsafe extern "C" fn(
7845        commandBuffer: VkCommandBuffer,
7846        pRenderPassBegin: *const VkRenderPassBeginInfo,
7847        contents: VkSubpassContents,
7848    );
7849
7850pub type PFN_vkCmdNextSubpass = 
7851    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, contents: VkSubpassContents);
7852
7853pub type PFN_vkCmdEndRenderPass =
7854    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
7855pub type PFN_vkCmdExecuteCommands = 
7856    unsafe extern "C" fn(
7857        commandBuffer: VkCommandBuffer,
7858        commandBufferCount: u32,
7859        pCommandBuffers: *const VkCommandBuffer,
7860    );
7861
7862extern "C" {
7863    pub fn vkCreateInstance(
7864        pCreateInfo: *const VkInstanceCreateInfo,
7865        pAllocator: *const VkAllocationCallbacks,
7866        pInstance: *mut VkInstance,
7867    ) -> VkResult;
7868}
7869extern "C" {
7870    pub fn vkDestroyInstance(instance: VkInstance, pAllocator: *const VkAllocationCallbacks);
7871}
7872extern "C" {
7873    pub fn vkEnumeratePhysicalDevices(
7874        instance: VkInstance,
7875        pPhysicalDeviceCount: *mut u32,
7876        pPhysicalDevices: *mut VkPhysicalDevice,
7877    ) -> VkResult;
7878}
7879extern "C" {
7880    pub fn vkGetPhysicalDeviceFeatures(
7881        physicalDevice: VkPhysicalDevice,
7882        pFeatures: *mut VkPhysicalDeviceFeatures,
7883    );
7884}
7885extern "C" {
7886    pub fn vkGetPhysicalDeviceFormatProperties(
7887        physicalDevice: VkPhysicalDevice,
7888        format: VkFormat,
7889        pFormatProperties: *mut VkFormatProperties,
7890    );
7891}
7892extern "C" {
7893    pub fn vkGetPhysicalDeviceImageFormatProperties(
7894        physicalDevice: VkPhysicalDevice,
7895        format: VkFormat,
7896        type_: VkImageType,
7897        tiling: VkImageTiling,
7898        usage: VkImageUsageFlags,
7899        flags: VkImageCreateFlags,
7900        pImageFormatProperties: *mut VkImageFormatProperties,
7901    ) -> VkResult;
7902}
7903extern "C" {
7904    pub fn vkGetPhysicalDeviceProperties(
7905        physicalDevice: VkPhysicalDevice,
7906        pProperties: *mut VkPhysicalDeviceProperties,
7907    );
7908}
7909extern "C" {
7910    pub fn vkGetPhysicalDeviceQueueFamilyProperties(
7911        physicalDevice: VkPhysicalDevice,
7912        pQueueFamilyPropertyCount: *mut u32,
7913        pQueueFamilyProperties: *mut VkQueueFamilyProperties,
7914    );
7915}
7916extern "C" {
7917    pub fn vkGetPhysicalDeviceMemoryProperties(
7918        physicalDevice: VkPhysicalDevice,
7919        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
7920    );
7921}
7922extern "C" {
7923    pub fn vkGetInstanceProcAddr(
7924        instance: VkInstance,
7925        pName: *const ::std::os::raw::c_char,
7926    ) -> PFN_vkVoidFunction;
7927}
7928extern "C" {
7929    pub fn vkGetDeviceProcAddr(
7930        device: VkDevice,
7931        pName: *const ::std::os::raw::c_char,
7932    ) -> PFN_vkVoidFunction;
7933}
7934extern "C" {
7935    pub fn vkCreateDevice(
7936        physicalDevice: VkPhysicalDevice,
7937        pCreateInfo: *const VkDeviceCreateInfo,
7938        pAllocator: *const VkAllocationCallbacks,
7939        pDevice: *mut VkDevice,
7940    ) -> VkResult;
7941}
7942extern "C" {
7943    pub fn vkDestroyDevice(device: VkDevice, pAllocator: *const VkAllocationCallbacks);
7944}
7945extern "C" {
7946    pub fn vkEnumerateInstanceExtensionProperties(
7947        pLayerName: *const ::std::os::raw::c_char,
7948        pPropertyCount: *mut u32,
7949        pProperties: *mut VkExtensionProperties,
7950    ) -> VkResult;
7951}
7952extern "C" {
7953    pub fn vkEnumerateDeviceExtensionProperties(
7954        physicalDevice: VkPhysicalDevice,
7955        pLayerName: *const ::std::os::raw::c_char,
7956        pPropertyCount: *mut u32,
7957        pProperties: *mut VkExtensionProperties,
7958    ) -> VkResult;
7959}
7960extern "C" {
7961    pub fn vkEnumerateInstanceLayerProperties(
7962        pPropertyCount: *mut u32,
7963        pProperties: *mut VkLayerProperties,
7964    ) -> VkResult;
7965}
7966extern "C" {
7967    pub fn vkEnumerateDeviceLayerProperties(
7968        physicalDevice: VkPhysicalDevice,
7969        pPropertyCount: *mut u32,
7970        pProperties: *mut VkLayerProperties,
7971    ) -> VkResult;
7972}
7973extern "C" {
7974    pub fn vkGetDeviceQueue(
7975        device: VkDevice,
7976        queueFamilyIndex: u32,
7977        queueIndex: u32,
7978        pQueue: *mut VkQueue,
7979    );
7980}
7981extern "C" {
7982    pub fn vkQueueSubmit(
7983        queue: VkQueue,
7984        submitCount: u32,
7985        pSubmits: *const VkSubmitInfo,
7986        fence: VkFence,
7987    ) -> VkResult;
7988}
7989extern "C" {
7990    pub fn vkQueueWaitIdle(queue: VkQueue) -> VkResult;
7991}
7992extern "C" {
7993    pub fn vkDeviceWaitIdle(device: VkDevice) -> VkResult;
7994}
7995extern "C" {
7996    pub fn vkAllocateMemory(
7997        device: VkDevice,
7998        pAllocateInfo: *const VkMemoryAllocateInfo,
7999        pAllocator: *const VkAllocationCallbacks,
8000        pMemory: *mut VkDeviceMemory,
8001    ) -> VkResult;
8002}
8003extern "C" {
8004    pub fn vkFreeMemory(
8005        device: VkDevice,
8006        memory: VkDeviceMemory,
8007        pAllocator: *const VkAllocationCallbacks,
8008    );
8009}
8010extern "C" {
8011    pub fn vkMapMemory(
8012        device: VkDevice,
8013        memory: VkDeviceMemory,
8014        offset: VkDeviceSize,
8015        size: VkDeviceSize,
8016        flags: VkMemoryMapFlags,
8017        ppData: *mut *mut ::std::os::raw::c_void,
8018    ) -> VkResult;
8019}
8020extern "C" {
8021    pub fn vkUnmapMemory(device: VkDevice, memory: VkDeviceMemory);
8022}
8023extern "C" {
8024    pub fn vkFlushMappedMemoryRanges(
8025        device: VkDevice,
8026        memoryRangeCount: u32,
8027        pMemoryRanges: *const VkMappedMemoryRange,
8028    ) -> VkResult;
8029}
8030extern "C" {
8031    pub fn vkInvalidateMappedMemoryRanges(
8032        device: VkDevice,
8033        memoryRangeCount: u32,
8034        pMemoryRanges: *const VkMappedMemoryRange,
8035    ) -> VkResult;
8036}
8037extern "C" {
8038    pub fn vkGetDeviceMemoryCommitment(
8039        device: VkDevice,
8040        memory: VkDeviceMemory,
8041        pCommittedMemoryInBytes: *mut VkDeviceSize,
8042    );
8043}
8044extern "C" {
8045    pub fn vkBindBufferMemory(
8046        device: VkDevice,
8047        buffer: VkBuffer,
8048        memory: VkDeviceMemory,
8049        memoryOffset: VkDeviceSize,
8050    ) -> VkResult;
8051}
8052extern "C" {
8053    pub fn vkBindImageMemory(
8054        device: VkDevice,
8055        image: VkImage,
8056        memory: VkDeviceMemory,
8057        memoryOffset: VkDeviceSize,
8058    ) -> VkResult;
8059}
8060extern "C" {
8061    pub fn vkGetBufferMemoryRequirements(
8062        device: VkDevice,
8063        buffer: VkBuffer,
8064        pMemoryRequirements: *mut VkMemoryRequirements,
8065    );
8066}
8067extern "C" {
8068    pub fn vkGetImageMemoryRequirements(
8069        device: VkDevice,
8070        image: VkImage,
8071        pMemoryRequirements: *mut VkMemoryRequirements,
8072    );
8073}
8074extern "C" {
8075    pub fn vkGetImageSparseMemoryRequirements(
8076        device: VkDevice,
8077        image: VkImage,
8078        pSparseMemoryRequirementCount: *mut u32,
8079        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
8080    );
8081}
8082extern "C" {
8083    pub fn vkGetPhysicalDeviceSparseImageFormatProperties(
8084        physicalDevice: VkPhysicalDevice,
8085        format: VkFormat,
8086        type_: VkImageType,
8087        samples: VkSampleCountFlagBits,
8088        usage: VkImageUsageFlags,
8089        tiling: VkImageTiling,
8090        pPropertyCount: *mut u32,
8091        pProperties: *mut VkSparseImageFormatProperties,
8092    );
8093}
8094extern "C" {
8095    pub fn vkQueueBindSparse(
8096        queue: VkQueue,
8097        bindInfoCount: u32,
8098        pBindInfo: *const VkBindSparseInfo,
8099        fence: VkFence,
8100    ) -> VkResult;
8101}
8102extern "C" {
8103    pub fn vkCreateFence(
8104        device: VkDevice,
8105        pCreateInfo: *const VkFenceCreateInfo,
8106        pAllocator: *const VkAllocationCallbacks,
8107        pFence: *mut VkFence,
8108    ) -> VkResult;
8109}
8110extern "C" {
8111    pub fn vkDestroyFence(
8112        device: VkDevice,
8113        fence: VkFence,
8114        pAllocator: *const VkAllocationCallbacks,
8115    );
8116}
8117extern "C" {
8118    pub fn vkResetFences(device: VkDevice, fenceCount: u32, pFences: *const VkFence) -> VkResult;
8119}
8120extern "C" {
8121    pub fn vkGetFenceStatus(device: VkDevice, fence: VkFence) -> VkResult;
8122}
8123extern "C" {
8124    pub fn vkWaitForFences(
8125        device: VkDevice,
8126        fenceCount: u32,
8127        pFences: *const VkFence,
8128        waitAll: VkBool32,
8129        timeout: u64,
8130    ) -> VkResult;
8131}
8132extern "C" {
8133    pub fn vkCreateSemaphore(
8134        device: VkDevice,
8135        pCreateInfo: *const VkSemaphoreCreateInfo,
8136        pAllocator: *const VkAllocationCallbacks,
8137        pSemaphore: *mut VkSemaphore,
8138    ) -> VkResult;
8139}
8140extern "C" {
8141    pub fn vkDestroySemaphore(
8142        device: VkDevice,
8143        semaphore: VkSemaphore,
8144        pAllocator: *const VkAllocationCallbacks,
8145    );
8146}
8147extern "C" {
8148    pub fn vkCreateEvent(
8149        device: VkDevice,
8150        pCreateInfo: *const VkEventCreateInfo,
8151        pAllocator: *const VkAllocationCallbacks,
8152        pEvent: *mut VkEvent,
8153    ) -> VkResult;
8154}
8155extern "C" {
8156    pub fn vkDestroyEvent(
8157        device: VkDevice,
8158        event: VkEvent,
8159        pAllocator: *const VkAllocationCallbacks,
8160    );
8161}
8162extern "C" {
8163    pub fn vkGetEventStatus(device: VkDevice, event: VkEvent) -> VkResult;
8164}
8165extern "C" {
8166    pub fn vkSetEvent(device: VkDevice, event: VkEvent) -> VkResult;
8167}
8168extern "C" {
8169    pub fn vkResetEvent(device: VkDevice, event: VkEvent) -> VkResult;
8170}
8171extern "C" {
8172    pub fn vkCreateQueryPool(
8173        device: VkDevice,
8174        pCreateInfo: *const VkQueryPoolCreateInfo,
8175        pAllocator: *const VkAllocationCallbacks,
8176        pQueryPool: *mut VkQueryPool,
8177    ) -> VkResult;
8178}
8179extern "C" {
8180    pub fn vkDestroyQueryPool(
8181        device: VkDevice,
8182        queryPool: VkQueryPool,
8183        pAllocator: *const VkAllocationCallbacks,
8184    );
8185}
8186extern "C" {
8187    pub fn vkGetQueryPoolResults(
8188        device: VkDevice,
8189        queryPool: VkQueryPool,
8190        firstQuery: u32,
8191        queryCount: u32,
8192        dataSize: usize,
8193        pData: *mut ::std::os::raw::c_void,
8194        stride: VkDeviceSize,
8195        flags: VkQueryResultFlags,
8196    ) -> VkResult;
8197}
8198extern "C" {
8199    pub fn vkCreateBuffer(
8200        device: VkDevice,
8201        pCreateInfo: *const VkBufferCreateInfo,
8202        pAllocator: *const VkAllocationCallbacks,
8203        pBuffer: *mut VkBuffer,
8204    ) -> VkResult;
8205}
8206extern "C" {
8207    pub fn vkDestroyBuffer(
8208        device: VkDevice,
8209        buffer: VkBuffer,
8210        pAllocator: *const VkAllocationCallbacks,
8211    );
8212}
8213extern "C" {
8214    pub fn vkCreateBufferView(
8215        device: VkDevice,
8216        pCreateInfo: *const VkBufferViewCreateInfo,
8217        pAllocator: *const VkAllocationCallbacks,
8218        pView: *mut VkBufferView,
8219    ) -> VkResult;
8220}
8221extern "C" {
8222    pub fn vkDestroyBufferView(
8223        device: VkDevice,
8224        bufferView: VkBufferView,
8225        pAllocator: *const VkAllocationCallbacks,
8226    );
8227}
8228extern "C" {
8229    pub fn vkCreateImage(
8230        device: VkDevice,
8231        pCreateInfo: *const VkImageCreateInfo,
8232        pAllocator: *const VkAllocationCallbacks,
8233        pImage: *mut VkImage,
8234    ) -> VkResult;
8235}
8236extern "C" {
8237    pub fn vkDestroyImage(
8238        device: VkDevice,
8239        image: VkImage,
8240        pAllocator: *const VkAllocationCallbacks,
8241    );
8242}
8243extern "C" {
8244    pub fn vkGetImageSubresourceLayout(
8245        device: VkDevice,
8246        image: VkImage,
8247        pSubresource: *const VkImageSubresource,
8248        pLayout: *mut VkSubresourceLayout,
8249    );
8250}
8251extern "C" {
8252    pub fn vkCreateImageView(
8253        device: VkDevice,
8254        pCreateInfo: *const VkImageViewCreateInfo,
8255        pAllocator: *const VkAllocationCallbacks,
8256        pView: *mut VkImageView,
8257    ) -> VkResult;
8258}
8259extern "C" {
8260    pub fn vkDestroyImageView(
8261        device: VkDevice,
8262        imageView: VkImageView,
8263        pAllocator: *const VkAllocationCallbacks,
8264    );
8265}
8266extern "C" {
8267    pub fn vkCreateShaderModule(
8268        device: VkDevice,
8269        pCreateInfo: *const VkShaderModuleCreateInfo,
8270        pAllocator: *const VkAllocationCallbacks,
8271        pShaderModule: *mut VkShaderModule,
8272    ) -> VkResult;
8273}
8274extern "C" {
8275    pub fn vkDestroyShaderModule(
8276        device: VkDevice,
8277        shaderModule: VkShaderModule,
8278        pAllocator: *const VkAllocationCallbacks,
8279    );
8280}
8281extern "C" {
8282    pub fn vkCreatePipelineCache(
8283        device: VkDevice,
8284        pCreateInfo: *const VkPipelineCacheCreateInfo,
8285        pAllocator: *const VkAllocationCallbacks,
8286        pPipelineCache: *mut VkPipelineCache,
8287    ) -> VkResult;
8288}
8289extern "C" {
8290    pub fn vkDestroyPipelineCache(
8291        device: VkDevice,
8292        pipelineCache: VkPipelineCache,
8293        pAllocator: *const VkAllocationCallbacks,
8294    );
8295}
8296extern "C" {
8297    pub fn vkGetPipelineCacheData(
8298        device: VkDevice,
8299        pipelineCache: VkPipelineCache,
8300        pDataSize: *mut usize,
8301        pData: *mut ::std::os::raw::c_void,
8302    ) -> VkResult;
8303}
8304extern "C" {
8305    pub fn vkMergePipelineCaches(
8306        device: VkDevice,
8307        dstCache: VkPipelineCache,
8308        srcCacheCount: u32,
8309        pSrcCaches: *const VkPipelineCache,
8310    ) -> VkResult;
8311}
8312extern "C" {
8313    pub fn vkCreateGraphicsPipelines(
8314        device: VkDevice,
8315        pipelineCache: VkPipelineCache,
8316        createInfoCount: u32,
8317        pCreateInfos: *const VkGraphicsPipelineCreateInfo,
8318        pAllocator: *const VkAllocationCallbacks,
8319        pPipelines: *mut VkPipeline,
8320    ) -> VkResult;
8321}
8322extern "C" {
8323    pub fn vkCreateComputePipelines(
8324        device: VkDevice,
8325        pipelineCache: VkPipelineCache,
8326        createInfoCount: u32,
8327        pCreateInfos: *const VkComputePipelineCreateInfo,
8328        pAllocator: *const VkAllocationCallbacks,
8329        pPipelines: *mut VkPipeline,
8330    ) -> VkResult;
8331}
8332extern "C" {
8333    pub fn vkDestroyPipeline(
8334        device: VkDevice,
8335        pipeline: VkPipeline,
8336        pAllocator: *const VkAllocationCallbacks,
8337    );
8338}
8339extern "C" {
8340    pub fn vkCreatePipelineLayout(
8341        device: VkDevice,
8342        pCreateInfo: *const VkPipelineLayoutCreateInfo,
8343        pAllocator: *const VkAllocationCallbacks,
8344        pPipelineLayout: *mut VkPipelineLayout,
8345    ) -> VkResult;
8346}
8347extern "C" {
8348    pub fn vkDestroyPipelineLayout(
8349        device: VkDevice,
8350        pipelineLayout: VkPipelineLayout,
8351        pAllocator: *const VkAllocationCallbacks,
8352    );
8353}
8354extern "C" {
8355    pub fn vkCreateSampler(
8356        device: VkDevice,
8357        pCreateInfo: *const VkSamplerCreateInfo,
8358        pAllocator: *const VkAllocationCallbacks,
8359        pSampler: *mut VkSampler,
8360    ) -> VkResult;
8361}
8362extern "C" {
8363    pub fn vkDestroySampler(
8364        device: VkDevice,
8365        sampler: VkSampler,
8366        pAllocator: *const VkAllocationCallbacks,
8367    );
8368}
8369extern "C" {
8370    pub fn vkCreateDescriptorSetLayout(
8371        device: VkDevice,
8372        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
8373        pAllocator: *const VkAllocationCallbacks,
8374        pSetLayout: *mut VkDescriptorSetLayout,
8375    ) -> VkResult;
8376}
8377extern "C" {
8378    pub fn vkDestroyDescriptorSetLayout(
8379        device: VkDevice,
8380        descriptorSetLayout: VkDescriptorSetLayout,
8381        pAllocator: *const VkAllocationCallbacks,
8382    );
8383}
8384extern "C" {
8385    pub fn vkCreateDescriptorPool(
8386        device: VkDevice,
8387        pCreateInfo: *const VkDescriptorPoolCreateInfo,
8388        pAllocator: *const VkAllocationCallbacks,
8389        pDescriptorPool: *mut VkDescriptorPool,
8390    ) -> VkResult;
8391}
8392extern "C" {
8393    pub fn vkDestroyDescriptorPool(
8394        device: VkDevice,
8395        descriptorPool: VkDescriptorPool,
8396        pAllocator: *const VkAllocationCallbacks,
8397    );
8398}
8399extern "C" {
8400    pub fn vkResetDescriptorPool(
8401        device: VkDevice,
8402        descriptorPool: VkDescriptorPool,
8403        flags: VkDescriptorPoolResetFlags,
8404    ) -> VkResult;
8405}
8406extern "C" {
8407    pub fn vkAllocateDescriptorSets(
8408        device: VkDevice,
8409        pAllocateInfo: *const VkDescriptorSetAllocateInfo,
8410        pDescriptorSets: *mut VkDescriptorSet,
8411    ) -> VkResult;
8412}
8413extern "C" {
8414    pub fn vkFreeDescriptorSets(
8415        device: VkDevice,
8416        descriptorPool: VkDescriptorPool,
8417        descriptorSetCount: u32,
8418        pDescriptorSets: *const VkDescriptorSet,
8419    ) -> VkResult;
8420}
8421extern "C" {
8422    pub fn vkUpdateDescriptorSets(
8423        device: VkDevice,
8424        descriptorWriteCount: u32,
8425        pDescriptorWrites: *const VkWriteDescriptorSet,
8426        descriptorCopyCount: u32,
8427        pDescriptorCopies: *const VkCopyDescriptorSet,
8428    );
8429}
8430extern "C" {
8431    pub fn vkCreateFramebuffer(
8432        device: VkDevice,
8433        pCreateInfo: *const VkFramebufferCreateInfo,
8434        pAllocator: *const VkAllocationCallbacks,
8435        pFramebuffer: *mut VkFramebuffer,
8436    ) -> VkResult;
8437}
8438extern "C" {
8439    pub fn vkDestroyFramebuffer(
8440        device: VkDevice,
8441        framebuffer: VkFramebuffer,
8442        pAllocator: *const VkAllocationCallbacks,
8443    );
8444}
8445extern "C" {
8446    pub fn vkCreateRenderPass(
8447        device: VkDevice,
8448        pCreateInfo: *const VkRenderPassCreateInfo,
8449        pAllocator: *const VkAllocationCallbacks,
8450        pRenderPass: *mut VkRenderPass,
8451    ) -> VkResult;
8452}
8453extern "C" {
8454    pub fn vkDestroyRenderPass(
8455        device: VkDevice,
8456        renderPass: VkRenderPass,
8457        pAllocator: *const VkAllocationCallbacks,
8458    );
8459}
8460extern "C" {
8461    pub fn vkGetRenderAreaGranularity(
8462        device: VkDevice,
8463        renderPass: VkRenderPass,
8464        pGranularity: *mut VkExtent2D,
8465    );
8466}
8467extern "C" {
8468    pub fn vkCreateCommandPool(
8469        device: VkDevice,
8470        pCreateInfo: *const VkCommandPoolCreateInfo,
8471        pAllocator: *const VkAllocationCallbacks,
8472        pCommandPool: *mut VkCommandPool,
8473    ) -> VkResult;
8474}
8475extern "C" {
8476    pub fn vkDestroyCommandPool(
8477        device: VkDevice,
8478        commandPool: VkCommandPool,
8479        pAllocator: *const VkAllocationCallbacks,
8480    );
8481}
8482extern "C" {
8483    pub fn vkResetCommandPool(
8484        device: VkDevice,
8485        commandPool: VkCommandPool,
8486        flags: VkCommandPoolResetFlags,
8487    ) -> VkResult;
8488}
8489extern "C" {
8490    pub fn vkAllocateCommandBuffers(
8491        device: VkDevice,
8492        pAllocateInfo: *const VkCommandBufferAllocateInfo,
8493        pCommandBuffers: *mut VkCommandBuffer,
8494    ) -> VkResult;
8495}
8496extern "C" {
8497    pub fn vkFreeCommandBuffers(
8498        device: VkDevice,
8499        commandPool: VkCommandPool,
8500        commandBufferCount: u32,
8501        pCommandBuffers: *const VkCommandBuffer,
8502    );
8503}
8504extern "C" {
8505    pub fn vkBeginCommandBuffer(
8506        commandBuffer: VkCommandBuffer,
8507        pBeginInfo: *const VkCommandBufferBeginInfo,
8508    ) -> VkResult;
8509}
8510extern "C" {
8511    pub fn vkEndCommandBuffer(commandBuffer: VkCommandBuffer) -> VkResult;
8512}
8513extern "C" {
8514    pub fn vkResetCommandBuffer(
8515        commandBuffer: VkCommandBuffer,
8516        flags: VkCommandBufferResetFlags,
8517    ) -> VkResult;
8518}
8519extern "C" {
8520    pub fn vkCmdBindPipeline(
8521        commandBuffer: VkCommandBuffer,
8522        pipelineBindPoint: VkPipelineBindPoint,
8523        pipeline: VkPipeline,
8524    );
8525}
8526extern "C" {
8527    pub fn vkCmdSetViewport(
8528        commandBuffer: VkCommandBuffer,
8529        firstViewport: u32,
8530        viewportCount: u32,
8531        pViewports: *const VkViewport,
8532    );
8533}
8534extern "C" {
8535    pub fn vkCmdSetScissor(
8536        commandBuffer: VkCommandBuffer,
8537        firstScissor: u32,
8538        scissorCount: u32,
8539        pScissors: *const VkRect2D,
8540    );
8541}
8542extern "C" {
8543    pub fn vkCmdSetLineWidth(commandBuffer: VkCommandBuffer, lineWidth: f32);
8544}
8545extern "C" {
8546    pub fn vkCmdSetDepthBias(
8547        commandBuffer: VkCommandBuffer,
8548        depthBiasConstantFactor: f32,
8549        depthBiasClamp: f32,
8550        depthBiasSlopeFactor: f32,
8551    );
8552}
8553extern "C" {
8554    pub fn vkCmdSetBlendConstants(commandBuffer: VkCommandBuffer, blendConstants: *const f32);
8555}
8556extern "C" {
8557    pub fn vkCmdSetDepthBounds(
8558        commandBuffer: VkCommandBuffer,
8559        minDepthBounds: f32,
8560        maxDepthBounds: f32,
8561    );
8562}
8563extern "C" {
8564    pub fn vkCmdSetStencilCompareMask(
8565        commandBuffer: VkCommandBuffer,
8566        faceMask: VkStencilFaceFlags,
8567        compareMask: u32,
8568    );
8569}
8570extern "C" {
8571    pub fn vkCmdSetStencilWriteMask(
8572        commandBuffer: VkCommandBuffer,
8573        faceMask: VkStencilFaceFlags,
8574        writeMask: u32,
8575    );
8576}
8577extern "C" {
8578    pub fn vkCmdSetStencilReference(
8579        commandBuffer: VkCommandBuffer,
8580        faceMask: VkStencilFaceFlags,
8581        reference: u32,
8582    );
8583}
8584extern "C" {
8585    pub fn vkCmdBindDescriptorSets(
8586        commandBuffer: VkCommandBuffer,
8587        pipelineBindPoint: VkPipelineBindPoint,
8588        layout: VkPipelineLayout,
8589        firstSet: u32,
8590        descriptorSetCount: u32,
8591        pDescriptorSets: *const VkDescriptorSet,
8592        dynamicOffsetCount: u32,
8593        pDynamicOffsets: *const u32,
8594    );
8595}
8596extern "C" {
8597    pub fn vkCmdBindIndexBuffer(
8598        commandBuffer: VkCommandBuffer,
8599        buffer: VkBuffer,
8600        offset: VkDeviceSize,
8601        indexType: VkIndexType,
8602    );
8603}
8604extern "C" {
8605    pub fn vkCmdBindVertexBuffers(
8606        commandBuffer: VkCommandBuffer,
8607        firstBinding: u32,
8608        bindingCount: u32,
8609        pBuffers: *const VkBuffer,
8610        pOffsets: *const VkDeviceSize,
8611    );
8612}
8613extern "C" {
8614    pub fn vkCmdDraw(
8615        commandBuffer: VkCommandBuffer,
8616        vertexCount: u32,
8617        instanceCount: u32,
8618        firstVertex: u32,
8619        firstInstance: u32,
8620    );
8621}
8622extern "C" {
8623    pub fn vkCmdDrawIndexed(
8624        commandBuffer: VkCommandBuffer,
8625        indexCount: u32,
8626        instanceCount: u32,
8627        firstIndex: u32,
8628        vertexOffset: i32,
8629        firstInstance: u32,
8630    );
8631}
8632extern "C" {
8633    pub fn vkCmdDrawIndirect(
8634        commandBuffer: VkCommandBuffer,
8635        buffer: VkBuffer,
8636        offset: VkDeviceSize,
8637        drawCount: u32,
8638        stride: u32,
8639    );
8640}
8641extern "C" {
8642    pub fn vkCmdDrawIndexedIndirect(
8643        commandBuffer: VkCommandBuffer,
8644        buffer: VkBuffer,
8645        offset: VkDeviceSize,
8646        drawCount: u32,
8647        stride: u32,
8648    );
8649}
8650extern "C" {
8651    pub fn vkCmdDispatch(
8652        commandBuffer: VkCommandBuffer,
8653        groupCountX: u32,
8654        groupCountY: u32,
8655        groupCountZ: u32,
8656    );
8657}
8658extern "C" {
8659    pub fn vkCmdDispatchIndirect(
8660        commandBuffer: VkCommandBuffer,
8661        buffer: VkBuffer,
8662        offset: VkDeviceSize,
8663    );
8664}
8665extern "C" {
8666    pub fn vkCmdCopyBuffer(
8667        commandBuffer: VkCommandBuffer,
8668        srcBuffer: VkBuffer,
8669        dstBuffer: VkBuffer,
8670        regionCount: u32,
8671        pRegions: *const VkBufferCopy,
8672    );
8673}
8674extern "C" {
8675    pub fn vkCmdCopyImage(
8676        commandBuffer: VkCommandBuffer,
8677        srcImage: VkImage,
8678        srcImageLayout: VkImageLayout,
8679        dstImage: VkImage,
8680        dstImageLayout: VkImageLayout,
8681        regionCount: u32,
8682        pRegions: *const VkImageCopy,
8683    );
8684}
8685extern "C" {
8686    pub fn vkCmdBlitImage(
8687        commandBuffer: VkCommandBuffer,
8688        srcImage: VkImage,
8689        srcImageLayout: VkImageLayout,
8690        dstImage: VkImage,
8691        dstImageLayout: VkImageLayout,
8692        regionCount: u32,
8693        pRegions: *const VkImageBlit,
8694        filter: VkFilter,
8695    );
8696}
8697extern "C" {
8698    pub fn vkCmdCopyBufferToImage(
8699        commandBuffer: VkCommandBuffer,
8700        srcBuffer: VkBuffer,
8701        dstImage: VkImage,
8702        dstImageLayout: VkImageLayout,
8703        regionCount: u32,
8704        pRegions: *const VkBufferImageCopy,
8705    );
8706}
8707extern "C" {
8708    pub fn vkCmdCopyImageToBuffer(
8709        commandBuffer: VkCommandBuffer,
8710        srcImage: VkImage,
8711        srcImageLayout: VkImageLayout,
8712        dstBuffer: VkBuffer,
8713        regionCount: u32,
8714        pRegions: *const VkBufferImageCopy,
8715    );
8716}
8717extern "C" {
8718    pub fn vkCmdUpdateBuffer(
8719        commandBuffer: VkCommandBuffer,
8720        dstBuffer: VkBuffer,
8721        dstOffset: VkDeviceSize,
8722        dataSize: VkDeviceSize,
8723        pData: *const ::std::os::raw::c_void,
8724    );
8725}
8726extern "C" {
8727    pub fn vkCmdFillBuffer(
8728        commandBuffer: VkCommandBuffer,
8729        dstBuffer: VkBuffer,
8730        dstOffset: VkDeviceSize,
8731        size: VkDeviceSize,
8732        data: u32,
8733    );
8734}
8735extern "C" {
8736    pub fn vkCmdClearColorImage(
8737        commandBuffer: VkCommandBuffer,
8738        image: VkImage,
8739        imageLayout: VkImageLayout,
8740        pColor: *const VkClearColorValue,
8741        rangeCount: u32,
8742        pRanges: *const VkImageSubresourceRange,
8743    );
8744}
8745extern "C" {
8746    pub fn vkCmdClearDepthStencilImage(
8747        commandBuffer: VkCommandBuffer,
8748        image: VkImage,
8749        imageLayout: VkImageLayout,
8750        pDepthStencil: *const VkClearDepthStencilValue,
8751        rangeCount: u32,
8752        pRanges: *const VkImageSubresourceRange,
8753    );
8754}
8755extern "C" {
8756    pub fn vkCmdClearAttachments(
8757        commandBuffer: VkCommandBuffer,
8758        attachmentCount: u32,
8759        pAttachments: *const VkClearAttachment,
8760        rectCount: u32,
8761        pRects: *const VkClearRect,
8762    );
8763}
8764extern "C" {
8765    pub fn vkCmdResolveImage(
8766        commandBuffer: VkCommandBuffer,
8767        srcImage: VkImage,
8768        srcImageLayout: VkImageLayout,
8769        dstImage: VkImage,
8770        dstImageLayout: VkImageLayout,
8771        regionCount: u32,
8772        pRegions: *const VkImageResolve,
8773    );
8774}
8775extern "C" {
8776    pub fn vkCmdSetEvent(
8777        commandBuffer: VkCommandBuffer,
8778        event: VkEvent,
8779        stageMask: VkPipelineStageFlags,
8780    );
8781}
8782extern "C" {
8783    pub fn vkCmdResetEvent(
8784        commandBuffer: VkCommandBuffer,
8785        event: VkEvent,
8786        stageMask: VkPipelineStageFlags,
8787    );
8788}
8789extern "C" {
8790    pub fn vkCmdWaitEvents(
8791        commandBuffer: VkCommandBuffer,
8792        eventCount: u32,
8793        pEvents: *const VkEvent,
8794        srcStageMask: VkPipelineStageFlags,
8795        dstStageMask: VkPipelineStageFlags,
8796        memoryBarrierCount: u32,
8797        pMemoryBarriers: *const VkMemoryBarrier,
8798        bufferMemoryBarrierCount: u32,
8799        pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
8800        imageMemoryBarrierCount: u32,
8801        pImageMemoryBarriers: *const VkImageMemoryBarrier,
8802    );
8803}
8804extern "C" {
8805    pub fn vkCmdPipelineBarrier(
8806        commandBuffer: VkCommandBuffer,
8807        srcStageMask: VkPipelineStageFlags,
8808        dstStageMask: VkPipelineStageFlags,
8809        dependencyFlags: VkDependencyFlags,
8810        memoryBarrierCount: u32,
8811        pMemoryBarriers: *const VkMemoryBarrier,
8812        bufferMemoryBarrierCount: u32,
8813        pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
8814        imageMemoryBarrierCount: u32,
8815        pImageMemoryBarriers: *const VkImageMemoryBarrier,
8816    );
8817}
8818extern "C" {
8819    pub fn vkCmdBeginQuery(
8820        commandBuffer: VkCommandBuffer,
8821        queryPool: VkQueryPool,
8822        query: u32,
8823        flags: VkQueryControlFlags,
8824    );
8825}
8826extern "C" {
8827    pub fn vkCmdEndQuery(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32);
8828}
8829extern "C" {
8830    pub fn vkCmdResetQueryPool(
8831        commandBuffer: VkCommandBuffer,
8832        queryPool: VkQueryPool,
8833        firstQuery: u32,
8834        queryCount: u32,
8835    );
8836}
8837extern "C" {
8838    pub fn vkCmdWriteTimestamp(
8839        commandBuffer: VkCommandBuffer,
8840        pipelineStage: VkPipelineStageFlagBits,
8841        queryPool: VkQueryPool,
8842        query: u32,
8843    );
8844}
8845extern "C" {
8846    pub fn vkCmdCopyQueryPoolResults(
8847        commandBuffer: VkCommandBuffer,
8848        queryPool: VkQueryPool,
8849        firstQuery: u32,
8850        queryCount: u32,
8851        dstBuffer: VkBuffer,
8852        dstOffset: VkDeviceSize,
8853        stride: VkDeviceSize,
8854        flags: VkQueryResultFlags,
8855    );
8856}
8857extern "C" {
8858    pub fn vkCmdPushConstants(
8859        commandBuffer: VkCommandBuffer,
8860        layout: VkPipelineLayout,
8861        stageFlags: VkShaderStageFlags,
8862        offset: u32,
8863        size: u32,
8864        pValues: *const ::std::os::raw::c_void,
8865    );
8866}
8867extern "C" {
8868    pub fn vkCmdBeginRenderPass(
8869        commandBuffer: VkCommandBuffer,
8870        pRenderPassBegin: *const VkRenderPassBeginInfo,
8871        contents: VkSubpassContents,
8872    );
8873}
8874extern "C" {
8875    pub fn vkCmdNextSubpass(commandBuffer: VkCommandBuffer, contents: VkSubpassContents);
8876}
8877extern "C" {
8878    pub fn vkCmdEndRenderPass(commandBuffer: VkCommandBuffer);
8879}
8880extern "C" {
8881    pub fn vkCmdExecuteCommands(
8882        commandBuffer: VkCommandBuffer,
8883        commandBufferCount: u32,
8884        pCommandBuffers: *const VkCommandBuffer,
8885    );
8886}
8887#[repr(C)]
8888#[derive(Debug, Copy, Clone)]
8889pub struct VkSamplerYcbcrConversion_T {
8890    _unused: [u8; 0],
8891}
8892pub type VkSamplerYcbcrConversion = *mut VkSamplerYcbcrConversion_T;
8893#[repr(C)]
8894#[derive(Debug, Copy, Clone)]
8895pub struct VkDescriptorUpdateTemplate_T {
8896    _unused: [u8; 0],
8897}
8898pub type VkDescriptorUpdateTemplate = *mut VkDescriptorUpdateTemplate_T;
8899pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES:
8900    VkPointClippingBehavior = 0;
8901pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY:
8902    VkPointClippingBehavior = 1;
8903pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR:
8904    VkPointClippingBehavior = 0;
8905pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR:
8906    VkPointClippingBehavior = 1;
8907pub const VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM: VkPointClippingBehavior =
8908    2147483647;
8909pub type VkPointClippingBehavior = ::std::os::raw::c_uint;
8910pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT:
8911    VkTessellationDomainOrigin = 0;
8912pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT:
8913    VkTessellationDomainOrigin = 1;
8914pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR:
8915    VkTessellationDomainOrigin = 0;
8916pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR:
8917    VkTessellationDomainOrigin = 1;
8918pub const VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM:
8919    VkTessellationDomainOrigin = 2147483647;
8920pub type VkTessellationDomainOrigin = ::std::os::raw::c_uint;
8921pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
8922    VkSamplerYcbcrModelConversion = 0;
8923pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY:
8924    VkSamplerYcbcrModelConversion = 1;
8925pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709:
8926    VkSamplerYcbcrModelConversion = 2;
8927pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601:
8928    VkSamplerYcbcrModelConversion = 3;
8929pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020:
8930    VkSamplerYcbcrModelConversion = 4;
8931pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR:
8932    VkSamplerYcbcrModelConversion = 0;
8933pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR:
8934    VkSamplerYcbcrModelConversion = 1;
8935pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR:
8936    VkSamplerYcbcrModelConversion = 2;
8937pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR:
8938    VkSamplerYcbcrModelConversion = 3;
8939pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR:
8940    VkSamplerYcbcrModelConversion = 4;
8941pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM:
8942    VkSamplerYcbcrModelConversion = 2147483647;
8943pub type VkSamplerYcbcrModelConversion = ::std::os::raw::c_uint;
8944pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL: VkSamplerYcbcrRange = 0;
8945pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: VkSamplerYcbcrRange = 1;
8946pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR: VkSamplerYcbcrRange = 0;
8947pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR: VkSamplerYcbcrRange = 1;
8948pub const VK_SAMPLER_YCBCR_RANGE_MAX_ENUM: VkSamplerYcbcrRange = 2147483647;
8949pub type VkSamplerYcbcrRange = ::std::os::raw::c_uint;
8950pub const VK_CHROMA_LOCATION_COSITED_EVEN: VkChromaLocation = 0;
8951pub const VK_CHROMA_LOCATION_MIDPOINT: VkChromaLocation = 1;
8952pub const VK_CHROMA_LOCATION_COSITED_EVEN_KHR: VkChromaLocation = 0;
8953pub const VK_CHROMA_LOCATION_MIDPOINT_KHR: VkChromaLocation = 1;
8954pub const VK_CHROMA_LOCATION_MAX_ENUM: VkChromaLocation = 2147483647;
8955pub type VkChromaLocation = ::std::os::raw::c_uint;
8956pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET:
8957    VkDescriptorUpdateTemplateType = 0;
8958pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR:
8959    VkDescriptorUpdateTemplateType = 1;
8960pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR:
8961    VkDescriptorUpdateTemplateType = 0;
8962pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM:
8963    VkDescriptorUpdateTemplateType = 2147483647;
8964pub type VkDescriptorUpdateTemplateType = ::std::os::raw::c_uint;
8965pub const VK_SUBGROUP_FEATURE_BASIC_BIT: VkSubgroupFeatureFlagBits = 1;
8966pub const VK_SUBGROUP_FEATURE_VOTE_BIT: VkSubgroupFeatureFlagBits = 2;
8967pub const VK_SUBGROUP_FEATURE_ARITHMETIC_BIT: VkSubgroupFeatureFlagBits =
8968    4;
8969pub const VK_SUBGROUP_FEATURE_BALLOT_BIT: VkSubgroupFeatureFlagBits = 8;
8970pub const VK_SUBGROUP_FEATURE_SHUFFLE_BIT: VkSubgroupFeatureFlagBits = 16;
8971pub const VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT:
8972    VkSubgroupFeatureFlagBits = 32;
8973pub const VK_SUBGROUP_FEATURE_CLUSTERED_BIT: VkSubgroupFeatureFlagBits =
8974    64;
8975pub const VK_SUBGROUP_FEATURE_QUAD_BIT: VkSubgroupFeatureFlagBits = 128;
8976pub const VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV:
8977    VkSubgroupFeatureFlagBits = 256;
8978pub const VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR: VkSubgroupFeatureFlagBits =
8979    512;
8980pub const VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR:
8981    VkSubgroupFeatureFlagBits = 1024;
8982pub const VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM:
8983    VkSubgroupFeatureFlagBits = 2147483647;
8984pub type VkSubgroupFeatureFlagBits = ::std::os::raw::c_uint;
8985pub type VkSubgroupFeatureFlags = VkFlags;
8986pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT:
8987    VkPeerMemoryFeatureFlagBits = 1;
8988pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT:
8989    VkPeerMemoryFeatureFlagBits = 2;
8990pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT:
8991    VkPeerMemoryFeatureFlagBits = 4;
8992pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT:
8993    VkPeerMemoryFeatureFlagBits = 8;
8994pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR:
8995    VkPeerMemoryFeatureFlagBits = 1;
8996pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR:
8997    VkPeerMemoryFeatureFlagBits = 2;
8998pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR:
8999    VkPeerMemoryFeatureFlagBits = 4;
9000pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR:
9001    VkPeerMemoryFeatureFlagBits = 8;
9002pub const VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM:
9003    VkPeerMemoryFeatureFlagBits = 2147483647;
9004pub type VkPeerMemoryFeatureFlagBits = ::std::os::raw::c_uint;
9005pub type VkPeerMemoryFeatureFlags = VkFlags;
9006pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT: VkMemoryAllocateFlagBits = 1;
9007pub const VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT: VkMemoryAllocateFlagBits =
9008    2;
9009pub const VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT:
9010    VkMemoryAllocateFlagBits = 4;
9011pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR:
9012    VkMemoryAllocateFlagBits = 1;
9013pub const VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR:
9014    VkMemoryAllocateFlagBits = 2;
9015pub const VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR:
9016    VkMemoryAllocateFlagBits = 4;
9017pub const VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM: VkMemoryAllocateFlagBits =
9018    2147483647;
9019pub type VkMemoryAllocateFlagBits = ::std::os::raw::c_uint;
9020pub type VkMemoryAllocateFlags = VkFlags;
9021pub type VkCommandPoolTrimFlags = VkFlags;
9022pub type VkDescriptorUpdateTemplateCreateFlags = VkFlags;
9023pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
9024    VkExternalMemoryHandleTypeFlagBits = 1;
9025pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT:
9026    VkExternalMemoryHandleTypeFlagBits = 2;
9027pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
9028    VkExternalMemoryHandleTypeFlagBits = 4;
9029pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT:
9030    VkExternalMemoryHandleTypeFlagBits = 8;
9031pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT : VkExternalMemoryHandleTypeFlagBits = 16 ;
9032pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT:
9033    VkExternalMemoryHandleTypeFlagBits = 32;
9034pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT:
9035    VkExternalMemoryHandleTypeFlagBits = 64;
9036pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT:
9037    VkExternalMemoryHandleTypeFlagBits = 512;
9038pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID : VkExternalMemoryHandleTypeFlagBits = 1024 ;
9039pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT : VkExternalMemoryHandleTypeFlagBits = 128 ;
9040pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT : VkExternalMemoryHandleTypeFlagBits = 256 ;
9041pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA : VkExternalMemoryHandleTypeFlagBits = 2048 ;
9042pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV:
9043    VkExternalMemoryHandleTypeFlagBits = 4096;
9044pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX : VkExternalMemoryHandleTypeFlagBits = 16384 ;
9045pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR:
9046    VkExternalMemoryHandleTypeFlagBits = 1;
9047pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR:
9048    VkExternalMemoryHandleTypeFlagBits = 2;
9049pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : VkExternalMemoryHandleTypeFlagBits = 4 ;
9050pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR : VkExternalMemoryHandleTypeFlagBits = 8 ;
9051pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR : VkExternalMemoryHandleTypeFlagBits = 16 ;
9052pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR:
9053    VkExternalMemoryHandleTypeFlagBits = 32;
9054pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR : VkExternalMemoryHandleTypeFlagBits = 64 ;
9055pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM:
9056    VkExternalMemoryHandleTypeFlagBits = 2147483647;
9057pub type VkExternalMemoryHandleTypeFlagBits = ::std::os::raw::c_uint;
9058pub type VkExternalMemoryHandleTypeFlags = VkFlags;
9059pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT:
9060    VkExternalMemoryFeatureFlagBits = 1;
9061pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT:
9062    VkExternalMemoryFeatureFlagBits = 2;
9063pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT:
9064    VkExternalMemoryFeatureFlagBits = 4;
9065pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR:
9066    VkExternalMemoryFeatureFlagBits = 1;
9067pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR:
9068    VkExternalMemoryFeatureFlagBits = 2;
9069pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR:
9070    VkExternalMemoryFeatureFlagBits = 4;
9071pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM:
9072    VkExternalMemoryFeatureFlagBits = 2147483647;
9073pub type VkExternalMemoryFeatureFlagBits = ::std::os::raw::c_uint;
9074pub type VkExternalMemoryFeatureFlags = VkFlags;
9075pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT:
9076    VkExternalFenceHandleTypeFlagBits = 1;
9077pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
9078    VkExternalFenceHandleTypeFlagBits = 2;
9079pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
9080    VkExternalFenceHandleTypeFlagBits = 4;
9081pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT:
9082    VkExternalFenceHandleTypeFlagBits = 8;
9083pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR:
9084    VkExternalFenceHandleTypeFlagBits = 1;
9085pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR:
9086    VkExternalFenceHandleTypeFlagBits = 2;
9087pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : VkExternalFenceHandleTypeFlagBits = 4 ;
9088pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR:
9089    VkExternalFenceHandleTypeFlagBits = 8;
9090pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM:
9091    VkExternalFenceHandleTypeFlagBits = 2147483647;
9092pub type VkExternalFenceHandleTypeFlagBits = ::std::os::raw::c_uint;
9093pub type VkExternalFenceHandleTypeFlags = VkFlags;
9094pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT:
9095    VkExternalFenceFeatureFlagBits = 1;
9096pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT:
9097    VkExternalFenceFeatureFlagBits = 2;
9098pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR:
9099    VkExternalFenceFeatureFlagBits = 1;
9100pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR:
9101    VkExternalFenceFeatureFlagBits = 2;
9102pub const VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM:
9103    VkExternalFenceFeatureFlagBits = 2147483647;
9104pub type VkExternalFenceFeatureFlagBits = ::std::os::raw::c_uint;
9105pub type VkExternalFenceFeatureFlags = VkFlags;
9106pub const VK_FENCE_IMPORT_TEMPORARY_BIT: VkFenceImportFlagBits = 1;
9107pub const VK_FENCE_IMPORT_TEMPORARY_BIT_KHR: VkFenceImportFlagBits = 1;
9108pub const VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM: VkFenceImportFlagBits =
9109    2147483647;
9110pub type VkFenceImportFlagBits = ::std::os::raw::c_uint;
9111pub type VkFenceImportFlags = VkFlags;
9112pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT: VkSemaphoreImportFlagBits =
9113    1;
9114pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR:
9115    VkSemaphoreImportFlagBits = 1;
9116pub const VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM:
9117    VkSemaphoreImportFlagBits = 2147483647;
9118pub type VkSemaphoreImportFlagBits = ::std::os::raw::c_uint;
9119pub type VkSemaphoreImportFlags = VkFlags;
9120pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT:
9121    VkExternalSemaphoreHandleTypeFlagBits = 1;
9122pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT : VkExternalSemaphoreHandleTypeFlagBits = 2 ;
9123pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : VkExternalSemaphoreHandleTypeFlagBits = 4 ;
9124pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT : VkExternalSemaphoreHandleTypeFlagBits = 8 ;
9125pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT:
9126    VkExternalSemaphoreHandleTypeFlagBits = 16;
9127pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA : VkExternalSemaphoreHandleTypeFlagBits = 128 ;
9128pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT : VkExternalSemaphoreHandleTypeFlagBits = 8 ;
9129pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : VkExternalSemaphoreHandleTypeFlagBits = 1 ;
9130pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : VkExternalSemaphoreHandleTypeFlagBits = 2 ;
9131pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : VkExternalSemaphoreHandleTypeFlagBits = 4 ;
9132pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR : VkExternalSemaphoreHandleTypeFlagBits = 8 ;
9133pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR : VkExternalSemaphoreHandleTypeFlagBits = 16 ;
9134pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : VkExternalSemaphoreHandleTypeFlagBits = 2147483647 ;
9135pub type VkExternalSemaphoreHandleTypeFlagBits = ::std::os::raw::c_uint;
9136pub type VkExternalSemaphoreHandleTypeFlags = VkFlags;
9137pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT:
9138    VkExternalSemaphoreFeatureFlagBits = 1;
9139pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT:
9140    VkExternalSemaphoreFeatureFlagBits = 2;
9141pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR:
9142    VkExternalSemaphoreFeatureFlagBits = 1;
9143pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR:
9144    VkExternalSemaphoreFeatureFlagBits = 2;
9145pub const VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM:
9146    VkExternalSemaphoreFeatureFlagBits = 2147483647;
9147pub type VkExternalSemaphoreFeatureFlagBits = ::std::os::raw::c_uint;
9148pub type VkExternalSemaphoreFeatureFlags = VkFlags;
9149#[repr(C)]
9150#[derive(Debug, Copy, Clone)]
9151pub struct VkPhysicalDeviceSubgroupProperties {
9152    pub sType: VkStructureType,
9153    pub pNext: *mut ::std::os::raw::c_void,
9154    pub subgroupSize: u32,
9155    pub supportedStages: VkShaderStageFlags,
9156    pub supportedOperations: VkSubgroupFeatureFlags,
9157    pub quadOperationsInAllStages: VkBool32,
9158}
9159#[repr(C)]
9160#[derive(Debug, Copy, Clone)]
9161pub struct VkBindBufferMemoryInfo {
9162    pub sType: VkStructureType,
9163    pub pNext: *const ::std::os::raw::c_void,
9164    pub buffer: VkBuffer,
9165    pub memory: VkDeviceMemory,
9166    pub memoryOffset: VkDeviceSize,
9167}
9168#[repr(C)]
9169#[derive(Debug, Copy, Clone)]
9170pub struct VkBindImageMemoryInfo {
9171    pub sType: VkStructureType,
9172    pub pNext: *const ::std::os::raw::c_void,
9173    pub image: VkImage,
9174    pub memory: VkDeviceMemory,
9175    pub memoryOffset: VkDeviceSize,
9176}
9177#[repr(C)]
9178#[derive(Debug, Copy, Clone)]
9179pub struct VkPhysicalDevice16BitStorageFeatures {
9180    pub sType: VkStructureType,
9181    pub pNext: *mut ::std::os::raw::c_void,
9182    pub storageBuffer16BitAccess: VkBool32,
9183    pub uniformAndStorageBuffer16BitAccess: VkBool32,
9184    pub storagePushConstant16: VkBool32,
9185    pub storageInputOutput16: VkBool32,
9186}
9187#[repr(C)]
9188#[derive(Debug, Copy, Clone)]
9189pub struct VkMemoryDedicatedRequirements {
9190    pub sType: VkStructureType,
9191    pub pNext: *mut ::std::os::raw::c_void,
9192    pub prefersDedicatedAllocation: VkBool32,
9193    pub requiresDedicatedAllocation: VkBool32,
9194}
9195#[repr(C)]
9196#[derive(Debug, Copy, Clone)]
9197pub struct VkMemoryDedicatedAllocateInfo {
9198    pub sType: VkStructureType,
9199    pub pNext: *const ::std::os::raw::c_void,
9200    pub image: VkImage,
9201    pub buffer: VkBuffer,
9202}
9203#[repr(C)]
9204#[derive(Debug, Copy, Clone)]
9205pub struct VkMemoryAllocateFlagsInfo {
9206    pub sType: VkStructureType,
9207    pub pNext: *const ::std::os::raw::c_void,
9208    pub flags: VkMemoryAllocateFlags,
9209    pub deviceMask: u32,
9210}
9211#[repr(C)]
9212#[derive(Debug, Copy, Clone)]
9213pub struct VkDeviceGroupRenderPassBeginInfo {
9214    pub sType: VkStructureType,
9215    pub pNext: *const ::std::os::raw::c_void,
9216    pub deviceMask: u32,
9217    pub deviceRenderAreaCount: u32,
9218    pub pDeviceRenderAreas: *const VkRect2D,
9219}
9220#[repr(C)]
9221#[derive(Debug, Copy, Clone)]
9222pub struct VkDeviceGroupCommandBufferBeginInfo {
9223    pub sType: VkStructureType,
9224    pub pNext: *const ::std::os::raw::c_void,
9225    pub deviceMask: u32,
9226}
9227#[repr(C)]
9228#[derive(Debug, Copy, Clone)]
9229pub struct VkDeviceGroupSubmitInfo {
9230    pub sType: VkStructureType,
9231    pub pNext: *const ::std::os::raw::c_void,
9232    pub waitSemaphoreCount: u32,
9233    pub pWaitSemaphoreDeviceIndices: *const u32,
9234    pub commandBufferCount: u32,
9235    pub pCommandBufferDeviceMasks: *const u32,
9236    pub signalSemaphoreCount: u32,
9237    pub pSignalSemaphoreDeviceIndices: *const u32,
9238}
9239#[repr(C)]
9240#[derive(Debug, Copy, Clone)]
9241pub struct VkDeviceGroupBindSparseInfo {
9242    pub sType: VkStructureType,
9243    pub pNext: *const ::std::os::raw::c_void,
9244    pub resourceDeviceIndex: u32,
9245    pub memoryDeviceIndex: u32,
9246}
9247#[repr(C)]
9248#[derive(Debug, Copy, Clone)]
9249pub struct VkBindBufferMemoryDeviceGroupInfo {
9250    pub sType: VkStructureType,
9251    pub pNext: *const ::std::os::raw::c_void,
9252    pub deviceIndexCount: u32,
9253    pub pDeviceIndices: *const u32,
9254}
9255#[repr(C)]
9256#[derive(Debug, Copy, Clone)]
9257pub struct VkBindImageMemoryDeviceGroupInfo {
9258    pub sType: VkStructureType,
9259    pub pNext: *const ::std::os::raw::c_void,
9260    pub deviceIndexCount: u32,
9261    pub pDeviceIndices: *const u32,
9262    pub splitInstanceBindRegionCount: u32,
9263    pub pSplitInstanceBindRegions: *const VkRect2D,
9264}
9265#[repr(C)]
9266#[derive(Debug, Copy, Clone)]
9267pub struct VkPhysicalDeviceGroupProperties {
9268    pub sType: VkStructureType,
9269    pub pNext: *mut ::std::os::raw::c_void,
9270    pub physicalDeviceCount: u32,
9271    pub physicalDevices: [VkPhysicalDevice; 32usize],
9272    pub subsetAllocation: VkBool32,
9273}
9274#[repr(C)]
9275#[derive(Debug, Copy, Clone)]
9276pub struct VkDeviceGroupDeviceCreateInfo {
9277    pub sType: VkStructureType,
9278    pub pNext: *const ::std::os::raw::c_void,
9279    pub physicalDeviceCount: u32,
9280    pub pPhysicalDevices: *const VkPhysicalDevice,
9281}
9282#[repr(C)]
9283#[derive(Debug, Copy, Clone)]
9284pub struct VkBufferMemoryRequirementsInfo2 {
9285    pub sType: VkStructureType,
9286    pub pNext: *const ::std::os::raw::c_void,
9287    pub buffer: VkBuffer,
9288}
9289#[repr(C)]
9290#[derive(Debug, Copy, Clone)]
9291pub struct VkImageMemoryRequirementsInfo2 {
9292    pub sType: VkStructureType,
9293    pub pNext: *const ::std::os::raw::c_void,
9294    pub image: VkImage,
9295}
9296#[repr(C)]
9297#[derive(Debug, Copy, Clone)]
9298pub struct VkImageSparseMemoryRequirementsInfo2 {
9299    pub sType: VkStructureType,
9300    pub pNext: *const ::std::os::raw::c_void,
9301    pub image: VkImage,
9302}
9303#[repr(C)]
9304#[derive(Debug, Copy, Clone)]
9305pub struct VkMemoryRequirements2 {
9306    pub sType: VkStructureType,
9307    pub pNext: *mut ::std::os::raw::c_void,
9308    pub memoryRequirements: VkMemoryRequirements,
9309}
9310#[repr(C)]
9311#[derive(Debug, Copy, Clone)]
9312pub struct VkSparseImageMemoryRequirements2 {
9313    pub sType: VkStructureType,
9314    pub pNext: *mut ::std::os::raw::c_void,
9315    pub memoryRequirements: VkSparseImageMemoryRequirements,
9316}
9317#[repr(C)]
9318#[derive(Debug, Copy, Clone)]
9319pub struct VkPhysicalDeviceFeatures2 {
9320    pub sType: VkStructureType,
9321    pub pNext: *mut ::std::os::raw::c_void,
9322    pub features: VkPhysicalDeviceFeatures,
9323}
9324#[repr(C)]
9325#[derive(Debug, Copy, Clone)]
9326pub struct VkPhysicalDeviceProperties2 {
9327    pub sType: VkStructureType,
9328    pub pNext: *mut ::std::os::raw::c_void,
9329    pub properties: VkPhysicalDeviceProperties,
9330}
9331#[repr(C)]
9332#[derive(Debug, Copy, Clone)]
9333pub struct VkFormatProperties2 {
9334    pub sType: VkStructureType,
9335    pub pNext: *mut ::std::os::raw::c_void,
9336    pub formatProperties: VkFormatProperties,
9337}
9338#[repr(C)]
9339#[derive(Debug, Copy, Clone)]
9340pub struct VkImageFormatProperties2 {
9341    pub sType: VkStructureType,
9342    pub pNext: *mut ::std::os::raw::c_void,
9343    pub imageFormatProperties: VkImageFormatProperties,
9344}
9345#[repr(C)]
9346#[derive(Debug, Copy, Clone)]
9347pub struct VkPhysicalDeviceImageFormatInfo2 {
9348    pub sType: VkStructureType,
9349    pub pNext: *const ::std::os::raw::c_void,
9350    pub format: VkFormat,
9351    pub type_: VkImageType,
9352    pub tiling: VkImageTiling,
9353    pub usage: VkImageUsageFlags,
9354    pub flags: VkImageCreateFlags,
9355}
9356#[repr(C)]
9357#[derive(Debug, Copy, Clone)]
9358pub struct VkQueueFamilyProperties2 {
9359    pub sType: VkStructureType,
9360    pub pNext: *mut ::std::os::raw::c_void,
9361    pub queueFamilyProperties: VkQueueFamilyProperties,
9362}
9363#[repr(C)]
9364#[derive(Debug, Copy, Clone)]
9365pub struct VkPhysicalDeviceMemoryProperties2 {
9366    pub sType: VkStructureType,
9367    pub pNext: *mut ::std::os::raw::c_void,
9368    pub memoryProperties: VkPhysicalDeviceMemoryProperties,
9369}
9370#[repr(C)]
9371#[derive(Debug, Copy, Clone)]
9372pub struct VkSparseImageFormatProperties2 {
9373    pub sType: VkStructureType,
9374    pub pNext: *mut ::std::os::raw::c_void,
9375    pub properties: VkSparseImageFormatProperties,
9376}
9377#[repr(C)]
9378#[derive(Debug, Copy, Clone)]
9379pub struct VkPhysicalDeviceSparseImageFormatInfo2 {
9380    pub sType: VkStructureType,
9381    pub pNext: *const ::std::os::raw::c_void,
9382    pub format: VkFormat,
9383    pub type_: VkImageType,
9384    pub samples: VkSampleCountFlagBits,
9385    pub usage: VkImageUsageFlags,
9386    pub tiling: VkImageTiling,
9387}
9388#[repr(C)]
9389#[derive(Debug, Copy, Clone)]
9390pub struct VkPhysicalDevicePointClippingProperties {
9391    pub sType: VkStructureType,
9392    pub pNext: *mut ::std::os::raw::c_void,
9393    pub pointClippingBehavior: VkPointClippingBehavior,
9394}
9395#[repr(C)]
9396#[derive(Debug, Copy, Clone)]
9397pub struct VkInputAttachmentAspectReference {
9398    pub subpass: u32,
9399    pub inputAttachmentIndex: u32,
9400    pub aspectMask: VkImageAspectFlags,
9401}
9402#[repr(C)]
9403#[derive(Debug, Copy, Clone)]
9404pub struct VkRenderPassInputAttachmentAspectCreateInfo {
9405    pub sType: VkStructureType,
9406    pub pNext: *const ::std::os::raw::c_void,
9407    pub aspectReferenceCount: u32,
9408    pub pAspectReferences: *const VkInputAttachmentAspectReference,
9409}
9410#[repr(C)]
9411#[derive(Debug, Copy, Clone)]
9412pub struct VkImageViewUsageCreateInfo {
9413    pub sType: VkStructureType,
9414    pub pNext: *const ::std::os::raw::c_void,
9415    pub usage: VkImageUsageFlags,
9416}
9417#[repr(C)]
9418#[derive(Debug, Copy, Clone)]
9419pub struct VkPipelineTessellationDomainOriginStateCreateInfo {
9420    pub sType: VkStructureType,
9421    pub pNext: *const ::std::os::raw::c_void,
9422    pub domainOrigin: VkTessellationDomainOrigin,
9423}
9424#[repr(C)]
9425#[derive(Debug, Copy, Clone)]
9426pub struct VkRenderPassMultiviewCreateInfo {
9427    pub sType: VkStructureType,
9428    pub pNext: *const ::std::os::raw::c_void,
9429    pub subpassCount: u32,
9430    pub pViewMasks: *const u32,
9431    pub dependencyCount: u32,
9432    pub pViewOffsets: *const i32,
9433    pub correlationMaskCount: u32,
9434    pub pCorrelationMasks: *const u32,
9435}
9436#[repr(C)]
9437#[derive(Debug, Copy, Clone)]
9438pub struct VkPhysicalDeviceMultiviewFeatures {
9439    pub sType: VkStructureType,
9440    pub pNext: *mut ::std::os::raw::c_void,
9441    pub multiview: VkBool32,
9442    pub multiviewGeometryShader: VkBool32,
9443    pub multiviewTessellationShader: VkBool32,
9444}
9445#[repr(C)]
9446#[derive(Debug, Copy, Clone)]
9447pub struct VkPhysicalDeviceMultiviewProperties {
9448    pub sType: VkStructureType,
9449    pub pNext: *mut ::std::os::raw::c_void,
9450    pub maxMultiviewViewCount: u32,
9451    pub maxMultiviewInstanceIndex: u32,
9452}
9453#[repr(C)]
9454#[derive(Debug, Copy, Clone)]
9455pub struct VkPhysicalDeviceVariablePointersFeatures {
9456    pub sType: VkStructureType,
9457    pub pNext: *mut ::std::os::raw::c_void,
9458    pub variablePointersStorageBuffer: VkBool32,
9459    pub variablePointers: VkBool32,
9460}
9461pub type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures;
9462#[repr(C)]
9463#[derive(Debug, Copy, Clone)]
9464pub struct VkPhysicalDeviceProtectedMemoryFeatures {
9465    pub sType: VkStructureType,
9466    pub pNext: *mut ::std::os::raw::c_void,
9467    pub protectedMemory: VkBool32,
9468}
9469#[repr(C)]
9470#[derive(Debug, Copy, Clone)]
9471pub struct VkPhysicalDeviceProtectedMemoryProperties {
9472    pub sType: VkStructureType,
9473    pub pNext: *mut ::std::os::raw::c_void,
9474    pub protectedNoFault: VkBool32,
9475}
9476#[repr(C)]
9477#[derive(Debug, Copy, Clone)]
9478pub struct VkDeviceQueueInfo2 {
9479    pub sType: VkStructureType,
9480    pub pNext: *const ::std::os::raw::c_void,
9481    pub flags: VkDeviceQueueCreateFlags,
9482    pub queueFamilyIndex: u32,
9483    pub queueIndex: u32,
9484}
9485#[repr(C)]
9486#[derive(Debug, Copy, Clone)]
9487pub struct VkProtectedSubmitInfo {
9488    pub sType: VkStructureType,
9489    pub pNext: *const ::std::os::raw::c_void,
9490    pub protectedSubmit: VkBool32,
9491}
9492#[repr(C)]
9493#[derive(Debug, Copy, Clone)]
9494pub struct VkSamplerYcbcrConversionCreateInfo {
9495    pub sType: VkStructureType,
9496    pub pNext: *const ::std::os::raw::c_void,
9497    pub format: VkFormat,
9498    pub ycbcrModel: VkSamplerYcbcrModelConversion,
9499    pub ycbcrRange: VkSamplerYcbcrRange,
9500    pub components: VkComponentMapping,
9501    pub xChromaOffset: VkChromaLocation,
9502    pub yChromaOffset: VkChromaLocation,
9503    pub chromaFilter: VkFilter,
9504    pub forceExplicitReconstruction: VkBool32,
9505}
9506#[repr(C)]
9507#[derive(Debug, Copy, Clone)]
9508pub struct VkSamplerYcbcrConversionInfo {
9509    pub sType: VkStructureType,
9510    pub pNext: *const ::std::os::raw::c_void,
9511    pub conversion: VkSamplerYcbcrConversion,
9512}
9513#[repr(C)]
9514#[derive(Debug, Copy, Clone)]
9515pub struct VkBindImagePlaneMemoryInfo {
9516    pub sType: VkStructureType,
9517    pub pNext: *const ::std::os::raw::c_void,
9518    pub planeAspect: VkImageAspectFlagBits,
9519}
9520#[repr(C)]
9521#[derive(Debug, Copy, Clone)]
9522pub struct VkImagePlaneMemoryRequirementsInfo {
9523    pub sType: VkStructureType,
9524    pub pNext: *const ::std::os::raw::c_void,
9525    pub planeAspect: VkImageAspectFlagBits,
9526}
9527#[repr(C)]
9528#[derive(Debug, Copy, Clone)]
9529pub struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
9530    pub sType: VkStructureType,
9531    pub pNext: *mut ::std::os::raw::c_void,
9532    pub samplerYcbcrConversion: VkBool32,
9533}
9534#[repr(C)]
9535#[derive(Debug, Copy, Clone)]
9536pub struct VkSamplerYcbcrConversionImageFormatProperties {
9537    pub sType: VkStructureType,
9538    pub pNext: *mut ::std::os::raw::c_void,
9539    pub combinedImageSamplerDescriptorCount: u32,
9540}
9541#[repr(C)]
9542#[derive(Debug, Copy, Clone)]
9543pub struct VkDescriptorUpdateTemplateEntry {
9544    pub dstBinding: u32,
9545    pub dstArrayElement: u32,
9546    pub descriptorCount: u32,
9547    pub descriptorType: VkDescriptorType,
9548    pub offset: usize,
9549    pub stride: usize,
9550}
9551#[repr(C)]
9552#[derive(Debug, Copy, Clone)]
9553pub struct VkDescriptorUpdateTemplateCreateInfo {
9554    pub sType: VkStructureType,
9555    pub pNext: *const ::std::os::raw::c_void,
9556    pub flags: VkDescriptorUpdateTemplateCreateFlags,
9557    pub descriptorUpdateEntryCount: u32,
9558    pub pDescriptorUpdateEntries: *const VkDescriptorUpdateTemplateEntry,
9559    pub templateType: VkDescriptorUpdateTemplateType,
9560    pub descriptorSetLayout: VkDescriptorSetLayout,
9561    pub pipelineBindPoint: VkPipelineBindPoint,
9562    pub pipelineLayout: VkPipelineLayout,
9563    pub set: u32,
9564}
9565#[repr(C)]
9566#[derive(Debug, Copy, Clone)]
9567pub struct VkExternalMemoryProperties {
9568    pub externalMemoryFeatures: VkExternalMemoryFeatureFlags,
9569    pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags,
9570    pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlags,
9571}
9572#[repr(C)]
9573#[derive(Debug, Copy, Clone)]
9574pub struct VkPhysicalDeviceExternalImageFormatInfo {
9575    pub sType: VkStructureType,
9576    pub pNext: *const ::std::os::raw::c_void,
9577    pub handleType: VkExternalMemoryHandleTypeFlagBits,
9578}
9579#[repr(C)]
9580#[derive(Debug, Copy, Clone)]
9581pub struct VkExternalImageFormatProperties {
9582    pub sType: VkStructureType,
9583    pub pNext: *mut ::std::os::raw::c_void,
9584    pub externalMemoryProperties: VkExternalMemoryProperties,
9585}
9586#[repr(C)]
9587#[derive(Debug, Copy, Clone)]
9588pub struct VkPhysicalDeviceExternalBufferInfo {
9589    pub sType: VkStructureType,
9590    pub pNext: *const ::std::os::raw::c_void,
9591    pub flags: VkBufferCreateFlags,
9592    pub usage: VkBufferUsageFlags,
9593    pub handleType: VkExternalMemoryHandleTypeFlagBits,
9594}
9595#[repr(C)]
9596#[derive(Debug, Copy, Clone)]
9597pub struct VkExternalBufferProperties {
9598    pub sType: VkStructureType,
9599    pub pNext: *mut ::std::os::raw::c_void,
9600    pub externalMemoryProperties: VkExternalMemoryProperties,
9601}
9602#[repr(C)]
9603#[derive(Debug, Copy, Clone)]
9604pub struct VkPhysicalDeviceIDProperties {
9605    pub sType: VkStructureType,
9606    pub pNext: *mut ::std::os::raw::c_void,
9607    pub deviceUUID: [u8; 16usize],
9608    pub driverUUID: [u8; 16usize],
9609    pub deviceLUID: [u8; 8usize],
9610    pub deviceNodeMask: u32,
9611    pub deviceLUIDValid: VkBool32,
9612}
9613#[repr(C)]
9614#[derive(Debug, Copy, Clone)]
9615pub struct VkExternalMemoryImageCreateInfo {
9616    pub sType: VkStructureType,
9617    pub pNext: *const ::std::os::raw::c_void,
9618    pub handleTypes: VkExternalMemoryHandleTypeFlags,
9619}
9620#[repr(C)]
9621#[derive(Debug, Copy, Clone)]
9622pub struct VkExternalMemoryBufferCreateInfo {
9623    pub sType: VkStructureType,
9624    pub pNext: *const ::std::os::raw::c_void,
9625    pub handleTypes: VkExternalMemoryHandleTypeFlags,
9626}
9627#[repr(C)]
9628#[derive(Debug, Copy, Clone)]
9629pub struct VkExportMemoryAllocateInfo {
9630    pub sType: VkStructureType,
9631    pub pNext: *const ::std::os::raw::c_void,
9632    pub handleTypes: VkExternalMemoryHandleTypeFlags,
9633}
9634#[repr(C)]
9635#[derive(Debug, Copy, Clone)]
9636pub struct VkPhysicalDeviceExternalFenceInfo {
9637    pub sType: VkStructureType,
9638    pub pNext: *const ::std::os::raw::c_void,
9639    pub handleType: VkExternalFenceHandleTypeFlagBits,
9640}
9641#[repr(C)]
9642#[derive(Debug, Copy, Clone)]
9643pub struct VkExternalFenceProperties {
9644    pub sType: VkStructureType,
9645    pub pNext: *mut ::std::os::raw::c_void,
9646    pub exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags,
9647    pub compatibleHandleTypes: VkExternalFenceHandleTypeFlags,
9648    pub externalFenceFeatures: VkExternalFenceFeatureFlags,
9649}
9650#[repr(C)]
9651#[derive(Debug, Copy, Clone)]
9652pub struct VkExportFenceCreateInfo {
9653    pub sType: VkStructureType,
9654    pub pNext: *const ::std::os::raw::c_void,
9655    pub handleTypes: VkExternalFenceHandleTypeFlags,
9656}
9657#[repr(C)]
9658#[derive(Debug, Copy, Clone)]
9659pub struct VkExportSemaphoreCreateInfo {
9660    pub sType: VkStructureType,
9661    pub pNext: *const ::std::os::raw::c_void,
9662    pub handleTypes: VkExternalSemaphoreHandleTypeFlags,
9663}
9664#[repr(C)]
9665#[derive(Debug, Copy, Clone)]
9666pub struct VkPhysicalDeviceExternalSemaphoreInfo {
9667    pub sType: VkStructureType,
9668    pub pNext: *const ::std::os::raw::c_void,
9669    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
9670}
9671#[repr(C)]
9672#[derive(Debug, Copy, Clone)]
9673pub struct VkExternalSemaphoreProperties {
9674    pub sType: VkStructureType,
9675    pub pNext: *mut ::std::os::raw::c_void,
9676    pub exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags,
9677    pub compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags,
9678    pub externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags,
9679}
9680#[repr(C)]
9681#[derive(Debug, Copy, Clone)]
9682pub struct VkPhysicalDeviceMaintenance3Properties {
9683    pub sType: VkStructureType,
9684    pub pNext: *mut ::std::os::raw::c_void,
9685    pub maxPerSetDescriptors: u32,
9686    pub maxMemoryAllocationSize: VkDeviceSize,
9687}
9688#[repr(C)]
9689#[derive(Debug, Copy, Clone)]
9690pub struct VkDescriptorSetLayoutSupport {
9691    pub sType: VkStructureType,
9692    pub pNext: *mut ::std::os::raw::c_void,
9693    pub supported: VkBool32,
9694}
9695#[repr(C)]
9696#[derive(Debug, Copy, Clone)]
9697pub struct VkPhysicalDeviceShaderDrawParametersFeatures {
9698    pub sType: VkStructureType,
9699    pub pNext: *mut ::std::os::raw::c_void,
9700    pub shaderDrawParameters: VkBool32,
9701}
9702pub type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures;
9703pub type PFN_vkEnumerateInstanceVersion =
9704    unsafe extern "C" fn(pApiVersion: *mut u32) -> VkResult;
9705pub type PFN_vkBindBufferMemory2 = 
9706    unsafe extern "C" fn(
9707        device: VkDevice,
9708        bindInfoCount: u32,
9709        pBindInfos: *const VkBindBufferMemoryInfo,
9710    ) -> VkResult;
9711
9712pub type PFN_vkBindImageMemory2 = 
9713    unsafe extern "C" fn(
9714        device: VkDevice,
9715        bindInfoCount: u32,
9716        pBindInfos: *const VkBindImageMemoryInfo,
9717    ) -> VkResult;
9718
9719pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = 
9720    unsafe extern "C" fn(
9721        device: VkDevice,
9722        heapIndex: u32,
9723        localDeviceIndex: u32,
9724        remoteDeviceIndex: u32,
9725        pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
9726    );
9727
9728pub type PFN_vkCmdSetDeviceMask =
9729    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, deviceMask: u32);
9730pub type PFN_vkCmdDispatchBase = 
9731    unsafe extern "C" fn(
9732        commandBuffer: VkCommandBuffer,
9733        baseGroupX: u32,
9734        baseGroupY: u32,
9735        baseGroupZ: u32,
9736        groupCountX: u32,
9737        groupCountY: u32,
9738        groupCountZ: u32,
9739    );
9740
9741pub type PFN_vkEnumeratePhysicalDeviceGroups = 
9742    unsafe extern "C" fn(
9743        instance: VkInstance,
9744        pPhysicalDeviceGroupCount: *mut u32,
9745        pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
9746    ) -> VkResult;
9747
9748pub type PFN_vkGetImageMemoryRequirements2 = 
9749    unsafe extern "C" fn(
9750        device: VkDevice,
9751        pInfo: *const VkImageMemoryRequirementsInfo2,
9752        pMemoryRequirements: *mut VkMemoryRequirements2,
9753    );
9754
9755pub type PFN_vkGetBufferMemoryRequirements2 = 
9756    unsafe extern "C" fn(
9757        device: VkDevice,
9758        pInfo: *const VkBufferMemoryRequirementsInfo2,
9759        pMemoryRequirements: *mut VkMemoryRequirements2,
9760    );
9761
9762pub type PFN_vkGetImageSparseMemoryRequirements2 = 
9763    unsafe extern "C" fn(
9764        device: VkDevice,
9765        pInfo: *const VkImageSparseMemoryRequirementsInfo2,
9766        pSparseMemoryRequirementCount: *mut u32,
9767        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
9768    );
9769
9770pub type PFN_vkGetPhysicalDeviceFeatures2 = 
9771    unsafe extern "C" fn(
9772        physicalDevice: VkPhysicalDevice,
9773        pFeatures: *mut VkPhysicalDeviceFeatures2,
9774    );
9775
9776pub type PFN_vkGetPhysicalDeviceProperties2 = 
9777    unsafe extern "C" fn(
9778        physicalDevice: VkPhysicalDevice,
9779        pProperties: *mut VkPhysicalDeviceProperties2,
9780    );
9781
9782pub type PFN_vkGetPhysicalDeviceFormatProperties2 = 
9783    unsafe extern "C" fn(
9784        physicalDevice: VkPhysicalDevice,
9785        format: VkFormat,
9786        pFormatProperties: *mut VkFormatProperties2,
9787    );
9788
9789pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = 
9790    unsafe extern "C" fn(
9791        physicalDevice: VkPhysicalDevice,
9792        pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
9793        pImageFormatProperties: *mut VkImageFormatProperties2,
9794    ) -> VkResult;
9795
9796pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = 
9797    unsafe extern "C" fn(
9798        physicalDevice: VkPhysicalDevice,
9799        pQueueFamilyPropertyCount: *mut u32,
9800        pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
9801    );
9802
9803pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = 
9804    unsafe extern "C" fn(
9805        physicalDevice: VkPhysicalDevice,
9806        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
9807    );
9808
9809pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = 
9810    unsafe extern "C" fn(
9811        physicalDevice: VkPhysicalDevice,
9812        pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
9813        pPropertyCount: *mut u32,
9814        pProperties: *mut VkSparseImageFormatProperties2,
9815    );
9816
9817pub type PFN_vkTrimCommandPool = 
9818    unsafe extern "C" fn(
9819        device: VkDevice,
9820        commandPool: VkCommandPool,
9821        flags: VkCommandPoolTrimFlags,
9822    );
9823
9824pub type PFN_vkGetDeviceQueue2 = 
9825    unsafe extern "C" fn(
9826        device: VkDevice,
9827        pQueueInfo: *const VkDeviceQueueInfo2,
9828        pQueue: *mut VkQueue,
9829    );
9830
9831pub type PFN_vkCreateSamplerYcbcrConversion = 
9832    unsafe extern "C" fn(
9833        device: VkDevice,
9834        pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
9835        pAllocator: *const VkAllocationCallbacks,
9836        pYcbcrConversion: *mut VkSamplerYcbcrConversion,
9837    ) -> VkResult;
9838
9839pub type PFN_vkDestroySamplerYcbcrConversion = 
9840    unsafe extern "C" fn(
9841        device: VkDevice,
9842        ycbcrConversion: VkSamplerYcbcrConversion,
9843        pAllocator: *const VkAllocationCallbacks,
9844    );
9845
9846pub type PFN_vkCreateDescriptorUpdateTemplate = 
9847    unsafe extern "C" fn(
9848        device: VkDevice,
9849        pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
9850        pAllocator: *const VkAllocationCallbacks,
9851        pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
9852    ) -> VkResult;
9853
9854pub type PFN_vkDestroyDescriptorUpdateTemplate = 
9855    unsafe extern "C" fn(
9856        device: VkDevice,
9857        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
9858        pAllocator: *const VkAllocationCallbacks,
9859    );
9860
9861pub type PFN_vkUpdateDescriptorSetWithTemplate = 
9862    unsafe extern "C" fn(
9863        device: VkDevice,
9864        descriptorSet: VkDescriptorSet,
9865        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
9866        pData: *const ::std::os::raw::c_void,
9867    );
9868
9869pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = 
9870    unsafe extern "C" fn(
9871        physicalDevice: VkPhysicalDevice,
9872        pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
9873        pExternalBufferProperties: *mut VkExternalBufferProperties,
9874    );
9875
9876pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = 
9877    unsafe extern "C" fn(
9878        physicalDevice: VkPhysicalDevice,
9879        pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
9880        pExternalFenceProperties: *mut VkExternalFenceProperties,
9881    );
9882
9883pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = 
9884    unsafe extern "C" fn(
9885        physicalDevice: VkPhysicalDevice,
9886        pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
9887        pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
9888    );
9889
9890pub type PFN_vkGetDescriptorSetLayoutSupport = 
9891    unsafe extern "C" fn(
9892        device: VkDevice,
9893        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
9894        pSupport: *mut VkDescriptorSetLayoutSupport,
9895    );
9896
9897extern "C" {
9898    pub fn vkEnumerateInstanceVersion(pApiVersion: *mut u32) -> VkResult;
9899}
9900extern "C" {
9901    pub fn vkBindBufferMemory2(
9902        device: VkDevice,
9903        bindInfoCount: u32,
9904        pBindInfos: *const VkBindBufferMemoryInfo,
9905    ) -> VkResult;
9906}
9907extern "C" {
9908    pub fn vkBindImageMemory2(
9909        device: VkDevice,
9910        bindInfoCount: u32,
9911        pBindInfos: *const VkBindImageMemoryInfo,
9912    ) -> VkResult;
9913}
9914extern "C" {
9915    pub fn vkGetDeviceGroupPeerMemoryFeatures(
9916        device: VkDevice,
9917        heapIndex: u32,
9918        localDeviceIndex: u32,
9919        remoteDeviceIndex: u32,
9920        pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
9921    );
9922}
9923extern "C" {
9924    pub fn vkCmdSetDeviceMask(commandBuffer: VkCommandBuffer, deviceMask: u32);
9925}
9926extern "C" {
9927    pub fn vkCmdDispatchBase(
9928        commandBuffer: VkCommandBuffer,
9929        baseGroupX: u32,
9930        baseGroupY: u32,
9931        baseGroupZ: u32,
9932        groupCountX: u32,
9933        groupCountY: u32,
9934        groupCountZ: u32,
9935    );
9936}
9937extern "C" {
9938    pub fn vkEnumeratePhysicalDeviceGroups(
9939        instance: VkInstance,
9940        pPhysicalDeviceGroupCount: *mut u32,
9941        pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
9942    ) -> VkResult;
9943}
9944extern "C" {
9945    pub fn vkGetImageMemoryRequirements2(
9946        device: VkDevice,
9947        pInfo: *const VkImageMemoryRequirementsInfo2,
9948        pMemoryRequirements: *mut VkMemoryRequirements2,
9949    );
9950}
9951extern "C" {
9952    pub fn vkGetBufferMemoryRequirements2(
9953        device: VkDevice,
9954        pInfo: *const VkBufferMemoryRequirementsInfo2,
9955        pMemoryRequirements: *mut VkMemoryRequirements2,
9956    );
9957}
9958extern "C" {
9959    pub fn vkGetImageSparseMemoryRequirements2(
9960        device: VkDevice,
9961        pInfo: *const VkImageSparseMemoryRequirementsInfo2,
9962        pSparseMemoryRequirementCount: *mut u32,
9963        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
9964    );
9965}
9966extern "C" {
9967    pub fn vkGetPhysicalDeviceFeatures2(
9968        physicalDevice: VkPhysicalDevice,
9969        pFeatures: *mut VkPhysicalDeviceFeatures2,
9970    );
9971}
9972extern "C" {
9973    pub fn vkGetPhysicalDeviceProperties2(
9974        physicalDevice: VkPhysicalDevice,
9975        pProperties: *mut VkPhysicalDeviceProperties2,
9976    );
9977}
9978extern "C" {
9979    pub fn vkGetPhysicalDeviceFormatProperties2(
9980        physicalDevice: VkPhysicalDevice,
9981        format: VkFormat,
9982        pFormatProperties: *mut VkFormatProperties2,
9983    );
9984}
9985extern "C" {
9986    pub fn vkGetPhysicalDeviceImageFormatProperties2(
9987        physicalDevice: VkPhysicalDevice,
9988        pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
9989        pImageFormatProperties: *mut VkImageFormatProperties2,
9990    ) -> VkResult;
9991}
9992extern "C" {
9993    pub fn vkGetPhysicalDeviceQueueFamilyProperties2(
9994        physicalDevice: VkPhysicalDevice,
9995        pQueueFamilyPropertyCount: *mut u32,
9996        pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
9997    );
9998}
9999extern "C" {
10000    pub fn vkGetPhysicalDeviceMemoryProperties2(
10001        physicalDevice: VkPhysicalDevice,
10002        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
10003    );
10004}
10005extern "C" {
10006    pub fn vkGetPhysicalDeviceSparseImageFormatProperties2(
10007        physicalDevice: VkPhysicalDevice,
10008        pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
10009        pPropertyCount: *mut u32,
10010        pProperties: *mut VkSparseImageFormatProperties2,
10011    );
10012}
10013extern "C" {
10014    pub fn vkTrimCommandPool(
10015        device: VkDevice,
10016        commandPool: VkCommandPool,
10017        flags: VkCommandPoolTrimFlags,
10018    );
10019}
10020extern "C" {
10021    pub fn vkGetDeviceQueue2(
10022        device: VkDevice,
10023        pQueueInfo: *const VkDeviceQueueInfo2,
10024        pQueue: *mut VkQueue,
10025    );
10026}
10027extern "C" {
10028    pub fn vkCreateSamplerYcbcrConversion(
10029        device: VkDevice,
10030        pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
10031        pAllocator: *const VkAllocationCallbacks,
10032        pYcbcrConversion: *mut VkSamplerYcbcrConversion,
10033    ) -> VkResult;
10034}
10035extern "C" {
10036    pub fn vkDestroySamplerYcbcrConversion(
10037        device: VkDevice,
10038        ycbcrConversion: VkSamplerYcbcrConversion,
10039        pAllocator: *const VkAllocationCallbacks,
10040    );
10041}
10042extern "C" {
10043    pub fn vkCreateDescriptorUpdateTemplate(
10044        device: VkDevice,
10045        pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
10046        pAllocator: *const VkAllocationCallbacks,
10047        pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
10048    ) -> VkResult;
10049}
10050extern "C" {
10051    pub fn vkDestroyDescriptorUpdateTemplate(
10052        device: VkDevice,
10053        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
10054        pAllocator: *const VkAllocationCallbacks,
10055    );
10056}
10057extern "C" {
10058    pub fn vkUpdateDescriptorSetWithTemplate(
10059        device: VkDevice,
10060        descriptorSet: VkDescriptorSet,
10061        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
10062        pData: *const ::std::os::raw::c_void,
10063    );
10064}
10065extern "C" {
10066    pub fn vkGetPhysicalDeviceExternalBufferProperties(
10067        physicalDevice: VkPhysicalDevice,
10068        pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
10069        pExternalBufferProperties: *mut VkExternalBufferProperties,
10070    );
10071}
10072extern "C" {
10073    pub fn vkGetPhysicalDeviceExternalFenceProperties(
10074        physicalDevice: VkPhysicalDevice,
10075        pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
10076        pExternalFenceProperties: *mut VkExternalFenceProperties,
10077    );
10078}
10079extern "C" {
10080    pub fn vkGetPhysicalDeviceExternalSemaphoreProperties(
10081        physicalDevice: VkPhysicalDevice,
10082        pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
10083        pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
10084    );
10085}
10086extern "C" {
10087    pub fn vkGetDescriptorSetLayoutSupport(
10088        device: VkDevice,
10089        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
10090        pSupport: *mut VkDescriptorSetLayoutSupport,
10091    );
10092}
10093pub const VK_DRIVER_ID_AMD_PROPRIETARY: VkDriverId = 1;
10094pub const VK_DRIVER_ID_AMD_OPEN_SOURCE: VkDriverId = 2;
10095pub const VK_DRIVER_ID_MESA_RADV: VkDriverId = 3;
10096pub const VK_DRIVER_ID_NVIDIA_PROPRIETARY: VkDriverId = 4;
10097pub const VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS: VkDriverId = 5;
10098pub const VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA: VkDriverId = 6;
10099pub const VK_DRIVER_ID_IMAGINATION_PROPRIETARY: VkDriverId = 7;
10100pub const VK_DRIVER_ID_QUALCOMM_PROPRIETARY: VkDriverId = 8;
10101pub const VK_DRIVER_ID_ARM_PROPRIETARY: VkDriverId = 9;
10102pub const VK_DRIVER_ID_GOOGLE_SWIFTSHADER: VkDriverId = 10;
10103pub const VK_DRIVER_ID_GGP_PROPRIETARY: VkDriverId = 11;
10104pub const VK_DRIVER_ID_BROADCOM_PROPRIETARY: VkDriverId = 12;
10105pub const VK_DRIVER_ID_MESA_LLVMPIPE: VkDriverId = 13;
10106pub const VK_DRIVER_ID_MOLTENVK: VkDriverId = 14;
10107pub const VK_DRIVER_ID_COREAVI_PROPRIETARY: VkDriverId = 15;
10108pub const VK_DRIVER_ID_JUICE_PROPRIETARY: VkDriverId = 16;
10109pub const VK_DRIVER_ID_VERISILICON_PROPRIETARY: VkDriverId = 17;
10110pub const VK_DRIVER_ID_MESA_TURNIP: VkDriverId = 18;
10111pub const VK_DRIVER_ID_MESA_V3DV: VkDriverId = 19;
10112pub const VK_DRIVER_ID_MESA_PANVK: VkDriverId = 20;
10113pub const VK_DRIVER_ID_SAMSUNG_PROPRIETARY: VkDriverId = 21;
10114pub const VK_DRIVER_ID_MESA_VENUS: VkDriverId = 22;
10115pub const VK_DRIVER_ID_MESA_DOZEN: VkDriverId = 23;
10116pub const VK_DRIVER_ID_MESA_NVK: VkDriverId = 24;
10117pub const VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA: VkDriverId = 25;
10118pub const VK_DRIVER_ID_MESA_HONEYKRISP: VkDriverId = 26;
10119pub const VK_DRIVER_ID_RESERVED_27: VkDriverId = 27;
10120pub const VK_DRIVER_ID_AMD_PROPRIETARY_KHR: VkDriverId = 1;
10121pub const VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR: VkDriverId = 2;
10122pub const VK_DRIVER_ID_MESA_RADV_KHR: VkDriverId = 3;
10123pub const VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR: VkDriverId = 4;
10124pub const VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR: VkDriverId = 5;
10125pub const VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR: VkDriverId = 6;
10126pub const VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR: VkDriverId = 7;
10127pub const VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR: VkDriverId = 8;
10128pub const VK_DRIVER_ID_ARM_PROPRIETARY_KHR: VkDriverId = 9;
10129pub const VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR: VkDriverId = 10;
10130pub const VK_DRIVER_ID_GGP_PROPRIETARY_KHR: VkDriverId = 11;
10131pub const VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR: VkDriverId = 12;
10132pub const VK_DRIVER_ID_MAX_ENUM: VkDriverId = 2147483647;
10133pub type VkDriverId = ::std::os::raw::c_uint;
10134pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY:
10135    VkShaderFloatControlsIndependence = 0;
10136pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL:
10137    VkShaderFloatControlsIndependence = 1;
10138pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE:
10139    VkShaderFloatControlsIndependence = 2;
10140pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR : VkShaderFloatControlsIndependence = 0 ;
10141pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR:
10142    VkShaderFloatControlsIndependence = 1;
10143pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR:
10144    VkShaderFloatControlsIndependence = 2;
10145pub const VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM:
10146    VkShaderFloatControlsIndependence = 2147483647;
10147pub type VkShaderFloatControlsIndependence = ::std::os::raw::c_uint;
10148pub const VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE:
10149    VkSamplerReductionMode = 0;
10150pub const VK_SAMPLER_REDUCTION_MODE_MIN: VkSamplerReductionMode = 1;
10151pub const VK_SAMPLER_REDUCTION_MODE_MAX: VkSamplerReductionMode = 2;
10152pub const VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM:
10153    VkSamplerReductionMode = 1000521000;
10154pub const VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT:
10155    VkSamplerReductionMode = 0;
10156pub const VK_SAMPLER_REDUCTION_MODE_MIN_EXT: VkSamplerReductionMode = 1;
10157pub const VK_SAMPLER_REDUCTION_MODE_MAX_EXT: VkSamplerReductionMode = 2;
10158pub const VK_SAMPLER_REDUCTION_MODE_MAX_ENUM: VkSamplerReductionMode =
10159    2147483647;
10160pub type VkSamplerReductionMode = ::std::os::raw::c_uint;
10161pub const VK_SEMAPHORE_TYPE_BINARY: VkSemaphoreType = 0;
10162pub const VK_SEMAPHORE_TYPE_TIMELINE: VkSemaphoreType = 1;
10163pub const VK_SEMAPHORE_TYPE_BINARY_KHR: VkSemaphoreType = 0;
10164pub const VK_SEMAPHORE_TYPE_TIMELINE_KHR: VkSemaphoreType = 1;
10165pub const VK_SEMAPHORE_TYPE_MAX_ENUM: VkSemaphoreType = 2147483647;
10166pub type VkSemaphoreType = ::std::os::raw::c_uint;
10167pub const VK_RESOLVE_MODE_NONE: VkResolveModeFlagBits = 0;
10168pub const VK_RESOLVE_MODE_SAMPLE_ZERO_BIT: VkResolveModeFlagBits = 1;
10169pub const VK_RESOLVE_MODE_AVERAGE_BIT: VkResolveModeFlagBits = 2;
10170pub const VK_RESOLVE_MODE_MIN_BIT: VkResolveModeFlagBits = 4;
10171pub const VK_RESOLVE_MODE_MAX_BIT: VkResolveModeFlagBits = 8;
10172pub const VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID:
10173    VkResolveModeFlagBits = 16;
10174pub const VK_RESOLVE_MODE_NONE_KHR: VkResolveModeFlagBits = 0;
10175pub const VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR: VkResolveModeFlagBits = 1;
10176pub const VK_RESOLVE_MODE_AVERAGE_BIT_KHR: VkResolveModeFlagBits = 2;
10177pub const VK_RESOLVE_MODE_MIN_BIT_KHR: VkResolveModeFlagBits = 4;
10178pub const VK_RESOLVE_MODE_MAX_BIT_KHR: VkResolveModeFlagBits = 8;
10179pub const VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM: VkResolveModeFlagBits =
10180    2147483647;
10181pub type VkResolveModeFlagBits = ::std::os::raw::c_uint;
10182pub type VkResolveModeFlags = VkFlags;
10183pub const VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT:
10184    VkDescriptorBindingFlagBits = 1;
10185pub const VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT:
10186    VkDescriptorBindingFlagBits = 2;
10187pub const VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT:
10188    VkDescriptorBindingFlagBits = 4;
10189pub const VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT:
10190    VkDescriptorBindingFlagBits = 8;
10191pub const VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT:
10192    VkDescriptorBindingFlagBits = 1;
10193pub const VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT:
10194    VkDescriptorBindingFlagBits = 2;
10195pub const VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT:
10196    VkDescriptorBindingFlagBits = 4;
10197pub const VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT:
10198    VkDescriptorBindingFlagBits = 8;
10199pub const VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM:
10200    VkDescriptorBindingFlagBits = 2147483647;
10201pub type VkDescriptorBindingFlagBits = ::std::os::raw::c_uint;
10202pub type VkDescriptorBindingFlags = VkFlags;
10203pub const VK_SEMAPHORE_WAIT_ANY_BIT: VkSemaphoreWaitFlagBits = 1;
10204pub const VK_SEMAPHORE_WAIT_ANY_BIT_KHR: VkSemaphoreWaitFlagBits = 1;
10205pub const VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM: VkSemaphoreWaitFlagBits =
10206    2147483647;
10207pub type VkSemaphoreWaitFlagBits = ::std::os::raw::c_uint;
10208pub type VkSemaphoreWaitFlags = VkFlags;
10209#[repr(C)]
10210#[derive(Debug, Copy, Clone)]
10211pub struct VkPhysicalDeviceVulkan11Features {
10212    pub sType: VkStructureType,
10213    pub pNext: *mut ::std::os::raw::c_void,
10214    pub storageBuffer16BitAccess: VkBool32,
10215    pub uniformAndStorageBuffer16BitAccess: VkBool32,
10216    pub storagePushConstant16: VkBool32,
10217    pub storageInputOutput16: VkBool32,
10218    pub multiview: VkBool32,
10219    pub multiviewGeometryShader: VkBool32,
10220    pub multiviewTessellationShader: VkBool32,
10221    pub variablePointersStorageBuffer: VkBool32,
10222    pub variablePointers: VkBool32,
10223    pub protectedMemory: VkBool32,
10224    pub samplerYcbcrConversion: VkBool32,
10225    pub shaderDrawParameters: VkBool32,
10226}
10227#[repr(C)]
10228#[derive(Debug, Copy, Clone)]
10229pub struct VkPhysicalDeviceVulkan11Properties {
10230    pub sType: VkStructureType,
10231    pub pNext: *mut ::std::os::raw::c_void,
10232    pub deviceUUID: [u8; 16usize],
10233    pub driverUUID: [u8; 16usize],
10234    pub deviceLUID: [u8; 8usize],
10235    pub deviceNodeMask: u32,
10236    pub deviceLUIDValid: VkBool32,
10237    pub subgroupSize: u32,
10238    pub subgroupSupportedStages: VkShaderStageFlags,
10239    pub subgroupSupportedOperations: VkSubgroupFeatureFlags,
10240    pub subgroupQuadOperationsInAllStages: VkBool32,
10241    pub pointClippingBehavior: VkPointClippingBehavior,
10242    pub maxMultiviewViewCount: u32,
10243    pub maxMultiviewInstanceIndex: u32,
10244    pub protectedNoFault: VkBool32,
10245    pub maxPerSetDescriptors: u32,
10246    pub maxMemoryAllocationSize: VkDeviceSize,
10247}
10248#[repr(C)]
10249#[derive(Debug, Copy, Clone)]
10250pub struct VkPhysicalDeviceVulkan12Features {
10251    pub sType: VkStructureType,
10252    pub pNext: *mut ::std::os::raw::c_void,
10253    pub samplerMirrorClampToEdge: VkBool32,
10254    pub drawIndirectCount: VkBool32,
10255    pub storageBuffer8BitAccess: VkBool32,
10256    pub uniformAndStorageBuffer8BitAccess: VkBool32,
10257    pub storagePushConstant8: VkBool32,
10258    pub shaderBufferInt64Atomics: VkBool32,
10259    pub shaderSharedInt64Atomics: VkBool32,
10260    pub shaderFloat16: VkBool32,
10261    pub shaderInt8: VkBool32,
10262    pub descriptorIndexing: VkBool32,
10263    pub shaderInputAttachmentArrayDynamicIndexing: VkBool32,
10264    pub shaderUniformTexelBufferArrayDynamicIndexing: VkBool32,
10265    pub shaderStorageTexelBufferArrayDynamicIndexing: VkBool32,
10266    pub shaderUniformBufferArrayNonUniformIndexing: VkBool32,
10267    pub shaderSampledImageArrayNonUniformIndexing: VkBool32,
10268    pub shaderStorageBufferArrayNonUniformIndexing: VkBool32,
10269    pub shaderStorageImageArrayNonUniformIndexing: VkBool32,
10270    pub shaderInputAttachmentArrayNonUniformIndexing: VkBool32,
10271    pub shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32,
10272    pub shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32,
10273    pub descriptorBindingUniformBufferUpdateAfterBind: VkBool32,
10274    pub descriptorBindingSampledImageUpdateAfterBind: VkBool32,
10275    pub descriptorBindingStorageImageUpdateAfterBind: VkBool32,
10276    pub descriptorBindingStorageBufferUpdateAfterBind: VkBool32,
10277    pub descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32,
10278    pub descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32,
10279    pub descriptorBindingUpdateUnusedWhilePending: VkBool32,
10280    pub descriptorBindingPartiallyBound: VkBool32,
10281    pub descriptorBindingVariableDescriptorCount: VkBool32,
10282    pub runtimeDescriptorArray: VkBool32,
10283    pub samplerFilterMinmax: VkBool32,
10284    pub scalarBlockLayout: VkBool32,
10285    pub imagelessFramebuffer: VkBool32,
10286    pub uniformBufferStandardLayout: VkBool32,
10287    pub shaderSubgroupExtendedTypes: VkBool32,
10288    pub separateDepthStencilLayouts: VkBool32,
10289    pub hostQueryReset: VkBool32,
10290    pub timelineSemaphore: VkBool32,
10291    pub bufferDeviceAddress: VkBool32,
10292    pub bufferDeviceAddressCaptureReplay: VkBool32,
10293    pub bufferDeviceAddressMultiDevice: VkBool32,
10294    pub vulkanMemoryModel: VkBool32,
10295    pub vulkanMemoryModelDeviceScope: VkBool32,
10296    pub vulkanMemoryModelAvailabilityVisibilityChains: VkBool32,
10297    pub shaderOutputViewportIndex: VkBool32,
10298    pub shaderOutputLayer: VkBool32,
10299    pub subgroupBroadcastDynamicId: VkBool32,
10300}
10301#[repr(C)]
10302#[derive(Debug, Copy, Clone)]
10303pub struct VkConformanceVersion {
10304    pub major: u8,
10305    pub minor: u8,
10306    pub subminor: u8,
10307    pub patch: u8,
10308}
10309#[repr(C)]
10310#[derive(Debug, Copy, Clone)]
10311pub struct VkPhysicalDeviceVulkan12Properties {
10312    pub sType: VkStructureType,
10313    pub pNext: *mut ::std::os::raw::c_void,
10314    pub driverID: VkDriverId,
10315    pub driverName: [::std::os::raw::c_char; 256usize],
10316    pub driverInfo: [::std::os::raw::c_char; 256usize],
10317    pub conformanceVersion: VkConformanceVersion,
10318    pub denormBehaviorIndependence: VkShaderFloatControlsIndependence,
10319    pub roundingModeIndependence: VkShaderFloatControlsIndependence,
10320    pub shaderSignedZeroInfNanPreserveFloat16: VkBool32,
10321    pub shaderSignedZeroInfNanPreserveFloat32: VkBool32,
10322    pub shaderSignedZeroInfNanPreserveFloat64: VkBool32,
10323    pub shaderDenormPreserveFloat16: VkBool32,
10324    pub shaderDenormPreserveFloat32: VkBool32,
10325    pub shaderDenormPreserveFloat64: VkBool32,
10326    pub shaderDenormFlushToZeroFloat16: VkBool32,
10327    pub shaderDenormFlushToZeroFloat32: VkBool32,
10328    pub shaderDenormFlushToZeroFloat64: VkBool32,
10329    pub shaderRoundingModeRTEFloat16: VkBool32,
10330    pub shaderRoundingModeRTEFloat32: VkBool32,
10331    pub shaderRoundingModeRTEFloat64: VkBool32,
10332    pub shaderRoundingModeRTZFloat16: VkBool32,
10333    pub shaderRoundingModeRTZFloat32: VkBool32,
10334    pub shaderRoundingModeRTZFloat64: VkBool32,
10335    pub maxUpdateAfterBindDescriptorsInAllPools: u32,
10336    pub shaderUniformBufferArrayNonUniformIndexingNative: VkBool32,
10337    pub shaderSampledImageArrayNonUniformIndexingNative: VkBool32,
10338    pub shaderStorageBufferArrayNonUniformIndexingNative: VkBool32,
10339    pub shaderStorageImageArrayNonUniformIndexingNative: VkBool32,
10340    pub shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32,
10341    pub robustBufferAccessUpdateAfterBind: VkBool32,
10342    pub quadDivergentImplicitLod: VkBool32,
10343    pub maxPerStageDescriptorUpdateAfterBindSamplers: u32,
10344    pub maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
10345    pub maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
10346    pub maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
10347    pub maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
10348    pub maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
10349    pub maxPerStageUpdateAfterBindResources: u32,
10350    pub maxDescriptorSetUpdateAfterBindSamplers: u32,
10351    pub maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
10352    pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
10353    pub maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
10354    pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
10355    pub maxDescriptorSetUpdateAfterBindSampledImages: u32,
10356    pub maxDescriptorSetUpdateAfterBindStorageImages: u32,
10357    pub maxDescriptorSetUpdateAfterBindInputAttachments: u32,
10358    pub supportedDepthResolveModes: VkResolveModeFlags,
10359    pub supportedStencilResolveModes: VkResolveModeFlags,
10360    pub independentResolveNone: VkBool32,
10361    pub independentResolve: VkBool32,
10362    pub filterMinmaxSingleComponentFormats: VkBool32,
10363    pub filterMinmaxImageComponentMapping: VkBool32,
10364    pub maxTimelineSemaphoreValueDifference: u64,
10365    pub framebufferIntegerColorSampleCounts: VkSampleCountFlags,
10366}
10367#[repr(C)]
10368#[derive(Debug, Copy, Clone)]
10369pub struct VkImageFormatListCreateInfo {
10370    pub sType: VkStructureType,
10371    pub pNext: *const ::std::os::raw::c_void,
10372    pub viewFormatCount: u32,
10373    pub pViewFormats: *const VkFormat,
10374}
10375#[repr(C)]
10376#[derive(Debug, Copy, Clone)]
10377pub struct VkAttachmentDescription2 {
10378    pub sType: VkStructureType,
10379    pub pNext: *const ::std::os::raw::c_void,
10380    pub flags: VkAttachmentDescriptionFlags,
10381    pub format: VkFormat,
10382    pub samples: VkSampleCountFlagBits,
10383    pub loadOp: VkAttachmentLoadOp,
10384    pub storeOp: VkAttachmentStoreOp,
10385    pub stencilLoadOp: VkAttachmentLoadOp,
10386    pub stencilStoreOp: VkAttachmentStoreOp,
10387    pub initialLayout: VkImageLayout,
10388    pub finalLayout: VkImageLayout,
10389}
10390#[repr(C)]
10391#[derive(Debug, Copy, Clone)]
10392pub struct VkAttachmentReference2 {
10393    pub sType: VkStructureType,
10394    pub pNext: *const ::std::os::raw::c_void,
10395    pub attachment: u32,
10396    pub layout: VkImageLayout,
10397    pub aspectMask: VkImageAspectFlags,
10398}
10399#[repr(C)]
10400#[derive(Debug, Copy, Clone)]
10401pub struct VkSubpassDescription2 {
10402    pub sType: VkStructureType,
10403    pub pNext: *const ::std::os::raw::c_void,
10404    pub flags: VkSubpassDescriptionFlags,
10405    pub pipelineBindPoint: VkPipelineBindPoint,
10406    pub viewMask: u32,
10407    pub inputAttachmentCount: u32,
10408    pub pInputAttachments: *const VkAttachmentReference2,
10409    pub colorAttachmentCount: u32,
10410    pub pColorAttachments: *const VkAttachmentReference2,
10411    pub pResolveAttachments: *const VkAttachmentReference2,
10412    pub pDepthStencilAttachment: *const VkAttachmentReference2,
10413    pub preserveAttachmentCount: u32,
10414    pub pPreserveAttachments: *const u32,
10415}
10416#[repr(C)]
10417#[derive(Debug, Copy, Clone)]
10418pub struct VkSubpassDependency2 {
10419    pub sType: VkStructureType,
10420    pub pNext: *const ::std::os::raw::c_void,
10421    pub srcSubpass: u32,
10422    pub dstSubpass: u32,
10423    pub srcStageMask: VkPipelineStageFlags,
10424    pub dstStageMask: VkPipelineStageFlags,
10425    pub srcAccessMask: VkAccessFlags,
10426    pub dstAccessMask: VkAccessFlags,
10427    pub dependencyFlags: VkDependencyFlags,
10428    pub viewOffset: i32,
10429}
10430#[repr(C)]
10431#[derive(Debug, Copy, Clone)]
10432pub struct VkRenderPassCreateInfo2 {
10433    pub sType: VkStructureType,
10434    pub pNext: *const ::std::os::raw::c_void,
10435    pub flags: VkRenderPassCreateFlags,
10436    pub attachmentCount: u32,
10437    pub pAttachments: *const VkAttachmentDescription2,
10438    pub subpassCount: u32,
10439    pub pSubpasses: *const VkSubpassDescription2,
10440    pub dependencyCount: u32,
10441    pub pDependencies: *const VkSubpassDependency2,
10442    pub correlatedViewMaskCount: u32,
10443    pub pCorrelatedViewMasks: *const u32,
10444}
10445#[repr(C)]
10446#[derive(Debug, Copy, Clone)]
10447pub struct VkSubpassBeginInfo {
10448    pub sType: VkStructureType,
10449    pub pNext: *const ::std::os::raw::c_void,
10450    pub contents: VkSubpassContents,
10451}
10452#[repr(C)]
10453#[derive(Debug, Copy, Clone)]
10454pub struct VkSubpassEndInfo {
10455    pub sType: VkStructureType,
10456    pub pNext: *const ::std::os::raw::c_void,
10457}
10458#[repr(C)]
10459#[derive(Debug, Copy, Clone)]
10460pub struct VkPhysicalDevice8BitStorageFeatures {
10461    pub sType: VkStructureType,
10462    pub pNext: *mut ::std::os::raw::c_void,
10463    pub storageBuffer8BitAccess: VkBool32,
10464    pub uniformAndStorageBuffer8BitAccess: VkBool32,
10465    pub storagePushConstant8: VkBool32,
10466}
10467#[repr(C)]
10468#[derive(Debug, Copy, Clone)]
10469pub struct VkPhysicalDeviceDriverProperties {
10470    pub sType: VkStructureType,
10471    pub pNext: *mut ::std::os::raw::c_void,
10472    pub driverID: VkDriverId,
10473    pub driverName: [::std::os::raw::c_char; 256usize],
10474    pub driverInfo: [::std::os::raw::c_char; 256usize],
10475    pub conformanceVersion: VkConformanceVersion,
10476}
10477#[repr(C)]
10478#[derive(Debug, Copy, Clone)]
10479pub struct VkPhysicalDeviceShaderAtomicInt64Features {
10480    pub sType: VkStructureType,
10481    pub pNext: *mut ::std::os::raw::c_void,
10482    pub shaderBufferInt64Atomics: VkBool32,
10483    pub shaderSharedInt64Atomics: VkBool32,
10484}
10485#[repr(C)]
10486#[derive(Debug, Copy, Clone)]
10487pub struct VkPhysicalDeviceShaderFloat16Int8Features {
10488    pub sType: VkStructureType,
10489    pub pNext: *mut ::std::os::raw::c_void,
10490    pub shaderFloat16: VkBool32,
10491    pub shaderInt8: VkBool32,
10492}
10493#[repr(C)]
10494#[derive(Debug, Copy, Clone)]
10495pub struct VkPhysicalDeviceFloatControlsProperties {
10496    pub sType: VkStructureType,
10497    pub pNext: *mut ::std::os::raw::c_void,
10498    pub denormBehaviorIndependence: VkShaderFloatControlsIndependence,
10499    pub roundingModeIndependence: VkShaderFloatControlsIndependence,
10500    pub shaderSignedZeroInfNanPreserveFloat16: VkBool32,
10501    pub shaderSignedZeroInfNanPreserveFloat32: VkBool32,
10502    pub shaderSignedZeroInfNanPreserveFloat64: VkBool32,
10503    pub shaderDenormPreserveFloat16: VkBool32,
10504    pub shaderDenormPreserveFloat32: VkBool32,
10505    pub shaderDenormPreserveFloat64: VkBool32,
10506    pub shaderDenormFlushToZeroFloat16: VkBool32,
10507    pub shaderDenormFlushToZeroFloat32: VkBool32,
10508    pub shaderDenormFlushToZeroFloat64: VkBool32,
10509    pub shaderRoundingModeRTEFloat16: VkBool32,
10510    pub shaderRoundingModeRTEFloat32: VkBool32,
10511    pub shaderRoundingModeRTEFloat64: VkBool32,
10512    pub shaderRoundingModeRTZFloat16: VkBool32,
10513    pub shaderRoundingModeRTZFloat32: VkBool32,
10514    pub shaderRoundingModeRTZFloat64: VkBool32,
10515}
10516#[repr(C)]
10517#[derive(Debug, Copy, Clone)]
10518pub struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
10519    pub sType: VkStructureType,
10520    pub pNext: *const ::std::os::raw::c_void,
10521    pub bindingCount: u32,
10522    pub pBindingFlags: *const VkDescriptorBindingFlags,
10523}
10524#[repr(C)]
10525#[derive(Debug, Copy, Clone)]
10526pub struct VkPhysicalDeviceDescriptorIndexingFeatures {
10527    pub sType: VkStructureType,
10528    pub pNext: *mut ::std::os::raw::c_void,
10529    pub shaderInputAttachmentArrayDynamicIndexing: VkBool32,
10530    pub shaderUniformTexelBufferArrayDynamicIndexing: VkBool32,
10531    pub shaderStorageTexelBufferArrayDynamicIndexing: VkBool32,
10532    pub shaderUniformBufferArrayNonUniformIndexing: VkBool32,
10533    pub shaderSampledImageArrayNonUniformIndexing: VkBool32,
10534    pub shaderStorageBufferArrayNonUniformIndexing: VkBool32,
10535    pub shaderStorageImageArrayNonUniformIndexing: VkBool32,
10536    pub shaderInputAttachmentArrayNonUniformIndexing: VkBool32,
10537    pub shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32,
10538    pub shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32,
10539    pub descriptorBindingUniformBufferUpdateAfterBind: VkBool32,
10540    pub descriptorBindingSampledImageUpdateAfterBind: VkBool32,
10541    pub descriptorBindingStorageImageUpdateAfterBind: VkBool32,
10542    pub descriptorBindingStorageBufferUpdateAfterBind: VkBool32,
10543    pub descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32,
10544    pub descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32,
10545    pub descriptorBindingUpdateUnusedWhilePending: VkBool32,
10546    pub descriptorBindingPartiallyBound: VkBool32,
10547    pub descriptorBindingVariableDescriptorCount: VkBool32,
10548    pub runtimeDescriptorArray: VkBool32,
10549}
10550#[repr(C)]
10551#[derive(Debug, Copy, Clone)]
10552pub struct VkPhysicalDeviceDescriptorIndexingProperties {
10553    pub sType: VkStructureType,
10554    pub pNext: *mut ::std::os::raw::c_void,
10555    pub maxUpdateAfterBindDescriptorsInAllPools: u32,
10556    pub shaderUniformBufferArrayNonUniformIndexingNative: VkBool32,
10557    pub shaderSampledImageArrayNonUniformIndexingNative: VkBool32,
10558    pub shaderStorageBufferArrayNonUniformIndexingNative: VkBool32,
10559    pub shaderStorageImageArrayNonUniformIndexingNative: VkBool32,
10560    pub shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32,
10561    pub robustBufferAccessUpdateAfterBind: VkBool32,
10562    pub quadDivergentImplicitLod: VkBool32,
10563    pub maxPerStageDescriptorUpdateAfterBindSamplers: u32,
10564    pub maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
10565    pub maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
10566    pub maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
10567    pub maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
10568    pub maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
10569    pub maxPerStageUpdateAfterBindResources: u32,
10570    pub maxDescriptorSetUpdateAfterBindSamplers: u32,
10571    pub maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
10572    pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
10573    pub maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
10574    pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
10575    pub maxDescriptorSetUpdateAfterBindSampledImages: u32,
10576    pub maxDescriptorSetUpdateAfterBindStorageImages: u32,
10577    pub maxDescriptorSetUpdateAfterBindInputAttachments: u32,
10578}
10579#[repr(C)]
10580#[derive(Debug, Copy, Clone)]
10581pub struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
10582    pub sType: VkStructureType,
10583    pub pNext: *const ::std::os::raw::c_void,
10584    pub descriptorSetCount: u32,
10585    pub pDescriptorCounts: *const u32,
10586}
10587#[repr(C)]
10588#[derive(Debug, Copy, Clone)]
10589pub struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
10590    pub sType: VkStructureType,
10591    pub pNext: *mut ::std::os::raw::c_void,
10592    pub maxVariableDescriptorCount: u32,
10593}
10594#[repr(C)]
10595#[derive(Debug, Copy, Clone)]
10596pub struct VkSubpassDescriptionDepthStencilResolve {
10597    pub sType: VkStructureType,
10598    pub pNext: *const ::std::os::raw::c_void,
10599    pub depthResolveMode: VkResolveModeFlagBits,
10600    pub stencilResolveMode: VkResolveModeFlagBits,
10601    pub pDepthStencilResolveAttachment: *const VkAttachmentReference2,
10602}
10603#[repr(C)]
10604#[derive(Debug, Copy, Clone)]
10605pub struct VkPhysicalDeviceDepthStencilResolveProperties {
10606    pub sType: VkStructureType,
10607    pub pNext: *mut ::std::os::raw::c_void,
10608    pub supportedDepthResolveModes: VkResolveModeFlags,
10609    pub supportedStencilResolveModes: VkResolveModeFlags,
10610    pub independentResolveNone: VkBool32,
10611    pub independentResolve: VkBool32,
10612}
10613#[repr(C)]
10614#[derive(Debug, Copy, Clone)]
10615pub struct VkPhysicalDeviceScalarBlockLayoutFeatures {
10616    pub sType: VkStructureType,
10617    pub pNext: *mut ::std::os::raw::c_void,
10618    pub scalarBlockLayout: VkBool32,
10619}
10620#[repr(C)]
10621#[derive(Debug, Copy, Clone)]
10622pub struct VkImageStencilUsageCreateInfo {
10623    pub sType: VkStructureType,
10624    pub pNext: *const ::std::os::raw::c_void,
10625    pub stencilUsage: VkImageUsageFlags,
10626}
10627#[repr(C)]
10628#[derive(Debug, Copy, Clone)]
10629pub struct VkSamplerReductionModeCreateInfo {
10630    pub sType: VkStructureType,
10631    pub pNext: *const ::std::os::raw::c_void,
10632    pub reductionMode: VkSamplerReductionMode,
10633}
10634#[repr(C)]
10635#[derive(Debug, Copy, Clone)]
10636pub struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
10637    pub sType: VkStructureType,
10638    pub pNext: *mut ::std::os::raw::c_void,
10639    pub filterMinmaxSingleComponentFormats: VkBool32,
10640    pub filterMinmaxImageComponentMapping: VkBool32,
10641}
10642#[repr(C)]
10643#[derive(Debug, Copy, Clone)]
10644pub struct VkPhysicalDeviceVulkanMemoryModelFeatures {
10645    pub sType: VkStructureType,
10646    pub pNext: *mut ::std::os::raw::c_void,
10647    pub vulkanMemoryModel: VkBool32,
10648    pub vulkanMemoryModelDeviceScope: VkBool32,
10649    pub vulkanMemoryModelAvailabilityVisibilityChains: VkBool32,
10650}
10651#[repr(C)]
10652#[derive(Debug, Copy, Clone)]
10653pub struct VkPhysicalDeviceImagelessFramebufferFeatures {
10654    pub sType: VkStructureType,
10655    pub pNext: *mut ::std::os::raw::c_void,
10656    pub imagelessFramebuffer: VkBool32,
10657}
10658#[repr(C)]
10659#[derive(Debug, Copy, Clone)]
10660pub struct VkFramebufferAttachmentImageInfo {
10661    pub sType: VkStructureType,
10662    pub pNext: *const ::std::os::raw::c_void,
10663    pub flags: VkImageCreateFlags,
10664    pub usage: VkImageUsageFlags,
10665    pub width: u32,
10666    pub height: u32,
10667    pub layerCount: u32,
10668    pub viewFormatCount: u32,
10669    pub pViewFormats: *const VkFormat,
10670}
10671#[repr(C)]
10672#[derive(Debug, Copy, Clone)]
10673pub struct VkFramebufferAttachmentsCreateInfo {
10674    pub sType: VkStructureType,
10675    pub pNext: *const ::std::os::raw::c_void,
10676    pub attachmentImageInfoCount: u32,
10677    pub pAttachmentImageInfos: *const VkFramebufferAttachmentImageInfo,
10678}
10679#[repr(C)]
10680#[derive(Debug, Copy, Clone)]
10681pub struct VkRenderPassAttachmentBeginInfo {
10682    pub sType: VkStructureType,
10683    pub pNext: *const ::std::os::raw::c_void,
10684    pub attachmentCount: u32,
10685    pub pAttachments: *const VkImageView,
10686}
10687#[repr(C)]
10688#[derive(Debug, Copy, Clone)]
10689pub struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
10690    pub sType: VkStructureType,
10691    pub pNext: *mut ::std::os::raw::c_void,
10692    pub uniformBufferStandardLayout: VkBool32,
10693}
10694#[repr(C)]
10695#[derive(Debug, Copy, Clone)]
10696pub struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
10697    pub sType: VkStructureType,
10698    pub pNext: *mut ::std::os::raw::c_void,
10699    pub shaderSubgroupExtendedTypes: VkBool32,
10700}
10701#[repr(C)]
10702#[derive(Debug, Copy, Clone)]
10703pub struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
10704    pub sType: VkStructureType,
10705    pub pNext: *mut ::std::os::raw::c_void,
10706    pub separateDepthStencilLayouts: VkBool32,
10707}
10708#[repr(C)]
10709#[derive(Debug, Copy, Clone)]
10710pub struct VkAttachmentReferenceStencilLayout {
10711    pub sType: VkStructureType,
10712    pub pNext: *mut ::std::os::raw::c_void,
10713    pub stencilLayout: VkImageLayout,
10714}
10715#[repr(C)]
10716#[derive(Debug, Copy, Clone)]
10717pub struct VkAttachmentDescriptionStencilLayout {
10718    pub sType: VkStructureType,
10719    pub pNext: *mut ::std::os::raw::c_void,
10720    pub stencilInitialLayout: VkImageLayout,
10721    pub stencilFinalLayout: VkImageLayout,
10722}
10723#[repr(C)]
10724#[derive(Debug, Copy, Clone)]
10725pub struct VkPhysicalDeviceHostQueryResetFeatures {
10726    pub sType: VkStructureType,
10727    pub pNext: *mut ::std::os::raw::c_void,
10728    pub hostQueryReset: VkBool32,
10729}
10730#[repr(C)]
10731#[derive(Debug, Copy, Clone)]
10732pub struct VkPhysicalDeviceTimelineSemaphoreFeatures {
10733    pub sType: VkStructureType,
10734    pub pNext: *mut ::std::os::raw::c_void,
10735    pub timelineSemaphore: VkBool32,
10736}
10737#[repr(C)]
10738#[derive(Debug, Copy, Clone)]
10739pub struct VkPhysicalDeviceTimelineSemaphoreProperties {
10740    pub sType: VkStructureType,
10741    pub pNext: *mut ::std::os::raw::c_void,
10742    pub maxTimelineSemaphoreValueDifference: u64,
10743}
10744#[repr(C)]
10745#[derive(Debug, Copy, Clone)]
10746pub struct VkSemaphoreTypeCreateInfo {
10747    pub sType: VkStructureType,
10748    pub pNext: *const ::std::os::raw::c_void,
10749    pub semaphoreType: VkSemaphoreType,
10750    pub initialValue: u64,
10751}
10752#[repr(C)]
10753#[derive(Debug, Copy, Clone)]
10754pub struct VkTimelineSemaphoreSubmitInfo {
10755    pub sType: VkStructureType,
10756    pub pNext: *const ::std::os::raw::c_void,
10757    pub waitSemaphoreValueCount: u32,
10758    pub pWaitSemaphoreValues: *const u64,
10759    pub signalSemaphoreValueCount: u32,
10760    pub pSignalSemaphoreValues: *const u64,
10761}
10762#[repr(C)]
10763#[derive(Debug, Copy, Clone)]
10764pub struct VkSemaphoreWaitInfo {
10765    pub sType: VkStructureType,
10766    pub pNext: *const ::std::os::raw::c_void,
10767    pub flags: VkSemaphoreWaitFlags,
10768    pub semaphoreCount: u32,
10769    pub pSemaphores: *const VkSemaphore,
10770    pub pValues: *const u64,
10771}
10772#[repr(C)]
10773#[derive(Debug, Copy, Clone)]
10774pub struct VkSemaphoreSignalInfo {
10775    pub sType: VkStructureType,
10776    pub pNext: *const ::std::os::raw::c_void,
10777    pub semaphore: VkSemaphore,
10778    pub value: u64,
10779}
10780#[repr(C)]
10781#[derive(Debug, Copy, Clone)]
10782pub struct VkPhysicalDeviceBufferDeviceAddressFeatures {
10783    pub sType: VkStructureType,
10784    pub pNext: *mut ::std::os::raw::c_void,
10785    pub bufferDeviceAddress: VkBool32,
10786    pub bufferDeviceAddressCaptureReplay: VkBool32,
10787    pub bufferDeviceAddressMultiDevice: VkBool32,
10788}
10789#[repr(C)]
10790#[derive(Debug, Copy, Clone)]
10791pub struct VkBufferDeviceAddressInfo {
10792    pub sType: VkStructureType,
10793    pub pNext: *const ::std::os::raw::c_void,
10794    pub buffer: VkBuffer,
10795}
10796#[repr(C)]
10797#[derive(Debug, Copy, Clone)]
10798pub struct VkBufferOpaqueCaptureAddressCreateInfo {
10799    pub sType: VkStructureType,
10800    pub pNext: *const ::std::os::raw::c_void,
10801    pub opaqueCaptureAddress: u64,
10802}
10803#[repr(C)]
10804#[derive(Debug, Copy, Clone)]
10805pub struct VkMemoryOpaqueCaptureAddressAllocateInfo {
10806    pub sType: VkStructureType,
10807    pub pNext: *const ::std::os::raw::c_void,
10808    pub opaqueCaptureAddress: u64,
10809}
10810#[repr(C)]
10811#[derive(Debug, Copy, Clone)]
10812pub struct VkDeviceMemoryOpaqueCaptureAddressInfo {
10813    pub sType: VkStructureType,
10814    pub pNext: *const ::std::os::raw::c_void,
10815    pub memory: VkDeviceMemory,
10816}
10817pub type PFN_vkCmdDrawIndirectCount = 
10818    unsafe extern "C" fn(
10819        commandBuffer: VkCommandBuffer,
10820        buffer: VkBuffer,
10821        offset: VkDeviceSize,
10822        countBuffer: VkBuffer,
10823        countBufferOffset: VkDeviceSize,
10824        maxDrawCount: u32,
10825        stride: u32,
10826    );
10827
10828pub type PFN_vkCmdDrawIndexedIndirectCount = 
10829    unsafe extern "C" fn(
10830        commandBuffer: VkCommandBuffer,
10831        buffer: VkBuffer,
10832        offset: VkDeviceSize,
10833        countBuffer: VkBuffer,
10834        countBufferOffset: VkDeviceSize,
10835        maxDrawCount: u32,
10836        stride: u32,
10837    );
10838
10839pub type PFN_vkCreateRenderPass2 = 
10840    unsafe extern "C" fn(
10841        device: VkDevice,
10842        pCreateInfo: *const VkRenderPassCreateInfo2,
10843        pAllocator: *const VkAllocationCallbacks,
10844        pRenderPass: *mut VkRenderPass,
10845    ) -> VkResult;
10846
10847pub type PFN_vkCmdBeginRenderPass2 = 
10848    unsafe extern "C" fn(
10849        commandBuffer: VkCommandBuffer,
10850        pRenderPassBegin: *const VkRenderPassBeginInfo,
10851        pSubpassBeginInfo: *const VkSubpassBeginInfo,
10852    );
10853
10854pub type PFN_vkCmdNextSubpass2 = 
10855    unsafe extern "C" fn(
10856        commandBuffer: VkCommandBuffer,
10857        pSubpassBeginInfo: *const VkSubpassBeginInfo,
10858        pSubpassEndInfo: *const VkSubpassEndInfo,
10859    );
10860
10861pub type PFN_vkCmdEndRenderPass2 = 
10862    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pSubpassEndInfo: *const VkSubpassEndInfo);
10863
10864pub type PFN_vkResetQueryPool = 
10865    unsafe extern "C" fn(
10866        device: VkDevice,
10867        queryPool: VkQueryPool,
10868        firstQuery: u32,
10869        queryCount: u32,
10870    );
10871
10872pub type PFN_vkGetSemaphoreCounterValue = 
10873    unsafe extern "C" fn(device: VkDevice, semaphore: VkSemaphore, pValue: *mut u64) -> VkResult;
10874
10875pub type PFN_vkWaitSemaphores = 
10876    unsafe extern "C" fn(
10877        device: VkDevice,
10878        pWaitInfo: *const VkSemaphoreWaitInfo,
10879        timeout: u64,
10880    ) -> VkResult;
10881
10882pub type PFN_vkSignalSemaphore = 
10883    unsafe extern "C" fn(device: VkDevice, pSignalInfo: *const VkSemaphoreSignalInfo) -> VkResult;
10884
10885pub type PFN_vkGetBufferDeviceAddress = 
10886    unsafe extern "C" fn(
10887        device: VkDevice,
10888        pInfo: *const VkBufferDeviceAddressInfo,
10889    ) -> VkDeviceAddress;
10890
10891pub type PFN_vkGetBufferOpaqueCaptureAddress = 
10892    unsafe extern "C" fn(device: VkDevice, pInfo: *const VkBufferDeviceAddressInfo) -> u64;
10893
10894pub type PFN_vkGetDeviceMemoryOpaqueCaptureAddress = 
10895    unsafe extern "C" fn(
10896        device: VkDevice,
10897        pInfo: *const VkDeviceMemoryOpaqueCaptureAddressInfo,
10898    ) -> u64;
10899
10900extern "C" {
10901    pub fn vkCmdDrawIndirectCount(
10902        commandBuffer: VkCommandBuffer,
10903        buffer: VkBuffer,
10904        offset: VkDeviceSize,
10905        countBuffer: VkBuffer,
10906        countBufferOffset: VkDeviceSize,
10907        maxDrawCount: u32,
10908        stride: u32,
10909    );
10910}
10911extern "C" {
10912    pub fn vkCmdDrawIndexedIndirectCount(
10913        commandBuffer: VkCommandBuffer,
10914        buffer: VkBuffer,
10915        offset: VkDeviceSize,
10916        countBuffer: VkBuffer,
10917        countBufferOffset: VkDeviceSize,
10918        maxDrawCount: u32,
10919        stride: u32,
10920    );
10921}
10922extern "C" {
10923    pub fn vkCreateRenderPass2(
10924        device: VkDevice,
10925        pCreateInfo: *const VkRenderPassCreateInfo2,
10926        pAllocator: *const VkAllocationCallbacks,
10927        pRenderPass: *mut VkRenderPass,
10928    ) -> VkResult;
10929}
10930extern "C" {
10931    pub fn vkCmdBeginRenderPass2(
10932        commandBuffer: VkCommandBuffer,
10933        pRenderPassBegin: *const VkRenderPassBeginInfo,
10934        pSubpassBeginInfo: *const VkSubpassBeginInfo,
10935    );
10936}
10937extern "C" {
10938    pub fn vkCmdNextSubpass2(
10939        commandBuffer: VkCommandBuffer,
10940        pSubpassBeginInfo: *const VkSubpassBeginInfo,
10941        pSubpassEndInfo: *const VkSubpassEndInfo,
10942    );
10943}
10944extern "C" {
10945    pub fn vkCmdEndRenderPass2(
10946        commandBuffer: VkCommandBuffer,
10947        pSubpassEndInfo: *const VkSubpassEndInfo,
10948    );
10949}
10950extern "C" {
10951    pub fn vkResetQueryPool(
10952        device: VkDevice,
10953        queryPool: VkQueryPool,
10954        firstQuery: u32,
10955        queryCount: u32,
10956    );
10957}
10958extern "C" {
10959    pub fn vkGetSemaphoreCounterValue(
10960        device: VkDevice,
10961        semaphore: VkSemaphore,
10962        pValue: *mut u64,
10963    ) -> VkResult;
10964}
10965extern "C" {
10966    pub fn vkWaitSemaphores(
10967        device: VkDevice,
10968        pWaitInfo: *const VkSemaphoreWaitInfo,
10969        timeout: u64,
10970    ) -> VkResult;
10971}
10972extern "C" {
10973    pub fn vkSignalSemaphore(
10974        device: VkDevice,
10975        pSignalInfo: *const VkSemaphoreSignalInfo,
10976    ) -> VkResult;
10977}
10978extern "C" {
10979    pub fn vkGetBufferDeviceAddress(
10980        device: VkDevice,
10981        pInfo: *const VkBufferDeviceAddressInfo,
10982    ) -> VkDeviceAddress;
10983}
10984extern "C" {
10985    pub fn vkGetBufferOpaqueCaptureAddress(
10986        device: VkDevice,
10987        pInfo: *const VkBufferDeviceAddressInfo,
10988    ) -> u64;
10989}
10990extern "C" {
10991    pub fn vkGetDeviceMemoryOpaqueCaptureAddress(
10992        device: VkDevice,
10993        pInfo: *const VkDeviceMemoryOpaqueCaptureAddressInfo,
10994    ) -> u64;
10995}
10996pub type VkFlags64 = u64;
10997#[repr(C)]
10998#[derive(Debug, Copy, Clone)]
10999pub struct VkPrivateDataSlot_T {
11000    _unused: [u8; 0],
11001}
11002pub type VkPrivateDataSlot = *mut VkPrivateDataSlot_T;
11003pub const VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT:
11004    VkPipelineCreationFeedbackFlagBits = 1;
11005pub const VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT : VkPipelineCreationFeedbackFlagBits = 2 ;
11006pub const VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT : VkPipelineCreationFeedbackFlagBits = 4 ;
11007pub const VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT:
11008    VkPipelineCreationFeedbackFlagBits = 1;
11009pub const VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT : VkPipelineCreationFeedbackFlagBits = 2 ;
11010pub const VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT : VkPipelineCreationFeedbackFlagBits = 4 ;
11011pub const VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM:
11012    VkPipelineCreationFeedbackFlagBits = 2147483647;
11013pub type VkPipelineCreationFeedbackFlagBits = ::std::os::raw::c_uint;
11014pub type VkPipelineCreationFeedbackFlags = VkFlags;
11015pub const VK_TOOL_PURPOSE_VALIDATION_BIT: VkToolPurposeFlagBits = 1;
11016pub const VK_TOOL_PURPOSE_PROFILING_BIT: VkToolPurposeFlagBits = 2;
11017pub const VK_TOOL_PURPOSE_TRACING_BIT: VkToolPurposeFlagBits = 4;
11018pub const VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT: VkToolPurposeFlagBits = 8;
11019pub const VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT: VkToolPurposeFlagBits = 16;
11020pub const VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT: VkToolPurposeFlagBits = 32;
11021pub const VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT: VkToolPurposeFlagBits = 64;
11022pub const VK_TOOL_PURPOSE_VALIDATION_BIT_EXT: VkToolPurposeFlagBits = 1;
11023pub const VK_TOOL_PURPOSE_PROFILING_BIT_EXT: VkToolPurposeFlagBits = 2;
11024pub const VK_TOOL_PURPOSE_TRACING_BIT_EXT: VkToolPurposeFlagBits = 4;
11025pub const VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT: VkToolPurposeFlagBits =
11026    8;
11027pub const VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT: VkToolPurposeFlagBits =
11028    16;
11029pub const VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM: VkToolPurposeFlagBits =
11030    2147483647;
11031pub type VkToolPurposeFlagBits = ::std::os::raw::c_uint;
11032pub type VkToolPurposeFlags = VkFlags;
11033pub type VkPrivateDataSlotCreateFlags = VkFlags;
11034pub type VkPipelineStageFlags2 = VkFlags64;
11035pub type VkPipelineStageFlagBits2 = VkFlags64;
11036pub const VK_PIPELINE_STAGE_2_NONE: VkPipelineStageFlagBits2 = 0;
11037pub const VK_PIPELINE_STAGE_2_NONE_KHR: VkPipelineStageFlagBits2 = 0;
11038pub const VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT: VkPipelineStageFlagBits2 = 1;
11039pub const VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR: VkPipelineStageFlagBits2 = 1;
11040pub const VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT: VkPipelineStageFlagBits2 = 2;
11041pub const VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR: VkPipelineStageFlagBits2 = 2;
11042pub const VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT: VkPipelineStageFlagBits2 = 4;
11043pub const VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR: VkPipelineStageFlagBits2 = 4;
11044pub const VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT: VkPipelineStageFlagBits2 = 8;
11045pub const VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 8;
11046pub const VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT: VkPipelineStageFlagBits2 = 16;
11047pub const VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 16;
11048pub const VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT: VkPipelineStageFlagBits2 = 32;
11049pub const VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 32;
11050pub const VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT: VkPipelineStageFlagBits2 = 64;
11051pub const VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 64;
11052pub const VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT: VkPipelineStageFlagBits2 = 128;
11053pub const VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 128;
11054pub const VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits2 = 256;
11055pub const VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR: VkPipelineStageFlagBits2 = 256;
11056pub const VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits2 = 512;
11057pub const VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR: VkPipelineStageFlagBits2 = 512;
11058pub const VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT: VkPipelineStageFlagBits2 = 1024;
11059pub const VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR: VkPipelineStageFlagBits2 = 1024;
11060pub const VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT: VkPipelineStageFlagBits2 = 2048;
11061pub const VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 2048;
11062pub const VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT: VkPipelineStageFlagBits2 = 4096;
11063pub const VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR: VkPipelineStageFlagBits2 = 4096;
11064pub const VK_PIPELINE_STAGE_2_TRANSFER_BIT: VkPipelineStageFlagBits2 = 4096;
11065pub const VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR: VkPipelineStageFlagBits2 = 4096;
11066pub const VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT: VkPipelineStageFlagBits2 = 8192;
11067pub const VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR: VkPipelineStageFlagBits2 = 8192;
11068pub const VK_PIPELINE_STAGE_2_HOST_BIT: VkPipelineStageFlagBits2 = 16384;
11069pub const VK_PIPELINE_STAGE_2_HOST_BIT_KHR: VkPipelineStageFlagBits2 = 16384;
11070pub const VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT: VkPipelineStageFlagBits2 = 32768;
11071pub const VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR: VkPipelineStageFlagBits2 = 32768;
11072pub const VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT: VkPipelineStageFlagBits2 = 65536;
11073pub const VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR: VkPipelineStageFlagBits2 = 65536;
11074pub const VK_PIPELINE_STAGE_2_COPY_BIT: VkPipelineStageFlagBits2 = 4294967296;
11075pub const VK_PIPELINE_STAGE_2_COPY_BIT_KHR: VkPipelineStageFlagBits2 = 4294967296;
11076pub const VK_PIPELINE_STAGE_2_RESOLVE_BIT: VkPipelineStageFlagBits2 = 8589934592;
11077pub const VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR: VkPipelineStageFlagBits2 = 8589934592;
11078pub const VK_PIPELINE_STAGE_2_BLIT_BIT: VkPipelineStageFlagBits2 = 17179869184;
11079pub const VK_PIPELINE_STAGE_2_BLIT_BIT_KHR: VkPipelineStageFlagBits2 = 17179869184;
11080pub const VK_PIPELINE_STAGE_2_CLEAR_BIT: VkPipelineStageFlagBits2 = 34359738368;
11081pub const VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR: VkPipelineStageFlagBits2 = 34359738368;
11082pub const VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT: VkPipelineStageFlagBits2 = 68719476736;
11083pub const VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR: VkPipelineStageFlagBits2 = 68719476736;
11084pub const VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT: VkPipelineStageFlagBits2 = 137438953472;
11085pub const VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR: VkPipelineStageFlagBits2 =
11086    137438953472;
11087pub const VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT: VkPipelineStageFlagBits2 =
11088    274877906944;
11089pub const VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR: VkPipelineStageFlagBits2 =
11090    274877906944;
11091pub const VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR: VkPipelineStageFlagBits2 = 67108864;
11092pub const VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR: VkPipelineStageFlagBits2 = 134217728;
11093pub const VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT: VkPipelineStageFlagBits2 = 16777216;
11094pub const VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT: VkPipelineStageFlagBits2 = 262144;
11095pub const VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV: VkPipelineStageFlagBits2 = 131072;
11096pub const VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT: VkPipelineStageFlagBits2 = 131072;
11097pub const VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR: VkPipelineStageFlagBits2 =
11098    4194304;
11099pub const VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV: VkPipelineStageFlagBits2 = 4194304;
11100pub const VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR: VkPipelineStageFlagBits2 =
11101    33554432;
11102pub const VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR: VkPipelineStageFlagBits2 = 2097152;
11103pub const VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV: VkPipelineStageFlagBits2 = 2097152;
11104pub const VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV: VkPipelineStageFlagBits2 =
11105    33554432;
11106pub const VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT: VkPipelineStageFlagBits2 = 8388608;
11107pub const VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV: VkPipelineStageFlagBits2 = 524288;
11108pub const VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV: VkPipelineStageFlagBits2 = 1048576;
11109pub const VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT: VkPipelineStageFlagBits2 = 524288;
11110pub const VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT: VkPipelineStageFlagBits2 = 1048576;
11111pub const VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI: VkPipelineStageFlagBits2 = 549755813888;
11112pub const VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI: VkPipelineStageFlagBits2 = 549755813888;
11113pub const VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI: VkPipelineStageFlagBits2 = 1099511627776;
11114pub const VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR: VkPipelineStageFlagBits2 =
11115    268435456;
11116pub const VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT: VkPipelineStageFlagBits2 = 1073741824;
11117pub const VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI: VkPipelineStageFlagBits2 =
11118    2199023255552;
11119pub const VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV: VkPipelineStageFlagBits2 = 536870912;
11120pub type VkAccessFlags2 = VkFlags64;
11121pub type VkAccessFlagBits2 = VkFlags64;
11122pub const VK_ACCESS_2_NONE: VkAccessFlagBits2 = 0;
11123pub const VK_ACCESS_2_NONE_KHR: VkAccessFlagBits2 = 0;
11124pub const VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT: VkAccessFlagBits2 = 1;
11125pub const VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR: VkAccessFlagBits2 = 1;
11126pub const VK_ACCESS_2_INDEX_READ_BIT: VkAccessFlagBits2 = 2;
11127pub const VK_ACCESS_2_INDEX_READ_BIT_KHR: VkAccessFlagBits2 = 2;
11128pub const VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT: VkAccessFlagBits2 = 4;
11129pub const VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR: VkAccessFlagBits2 = 4;
11130pub const VK_ACCESS_2_UNIFORM_READ_BIT: VkAccessFlagBits2 = 8;
11131pub const VK_ACCESS_2_UNIFORM_READ_BIT_KHR: VkAccessFlagBits2 = 8;
11132pub const VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT: VkAccessFlagBits2 = 16;
11133pub const VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR: VkAccessFlagBits2 = 16;
11134pub const VK_ACCESS_2_SHADER_READ_BIT: VkAccessFlagBits2 = 32;
11135pub const VK_ACCESS_2_SHADER_READ_BIT_KHR: VkAccessFlagBits2 = 32;
11136pub const VK_ACCESS_2_SHADER_WRITE_BIT: VkAccessFlagBits2 = 64;
11137pub const VK_ACCESS_2_SHADER_WRITE_BIT_KHR: VkAccessFlagBits2 = 64;
11138pub const VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT: VkAccessFlagBits2 = 128;
11139pub const VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR: VkAccessFlagBits2 = 128;
11140pub const VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT: VkAccessFlagBits2 = 256;
11141pub const VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR: VkAccessFlagBits2 = 256;
11142pub const VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT: VkAccessFlagBits2 = 512;
11143pub const VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR: VkAccessFlagBits2 = 512;
11144pub const VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: VkAccessFlagBits2 = 1024;
11145pub const VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR: VkAccessFlagBits2 = 1024;
11146pub const VK_ACCESS_2_TRANSFER_READ_BIT: VkAccessFlagBits2 = 2048;
11147pub const VK_ACCESS_2_TRANSFER_READ_BIT_KHR: VkAccessFlagBits2 = 2048;
11148pub const VK_ACCESS_2_TRANSFER_WRITE_BIT: VkAccessFlagBits2 = 4096;
11149pub const VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR: VkAccessFlagBits2 = 4096;
11150pub const VK_ACCESS_2_HOST_READ_BIT: VkAccessFlagBits2 = 8192;
11151pub const VK_ACCESS_2_HOST_READ_BIT_KHR: VkAccessFlagBits2 = 8192;
11152pub const VK_ACCESS_2_HOST_WRITE_BIT: VkAccessFlagBits2 = 16384;
11153pub const VK_ACCESS_2_HOST_WRITE_BIT_KHR: VkAccessFlagBits2 = 16384;
11154pub const VK_ACCESS_2_MEMORY_READ_BIT: VkAccessFlagBits2 = 32768;
11155pub const VK_ACCESS_2_MEMORY_READ_BIT_KHR: VkAccessFlagBits2 = 32768;
11156pub const VK_ACCESS_2_MEMORY_WRITE_BIT: VkAccessFlagBits2 = 65536;
11157pub const VK_ACCESS_2_MEMORY_WRITE_BIT_KHR: VkAccessFlagBits2 = 65536;
11158pub const VK_ACCESS_2_SHADER_SAMPLED_READ_BIT: VkAccessFlagBits2 = 4294967296;
11159pub const VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR: VkAccessFlagBits2 = 4294967296;
11160pub const VK_ACCESS_2_SHADER_STORAGE_READ_BIT: VkAccessFlagBits2 = 8589934592;
11161pub const VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR: VkAccessFlagBits2 = 8589934592;
11162pub const VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT: VkAccessFlagBits2 = 17179869184;
11163pub const VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR: VkAccessFlagBits2 = 17179869184;
11164pub const VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR: VkAccessFlagBits2 = 34359738368;
11165pub const VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR: VkAccessFlagBits2 = 68719476736;
11166pub const VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR: VkAccessFlagBits2 = 137438953472;
11167pub const VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR: VkAccessFlagBits2 = 274877906944;
11168pub const VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: VkAccessFlagBits2 = 33554432;
11169pub const VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: VkAccessFlagBits2 = 67108864;
11170pub const VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: VkAccessFlagBits2 = 134217728;
11171pub const VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT: VkAccessFlagBits2 = 1048576;
11172pub const VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV: VkAccessFlagBits2 = 131072;
11173pub const VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV: VkAccessFlagBits2 = 262144;
11174pub const VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT: VkAccessFlagBits2 = 131072;
11175pub const VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT: VkAccessFlagBits2 = 262144;
11176pub const VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR: VkAccessFlagBits2 = 8388608;
11177pub const VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV: VkAccessFlagBits2 = 8388608;
11178pub const VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR: VkAccessFlagBits2 = 2097152;
11179pub const VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR: VkAccessFlagBits2 = 4194304;
11180pub const VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV: VkAccessFlagBits2 = 2097152;
11181pub const VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV: VkAccessFlagBits2 = 4194304;
11182pub const VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: VkAccessFlagBits2 = 16777216;
11183pub const VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: VkAccessFlagBits2 = 524288;
11184pub const VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT: VkAccessFlagBits2 = 2199023255552;
11185pub const VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI: VkAccessFlagBits2 = 549755813888;
11186pub const VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR: VkAccessFlagBits2 = 1099511627776;
11187pub const VK_ACCESS_2_MICROMAP_READ_BIT_EXT: VkAccessFlagBits2 = 17592186044416;
11188pub const VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT: VkAccessFlagBits2 = 35184372088832;
11189pub const VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV: VkAccessFlagBits2 = 4398046511104;
11190pub const VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV: VkAccessFlagBits2 = 8796093022208;
11191pub const VK_SUBMIT_PROTECTED_BIT: VkSubmitFlagBits = 1;
11192pub const VK_SUBMIT_PROTECTED_BIT_KHR: VkSubmitFlagBits = 1;
11193pub const VK_SUBMIT_FLAG_BITS_MAX_ENUM: VkSubmitFlagBits = 2147483647;
11194pub type VkSubmitFlagBits = ::std::os::raw::c_uint;
11195pub type VkSubmitFlags = VkFlags;
11196pub const VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT:
11197    VkRenderingFlagBits = 1;
11198pub const VK_RENDERING_SUSPENDING_BIT: VkRenderingFlagBits = 2;
11199pub const VK_RENDERING_RESUMING_BIT: VkRenderingFlagBits = 4;
11200pub const VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT: VkRenderingFlagBits = 8;
11201pub const VK_RENDERING_CONTENTS_INLINE_BIT_KHR: VkRenderingFlagBits = 16;
11202pub const VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR:
11203    VkRenderingFlagBits = 1;
11204pub const VK_RENDERING_SUSPENDING_BIT_KHR: VkRenderingFlagBits = 2;
11205pub const VK_RENDERING_RESUMING_BIT_KHR: VkRenderingFlagBits = 4;
11206pub const VK_RENDERING_CONTENTS_INLINE_BIT_EXT: VkRenderingFlagBits = 16;
11207pub const VK_RENDERING_FLAG_BITS_MAX_ENUM: VkRenderingFlagBits = 2147483647;
11208pub type VkRenderingFlagBits = ::std::os::raw::c_uint;
11209pub type VkRenderingFlags = VkFlags;
11210pub type VkFormatFeatureFlags2 = VkFlags64;
11211pub type VkFormatFeatureFlagBits2 = VkFlags64;
11212pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT: VkFormatFeatureFlagBits2 = 1;
11213pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR: VkFormatFeatureFlagBits2 = 1;
11214pub const VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT: VkFormatFeatureFlagBits2 = 2;
11215pub const VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR: VkFormatFeatureFlagBits2 = 2;
11216pub const VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT: VkFormatFeatureFlagBits2 = 4;
11217pub const VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR: VkFormatFeatureFlagBits2 = 4;
11218pub const VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits2 = 8;
11219pub const VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR: VkFormatFeatureFlagBits2 = 8;
11220pub const VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits2 = 16;
11221pub const VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR: VkFormatFeatureFlagBits2 = 16;
11222pub const VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT: VkFormatFeatureFlagBits2 = 32;
11223pub const VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR: VkFormatFeatureFlagBits2 = 32;
11224pub const VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT: VkFormatFeatureFlagBits2 = 64;
11225pub const VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR: VkFormatFeatureFlagBits2 = 64;
11226pub const VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT: VkFormatFeatureFlagBits2 = 128;
11227pub const VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR: VkFormatFeatureFlagBits2 = 128;
11228pub const VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT: VkFormatFeatureFlagBits2 = 256;
11229pub const VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR: VkFormatFeatureFlagBits2 = 256;
11230pub const VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT: VkFormatFeatureFlagBits2 = 512;
11231pub const VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR: VkFormatFeatureFlagBits2 = 512;
11232pub const VK_FORMAT_FEATURE_2_BLIT_SRC_BIT: VkFormatFeatureFlagBits2 = 1024;
11233pub const VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR: VkFormatFeatureFlagBits2 = 1024;
11234pub const VK_FORMAT_FEATURE_2_BLIT_DST_BIT: VkFormatFeatureFlagBits2 = 2048;
11235pub const VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR: VkFormatFeatureFlagBits2 = 2048;
11236pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT: VkFormatFeatureFlagBits2 = 4096;
11237pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR: VkFormatFeatureFlagBits2 = 4096;
11238pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT: VkFormatFeatureFlagBits2 = 8192;
11239pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT: VkFormatFeatureFlagBits2 = 8192;
11240pub const VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT: VkFormatFeatureFlagBits2 = 16384;
11241pub const VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR: VkFormatFeatureFlagBits2 = 16384;
11242pub const VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT: VkFormatFeatureFlagBits2 = 32768;
11243pub const VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR: VkFormatFeatureFlagBits2 = 32768;
11244pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT: VkFormatFeatureFlagBits2 = 65536;
11245pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR: VkFormatFeatureFlagBits2 = 65536;
11246pub const VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits2 = 131072;
11247pub const VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits2 = 131072;
11248pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
11249    VkFormatFeatureFlagBits2 = 262144;
11250pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR:
11251    VkFormatFeatureFlagBits2 = 262144;
11252pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
11253    VkFormatFeatureFlagBits2 = 524288;
11254pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : VkFormatFeatureFlagBits2 = 524288 ;
11255pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
11256    VkFormatFeatureFlagBits2 = 1048576;
11257pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : VkFormatFeatureFlagBits2 = 1048576 ;
11258pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : VkFormatFeatureFlagBits2 = 2097152 ;
11259pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : VkFormatFeatureFlagBits2 = 2097152 ;
11260pub const VK_FORMAT_FEATURE_2_DISJOINT_BIT: VkFormatFeatureFlagBits2 = 4194304;
11261pub const VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR: VkFormatFeatureFlagBits2 = 4194304;
11262pub const VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits2 = 8388608;
11263pub const VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits2 = 8388608;
11264pub const VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT: VkFormatFeatureFlagBits2 =
11265    2147483648;
11266pub const VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR: VkFormatFeatureFlagBits2 =
11267    2147483648;
11268pub const VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT: VkFormatFeatureFlagBits2 =
11269    4294967296;
11270pub const VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR: VkFormatFeatureFlagBits2 =
11271    4294967296;
11272pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT: VkFormatFeatureFlagBits2 =
11273    8589934592;
11274pub const VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR: VkFormatFeatureFlagBits2 =
11275    8589934592;
11276pub const VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR: VkFormatFeatureFlagBits2 = 33554432;
11277pub const VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR: VkFormatFeatureFlagBits2 = 67108864;
11278pub const VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR:
11279    VkFormatFeatureFlagBits2 = 536870912;
11280pub const VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT: VkFormatFeatureFlagBits2 = 16777216;
11281pub const VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR: VkFormatFeatureFlagBits2 =
11282    1073741824;
11283pub const VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT: VkFormatFeatureFlagBits2 =
11284    70368744177664;
11285pub const VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR: VkFormatFeatureFlagBits2 = 134217728;
11286pub const VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR: VkFormatFeatureFlagBits2 = 268435456;
11287pub const VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV: VkFormatFeatureFlagBits2 =
11288    274877906944;
11289pub const VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM: VkFormatFeatureFlagBits2 = 17179869184;
11290pub const VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM: VkFormatFeatureFlagBits2 = 34359738368;
11291pub const VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM: VkFormatFeatureFlagBits2 = 68719476736;
11292pub const VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM: VkFormatFeatureFlagBits2 = 137438953472;
11293pub const VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV: VkFormatFeatureFlagBits2 = 1099511627776;
11294pub const VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV: VkFormatFeatureFlagBits2 = 2199023255552;
11295pub const VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV: VkFormatFeatureFlagBits2 = 4398046511104;
11296pub const VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR:
11297    VkFormatFeatureFlagBits2 = 562949953421312;
11298pub const VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR: VkFormatFeatureFlagBits2 =
11299    1125899906842624;
11300#[repr(C)]
11301#[derive(Debug, Copy, Clone)]
11302pub struct VkPhysicalDeviceVulkan13Features {
11303    pub sType: VkStructureType,
11304    pub pNext: *mut ::std::os::raw::c_void,
11305    pub robustImageAccess: VkBool32,
11306    pub inlineUniformBlock: VkBool32,
11307    pub descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32,
11308    pub pipelineCreationCacheControl: VkBool32,
11309    pub privateData: VkBool32,
11310    pub shaderDemoteToHelperInvocation: VkBool32,
11311    pub shaderTerminateInvocation: VkBool32,
11312    pub subgroupSizeControl: VkBool32,
11313    pub computeFullSubgroups: VkBool32,
11314    pub synchronization2: VkBool32,
11315    pub textureCompressionASTC_HDR: VkBool32,
11316    pub shaderZeroInitializeWorkgroupMemory: VkBool32,
11317    pub dynamicRendering: VkBool32,
11318    pub shaderIntegerDotProduct: VkBool32,
11319    pub maintenance4: VkBool32,
11320}
11321#[repr(C)]
11322#[derive(Debug, Copy, Clone)]
11323pub struct VkPhysicalDeviceVulkan13Properties {
11324    pub sType: VkStructureType,
11325    pub pNext: *mut ::std::os::raw::c_void,
11326    pub minSubgroupSize: u32,
11327    pub maxSubgroupSize: u32,
11328    pub maxComputeWorkgroupSubgroups: u32,
11329    pub requiredSubgroupSizeStages: VkShaderStageFlags,
11330    pub maxInlineUniformBlockSize: u32,
11331    pub maxPerStageDescriptorInlineUniformBlocks: u32,
11332    pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
11333    pub maxDescriptorSetInlineUniformBlocks: u32,
11334    pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
11335    pub maxInlineUniformTotalSize: u32,
11336    pub integerDotProduct8BitUnsignedAccelerated: VkBool32,
11337    pub integerDotProduct8BitSignedAccelerated: VkBool32,
11338    pub integerDotProduct8BitMixedSignednessAccelerated: VkBool32,
11339    pub integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32,
11340    pub integerDotProduct4x8BitPackedSignedAccelerated: VkBool32,
11341    pub integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32,
11342    pub integerDotProduct16BitUnsignedAccelerated: VkBool32,
11343    pub integerDotProduct16BitSignedAccelerated: VkBool32,
11344    pub integerDotProduct16BitMixedSignednessAccelerated: VkBool32,
11345    pub integerDotProduct32BitUnsignedAccelerated: VkBool32,
11346    pub integerDotProduct32BitSignedAccelerated: VkBool32,
11347    pub integerDotProduct32BitMixedSignednessAccelerated: VkBool32,
11348    pub integerDotProduct64BitUnsignedAccelerated: VkBool32,
11349    pub integerDotProduct64BitSignedAccelerated: VkBool32,
11350    pub integerDotProduct64BitMixedSignednessAccelerated: VkBool32,
11351    pub integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32,
11352    pub integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32,
11353    pub integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32,
11354    pub integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32,
11355    pub integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32,
11356    pub integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32,
11357    pub integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32,
11358    pub integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32,
11359    pub integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32,
11360    pub integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32,
11361    pub integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32,
11362    pub integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32,
11363    pub integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32,
11364    pub integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32,
11365    pub integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32,
11366    pub storageTexelBufferOffsetAlignmentBytes: VkDeviceSize,
11367    pub storageTexelBufferOffsetSingleTexelAlignment: VkBool32,
11368    pub uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize,
11369    pub uniformTexelBufferOffsetSingleTexelAlignment: VkBool32,
11370    pub maxBufferSize: VkDeviceSize,
11371}
11372#[repr(C)]
11373#[derive(Debug, Copy, Clone)]
11374pub struct VkPipelineCreationFeedback {
11375    pub flags: VkPipelineCreationFeedbackFlags,
11376    pub duration: u64,
11377}
11378#[repr(C)]
11379#[derive(Debug, Copy, Clone)]
11380pub struct VkPipelineCreationFeedbackCreateInfo {
11381    pub sType: VkStructureType,
11382    pub pNext: *const ::std::os::raw::c_void,
11383    pub pPipelineCreationFeedback: *mut VkPipelineCreationFeedback,
11384    pub pipelineStageCreationFeedbackCount: u32,
11385    pub pPipelineStageCreationFeedbacks: *mut VkPipelineCreationFeedback,
11386}
11387#[repr(C)]
11388#[derive(Debug, Copy, Clone)]
11389pub struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
11390    pub sType: VkStructureType,
11391    pub pNext: *mut ::std::os::raw::c_void,
11392    pub shaderTerminateInvocation: VkBool32,
11393}
11394#[repr(C)]
11395#[derive(Debug, Copy, Clone)]
11396pub struct VkPhysicalDeviceToolProperties {
11397    pub sType: VkStructureType,
11398    pub pNext: *mut ::std::os::raw::c_void,
11399    pub name: [::std::os::raw::c_char; 256usize],
11400    pub version: [::std::os::raw::c_char; 256usize],
11401    pub purposes: VkToolPurposeFlags,
11402    pub description: [::std::os::raw::c_char; 256usize],
11403    pub layer: [::std::os::raw::c_char; 256usize],
11404}
11405#[repr(C)]
11406#[derive(Debug, Copy, Clone)]
11407pub struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
11408    pub sType: VkStructureType,
11409    pub pNext: *mut ::std::os::raw::c_void,
11410    pub shaderDemoteToHelperInvocation: VkBool32,
11411}
11412#[repr(C)]
11413#[derive(Debug, Copy, Clone)]
11414pub struct VkPhysicalDevicePrivateDataFeatures {
11415    pub sType: VkStructureType,
11416    pub pNext: *mut ::std::os::raw::c_void,
11417    pub privateData: VkBool32,
11418}
11419#[repr(C)]
11420#[derive(Debug, Copy, Clone)]
11421pub struct VkDevicePrivateDataCreateInfo {
11422    pub sType: VkStructureType,
11423    pub pNext: *const ::std::os::raw::c_void,
11424    pub privateDataSlotRequestCount: u32,
11425}
11426#[repr(C)]
11427#[derive(Debug, Copy, Clone)]
11428pub struct VkPrivateDataSlotCreateInfo {
11429    pub sType: VkStructureType,
11430    pub pNext: *const ::std::os::raw::c_void,
11431    pub flags: VkPrivateDataSlotCreateFlags,
11432}
11433#[repr(C)]
11434#[derive(Debug, Copy, Clone)]
11435pub struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
11436    pub sType: VkStructureType,
11437    pub pNext: *mut ::std::os::raw::c_void,
11438    pub pipelineCreationCacheControl: VkBool32,
11439}
11440#[repr(C)]
11441#[derive(Debug, Copy, Clone)]
11442pub struct VkMemoryBarrier2 {
11443    pub sType: VkStructureType,
11444    pub pNext: *const ::std::os::raw::c_void,
11445    pub srcStageMask: VkPipelineStageFlags2,
11446    pub srcAccessMask: VkAccessFlags2,
11447    pub dstStageMask: VkPipelineStageFlags2,
11448    pub dstAccessMask: VkAccessFlags2,
11449}
11450#[repr(C)]
11451#[derive(Debug, Copy, Clone)]
11452pub struct VkBufferMemoryBarrier2 {
11453    pub sType: VkStructureType,
11454    pub pNext: *const ::std::os::raw::c_void,
11455    pub srcStageMask: VkPipelineStageFlags2,
11456    pub srcAccessMask: VkAccessFlags2,
11457    pub dstStageMask: VkPipelineStageFlags2,
11458    pub dstAccessMask: VkAccessFlags2,
11459    pub srcQueueFamilyIndex: u32,
11460    pub dstQueueFamilyIndex: u32,
11461    pub buffer: VkBuffer,
11462    pub offset: VkDeviceSize,
11463    pub size: VkDeviceSize,
11464}
11465#[repr(C)]
11466#[derive(Debug, Copy, Clone)]
11467pub struct VkImageMemoryBarrier2 {
11468    pub sType: VkStructureType,
11469    pub pNext: *const ::std::os::raw::c_void,
11470    pub srcStageMask: VkPipelineStageFlags2,
11471    pub srcAccessMask: VkAccessFlags2,
11472    pub dstStageMask: VkPipelineStageFlags2,
11473    pub dstAccessMask: VkAccessFlags2,
11474    pub oldLayout: VkImageLayout,
11475    pub newLayout: VkImageLayout,
11476    pub srcQueueFamilyIndex: u32,
11477    pub dstQueueFamilyIndex: u32,
11478    pub image: VkImage,
11479    pub subresourceRange: VkImageSubresourceRange,
11480}
11481#[repr(C)]
11482#[derive(Debug, Copy, Clone)]
11483pub struct VkDependencyInfo {
11484    pub sType: VkStructureType,
11485    pub pNext: *const ::std::os::raw::c_void,
11486    pub dependencyFlags: VkDependencyFlags,
11487    pub memoryBarrierCount: u32,
11488    pub pMemoryBarriers: *const VkMemoryBarrier2,
11489    pub bufferMemoryBarrierCount: u32,
11490    pub pBufferMemoryBarriers: *const VkBufferMemoryBarrier2,
11491    pub imageMemoryBarrierCount: u32,
11492    pub pImageMemoryBarriers: *const VkImageMemoryBarrier2,
11493}
11494#[repr(C)]
11495#[derive(Debug, Copy, Clone)]
11496pub struct VkSemaphoreSubmitInfo {
11497    pub sType: VkStructureType,
11498    pub pNext: *const ::std::os::raw::c_void,
11499    pub semaphore: VkSemaphore,
11500    pub value: u64,
11501    pub stageMask: VkPipelineStageFlags2,
11502    pub deviceIndex: u32,
11503}
11504#[repr(C)]
11505#[derive(Debug, Copy, Clone)]
11506pub struct VkCommandBufferSubmitInfo {
11507    pub sType: VkStructureType,
11508    pub pNext: *const ::std::os::raw::c_void,
11509    pub commandBuffer: VkCommandBuffer,
11510    pub deviceMask: u32,
11511}
11512#[repr(C)]
11513#[derive(Debug, Copy, Clone)]
11514pub struct VkSubmitInfo2 {
11515    pub sType: VkStructureType,
11516    pub pNext: *const ::std::os::raw::c_void,
11517    pub flags: VkSubmitFlags,
11518    pub waitSemaphoreInfoCount: u32,
11519    pub pWaitSemaphoreInfos: *const VkSemaphoreSubmitInfo,
11520    pub commandBufferInfoCount: u32,
11521    pub pCommandBufferInfos: *const VkCommandBufferSubmitInfo,
11522    pub signalSemaphoreInfoCount: u32,
11523    pub pSignalSemaphoreInfos: *const VkSemaphoreSubmitInfo,
11524}
11525#[repr(C)]
11526#[derive(Debug, Copy, Clone)]
11527pub struct VkPhysicalDeviceSynchronization2Features {
11528    pub sType: VkStructureType,
11529    pub pNext: *mut ::std::os::raw::c_void,
11530    pub synchronization2: VkBool32,
11531}
11532#[repr(C)]
11533#[derive(Debug, Copy, Clone)]
11534pub struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
11535    pub sType: VkStructureType,
11536    pub pNext: *mut ::std::os::raw::c_void,
11537    pub shaderZeroInitializeWorkgroupMemory: VkBool32,
11538}
11539#[repr(C)]
11540#[derive(Debug, Copy, Clone)]
11541pub struct VkPhysicalDeviceImageRobustnessFeatures {
11542    pub sType: VkStructureType,
11543    pub pNext: *mut ::std::os::raw::c_void,
11544    pub robustImageAccess: VkBool32,
11545}
11546#[repr(C)]
11547#[derive(Debug, Copy, Clone)]
11548pub struct VkBufferCopy2 {
11549    pub sType: VkStructureType,
11550    pub pNext: *const ::std::os::raw::c_void,
11551    pub srcOffset: VkDeviceSize,
11552    pub dstOffset: VkDeviceSize,
11553    pub size: VkDeviceSize,
11554}
11555#[repr(C)]
11556#[derive(Debug, Copy, Clone)]
11557pub struct VkCopyBufferInfo2 {
11558    pub sType: VkStructureType,
11559    pub pNext: *const ::std::os::raw::c_void,
11560    pub srcBuffer: VkBuffer,
11561    pub dstBuffer: VkBuffer,
11562    pub regionCount: u32,
11563    pub pRegions: *const VkBufferCopy2,
11564}
11565#[repr(C)]
11566#[derive(Debug, Copy, Clone)]
11567pub struct VkImageCopy2 {
11568    pub sType: VkStructureType,
11569    pub pNext: *const ::std::os::raw::c_void,
11570    pub srcSubresource: VkImageSubresourceLayers,
11571    pub srcOffset: VkOffset3D,
11572    pub dstSubresource: VkImageSubresourceLayers,
11573    pub dstOffset: VkOffset3D,
11574    pub extent: VkExtent3D,
11575}
11576#[repr(C)]
11577#[derive(Debug, Copy, Clone)]
11578pub struct VkCopyImageInfo2 {
11579    pub sType: VkStructureType,
11580    pub pNext: *const ::std::os::raw::c_void,
11581    pub srcImage: VkImage,
11582    pub srcImageLayout: VkImageLayout,
11583    pub dstImage: VkImage,
11584    pub dstImageLayout: VkImageLayout,
11585    pub regionCount: u32,
11586    pub pRegions: *const VkImageCopy2,
11587}
11588#[repr(C)]
11589#[derive(Debug, Copy, Clone)]
11590pub struct VkBufferImageCopy2 {
11591    pub sType: VkStructureType,
11592    pub pNext: *const ::std::os::raw::c_void,
11593    pub bufferOffset: VkDeviceSize,
11594    pub bufferRowLength: u32,
11595    pub bufferImageHeight: u32,
11596    pub imageSubresource: VkImageSubresourceLayers,
11597    pub imageOffset: VkOffset3D,
11598    pub imageExtent: VkExtent3D,
11599}
11600#[repr(C)]
11601#[derive(Debug, Copy, Clone)]
11602pub struct VkCopyBufferToImageInfo2 {
11603    pub sType: VkStructureType,
11604    pub pNext: *const ::std::os::raw::c_void,
11605    pub srcBuffer: VkBuffer,
11606    pub dstImage: VkImage,
11607    pub dstImageLayout: VkImageLayout,
11608    pub regionCount: u32,
11609    pub pRegions: *const VkBufferImageCopy2,
11610}
11611#[repr(C)]
11612#[derive(Debug, Copy, Clone)]
11613pub struct VkCopyImageToBufferInfo2 {
11614    pub sType: VkStructureType,
11615    pub pNext: *const ::std::os::raw::c_void,
11616    pub srcImage: VkImage,
11617    pub srcImageLayout: VkImageLayout,
11618    pub dstBuffer: VkBuffer,
11619    pub regionCount: u32,
11620    pub pRegions: *const VkBufferImageCopy2,
11621}
11622#[repr(C)]
11623#[derive(Debug, Copy, Clone)]
11624pub struct VkImageBlit2 {
11625    pub sType: VkStructureType,
11626    pub pNext: *const ::std::os::raw::c_void,
11627    pub srcSubresource: VkImageSubresourceLayers,
11628    pub srcOffsets: [VkOffset3D; 2usize],
11629    pub dstSubresource: VkImageSubresourceLayers,
11630    pub dstOffsets: [VkOffset3D; 2usize],
11631}
11632#[repr(C)]
11633#[derive(Debug, Copy, Clone)]
11634pub struct VkBlitImageInfo2 {
11635    pub sType: VkStructureType,
11636    pub pNext: *const ::std::os::raw::c_void,
11637    pub srcImage: VkImage,
11638    pub srcImageLayout: VkImageLayout,
11639    pub dstImage: VkImage,
11640    pub dstImageLayout: VkImageLayout,
11641    pub regionCount: u32,
11642    pub pRegions: *const VkImageBlit2,
11643    pub filter: VkFilter,
11644}
11645#[repr(C)]
11646#[derive(Debug, Copy, Clone)]
11647pub struct VkImageResolve2 {
11648    pub sType: VkStructureType,
11649    pub pNext: *const ::std::os::raw::c_void,
11650    pub srcSubresource: VkImageSubresourceLayers,
11651    pub srcOffset: VkOffset3D,
11652    pub dstSubresource: VkImageSubresourceLayers,
11653    pub dstOffset: VkOffset3D,
11654    pub extent: VkExtent3D,
11655}
11656#[repr(C)]
11657#[derive(Debug, Copy, Clone)]
11658pub struct VkResolveImageInfo2 {
11659    pub sType: VkStructureType,
11660    pub pNext: *const ::std::os::raw::c_void,
11661    pub srcImage: VkImage,
11662    pub srcImageLayout: VkImageLayout,
11663    pub dstImage: VkImage,
11664    pub dstImageLayout: VkImageLayout,
11665    pub regionCount: u32,
11666    pub pRegions: *const VkImageResolve2,
11667}
11668#[repr(C)]
11669#[derive(Debug, Copy, Clone)]
11670pub struct VkPhysicalDeviceSubgroupSizeControlFeatures {
11671    pub sType: VkStructureType,
11672    pub pNext: *mut ::std::os::raw::c_void,
11673    pub subgroupSizeControl: VkBool32,
11674    pub computeFullSubgroups: VkBool32,
11675}
11676#[repr(C)]
11677#[derive(Debug, Copy, Clone)]
11678pub struct VkPhysicalDeviceSubgroupSizeControlProperties {
11679    pub sType: VkStructureType,
11680    pub pNext: *mut ::std::os::raw::c_void,
11681    pub minSubgroupSize: u32,
11682    pub maxSubgroupSize: u32,
11683    pub maxComputeWorkgroupSubgroups: u32,
11684    pub requiredSubgroupSizeStages: VkShaderStageFlags,
11685}
11686#[repr(C)]
11687#[derive(Debug, Copy, Clone)]
11688pub struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
11689    pub sType: VkStructureType,
11690    pub pNext: *mut ::std::os::raw::c_void,
11691    pub requiredSubgroupSize: u32,
11692}
11693#[repr(C)]
11694#[derive(Debug, Copy, Clone)]
11695pub struct VkPhysicalDeviceInlineUniformBlockFeatures {
11696    pub sType: VkStructureType,
11697    pub pNext: *mut ::std::os::raw::c_void,
11698    pub inlineUniformBlock: VkBool32,
11699    pub descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32,
11700}
11701#[repr(C)]
11702#[derive(Debug, Copy, Clone)]
11703pub struct VkPhysicalDeviceInlineUniformBlockProperties {
11704    pub sType: VkStructureType,
11705    pub pNext: *mut ::std::os::raw::c_void,
11706    pub maxInlineUniformBlockSize: u32,
11707    pub maxPerStageDescriptorInlineUniformBlocks: u32,
11708    pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
11709    pub maxDescriptorSetInlineUniformBlocks: u32,
11710    pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
11711}
11712#[repr(C)]
11713#[derive(Debug, Copy, Clone)]
11714pub struct VkWriteDescriptorSetInlineUniformBlock {
11715    pub sType: VkStructureType,
11716    pub pNext: *const ::std::os::raw::c_void,
11717    pub dataSize: u32,
11718    pub pData: *const ::std::os::raw::c_void,
11719}
11720#[repr(C)]
11721#[derive(Debug, Copy, Clone)]
11722pub struct VkDescriptorPoolInlineUniformBlockCreateInfo {
11723    pub sType: VkStructureType,
11724    pub pNext: *const ::std::os::raw::c_void,
11725    pub maxInlineUniformBlockBindings: u32,
11726}
11727#[repr(C)]
11728#[derive(Debug, Copy, Clone)]
11729pub struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
11730    pub sType: VkStructureType,
11731    pub pNext: *mut ::std::os::raw::c_void,
11732    pub textureCompressionASTC_HDR: VkBool32,
11733}
11734#[repr(C)]
11735#[derive(Copy, Clone)]
11736pub struct VkRenderingAttachmentInfo {
11737    pub sType: VkStructureType,
11738    pub pNext: *const ::std::os::raw::c_void,
11739    pub imageView: VkImageView,
11740    pub imageLayout: VkImageLayout,
11741    pub resolveMode: VkResolveModeFlagBits,
11742    pub resolveImageView: VkImageView,
11743    pub resolveImageLayout: VkImageLayout,
11744    pub loadOp: VkAttachmentLoadOp,
11745    pub storeOp: VkAttachmentStoreOp,
11746    pub clearValue: VkClearValue,
11747}
11748#[repr(C)]
11749#[derive(Debug, Copy, Clone)]
11750pub struct VkRenderingInfo {
11751    pub sType: VkStructureType,
11752    pub pNext: *const ::std::os::raw::c_void,
11753    pub flags: VkRenderingFlags,
11754    pub renderArea: VkRect2D,
11755    pub layerCount: u32,
11756    pub viewMask: u32,
11757    pub colorAttachmentCount: u32,
11758    pub pColorAttachments: *const VkRenderingAttachmentInfo,
11759    pub pDepthAttachment: *const VkRenderingAttachmentInfo,
11760    pub pStencilAttachment: *const VkRenderingAttachmentInfo,
11761}
11762#[repr(C)]
11763#[derive(Debug, Copy, Clone)]
11764pub struct VkPipelineRenderingCreateInfo {
11765    pub sType: VkStructureType,
11766    pub pNext: *const ::std::os::raw::c_void,
11767    pub viewMask: u32,
11768    pub colorAttachmentCount: u32,
11769    pub pColorAttachmentFormats: *const VkFormat,
11770    pub depthAttachmentFormat: VkFormat,
11771    pub stencilAttachmentFormat: VkFormat,
11772}
11773#[repr(C)]
11774#[derive(Debug, Copy, Clone)]
11775pub struct VkPhysicalDeviceDynamicRenderingFeatures {
11776    pub sType: VkStructureType,
11777    pub pNext: *mut ::std::os::raw::c_void,
11778    pub dynamicRendering: VkBool32,
11779}
11780#[repr(C)]
11781#[derive(Debug, Copy, Clone)]
11782pub struct VkCommandBufferInheritanceRenderingInfo {
11783    pub sType: VkStructureType,
11784    pub pNext: *const ::std::os::raw::c_void,
11785    pub flags: VkRenderingFlags,
11786    pub viewMask: u32,
11787    pub colorAttachmentCount: u32,
11788    pub pColorAttachmentFormats: *const VkFormat,
11789    pub depthAttachmentFormat: VkFormat,
11790    pub stencilAttachmentFormat: VkFormat,
11791    pub rasterizationSamples: VkSampleCountFlagBits,
11792}
11793#[repr(C)]
11794#[derive(Debug, Copy, Clone)]
11795pub struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
11796    pub sType: VkStructureType,
11797    pub pNext: *mut ::std::os::raw::c_void,
11798    pub shaderIntegerDotProduct: VkBool32,
11799}
11800#[repr(C)]
11801#[derive(Debug, Copy, Clone)]
11802pub struct VkPhysicalDeviceShaderIntegerDotProductProperties {
11803    pub sType: VkStructureType,
11804    pub pNext: *mut ::std::os::raw::c_void,
11805    pub integerDotProduct8BitUnsignedAccelerated: VkBool32,
11806    pub integerDotProduct8BitSignedAccelerated: VkBool32,
11807    pub integerDotProduct8BitMixedSignednessAccelerated: VkBool32,
11808    pub integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32,
11809    pub integerDotProduct4x8BitPackedSignedAccelerated: VkBool32,
11810    pub integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32,
11811    pub integerDotProduct16BitUnsignedAccelerated: VkBool32,
11812    pub integerDotProduct16BitSignedAccelerated: VkBool32,
11813    pub integerDotProduct16BitMixedSignednessAccelerated: VkBool32,
11814    pub integerDotProduct32BitUnsignedAccelerated: VkBool32,
11815    pub integerDotProduct32BitSignedAccelerated: VkBool32,
11816    pub integerDotProduct32BitMixedSignednessAccelerated: VkBool32,
11817    pub integerDotProduct64BitUnsignedAccelerated: VkBool32,
11818    pub integerDotProduct64BitSignedAccelerated: VkBool32,
11819    pub integerDotProduct64BitMixedSignednessAccelerated: VkBool32,
11820    pub integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32,
11821    pub integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32,
11822    pub integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32,
11823    pub integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32,
11824    pub integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32,
11825    pub integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32,
11826    pub integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32,
11827    pub integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32,
11828    pub integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32,
11829    pub integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32,
11830    pub integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32,
11831    pub integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32,
11832    pub integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32,
11833    pub integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32,
11834    pub integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32,
11835}
11836#[repr(C)]
11837#[derive(Debug, Copy, Clone)]
11838pub struct VkPhysicalDeviceTexelBufferAlignmentProperties {
11839    pub sType: VkStructureType,
11840    pub pNext: *mut ::std::os::raw::c_void,
11841    pub storageTexelBufferOffsetAlignmentBytes: VkDeviceSize,
11842    pub storageTexelBufferOffsetSingleTexelAlignment: VkBool32,
11843    pub uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize,
11844    pub uniformTexelBufferOffsetSingleTexelAlignment: VkBool32,
11845}
11846#[repr(C)]
11847#[derive(Debug, Copy, Clone)]
11848pub struct VkFormatProperties3 {
11849    pub sType: VkStructureType,
11850    pub pNext: *mut ::std::os::raw::c_void,
11851    pub linearTilingFeatures: VkFormatFeatureFlags2,
11852    pub optimalTilingFeatures: VkFormatFeatureFlags2,
11853    pub bufferFeatures: VkFormatFeatureFlags2,
11854}
11855#[repr(C)]
11856#[derive(Debug, Copy, Clone)]
11857pub struct VkPhysicalDeviceMaintenance4Features {
11858    pub sType: VkStructureType,
11859    pub pNext: *mut ::std::os::raw::c_void,
11860    pub maintenance4: VkBool32,
11861}
11862#[repr(C)]
11863#[derive(Debug, Copy, Clone)]
11864pub struct VkPhysicalDeviceMaintenance4Properties {
11865    pub sType: VkStructureType,
11866    pub pNext: *mut ::std::os::raw::c_void,
11867    pub maxBufferSize: VkDeviceSize,
11868}
11869#[repr(C)]
11870#[derive(Debug, Copy, Clone)]
11871pub struct VkDeviceBufferMemoryRequirements {
11872    pub sType: VkStructureType,
11873    pub pNext: *const ::std::os::raw::c_void,
11874    pub pCreateInfo: *const VkBufferCreateInfo,
11875}
11876#[repr(C)]
11877#[derive(Debug, Copy, Clone)]
11878pub struct VkDeviceImageMemoryRequirements {
11879    pub sType: VkStructureType,
11880    pub pNext: *const ::std::os::raw::c_void,
11881    pub pCreateInfo: *const VkImageCreateInfo,
11882    pub planeAspect: VkImageAspectFlagBits,
11883}
11884pub type PFN_vkGetPhysicalDeviceToolProperties = 
11885    unsafe extern "C" fn(
11886        physicalDevice: VkPhysicalDevice,
11887        pToolCount: *mut u32,
11888        pToolProperties: *mut VkPhysicalDeviceToolProperties,
11889    ) -> VkResult;
11890
11891pub type PFN_vkCreatePrivateDataSlot = 
11892    unsafe extern "C" fn(
11893        device: VkDevice,
11894        pCreateInfo: *const VkPrivateDataSlotCreateInfo,
11895        pAllocator: *const VkAllocationCallbacks,
11896        pPrivateDataSlot: *mut VkPrivateDataSlot,
11897    ) -> VkResult;
11898
11899pub type PFN_vkDestroyPrivateDataSlot = 
11900    unsafe extern "C" fn(
11901        device: VkDevice,
11902        privateDataSlot: VkPrivateDataSlot,
11903        pAllocator: *const VkAllocationCallbacks,
11904    );
11905
11906pub type PFN_vkSetPrivateData = 
11907    unsafe extern "C" fn(
11908        device: VkDevice,
11909        objectType: VkObjectType,
11910        objectHandle: u64,
11911        privateDataSlot: VkPrivateDataSlot,
11912        data: u64,
11913    ) -> VkResult;
11914
11915pub type PFN_vkGetPrivateData = 
11916    unsafe extern "C" fn(
11917        device: VkDevice,
11918        objectType: VkObjectType,
11919        objectHandle: u64,
11920        privateDataSlot: VkPrivateDataSlot,
11921        pData: *mut u64,
11922    );
11923
11924pub type PFN_vkCmdSetEvent2 = 
11925    unsafe extern "C" fn(
11926        commandBuffer: VkCommandBuffer,
11927        event: VkEvent,
11928        pDependencyInfo: *const VkDependencyInfo,
11929    );
11930
11931pub type PFN_vkCmdResetEvent2 = 
11932    unsafe extern "C" fn(
11933        commandBuffer: VkCommandBuffer,
11934        event: VkEvent,
11935        stageMask: VkPipelineStageFlags2,
11936    );
11937
11938pub type PFN_vkCmdWaitEvents2 = 
11939    unsafe extern "C" fn(
11940        commandBuffer: VkCommandBuffer,
11941        eventCount: u32,
11942        pEvents: *const VkEvent,
11943        pDependencyInfos: *const VkDependencyInfo,
11944    );
11945
11946pub type PFN_vkCmdPipelineBarrier2 = 
11947    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pDependencyInfo: *const VkDependencyInfo);
11948
11949pub type PFN_vkCmdWriteTimestamp2 = 
11950    unsafe extern "C" fn(
11951        commandBuffer: VkCommandBuffer,
11952        stage: VkPipelineStageFlags2,
11953        queryPool: VkQueryPool,
11954        query: u32,
11955    );
11956
11957pub type PFN_vkQueueSubmit2 = 
11958    unsafe extern "C" fn(
11959        queue: VkQueue,
11960        submitCount: u32,
11961        pSubmits: *const VkSubmitInfo2,
11962        fence: VkFence,
11963    ) -> VkResult;
11964
11965pub type PFN_vkCmdCopyBuffer2 = 
11966    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pCopyBufferInfo: *const VkCopyBufferInfo2);
11967
11968pub type PFN_vkCmdCopyImage2 = 
11969    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pCopyImageInfo: *const VkCopyImageInfo2);
11970
11971pub type PFN_vkCmdCopyBufferToImage2 = 
11972    unsafe extern "C" fn(
11973        commandBuffer: VkCommandBuffer,
11974        pCopyBufferToImageInfo: *const VkCopyBufferToImageInfo2,
11975    );
11976
11977pub type PFN_vkCmdCopyImageToBuffer2 = 
11978    unsafe extern "C" fn(
11979        commandBuffer: VkCommandBuffer,
11980        pCopyImageToBufferInfo: *const VkCopyImageToBufferInfo2,
11981    );
11982
11983pub type PFN_vkCmdBlitImage2 = 
11984    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pBlitImageInfo: *const VkBlitImageInfo2);
11985
11986pub type PFN_vkCmdResolveImage2 = 
11987    unsafe extern "C" fn(
11988        commandBuffer: VkCommandBuffer,
11989        pResolveImageInfo: *const VkResolveImageInfo2,
11990    );
11991
11992pub type PFN_vkCmdBeginRendering = 
11993    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pRenderingInfo: *const VkRenderingInfo);
11994
11995pub type PFN_vkCmdEndRendering =
11996    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
11997pub type PFN_vkCmdSetCullMode = 
11998    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags);
11999
12000pub type PFN_vkCmdSetFrontFace = 
12001    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace);
12002
12003pub type PFN_vkCmdSetPrimitiveTopology = 
12004    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology);
12005
12006pub type PFN_vkCmdSetViewportWithCount = 
12007    unsafe extern "C" fn(
12008        commandBuffer: VkCommandBuffer,
12009        viewportCount: u32,
12010        pViewports: *const VkViewport,
12011    );
12012
12013pub type PFN_vkCmdSetScissorWithCount = 
12014    unsafe extern "C" fn(
12015        commandBuffer: VkCommandBuffer,
12016        scissorCount: u32,
12017        pScissors: *const VkRect2D,
12018    );
12019
12020pub type PFN_vkCmdBindVertexBuffers2 = 
12021    unsafe extern "C" fn(
12022        commandBuffer: VkCommandBuffer,
12023        firstBinding: u32,
12024        bindingCount: u32,
12025        pBuffers: *const VkBuffer,
12026        pOffsets: *const VkDeviceSize,
12027        pSizes: *const VkDeviceSize,
12028        pStrides: *const VkDeviceSize,
12029    );
12030
12031pub type PFN_vkCmdSetDepthTestEnable = 
12032    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32);
12033
12034pub type PFN_vkCmdSetDepthWriteEnable = 
12035    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32);
12036
12037pub type PFN_vkCmdSetDepthCompareOp = 
12038    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp);
12039
12040pub type PFN_vkCmdSetDepthBoundsTestEnable = 
12041    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32);
12042
12043pub type PFN_vkCmdSetStencilTestEnable = 
12044    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32);
12045
12046pub type PFN_vkCmdSetStencilOp = 
12047    unsafe extern "C" fn(
12048        commandBuffer: VkCommandBuffer,
12049        faceMask: VkStencilFaceFlags,
12050        failOp: VkStencilOp,
12051        passOp: VkStencilOp,
12052        depthFailOp: VkStencilOp,
12053        compareOp: VkCompareOp,
12054    );
12055
12056pub type PFN_vkCmdSetRasterizerDiscardEnable = 
12057    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32);
12058
12059pub type PFN_vkCmdSetDepthBiasEnable = 
12060    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32);
12061
12062pub type PFN_vkCmdSetPrimitiveRestartEnable = 
12063    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32);
12064
12065pub type PFN_vkGetDeviceBufferMemoryRequirements = 
12066    unsafe extern "C" fn(
12067        device: VkDevice,
12068        pInfo: *const VkDeviceBufferMemoryRequirements,
12069        pMemoryRequirements: *mut VkMemoryRequirements2,
12070    );
12071
12072pub type PFN_vkGetDeviceImageMemoryRequirements = 
12073    unsafe extern "C" fn(
12074        device: VkDevice,
12075        pInfo: *const VkDeviceImageMemoryRequirements,
12076        pMemoryRequirements: *mut VkMemoryRequirements2,
12077    );
12078
12079pub type PFN_vkGetDeviceImageSparseMemoryRequirements = 
12080    unsafe extern "C" fn(
12081        device: VkDevice,
12082        pInfo: *const VkDeviceImageMemoryRequirements,
12083        pSparseMemoryRequirementCount: *mut u32,
12084        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
12085    );
12086
12087extern "C" {
12088    pub fn vkGetPhysicalDeviceToolProperties(
12089        physicalDevice: VkPhysicalDevice,
12090        pToolCount: *mut u32,
12091        pToolProperties: *mut VkPhysicalDeviceToolProperties,
12092    ) -> VkResult;
12093}
12094extern "C" {
12095    pub fn vkCreatePrivateDataSlot(
12096        device: VkDevice,
12097        pCreateInfo: *const VkPrivateDataSlotCreateInfo,
12098        pAllocator: *const VkAllocationCallbacks,
12099        pPrivateDataSlot: *mut VkPrivateDataSlot,
12100    ) -> VkResult;
12101}
12102extern "C" {
12103    pub fn vkDestroyPrivateDataSlot(
12104        device: VkDevice,
12105        privateDataSlot: VkPrivateDataSlot,
12106        pAllocator: *const VkAllocationCallbacks,
12107    );
12108}
12109extern "C" {
12110    pub fn vkSetPrivateData(
12111        device: VkDevice,
12112        objectType: VkObjectType,
12113        objectHandle: u64,
12114        privateDataSlot: VkPrivateDataSlot,
12115        data: u64,
12116    ) -> VkResult;
12117}
12118extern "C" {
12119    pub fn vkGetPrivateData(
12120        device: VkDevice,
12121        objectType: VkObjectType,
12122        objectHandle: u64,
12123        privateDataSlot: VkPrivateDataSlot,
12124        pData: *mut u64,
12125    );
12126}
12127extern "C" {
12128    pub fn vkCmdSetEvent2(
12129        commandBuffer: VkCommandBuffer,
12130        event: VkEvent,
12131        pDependencyInfo: *const VkDependencyInfo,
12132    );
12133}
12134extern "C" {
12135    pub fn vkCmdResetEvent2(
12136        commandBuffer: VkCommandBuffer,
12137        event: VkEvent,
12138        stageMask: VkPipelineStageFlags2,
12139    );
12140}
12141extern "C" {
12142    pub fn vkCmdWaitEvents2(
12143        commandBuffer: VkCommandBuffer,
12144        eventCount: u32,
12145        pEvents: *const VkEvent,
12146        pDependencyInfos: *const VkDependencyInfo,
12147    );
12148}
12149extern "C" {
12150    pub fn vkCmdPipelineBarrier2(
12151        commandBuffer: VkCommandBuffer,
12152        pDependencyInfo: *const VkDependencyInfo,
12153    );
12154}
12155extern "C" {
12156    pub fn vkCmdWriteTimestamp2(
12157        commandBuffer: VkCommandBuffer,
12158        stage: VkPipelineStageFlags2,
12159        queryPool: VkQueryPool,
12160        query: u32,
12161    );
12162}
12163extern "C" {
12164    pub fn vkQueueSubmit2(
12165        queue: VkQueue,
12166        submitCount: u32,
12167        pSubmits: *const VkSubmitInfo2,
12168        fence: VkFence,
12169    ) -> VkResult;
12170}
12171extern "C" {
12172    pub fn vkCmdCopyBuffer2(
12173        commandBuffer: VkCommandBuffer,
12174        pCopyBufferInfo: *const VkCopyBufferInfo2,
12175    );
12176}
12177extern "C" {
12178    pub fn vkCmdCopyImage2(commandBuffer: VkCommandBuffer, pCopyImageInfo: *const VkCopyImageInfo2);
12179}
12180extern "C" {
12181    pub fn vkCmdCopyBufferToImage2(
12182        commandBuffer: VkCommandBuffer,
12183        pCopyBufferToImageInfo: *const VkCopyBufferToImageInfo2,
12184    );
12185}
12186extern "C" {
12187    pub fn vkCmdCopyImageToBuffer2(
12188        commandBuffer: VkCommandBuffer,
12189        pCopyImageToBufferInfo: *const VkCopyImageToBufferInfo2,
12190    );
12191}
12192extern "C" {
12193    pub fn vkCmdBlitImage2(commandBuffer: VkCommandBuffer, pBlitImageInfo: *const VkBlitImageInfo2);
12194}
12195extern "C" {
12196    pub fn vkCmdResolveImage2(
12197        commandBuffer: VkCommandBuffer,
12198        pResolveImageInfo: *const VkResolveImageInfo2,
12199    );
12200}
12201extern "C" {
12202    pub fn vkCmdBeginRendering(
12203        commandBuffer: VkCommandBuffer,
12204        pRenderingInfo: *const VkRenderingInfo,
12205    );
12206}
12207extern "C" {
12208    pub fn vkCmdEndRendering(commandBuffer: VkCommandBuffer);
12209}
12210extern "C" {
12211    pub fn vkCmdSetCullMode(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags);
12212}
12213extern "C" {
12214    pub fn vkCmdSetFrontFace(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace);
12215}
12216extern "C" {
12217    pub fn vkCmdSetPrimitiveTopology(
12218        commandBuffer: VkCommandBuffer,
12219        primitiveTopology: VkPrimitiveTopology,
12220    );
12221}
12222extern "C" {
12223    pub fn vkCmdSetViewportWithCount(
12224        commandBuffer: VkCommandBuffer,
12225        viewportCount: u32,
12226        pViewports: *const VkViewport,
12227    );
12228}
12229extern "C" {
12230    pub fn vkCmdSetScissorWithCount(
12231        commandBuffer: VkCommandBuffer,
12232        scissorCount: u32,
12233        pScissors: *const VkRect2D,
12234    );
12235}
12236extern "C" {
12237    pub fn vkCmdBindVertexBuffers2(
12238        commandBuffer: VkCommandBuffer,
12239        firstBinding: u32,
12240        bindingCount: u32,
12241        pBuffers: *const VkBuffer,
12242        pOffsets: *const VkDeviceSize,
12243        pSizes: *const VkDeviceSize,
12244        pStrides: *const VkDeviceSize,
12245    );
12246}
12247extern "C" {
12248    pub fn vkCmdSetDepthTestEnable(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32);
12249}
12250extern "C" {
12251    pub fn vkCmdSetDepthWriteEnable(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32);
12252}
12253extern "C" {
12254    pub fn vkCmdSetDepthCompareOp(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp);
12255}
12256extern "C" {
12257    pub fn vkCmdSetDepthBoundsTestEnable(
12258        commandBuffer: VkCommandBuffer,
12259        depthBoundsTestEnable: VkBool32,
12260    );
12261}
12262extern "C" {
12263    pub fn vkCmdSetStencilTestEnable(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32);
12264}
12265extern "C" {
12266    pub fn vkCmdSetStencilOp(
12267        commandBuffer: VkCommandBuffer,
12268        faceMask: VkStencilFaceFlags,
12269        failOp: VkStencilOp,
12270        passOp: VkStencilOp,
12271        depthFailOp: VkStencilOp,
12272        compareOp: VkCompareOp,
12273    );
12274}
12275extern "C" {
12276    pub fn vkCmdSetRasterizerDiscardEnable(
12277        commandBuffer: VkCommandBuffer,
12278        rasterizerDiscardEnable: VkBool32,
12279    );
12280}
12281extern "C" {
12282    pub fn vkCmdSetDepthBiasEnable(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32);
12283}
12284extern "C" {
12285    pub fn vkCmdSetPrimitiveRestartEnable(
12286        commandBuffer: VkCommandBuffer,
12287        primitiveRestartEnable: VkBool32,
12288    );
12289}
12290extern "C" {
12291    pub fn vkGetDeviceBufferMemoryRequirements(
12292        device: VkDevice,
12293        pInfo: *const VkDeviceBufferMemoryRequirements,
12294        pMemoryRequirements: *mut VkMemoryRequirements2,
12295    );
12296}
12297extern "C" {
12298    pub fn vkGetDeviceImageMemoryRequirements(
12299        device: VkDevice,
12300        pInfo: *const VkDeviceImageMemoryRequirements,
12301        pMemoryRequirements: *mut VkMemoryRequirements2,
12302    );
12303}
12304extern "C" {
12305    pub fn vkGetDeviceImageSparseMemoryRequirements(
12306        device: VkDevice,
12307        pInfo: *const VkDeviceImageMemoryRequirements,
12308        pSparseMemoryRequirementCount: *mut u32,
12309        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
12310    );
12311}
12312#[repr(C)]
12313#[derive(Debug, Copy, Clone)]
12314pub struct VkSurfaceKHR_T {
12315    _unused: [u8; 0],
12316}
12317pub type VkSurfaceKHR = *mut VkSurfaceKHR_T;
12318pub const VK_PRESENT_MODE_IMMEDIATE_KHR: VkPresentModeKHR = 0;
12319pub const VK_PRESENT_MODE_MAILBOX_KHR: VkPresentModeKHR = 1;
12320pub const VK_PRESENT_MODE_FIFO_KHR: VkPresentModeKHR = 2;
12321pub const VK_PRESENT_MODE_FIFO_RELAXED_KHR: VkPresentModeKHR = 3;
12322pub const VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: VkPresentModeKHR = 1000111000;
12323pub const VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: VkPresentModeKHR =
12324    1000111001;
12325pub const VK_PRESENT_MODE_FIFO_LATEST_READY_EXT: VkPresentModeKHR = 1000361000;
12326pub const VK_PRESENT_MODE_MAX_ENUM_KHR: VkPresentModeKHR = 2147483647;
12327pub type VkPresentModeKHR = ::std::os::raw::c_uint;
12328pub const VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
12329pub const VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104001;
12330pub const VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: VkColorSpaceKHR = 1000104002;
12331pub const VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
12332pub const VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104004;
12333pub const VK_COLOR_SPACE_BT709_LINEAR_EXT: VkColorSpaceKHR = 1000104005;
12334pub const VK_COLOR_SPACE_BT709_NONLINEAR_EXT: VkColorSpaceKHR = 1000104006;
12335pub const VK_COLOR_SPACE_BT2020_LINEAR_EXT: VkColorSpaceKHR = 1000104007;
12336pub const VK_COLOR_SPACE_HDR10_ST2084_EXT: VkColorSpaceKHR = 1000104008;
12337pub const VK_COLOR_SPACE_DOLBYVISION_EXT: VkColorSpaceKHR = 1000104009;
12338pub const VK_COLOR_SPACE_HDR10_HLG_EXT: VkColorSpaceKHR = 1000104010;
12339pub const VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: VkColorSpaceKHR = 1000104011;
12340pub const VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104012;
12341pub const VK_COLOR_SPACE_PASS_THROUGH_EXT: VkColorSpaceKHR = 1000104013;
12342pub const VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104014;
12343pub const VK_COLOR_SPACE_DISPLAY_NATIVE_AMD: VkColorSpaceKHR = 1000213000;
12344pub const VK_COLORSPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
12345pub const VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
12346pub const VK_COLOR_SPACE_MAX_ENUM_KHR: VkColorSpaceKHR = 2147483647;
12347pub type VkColorSpaceKHR = ::std::os::raw::c_uint;
12348pub const VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
12349    VkSurfaceTransformFlagBitsKHR = 1;
12350pub const VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
12351    VkSurfaceTransformFlagBitsKHR = 2;
12352pub const VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
12353    VkSurfaceTransformFlagBitsKHR = 4;
12354pub const VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
12355    VkSurfaceTransformFlagBitsKHR = 8;
12356pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR:
12357    VkSurfaceTransformFlagBitsKHR = 16;
12358pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR:
12359    VkSurfaceTransformFlagBitsKHR = 32;
12360pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR : VkSurfaceTransformFlagBitsKHR = 64 ;
12361pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR : VkSurfaceTransformFlagBitsKHR = 128 ;
12362pub const VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR:
12363    VkSurfaceTransformFlagBitsKHR = 256;
12364pub const VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR:
12365    VkSurfaceTransformFlagBitsKHR = 2147483647;
12366pub type VkSurfaceTransformFlagBitsKHR = ::std::os::raw::c_uint;
12367pub const VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
12368    VkCompositeAlphaFlagBitsKHR = 1;
12369pub const VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR:
12370    VkCompositeAlphaFlagBitsKHR = 2;
12371pub const VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR:
12372    VkCompositeAlphaFlagBitsKHR = 4;
12373pub const VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR:
12374    VkCompositeAlphaFlagBitsKHR = 8;
12375pub const VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR:
12376    VkCompositeAlphaFlagBitsKHR = 2147483647;
12377pub type VkCompositeAlphaFlagBitsKHR = ::std::os::raw::c_uint;
12378pub type VkCompositeAlphaFlagsKHR = VkFlags;
12379pub type VkSurfaceTransformFlagsKHR = VkFlags;
12380#[repr(C)]
12381#[derive(Debug, Copy, Clone)]
12382pub struct VkSurfaceCapabilitiesKHR {
12383    pub minImageCount: u32,
12384    pub maxImageCount: u32,
12385    pub currentExtent: VkExtent2D,
12386    pub minImageExtent: VkExtent2D,
12387    pub maxImageExtent: VkExtent2D,
12388    pub maxImageArrayLayers: u32,
12389    pub supportedTransforms: VkSurfaceTransformFlagsKHR,
12390    pub currentTransform: VkSurfaceTransformFlagBitsKHR,
12391    pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
12392    pub supportedUsageFlags: VkImageUsageFlags,
12393}
12394#[repr(C)]
12395#[derive(Debug, Copy, Clone)]
12396pub struct VkSurfaceFormatKHR {
12397    pub format: VkFormat,
12398    pub colorSpace: VkColorSpaceKHR,
12399}
12400pub type PFN_vkDestroySurfaceKHR = 
12401    unsafe extern "C" fn(
12402        instance: VkInstance,
12403        surface: VkSurfaceKHR,
12404        pAllocator: *const VkAllocationCallbacks,
12405    );
12406
12407pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = 
12408    unsafe extern "C" fn(
12409        physicalDevice: VkPhysicalDevice,
12410        queueFamilyIndex: u32,
12411        surface: VkSurfaceKHR,
12412        pSupported: *mut VkBool32,
12413    ) -> VkResult;
12414
12415pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 
12416    unsafe extern "C" fn(
12417        physicalDevice: VkPhysicalDevice,
12418        surface: VkSurfaceKHR,
12419        pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
12420    ) -> VkResult;
12421
12422pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = 
12423    unsafe extern "C" fn(
12424        physicalDevice: VkPhysicalDevice,
12425        surface: VkSurfaceKHR,
12426        pSurfaceFormatCount: *mut u32,
12427        pSurfaceFormats: *mut VkSurfaceFormatKHR,
12428    ) -> VkResult;
12429
12430pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = 
12431    unsafe extern "C" fn(
12432        physicalDevice: VkPhysicalDevice,
12433        surface: VkSurfaceKHR,
12434        pPresentModeCount: *mut u32,
12435        pPresentModes: *mut VkPresentModeKHR,
12436    ) -> VkResult;
12437
12438extern "C" {
12439    pub fn vkDestroySurfaceKHR(
12440        instance: VkInstance,
12441        surface: VkSurfaceKHR,
12442        pAllocator: *const VkAllocationCallbacks,
12443    );
12444}
12445extern "C" {
12446    pub fn vkGetPhysicalDeviceSurfaceSupportKHR(
12447        physicalDevice: VkPhysicalDevice,
12448        queueFamilyIndex: u32,
12449        surface: VkSurfaceKHR,
12450        pSupported: *mut VkBool32,
12451    ) -> VkResult;
12452}
12453extern "C" {
12454    pub fn vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
12455        physicalDevice: VkPhysicalDevice,
12456        surface: VkSurfaceKHR,
12457        pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
12458    ) -> VkResult;
12459}
12460extern "C" {
12461    pub fn vkGetPhysicalDeviceSurfaceFormatsKHR(
12462        physicalDevice: VkPhysicalDevice,
12463        surface: VkSurfaceKHR,
12464        pSurfaceFormatCount: *mut u32,
12465        pSurfaceFormats: *mut VkSurfaceFormatKHR,
12466    ) -> VkResult;
12467}
12468extern "C" {
12469    pub fn vkGetPhysicalDeviceSurfacePresentModesKHR(
12470        physicalDevice: VkPhysicalDevice,
12471        surface: VkSurfaceKHR,
12472        pPresentModeCount: *mut u32,
12473        pPresentModes: *mut VkPresentModeKHR,
12474    ) -> VkResult;
12475}
12476#[repr(C)]
12477#[derive(Debug, Copy, Clone)]
12478pub struct VkSwapchainKHR_T {
12479    _unused: [u8; 0],
12480}
12481pub type VkSwapchainKHR = *mut VkSwapchainKHR_T;
12482pub const VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR:
12483    VkSwapchainCreateFlagBitsKHR = 1;
12484pub const VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR:
12485    VkSwapchainCreateFlagBitsKHR = 2;
12486pub const VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR:
12487    VkSwapchainCreateFlagBitsKHR = 4;
12488pub const VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT:
12489    VkSwapchainCreateFlagBitsKHR = 8;
12490pub const VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR:
12491    VkSwapchainCreateFlagBitsKHR = 2147483647;
12492pub type VkSwapchainCreateFlagBitsKHR = ::std::os::raw::c_uint;
12493pub type VkSwapchainCreateFlagsKHR = VkFlags;
12494pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR:
12495    VkDeviceGroupPresentModeFlagBitsKHR = 1;
12496pub const VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR:
12497    VkDeviceGroupPresentModeFlagBitsKHR = 2;
12498pub const VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR:
12499    VkDeviceGroupPresentModeFlagBitsKHR = 4;
12500pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR : VkDeviceGroupPresentModeFlagBitsKHR = 8 ;
12501pub const VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR : VkDeviceGroupPresentModeFlagBitsKHR = 2147483647 ;
12502pub type VkDeviceGroupPresentModeFlagBitsKHR = ::std::os::raw::c_uint;
12503pub type VkDeviceGroupPresentModeFlagsKHR = VkFlags;
12504#[repr(C)]
12505#[derive(Debug, Copy, Clone)]
12506pub struct VkSwapchainCreateInfoKHR {
12507    pub sType: VkStructureType,
12508    pub pNext: *const ::std::os::raw::c_void,
12509    pub flags: VkSwapchainCreateFlagsKHR,
12510    pub surface: VkSurfaceKHR,
12511    pub minImageCount: u32,
12512    pub imageFormat: VkFormat,
12513    pub imageColorSpace: VkColorSpaceKHR,
12514    pub imageExtent: VkExtent2D,
12515    pub imageArrayLayers: u32,
12516    pub imageUsage: VkImageUsageFlags,
12517    pub imageSharingMode: VkSharingMode,
12518    pub queueFamilyIndexCount: u32,
12519    pub pQueueFamilyIndices: *const u32,
12520    pub preTransform: VkSurfaceTransformFlagBitsKHR,
12521    pub compositeAlpha: VkCompositeAlphaFlagBitsKHR,
12522    pub presentMode: VkPresentModeKHR,
12523    pub clipped: VkBool32,
12524    pub oldSwapchain: VkSwapchainKHR,
12525}
12526#[repr(C)]
12527#[derive(Debug, Copy, Clone)]
12528pub struct VkPresentInfoKHR {
12529    pub sType: VkStructureType,
12530    pub pNext: *const ::std::os::raw::c_void,
12531    pub waitSemaphoreCount: u32,
12532    pub pWaitSemaphores: *const VkSemaphore,
12533    pub swapchainCount: u32,
12534    pub pSwapchains: *const VkSwapchainKHR,
12535    pub pImageIndices: *const u32,
12536    pub pResults: *mut VkResult,
12537}
12538#[repr(C)]
12539#[derive(Debug, Copy, Clone)]
12540pub struct VkImageSwapchainCreateInfoKHR {
12541    pub sType: VkStructureType,
12542    pub pNext: *const ::std::os::raw::c_void,
12543    pub swapchain: VkSwapchainKHR,
12544}
12545#[repr(C)]
12546#[derive(Debug, Copy, Clone)]
12547pub struct VkBindImageMemorySwapchainInfoKHR {
12548    pub sType: VkStructureType,
12549    pub pNext: *const ::std::os::raw::c_void,
12550    pub swapchain: VkSwapchainKHR,
12551    pub imageIndex: u32,
12552}
12553#[repr(C)]
12554#[derive(Debug, Copy, Clone)]
12555pub struct VkAcquireNextImageInfoKHR {
12556    pub sType: VkStructureType,
12557    pub pNext: *const ::std::os::raw::c_void,
12558    pub swapchain: VkSwapchainKHR,
12559    pub timeout: u64,
12560    pub semaphore: VkSemaphore,
12561    pub fence: VkFence,
12562    pub deviceMask: u32,
12563}
12564#[repr(C)]
12565#[derive(Debug, Copy, Clone)]
12566pub struct VkDeviceGroupPresentCapabilitiesKHR {
12567    pub sType: VkStructureType,
12568    pub pNext: *mut ::std::os::raw::c_void,
12569    pub presentMask: [u32; 32usize],
12570    pub modes: VkDeviceGroupPresentModeFlagsKHR,
12571}
12572#[repr(C)]
12573#[derive(Debug, Copy, Clone)]
12574pub struct VkDeviceGroupPresentInfoKHR {
12575    pub sType: VkStructureType,
12576    pub pNext: *const ::std::os::raw::c_void,
12577    pub swapchainCount: u32,
12578    pub pDeviceMasks: *const u32,
12579    pub mode: VkDeviceGroupPresentModeFlagBitsKHR,
12580}
12581#[repr(C)]
12582#[derive(Debug, Copy, Clone)]
12583pub struct VkDeviceGroupSwapchainCreateInfoKHR {
12584    pub sType: VkStructureType,
12585    pub pNext: *const ::std::os::raw::c_void,
12586    pub modes: VkDeviceGroupPresentModeFlagsKHR,
12587}
12588pub type PFN_vkCreateSwapchainKHR = 
12589    unsafe extern "C" fn(
12590        device: VkDevice,
12591        pCreateInfo: *const VkSwapchainCreateInfoKHR,
12592        pAllocator: *const VkAllocationCallbacks,
12593        pSwapchain: *mut VkSwapchainKHR,
12594    ) -> VkResult;
12595
12596pub type PFN_vkDestroySwapchainKHR = 
12597    unsafe extern "C" fn(
12598        device: VkDevice,
12599        swapchain: VkSwapchainKHR,
12600        pAllocator: *const VkAllocationCallbacks,
12601    );
12602
12603pub type PFN_vkGetSwapchainImagesKHR = 
12604    unsafe extern "C" fn(
12605        device: VkDevice,
12606        swapchain: VkSwapchainKHR,
12607        pSwapchainImageCount: *mut u32,
12608        pSwapchainImages: *mut VkImage,
12609    ) -> VkResult;
12610
12611pub type PFN_vkAcquireNextImageKHR = 
12612    unsafe extern "C" fn(
12613        device: VkDevice,
12614        swapchain: VkSwapchainKHR,
12615        timeout: u64,
12616        semaphore: VkSemaphore,
12617        fence: VkFence,
12618        pImageIndex: *mut u32,
12619    ) -> VkResult;
12620
12621pub type PFN_vkQueuePresentKHR = 
12622    unsafe extern "C" fn(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult;
12623
12624pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = 
12625    unsafe extern "C" fn(
12626        device: VkDevice,
12627        pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
12628    ) -> VkResult;
12629
12630pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = 
12631    unsafe extern "C" fn(
12632        device: VkDevice,
12633        surface: VkSurfaceKHR,
12634        pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
12635    ) -> VkResult;
12636
12637pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = 
12638    unsafe extern "C" fn(
12639        physicalDevice: VkPhysicalDevice,
12640        surface: VkSurfaceKHR,
12641        pRectCount: *mut u32,
12642        pRects: *mut VkRect2D,
12643    ) -> VkResult;
12644
12645pub type PFN_vkAcquireNextImage2KHR = 
12646    unsafe extern "C" fn(
12647        device: VkDevice,
12648        pAcquireInfo: *const VkAcquireNextImageInfoKHR,
12649        pImageIndex: *mut u32,
12650    ) -> VkResult;
12651
12652extern "C" {
12653    pub fn vkCreateSwapchainKHR(
12654        device: VkDevice,
12655        pCreateInfo: *const VkSwapchainCreateInfoKHR,
12656        pAllocator: *const VkAllocationCallbacks,
12657        pSwapchain: *mut VkSwapchainKHR,
12658    ) -> VkResult;
12659}
12660extern "C" {
12661    pub fn vkDestroySwapchainKHR(
12662        device: VkDevice,
12663        swapchain: VkSwapchainKHR,
12664        pAllocator: *const VkAllocationCallbacks,
12665    );
12666}
12667extern "C" {
12668    pub fn vkGetSwapchainImagesKHR(
12669        device: VkDevice,
12670        swapchain: VkSwapchainKHR,
12671        pSwapchainImageCount: *mut u32,
12672        pSwapchainImages: *mut VkImage,
12673    ) -> VkResult;
12674}
12675extern "C" {
12676    pub fn vkAcquireNextImageKHR(
12677        device: VkDevice,
12678        swapchain: VkSwapchainKHR,
12679        timeout: u64,
12680        semaphore: VkSemaphore,
12681        fence: VkFence,
12682        pImageIndex: *mut u32,
12683    ) -> VkResult;
12684}
12685extern "C" {
12686    pub fn vkQueuePresentKHR(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult;
12687}
12688extern "C" {
12689    pub fn vkGetDeviceGroupPresentCapabilitiesKHR(
12690        device: VkDevice,
12691        pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
12692    ) -> VkResult;
12693}
12694extern "C" {
12695    pub fn vkGetDeviceGroupSurfacePresentModesKHR(
12696        device: VkDevice,
12697        surface: VkSurfaceKHR,
12698        pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
12699    ) -> VkResult;
12700}
12701extern "C" {
12702    pub fn vkGetPhysicalDevicePresentRectanglesKHR(
12703        physicalDevice: VkPhysicalDevice,
12704        surface: VkSurfaceKHR,
12705        pRectCount: *mut u32,
12706        pRects: *mut VkRect2D,
12707    ) -> VkResult;
12708}
12709extern "C" {
12710    pub fn vkAcquireNextImage2KHR(
12711        device: VkDevice,
12712        pAcquireInfo: *const VkAcquireNextImageInfoKHR,
12713        pImageIndex: *mut u32,
12714    ) -> VkResult;
12715}
12716#[repr(C)]
12717#[derive(Debug, Copy, Clone)]
12718pub struct VkDisplayKHR_T {
12719    _unused: [u8; 0],
12720}
12721pub type VkDisplayKHR = *mut VkDisplayKHR_T;
12722#[repr(C)]
12723#[derive(Debug, Copy, Clone)]
12724pub struct VkDisplayModeKHR_T {
12725    _unused: [u8; 0],
12726}
12727pub type VkDisplayModeKHR = *mut VkDisplayModeKHR_T;
12728pub type VkDisplayModeCreateFlagsKHR = VkFlags;
12729pub const VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR:
12730    VkDisplayPlaneAlphaFlagBitsKHR = 1;
12731pub const VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR:
12732    VkDisplayPlaneAlphaFlagBitsKHR = 2;
12733pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR:
12734    VkDisplayPlaneAlphaFlagBitsKHR = 4;
12735pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR:
12736    VkDisplayPlaneAlphaFlagBitsKHR = 8;
12737pub const VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR:
12738    VkDisplayPlaneAlphaFlagBitsKHR = 2147483647;
12739pub type VkDisplayPlaneAlphaFlagBitsKHR = ::std::os::raw::c_uint;
12740pub type VkDisplayPlaneAlphaFlagsKHR = VkFlags;
12741pub type VkDisplaySurfaceCreateFlagsKHR = VkFlags;
12742#[repr(C)]
12743#[derive(Debug, Copy, Clone)]
12744pub struct VkDisplayModeParametersKHR {
12745    pub visibleRegion: VkExtent2D,
12746    pub refreshRate: u32,
12747}
12748#[repr(C)]
12749#[derive(Debug, Copy, Clone)]
12750pub struct VkDisplayModeCreateInfoKHR {
12751    pub sType: VkStructureType,
12752    pub pNext: *const ::std::os::raw::c_void,
12753    pub flags: VkDisplayModeCreateFlagsKHR,
12754    pub parameters: VkDisplayModeParametersKHR,
12755}
12756#[repr(C)]
12757#[derive(Debug, Copy, Clone)]
12758pub struct VkDisplayModePropertiesKHR {
12759    pub displayMode: VkDisplayModeKHR,
12760    pub parameters: VkDisplayModeParametersKHR,
12761}
12762#[repr(C)]
12763#[derive(Debug, Copy, Clone)]
12764pub struct VkDisplayPlaneCapabilitiesKHR {
12765    pub supportedAlpha: VkDisplayPlaneAlphaFlagsKHR,
12766    pub minSrcPosition: VkOffset2D,
12767    pub maxSrcPosition: VkOffset2D,
12768    pub minSrcExtent: VkExtent2D,
12769    pub maxSrcExtent: VkExtent2D,
12770    pub minDstPosition: VkOffset2D,
12771    pub maxDstPosition: VkOffset2D,
12772    pub minDstExtent: VkExtent2D,
12773    pub maxDstExtent: VkExtent2D,
12774}
12775#[repr(C)]
12776#[derive(Debug, Copy, Clone)]
12777pub struct VkDisplayPlanePropertiesKHR {
12778    pub currentDisplay: VkDisplayKHR,
12779    pub currentStackIndex: u32,
12780}
12781#[repr(C)]
12782#[derive(Debug, Copy, Clone)]
12783pub struct VkDisplayPropertiesKHR {
12784    pub display: VkDisplayKHR,
12785    pub displayName: *const ::std::os::raw::c_char,
12786    pub physicalDimensions: VkExtent2D,
12787    pub physicalResolution: VkExtent2D,
12788    pub supportedTransforms: VkSurfaceTransformFlagsKHR,
12789    pub planeReorderPossible: VkBool32,
12790    pub persistentContent: VkBool32,
12791}
12792#[repr(C)]
12793#[derive(Debug, Copy, Clone)]
12794pub struct VkDisplaySurfaceCreateInfoKHR {
12795    pub sType: VkStructureType,
12796    pub pNext: *const ::std::os::raw::c_void,
12797    pub flags: VkDisplaySurfaceCreateFlagsKHR,
12798    pub displayMode: VkDisplayModeKHR,
12799    pub planeIndex: u32,
12800    pub planeStackIndex: u32,
12801    pub transform: VkSurfaceTransformFlagBitsKHR,
12802    pub globalAlpha: f32,
12803    pub alphaMode: VkDisplayPlaneAlphaFlagBitsKHR,
12804    pub imageExtent: VkExtent2D,
12805}
12806pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = 
12807    unsafe extern "C" fn(
12808        physicalDevice: VkPhysicalDevice,
12809        pPropertyCount: *mut u32,
12810        pProperties: *mut VkDisplayPropertiesKHR,
12811    ) -> VkResult;
12812
12813pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 
12814    unsafe extern "C" fn(
12815        physicalDevice: VkPhysicalDevice,
12816        pPropertyCount: *mut u32,
12817        pProperties: *mut VkDisplayPlanePropertiesKHR,
12818    ) -> VkResult;
12819
12820pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = 
12821    unsafe extern "C" fn(
12822        physicalDevice: VkPhysicalDevice,
12823        planeIndex: u32,
12824        pDisplayCount: *mut u32,
12825        pDisplays: *mut VkDisplayKHR,
12826    ) -> VkResult;
12827
12828pub type PFN_vkGetDisplayModePropertiesKHR = 
12829    unsafe extern "C" fn(
12830        physicalDevice: VkPhysicalDevice,
12831        display: VkDisplayKHR,
12832        pPropertyCount: *mut u32,
12833        pProperties: *mut VkDisplayModePropertiesKHR,
12834    ) -> VkResult;
12835
12836pub type PFN_vkCreateDisplayModeKHR = 
12837    unsafe extern "C" fn(
12838        physicalDevice: VkPhysicalDevice,
12839        display: VkDisplayKHR,
12840        pCreateInfo: *const VkDisplayModeCreateInfoKHR,
12841        pAllocator: *const VkAllocationCallbacks,
12842        pMode: *mut VkDisplayModeKHR,
12843    ) -> VkResult;
12844
12845pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = 
12846    unsafe extern "C" fn(
12847        physicalDevice: VkPhysicalDevice,
12848        mode: VkDisplayModeKHR,
12849        planeIndex: u32,
12850        pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
12851    ) -> VkResult;
12852
12853pub type PFN_vkCreateDisplayPlaneSurfaceKHR = 
12854    unsafe extern "C" fn(
12855        instance: VkInstance,
12856        pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
12857        pAllocator: *const VkAllocationCallbacks,
12858        pSurface: *mut VkSurfaceKHR,
12859    ) -> VkResult;
12860
12861extern "C" {
12862    pub fn vkGetPhysicalDeviceDisplayPropertiesKHR(
12863        physicalDevice: VkPhysicalDevice,
12864        pPropertyCount: *mut u32,
12865        pProperties: *mut VkDisplayPropertiesKHR,
12866    ) -> VkResult;
12867}
12868extern "C" {
12869    pub fn vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
12870        physicalDevice: VkPhysicalDevice,
12871        pPropertyCount: *mut u32,
12872        pProperties: *mut VkDisplayPlanePropertiesKHR,
12873    ) -> VkResult;
12874}
12875extern "C" {
12876    pub fn vkGetDisplayPlaneSupportedDisplaysKHR(
12877        physicalDevice: VkPhysicalDevice,
12878        planeIndex: u32,
12879        pDisplayCount: *mut u32,
12880        pDisplays: *mut VkDisplayKHR,
12881    ) -> VkResult;
12882}
12883extern "C" {
12884    pub fn vkGetDisplayModePropertiesKHR(
12885        physicalDevice: VkPhysicalDevice,
12886        display: VkDisplayKHR,
12887        pPropertyCount: *mut u32,
12888        pProperties: *mut VkDisplayModePropertiesKHR,
12889    ) -> VkResult;
12890}
12891extern "C" {
12892    pub fn vkCreateDisplayModeKHR(
12893        physicalDevice: VkPhysicalDevice,
12894        display: VkDisplayKHR,
12895        pCreateInfo: *const VkDisplayModeCreateInfoKHR,
12896        pAllocator: *const VkAllocationCallbacks,
12897        pMode: *mut VkDisplayModeKHR,
12898    ) -> VkResult;
12899}
12900extern "C" {
12901    pub fn vkGetDisplayPlaneCapabilitiesKHR(
12902        physicalDevice: VkPhysicalDevice,
12903        mode: VkDisplayModeKHR,
12904        planeIndex: u32,
12905        pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
12906    ) -> VkResult;
12907}
12908extern "C" {
12909    pub fn vkCreateDisplayPlaneSurfaceKHR(
12910        instance: VkInstance,
12911        pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
12912        pAllocator: *const VkAllocationCallbacks,
12913        pSurface: *mut VkSurfaceKHR,
12914    ) -> VkResult;
12915}
12916#[repr(C)]
12917#[derive(Debug, Copy, Clone)]
12918pub struct VkDisplayPresentInfoKHR {
12919    pub sType: VkStructureType,
12920    pub pNext: *const ::std::os::raw::c_void,
12921    pub srcRect: VkRect2D,
12922    pub dstRect: VkRect2D,
12923    pub persistent: VkBool32,
12924}
12925pub type PFN_vkCreateSharedSwapchainsKHR = 
12926    unsafe extern "C" fn(
12927        device: VkDevice,
12928        swapchainCount: u32,
12929        pCreateInfos: *const VkSwapchainCreateInfoKHR,
12930        pAllocator: *const VkAllocationCallbacks,
12931        pSwapchains: *mut VkSwapchainKHR,
12932    ) -> VkResult;
12933
12934extern "C" {
12935    pub fn vkCreateSharedSwapchainsKHR(
12936        device: VkDevice,
12937        swapchainCount: u32,
12938        pCreateInfos: *const VkSwapchainCreateInfoKHR,
12939        pAllocator: *const VkAllocationCallbacks,
12940        pSwapchains: *mut VkSwapchainKHR,
12941    ) -> VkResult;
12942}
12943#[repr(C)]
12944#[derive(Debug, Copy, Clone)]
12945pub struct VkVideoSessionKHR_T {
12946    _unused: [u8; 0],
12947}
12948pub type VkVideoSessionKHR = *mut VkVideoSessionKHR_T;
12949#[repr(C)]
12950#[derive(Debug, Copy, Clone)]
12951pub struct VkVideoSessionParametersKHR_T {
12952    _unused: [u8; 0],
12953}
12954pub type VkVideoSessionParametersKHR = *mut VkVideoSessionParametersKHR_T;
12955pub const VK_QUERY_RESULT_STATUS_ERROR_KHR: VkQueryResultStatusKHR = -1;
12956pub const VK_QUERY_RESULT_STATUS_NOT_READY_KHR: VkQueryResultStatusKHR = 0;
12957pub const VK_QUERY_RESULT_STATUS_COMPLETE_KHR: VkQueryResultStatusKHR = 1;
12958pub const VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR:
12959    VkQueryResultStatusKHR = -1000299000;
12960pub const VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR: VkQueryResultStatusKHR =
12961    2147483647;
12962pub type VkQueryResultStatusKHR = ::std::os::raw::c_int;
12963pub const VK_VIDEO_CODEC_OPERATION_NONE_KHR:
12964    VkVideoCodecOperationFlagBitsKHR = 0;
12965pub const VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR:
12966    VkVideoCodecOperationFlagBitsKHR = 65536;
12967pub const VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR:
12968    VkVideoCodecOperationFlagBitsKHR = 131072;
12969pub const VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR:
12970    VkVideoCodecOperationFlagBitsKHR = 1;
12971pub const VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR:
12972    VkVideoCodecOperationFlagBitsKHR = 2;
12973pub const VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR:
12974    VkVideoCodecOperationFlagBitsKHR = 4;
12975pub const VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR:
12976    VkVideoCodecOperationFlagBitsKHR = 262144;
12977pub const VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR:
12978    VkVideoCodecOperationFlagBitsKHR = 2147483647;
12979pub type VkVideoCodecOperationFlagBitsKHR = ::std::os::raw::c_uint;
12980pub type VkVideoCodecOperationFlagsKHR = VkFlags;
12981pub const VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR:
12982    VkVideoChromaSubsamplingFlagBitsKHR = 0;
12983pub const VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR:
12984    VkVideoChromaSubsamplingFlagBitsKHR = 1;
12985pub const VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR:
12986    VkVideoChromaSubsamplingFlagBitsKHR = 2;
12987pub const VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR:
12988    VkVideoChromaSubsamplingFlagBitsKHR = 4;
12989pub const VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR:
12990    VkVideoChromaSubsamplingFlagBitsKHR = 8;
12991pub const VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR:
12992    VkVideoChromaSubsamplingFlagBitsKHR = 2147483647;
12993pub type VkVideoChromaSubsamplingFlagBitsKHR = ::std::os::raw::c_uint;
12994pub type VkVideoChromaSubsamplingFlagsKHR = VkFlags;
12995pub const VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR:
12996    VkVideoComponentBitDepthFlagBitsKHR = 0;
12997pub const VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR:
12998    VkVideoComponentBitDepthFlagBitsKHR = 1;
12999pub const VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR:
13000    VkVideoComponentBitDepthFlagBitsKHR = 4;
13001pub const VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR:
13002    VkVideoComponentBitDepthFlagBitsKHR = 16;
13003pub const VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR : VkVideoComponentBitDepthFlagBitsKHR = 2147483647 ;
13004pub type VkVideoComponentBitDepthFlagBitsKHR = ::std::os::raw::c_uint;
13005pub type VkVideoComponentBitDepthFlagsKHR = VkFlags;
13006pub const VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR:
13007    VkVideoCapabilityFlagBitsKHR = 1;
13008pub const VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR:
13009    VkVideoCapabilityFlagBitsKHR = 2;
13010pub const VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR:
13011    VkVideoCapabilityFlagBitsKHR = 2147483647;
13012pub type VkVideoCapabilityFlagBitsKHR = ::std::os::raw::c_uint;
13013pub type VkVideoCapabilityFlagsKHR = VkFlags;
13014pub const VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR:
13015    VkVideoSessionCreateFlagBitsKHR = 1;
13016pub const VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR : VkVideoSessionCreateFlagBitsKHR = 2 ;
13017pub const VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR:
13018    VkVideoSessionCreateFlagBitsKHR = 4;
13019pub const VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR : VkVideoSessionCreateFlagBitsKHR = 8 ;
13020pub const VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR : VkVideoSessionCreateFlagBitsKHR = 16 ;
13021pub const VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR:
13022    VkVideoSessionCreateFlagBitsKHR = 2147483647;
13023pub type VkVideoSessionCreateFlagBitsKHR = ::std::os::raw::c_uint;
13024pub type VkVideoSessionCreateFlagsKHR = VkFlags;
13025pub const VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR : VkVideoSessionParametersCreateFlagBitsKHR = 1 ;
13026pub const VK_VIDEO_SESSION_PARAMETERS_CREATE_FLAG_BITS_MAX_ENUM_KHR : VkVideoSessionParametersCreateFlagBitsKHR = 2147483647 ;
13027pub type VkVideoSessionParametersCreateFlagBitsKHR = ::std::os::raw::c_uint;
13028pub type VkVideoSessionParametersCreateFlagsKHR = VkFlags;
13029pub type VkVideoBeginCodingFlagsKHR = VkFlags;
13030pub type VkVideoEndCodingFlagsKHR = VkFlags;
13031pub const VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR:
13032    VkVideoCodingControlFlagBitsKHR = 1;
13033pub const VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR:
13034    VkVideoCodingControlFlagBitsKHR = 2;
13035pub const VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR:
13036    VkVideoCodingControlFlagBitsKHR = 4;
13037pub const VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR:
13038    VkVideoCodingControlFlagBitsKHR = 2147483647;
13039pub type VkVideoCodingControlFlagBitsKHR = ::std::os::raw::c_uint;
13040pub type VkVideoCodingControlFlagsKHR = VkFlags;
13041#[repr(C)]
13042#[derive(Debug, Copy, Clone)]
13043pub struct VkQueueFamilyQueryResultStatusPropertiesKHR {
13044    pub sType: VkStructureType,
13045    pub pNext: *mut ::std::os::raw::c_void,
13046    pub queryResultStatusSupport: VkBool32,
13047}
13048#[repr(C)]
13049#[derive(Debug, Copy, Clone)]
13050pub struct VkQueueFamilyVideoPropertiesKHR {
13051    pub sType: VkStructureType,
13052    pub pNext: *mut ::std::os::raw::c_void,
13053    pub videoCodecOperations: VkVideoCodecOperationFlagsKHR,
13054}
13055#[repr(C)]
13056#[derive(Debug, Copy, Clone)]
13057pub struct VkVideoProfileInfoKHR {
13058    pub sType: VkStructureType,
13059    pub pNext: *const ::std::os::raw::c_void,
13060    pub videoCodecOperation: VkVideoCodecOperationFlagBitsKHR,
13061    pub chromaSubsampling: VkVideoChromaSubsamplingFlagsKHR,
13062    pub lumaBitDepth: VkVideoComponentBitDepthFlagsKHR,
13063    pub chromaBitDepth: VkVideoComponentBitDepthFlagsKHR,
13064}
13065#[repr(C)]
13066#[derive(Debug, Copy, Clone)]
13067pub struct VkVideoProfileListInfoKHR {
13068    pub sType: VkStructureType,
13069    pub pNext: *const ::std::os::raw::c_void,
13070    pub profileCount: u32,
13071    pub pProfiles: *const VkVideoProfileInfoKHR,
13072}
13073#[repr(C)]
13074#[derive(Debug, Copy, Clone)]
13075pub struct VkVideoCapabilitiesKHR {
13076    pub sType: VkStructureType,
13077    pub pNext: *mut ::std::os::raw::c_void,
13078    pub flags: VkVideoCapabilityFlagsKHR,
13079    pub minBitstreamBufferOffsetAlignment: VkDeviceSize,
13080    pub minBitstreamBufferSizeAlignment: VkDeviceSize,
13081    pub pictureAccessGranularity: VkExtent2D,
13082    pub minCodedExtent: VkExtent2D,
13083    pub maxCodedExtent: VkExtent2D,
13084    pub maxDpbSlots: u32,
13085    pub maxActiveReferencePictures: u32,
13086    pub stdHeaderVersion: VkExtensionProperties,
13087}
13088#[repr(C)]
13089#[derive(Debug, Copy, Clone)]
13090pub struct VkPhysicalDeviceVideoFormatInfoKHR {
13091    pub sType: VkStructureType,
13092    pub pNext: *const ::std::os::raw::c_void,
13093    pub imageUsage: VkImageUsageFlags,
13094}
13095#[repr(C)]
13096#[derive(Debug, Copy, Clone)]
13097pub struct VkVideoFormatPropertiesKHR {
13098    pub sType: VkStructureType,
13099    pub pNext: *mut ::std::os::raw::c_void,
13100    pub format: VkFormat,
13101    pub componentMapping: VkComponentMapping,
13102    pub imageCreateFlags: VkImageCreateFlags,
13103    pub imageType: VkImageType,
13104    pub imageTiling: VkImageTiling,
13105    pub imageUsageFlags: VkImageUsageFlags,
13106}
13107#[repr(C)]
13108#[derive(Debug, Copy, Clone)]
13109pub struct VkVideoPictureResourceInfoKHR {
13110    pub sType: VkStructureType,
13111    pub pNext: *const ::std::os::raw::c_void,
13112    pub codedOffset: VkOffset2D,
13113    pub codedExtent: VkExtent2D,
13114    pub baseArrayLayer: u32,
13115    pub imageViewBinding: VkImageView,
13116}
13117#[repr(C)]
13118#[derive(Debug, Copy, Clone)]
13119pub struct VkVideoReferenceSlotInfoKHR {
13120    pub sType: VkStructureType,
13121    pub pNext: *const ::std::os::raw::c_void,
13122    pub slotIndex: i32,
13123    pub pPictureResource: *const VkVideoPictureResourceInfoKHR,
13124}
13125#[repr(C)]
13126#[derive(Debug, Copy, Clone)]
13127pub struct VkVideoSessionMemoryRequirementsKHR {
13128    pub sType: VkStructureType,
13129    pub pNext: *mut ::std::os::raw::c_void,
13130    pub memoryBindIndex: u32,
13131    pub memoryRequirements: VkMemoryRequirements,
13132}
13133#[repr(C)]
13134#[derive(Debug, Copy, Clone)]
13135pub struct VkBindVideoSessionMemoryInfoKHR {
13136    pub sType: VkStructureType,
13137    pub pNext: *const ::std::os::raw::c_void,
13138    pub memoryBindIndex: u32,
13139    pub memory: VkDeviceMemory,
13140    pub memoryOffset: VkDeviceSize,
13141    pub memorySize: VkDeviceSize,
13142}
13143#[repr(C)]
13144#[derive(Debug, Copy, Clone)]
13145pub struct VkVideoSessionCreateInfoKHR {
13146    pub sType: VkStructureType,
13147    pub pNext: *const ::std::os::raw::c_void,
13148    pub queueFamilyIndex: u32,
13149    pub flags: VkVideoSessionCreateFlagsKHR,
13150    pub pVideoProfile: *const VkVideoProfileInfoKHR,
13151    pub pictureFormat: VkFormat,
13152    pub maxCodedExtent: VkExtent2D,
13153    pub referencePictureFormat: VkFormat,
13154    pub maxDpbSlots: u32,
13155    pub maxActiveReferencePictures: u32,
13156    pub pStdHeaderVersion: *const VkExtensionProperties,
13157}
13158#[repr(C)]
13159#[derive(Debug, Copy, Clone)]
13160pub struct VkVideoSessionParametersCreateInfoKHR {
13161    pub sType: VkStructureType,
13162    pub pNext: *const ::std::os::raw::c_void,
13163    pub flags: VkVideoSessionParametersCreateFlagsKHR,
13164    pub videoSessionParametersTemplate: VkVideoSessionParametersKHR,
13165    pub videoSession: VkVideoSessionKHR,
13166}
13167#[repr(C)]
13168#[derive(Debug, Copy, Clone)]
13169pub struct VkVideoSessionParametersUpdateInfoKHR {
13170    pub sType: VkStructureType,
13171    pub pNext: *const ::std::os::raw::c_void,
13172    pub updateSequenceCount: u32,
13173}
13174#[repr(C)]
13175#[derive(Debug, Copy, Clone)]
13176pub struct VkVideoBeginCodingInfoKHR {
13177    pub sType: VkStructureType,
13178    pub pNext: *const ::std::os::raw::c_void,
13179    pub flags: VkVideoBeginCodingFlagsKHR,
13180    pub videoSession: VkVideoSessionKHR,
13181    pub videoSessionParameters: VkVideoSessionParametersKHR,
13182    pub referenceSlotCount: u32,
13183    pub pReferenceSlots: *const VkVideoReferenceSlotInfoKHR,
13184}
13185#[repr(C)]
13186#[derive(Debug, Copy, Clone)]
13187pub struct VkVideoEndCodingInfoKHR {
13188    pub sType: VkStructureType,
13189    pub pNext: *const ::std::os::raw::c_void,
13190    pub flags: VkVideoEndCodingFlagsKHR,
13191}
13192#[repr(C)]
13193#[derive(Debug, Copy, Clone)]
13194pub struct VkVideoCodingControlInfoKHR {
13195    pub sType: VkStructureType,
13196    pub pNext: *const ::std::os::raw::c_void,
13197    pub flags: VkVideoCodingControlFlagsKHR,
13198}
13199pub type PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR = 
13200    unsafe extern "C" fn(
13201        physicalDevice: VkPhysicalDevice,
13202        pVideoProfile: *const VkVideoProfileInfoKHR,
13203        pCapabilities: *mut VkVideoCapabilitiesKHR,
13204    ) -> VkResult;
13205
13206pub type PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR = 
13207    unsafe extern "C" fn(
13208        physicalDevice: VkPhysicalDevice,
13209        pVideoFormatInfo: *const VkPhysicalDeviceVideoFormatInfoKHR,
13210        pVideoFormatPropertyCount: *mut u32,
13211        pVideoFormatProperties: *mut VkVideoFormatPropertiesKHR,
13212    ) -> VkResult;
13213
13214pub type PFN_vkCreateVideoSessionKHR = 
13215    unsafe extern "C" fn(
13216        device: VkDevice,
13217        pCreateInfo: *const VkVideoSessionCreateInfoKHR,
13218        pAllocator: *const VkAllocationCallbacks,
13219        pVideoSession: *mut VkVideoSessionKHR,
13220    ) -> VkResult;
13221
13222pub type PFN_vkDestroyVideoSessionKHR = 
13223    unsafe extern "C" fn(
13224        device: VkDevice,
13225        videoSession: VkVideoSessionKHR,
13226        pAllocator: *const VkAllocationCallbacks,
13227    );
13228
13229pub type PFN_vkGetVideoSessionMemoryRequirementsKHR = 
13230    unsafe extern "C" fn(
13231        device: VkDevice,
13232        videoSession: VkVideoSessionKHR,
13233        pMemoryRequirementsCount: *mut u32,
13234        pMemoryRequirements: *mut VkVideoSessionMemoryRequirementsKHR,
13235    ) -> VkResult;
13236
13237pub type PFN_vkBindVideoSessionMemoryKHR = 
13238    unsafe extern "C" fn(
13239        device: VkDevice,
13240        videoSession: VkVideoSessionKHR,
13241        bindSessionMemoryInfoCount: u32,
13242        pBindSessionMemoryInfos: *const VkBindVideoSessionMemoryInfoKHR,
13243    ) -> VkResult;
13244
13245pub type PFN_vkCreateVideoSessionParametersKHR = 
13246    unsafe extern "C" fn(
13247        device: VkDevice,
13248        pCreateInfo: *const VkVideoSessionParametersCreateInfoKHR,
13249        pAllocator: *const VkAllocationCallbacks,
13250        pVideoSessionParameters: *mut VkVideoSessionParametersKHR,
13251    ) -> VkResult;
13252
13253pub type PFN_vkUpdateVideoSessionParametersKHR = 
13254    unsafe extern "C" fn(
13255        device: VkDevice,
13256        videoSessionParameters: VkVideoSessionParametersKHR,
13257        pUpdateInfo: *const VkVideoSessionParametersUpdateInfoKHR,
13258    ) -> VkResult;
13259
13260pub type PFN_vkDestroyVideoSessionParametersKHR = 
13261    unsafe extern "C" fn(
13262        device: VkDevice,
13263        videoSessionParameters: VkVideoSessionParametersKHR,
13264        pAllocator: *const VkAllocationCallbacks,
13265    );
13266
13267pub type PFN_vkCmdBeginVideoCodingKHR = 
13268    unsafe extern "C" fn(
13269        commandBuffer: VkCommandBuffer,
13270        pBeginInfo: *const VkVideoBeginCodingInfoKHR,
13271    );
13272
13273pub type PFN_vkCmdEndVideoCodingKHR = 
13274    unsafe extern "C" fn(
13275        commandBuffer: VkCommandBuffer,
13276        pEndCodingInfo: *const VkVideoEndCodingInfoKHR,
13277    );
13278
13279pub type PFN_vkCmdControlVideoCodingKHR = 
13280    unsafe extern "C" fn(
13281        commandBuffer: VkCommandBuffer,
13282        pCodingControlInfo: *const VkVideoCodingControlInfoKHR,
13283    );
13284
13285extern "C" {
13286    pub fn vkGetPhysicalDeviceVideoCapabilitiesKHR(
13287        physicalDevice: VkPhysicalDevice,
13288        pVideoProfile: *const VkVideoProfileInfoKHR,
13289        pCapabilities: *mut VkVideoCapabilitiesKHR,
13290    ) -> VkResult;
13291}
13292extern "C" {
13293    pub fn vkGetPhysicalDeviceVideoFormatPropertiesKHR(
13294        physicalDevice: VkPhysicalDevice,
13295        pVideoFormatInfo: *const VkPhysicalDeviceVideoFormatInfoKHR,
13296        pVideoFormatPropertyCount: *mut u32,
13297        pVideoFormatProperties: *mut VkVideoFormatPropertiesKHR,
13298    ) -> VkResult;
13299}
13300extern "C" {
13301    pub fn vkCreateVideoSessionKHR(
13302        device: VkDevice,
13303        pCreateInfo: *const VkVideoSessionCreateInfoKHR,
13304        pAllocator: *const VkAllocationCallbacks,
13305        pVideoSession: *mut VkVideoSessionKHR,
13306    ) -> VkResult;
13307}
13308extern "C" {
13309    pub fn vkDestroyVideoSessionKHR(
13310        device: VkDevice,
13311        videoSession: VkVideoSessionKHR,
13312        pAllocator: *const VkAllocationCallbacks,
13313    );
13314}
13315extern "C" {
13316    pub fn vkGetVideoSessionMemoryRequirementsKHR(
13317        device: VkDevice,
13318        videoSession: VkVideoSessionKHR,
13319        pMemoryRequirementsCount: *mut u32,
13320        pMemoryRequirements: *mut VkVideoSessionMemoryRequirementsKHR,
13321    ) -> VkResult;
13322}
13323extern "C" {
13324    pub fn vkBindVideoSessionMemoryKHR(
13325        device: VkDevice,
13326        videoSession: VkVideoSessionKHR,
13327        bindSessionMemoryInfoCount: u32,
13328        pBindSessionMemoryInfos: *const VkBindVideoSessionMemoryInfoKHR,
13329    ) -> VkResult;
13330}
13331extern "C" {
13332    pub fn vkCreateVideoSessionParametersKHR(
13333        device: VkDevice,
13334        pCreateInfo: *const VkVideoSessionParametersCreateInfoKHR,
13335        pAllocator: *const VkAllocationCallbacks,
13336        pVideoSessionParameters: *mut VkVideoSessionParametersKHR,
13337    ) -> VkResult;
13338}
13339extern "C" {
13340    pub fn vkUpdateVideoSessionParametersKHR(
13341        device: VkDevice,
13342        videoSessionParameters: VkVideoSessionParametersKHR,
13343        pUpdateInfo: *const VkVideoSessionParametersUpdateInfoKHR,
13344    ) -> VkResult;
13345}
13346extern "C" {
13347    pub fn vkDestroyVideoSessionParametersKHR(
13348        device: VkDevice,
13349        videoSessionParameters: VkVideoSessionParametersKHR,
13350        pAllocator: *const VkAllocationCallbacks,
13351    );
13352}
13353extern "C" {
13354    pub fn vkCmdBeginVideoCodingKHR(
13355        commandBuffer: VkCommandBuffer,
13356        pBeginInfo: *const VkVideoBeginCodingInfoKHR,
13357    );
13358}
13359extern "C" {
13360    pub fn vkCmdEndVideoCodingKHR(
13361        commandBuffer: VkCommandBuffer,
13362        pEndCodingInfo: *const VkVideoEndCodingInfoKHR,
13363    );
13364}
13365extern "C" {
13366    pub fn vkCmdControlVideoCodingKHR(
13367        commandBuffer: VkCommandBuffer,
13368        pCodingControlInfo: *const VkVideoCodingControlInfoKHR,
13369    );
13370}
13371pub const VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR : VkVideoDecodeCapabilityFlagBitsKHR = 1 ;
13372pub const VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR : VkVideoDecodeCapabilityFlagBitsKHR = 2 ;
13373pub const VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR:
13374    VkVideoDecodeCapabilityFlagBitsKHR = 2147483647;
13375pub type VkVideoDecodeCapabilityFlagBitsKHR = ::std::os::raw::c_uint;
13376pub type VkVideoDecodeCapabilityFlagsKHR = VkFlags;
13377pub const VK_VIDEO_DECODE_USAGE_DEFAULT_KHR:
13378    VkVideoDecodeUsageFlagBitsKHR = 0;
13379pub const VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR:
13380    VkVideoDecodeUsageFlagBitsKHR = 1;
13381pub const VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR:
13382    VkVideoDecodeUsageFlagBitsKHR = 2;
13383pub const VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR:
13384    VkVideoDecodeUsageFlagBitsKHR = 4;
13385pub const VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR:
13386    VkVideoDecodeUsageFlagBitsKHR = 2147483647;
13387pub type VkVideoDecodeUsageFlagBitsKHR = ::std::os::raw::c_uint;
13388pub type VkVideoDecodeUsageFlagsKHR = VkFlags;
13389pub type VkVideoDecodeFlagsKHR = VkFlags;
13390#[repr(C)]
13391#[derive(Debug, Copy, Clone)]
13392pub struct VkVideoDecodeCapabilitiesKHR {
13393    pub sType: VkStructureType,
13394    pub pNext: *mut ::std::os::raw::c_void,
13395    pub flags: VkVideoDecodeCapabilityFlagsKHR,
13396}
13397#[repr(C)]
13398#[derive(Debug, Copy, Clone)]
13399pub struct VkVideoDecodeUsageInfoKHR {
13400    pub sType: VkStructureType,
13401    pub pNext: *const ::std::os::raw::c_void,
13402    pub videoUsageHints: VkVideoDecodeUsageFlagsKHR,
13403}
13404#[repr(C)]
13405#[derive(Debug, Copy, Clone)]
13406pub struct VkVideoDecodeInfoKHR {
13407    pub sType: VkStructureType,
13408    pub pNext: *const ::std::os::raw::c_void,
13409    pub flags: VkVideoDecodeFlagsKHR,
13410    pub srcBuffer: VkBuffer,
13411    pub srcBufferOffset: VkDeviceSize,
13412    pub srcBufferRange: VkDeviceSize,
13413    pub dstPictureResource: VkVideoPictureResourceInfoKHR,
13414    pub pSetupReferenceSlot: *const VkVideoReferenceSlotInfoKHR,
13415    pub referenceSlotCount: u32,
13416    pub pReferenceSlots: *const VkVideoReferenceSlotInfoKHR,
13417}
13418pub type PFN_vkCmdDecodeVideoKHR = 
13419    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pDecodeInfo: *const VkVideoDecodeInfoKHR);
13420
13421extern "C" {
13422    pub fn vkCmdDecodeVideoKHR(
13423        commandBuffer: VkCommandBuffer,
13424        pDecodeInfo: *const VkVideoDecodeInfoKHR,
13425    );
13426}
13427pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME:
13428    StdVideoH264ChromaFormatIdc = 0;
13429pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_420:
13430    StdVideoH264ChromaFormatIdc = 1;
13431pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_422:
13432    StdVideoH264ChromaFormatIdc = 2;
13433pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_444:
13434    StdVideoH264ChromaFormatIdc = 3;
13435pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID:
13436    StdVideoH264ChromaFormatIdc = 2147483647;
13437pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM:
13438    StdVideoH264ChromaFormatIdc = 2147483647;
13439pub type StdVideoH264ChromaFormatIdc = ::std::os::raw::c_uint;
13440pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_BASELINE: StdVideoH264ProfileIdc = 66;
13441pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_MAIN: StdVideoH264ProfileIdc = 77;
13442pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_HIGH: StdVideoH264ProfileIdc = 100;
13443pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE:
13444    StdVideoH264ProfileIdc = 244;
13445pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_INVALID: StdVideoH264ProfileIdc =
13446    2147483647;
13447pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM: StdVideoH264ProfileIdc =
13448    2147483647;
13449pub type StdVideoH264ProfileIdc = ::std::os::raw::c_uint;
13450pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_1_0: StdVideoH264LevelIdc = 0;
13451pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_1_1: StdVideoH264LevelIdc = 1;
13452pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_1_2: StdVideoH264LevelIdc = 2;
13453pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_1_3: StdVideoH264LevelIdc = 3;
13454pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_2_0: StdVideoH264LevelIdc = 4;
13455pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_2_1: StdVideoH264LevelIdc = 5;
13456pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_2_2: StdVideoH264LevelIdc = 6;
13457pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_3_0: StdVideoH264LevelIdc = 7;
13458pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_3_1: StdVideoH264LevelIdc = 8;
13459pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_3_2: StdVideoH264LevelIdc = 9;
13460pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_4_0: StdVideoH264LevelIdc = 10;
13461pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_4_1: StdVideoH264LevelIdc = 11;
13462pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_4_2: StdVideoH264LevelIdc = 12;
13463pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_5_0: StdVideoH264LevelIdc = 13;
13464pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_5_1: StdVideoH264LevelIdc = 14;
13465pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_5_2: StdVideoH264LevelIdc = 15;
13466pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_6_0: StdVideoH264LevelIdc = 16;
13467pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_6_1: StdVideoH264LevelIdc = 17;
13468pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_6_2: StdVideoH264LevelIdc = 18;
13469pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_INVALID: StdVideoH264LevelIdc = 2147483647;
13470pub const StdVideoH264LevelIdc_STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM: StdVideoH264LevelIdc = 2147483647;
13471pub type StdVideoH264LevelIdc = ::std::os::raw::c_uint;
13472pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_0: StdVideoH264PocType = 0;
13473pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_1: StdVideoH264PocType = 1;
13474pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_2: StdVideoH264PocType = 2;
13475pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_INVALID: StdVideoH264PocType = 2147483647;
13476pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_MAX_ENUM: StdVideoH264PocType = 2147483647;
13477pub type StdVideoH264PocType = ::std::os::raw::c_uint;
13478pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED:
13479    StdVideoH264AspectRatioIdc = 0;
13480pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE:
13481    StdVideoH264AspectRatioIdc = 1;
13482pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11:
13483    StdVideoH264AspectRatioIdc = 2;
13484pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11:
13485    StdVideoH264AspectRatioIdc = 3;
13486pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11:
13487    StdVideoH264AspectRatioIdc = 4;
13488pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33:
13489    StdVideoH264AspectRatioIdc = 5;
13490pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11:
13491    StdVideoH264AspectRatioIdc = 6;
13492pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11:
13493    StdVideoH264AspectRatioIdc = 7;
13494pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11:
13495    StdVideoH264AspectRatioIdc = 8;
13496pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33:
13497    StdVideoH264AspectRatioIdc = 9;
13498pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11:
13499    StdVideoH264AspectRatioIdc = 10;
13500pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11:
13501    StdVideoH264AspectRatioIdc = 11;
13502pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33:
13503    StdVideoH264AspectRatioIdc = 12;
13504pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99:
13505    StdVideoH264AspectRatioIdc = 13;
13506pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3:
13507    StdVideoH264AspectRatioIdc = 14;
13508pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2:
13509    StdVideoH264AspectRatioIdc = 15;
13510pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1:
13511    StdVideoH264AspectRatioIdc = 16;
13512pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR:
13513    StdVideoH264AspectRatioIdc = 255;
13514pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID:
13515    StdVideoH264AspectRatioIdc = 2147483647;
13516pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM:
13517    StdVideoH264AspectRatioIdc = 2147483647;
13518pub type StdVideoH264AspectRatioIdc = ::std::os::raw::c_uint;
13519pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT:
13520    StdVideoH264WeightedBipredIdc = 0;
13521pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT:
13522    StdVideoH264WeightedBipredIdc = 1;
13523pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT:
13524    StdVideoH264WeightedBipredIdc = 2;
13525pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID:
13526    StdVideoH264WeightedBipredIdc = 2147483647;
13527pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM:
13528    StdVideoH264WeightedBipredIdc = 2147483647;
13529pub type StdVideoH264WeightedBipredIdc = ::std::os::raw::c_uint;
13530pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT : StdVideoH264ModificationOfPicNumsIdc = 0 ;
13531pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD : StdVideoH264ModificationOfPicNumsIdc = 1 ;
13532pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM : StdVideoH264ModificationOfPicNumsIdc = 2 ;
13533pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END:
13534    StdVideoH264ModificationOfPicNumsIdc = 3;
13535pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID : StdVideoH264ModificationOfPicNumsIdc = 2147483647 ;
13536pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM : StdVideoH264ModificationOfPicNumsIdc = 2147483647 ;
13537pub type StdVideoH264ModificationOfPicNumsIdc = ::std::os::raw::c_uint;
13538pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END:
13539    StdVideoH264MemMgmtControlOp = 0;
13540pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM:
13541    StdVideoH264MemMgmtControlOp = 1;
13542pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM:
13543    StdVideoH264MemMgmtControlOp = 2;
13544pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM:
13545    StdVideoH264MemMgmtControlOp = 3;
13546pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX : StdVideoH264MemMgmtControlOp = 4 ;
13547pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL:
13548    StdVideoH264MemMgmtControlOp = 5;
13549pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM : StdVideoH264MemMgmtControlOp = 6 ;
13550pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID:
13551    StdVideoH264MemMgmtControlOp = 2147483647;
13552pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM:
13553    StdVideoH264MemMgmtControlOp = 2147483647;
13554pub type StdVideoH264MemMgmtControlOp = ::std::os::raw::c_uint;
13555pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_0: StdVideoH264CabacInitIdc = 0;
13556pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_1: StdVideoH264CabacInitIdc = 1;
13557pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_2: StdVideoH264CabacInitIdc = 2;
13558pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_INVALID: StdVideoH264CabacInitIdc =
13559    2147483647;
13560pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM:
13561    StdVideoH264CabacInitIdc = 2147483647;
13562pub type StdVideoH264CabacInitIdc = ::std::os::raw::c_uint;
13563pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED : StdVideoH264DisableDeblockingFilterIdc = 0 ;
13564pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED : StdVideoH264DisableDeblockingFilterIdc = 1 ;
13565pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL : StdVideoH264DisableDeblockingFilterIdc = 2 ;
13566pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID : StdVideoH264DisableDeblockingFilterIdc = 2147483647 ;
13567pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM : StdVideoH264DisableDeblockingFilterIdc = 2147483647 ;
13568pub type StdVideoH264DisableDeblockingFilterIdc = ::std::os::raw::c_uint;
13569pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_P: StdVideoH264SliceType = 0;
13570pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_B: StdVideoH264SliceType = 1;
13571pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_I: StdVideoH264SliceType = 2;
13572pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_INVALID: StdVideoH264SliceType =
13573    2147483647;
13574pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM: StdVideoH264SliceType =
13575    2147483647;
13576pub type StdVideoH264SliceType = ::std::os::raw::c_uint;
13577pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_P: StdVideoH264PictureType = 0;
13578pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_B: StdVideoH264PictureType = 1;
13579pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_I: StdVideoH264PictureType = 2;
13580pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_IDR: StdVideoH264PictureType = 5;
13581pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_INVALID: StdVideoH264PictureType =
13582    2147483647;
13583pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM: StdVideoH264PictureType =
13584    2147483647;
13585pub type StdVideoH264PictureType = ::std::os::raw::c_uint;
13586pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS:
13587    StdVideoH264NonVclNaluType = 0;
13588pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS:
13589    StdVideoH264NonVclNaluType = 1;
13590pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD:
13591    StdVideoH264NonVclNaluType = 2;
13592pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX:
13593    StdVideoH264NonVclNaluType = 3;
13594pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE:
13595    StdVideoH264NonVclNaluType = 4;
13596pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM:
13597    StdVideoH264NonVclNaluType = 5;
13598pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED:
13599    StdVideoH264NonVclNaluType = 6;
13600pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID:
13601    StdVideoH264NonVclNaluType = 2147483647;
13602pub const StdVideoH264NonVclNaluType_STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM:
13603    StdVideoH264NonVclNaluType = 2147483647;
13604pub type StdVideoH264NonVclNaluType = ::std::os::raw::c_uint;
13605#[repr(C)]
13606#[repr(align(4))]
13607#[derive(Debug, Copy, Clone)]
13608pub struct StdVideoH264SpsVuiFlags {
13609    pub _bitfield_align_1: [u8; 0],
13610    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
13611    pub __bindgen_padding_0: u16,
13612}
13613impl StdVideoH264SpsVuiFlags {
13614    #[inline]
13615    pub fn aspect_ratio_info_present_flag(&self) -> u32 {
13616        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
13617    }
13618    #[inline]
13619    pub fn set_aspect_ratio_info_present_flag(&mut self, val: u32) {
13620        unsafe {
13621            let val: u32 = ::std::mem::transmute(val);
13622            self._bitfield_1.set(0usize, 1u8, val as u64)
13623        }
13624    }
13625    #[inline]
13626    pub fn overscan_info_present_flag(&self) -> u32 {
13627        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
13628    }
13629    #[inline]
13630    pub fn set_overscan_info_present_flag(&mut self, val: u32) {
13631        unsafe {
13632            let val: u32 = ::std::mem::transmute(val);
13633            self._bitfield_1.set(1usize, 1u8, val as u64)
13634        }
13635    }
13636    #[inline]
13637    pub fn overscan_appropriate_flag(&self) -> u32 {
13638        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
13639    }
13640    #[inline]
13641    pub fn set_overscan_appropriate_flag(&mut self, val: u32) {
13642        unsafe {
13643            let val: u32 = ::std::mem::transmute(val);
13644            self._bitfield_1.set(2usize, 1u8, val as u64)
13645        }
13646    }
13647    #[inline]
13648    pub fn video_signal_type_present_flag(&self) -> u32 {
13649        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
13650    }
13651    #[inline]
13652    pub fn set_video_signal_type_present_flag(&mut self, val: u32) {
13653        unsafe {
13654            let val: u32 = ::std::mem::transmute(val);
13655            self._bitfield_1.set(3usize, 1u8, val as u64)
13656        }
13657    }
13658    #[inline]
13659    pub fn video_full_range_flag(&self) -> u32 {
13660        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
13661    }
13662    #[inline]
13663    pub fn set_video_full_range_flag(&mut self, val: u32) {
13664        unsafe {
13665            let val: u32 = ::std::mem::transmute(val);
13666            self._bitfield_1.set(4usize, 1u8, val as u64)
13667        }
13668    }
13669    #[inline]
13670    pub fn color_description_present_flag(&self) -> u32 {
13671        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
13672    }
13673    #[inline]
13674    pub fn set_color_description_present_flag(&mut self, val: u32) {
13675        unsafe {
13676            let val: u32 = ::std::mem::transmute(val);
13677            self._bitfield_1.set(5usize, 1u8, val as u64)
13678        }
13679    }
13680    #[inline]
13681    pub fn chroma_loc_info_present_flag(&self) -> u32 {
13682        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
13683    }
13684    #[inline]
13685    pub fn set_chroma_loc_info_present_flag(&mut self, val: u32) {
13686        unsafe {
13687            let val: u32 = ::std::mem::transmute(val);
13688            self._bitfield_1.set(6usize, 1u8, val as u64)
13689        }
13690    }
13691    #[inline]
13692    pub fn timing_info_present_flag(&self) -> u32 {
13693        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
13694    }
13695    #[inline]
13696    pub fn set_timing_info_present_flag(&mut self, val: u32) {
13697        unsafe {
13698            let val: u32 = ::std::mem::transmute(val);
13699            self._bitfield_1.set(7usize, 1u8, val as u64)
13700        }
13701    }
13702    #[inline]
13703    pub fn fixed_frame_rate_flag(&self) -> u32 {
13704        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
13705    }
13706    #[inline]
13707    pub fn set_fixed_frame_rate_flag(&mut self, val: u32) {
13708        unsafe {
13709            let val: u32 = ::std::mem::transmute(val);
13710            self._bitfield_1.set(8usize, 1u8, val as u64)
13711        }
13712    }
13713    #[inline]
13714    pub fn bitstream_restriction_flag(&self) -> u32 {
13715        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
13716    }
13717    #[inline]
13718    pub fn set_bitstream_restriction_flag(&mut self, val: u32) {
13719        unsafe {
13720            let val: u32 = ::std::mem::transmute(val);
13721            self._bitfield_1.set(9usize, 1u8, val as u64)
13722        }
13723    }
13724    #[inline]
13725    pub fn nal_hrd_parameters_present_flag(&self) -> u32 {
13726        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
13727    }
13728    #[inline]
13729    pub fn set_nal_hrd_parameters_present_flag(&mut self, val: u32) {
13730        unsafe {
13731            let val: u32 = ::std::mem::transmute(val);
13732            self._bitfield_1.set(10usize, 1u8, val as u64)
13733        }
13734    }
13735    #[inline]
13736    pub fn vcl_hrd_parameters_present_flag(&self) -> u32 {
13737        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
13738    }
13739    #[inline]
13740    pub fn set_vcl_hrd_parameters_present_flag(&mut self, val: u32) {
13741        unsafe {
13742            let val: u32 = ::std::mem::transmute(val);
13743            self._bitfield_1.set(11usize, 1u8, val as u64)
13744        }
13745    }
13746    #[inline]
13747    pub fn new_bitfield_1(
13748        aspect_ratio_info_present_flag: u32,
13749        overscan_info_present_flag: u32,
13750        overscan_appropriate_flag: u32,
13751        video_signal_type_present_flag: u32,
13752        video_full_range_flag: u32,
13753        color_description_present_flag: u32,
13754        chroma_loc_info_present_flag: u32,
13755        timing_info_present_flag: u32,
13756        fixed_frame_rate_flag: u32,
13757        bitstream_restriction_flag: u32,
13758        nal_hrd_parameters_present_flag: u32,
13759        vcl_hrd_parameters_present_flag: u32,
13760    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
13761        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
13762        __bindgen_bitfield_unit.set(0usize, 1u8, {
13763            let aspect_ratio_info_present_flag: u32 =
13764                unsafe { ::std::mem::transmute(aspect_ratio_info_present_flag) };
13765            aspect_ratio_info_present_flag as u64
13766        });
13767        __bindgen_bitfield_unit.set(1usize, 1u8, {
13768            let overscan_info_present_flag: u32 =
13769                unsafe { ::std::mem::transmute(overscan_info_present_flag) };
13770            overscan_info_present_flag as u64
13771        });
13772        __bindgen_bitfield_unit.set(2usize, 1u8, {
13773            let overscan_appropriate_flag: u32 =
13774                unsafe { ::std::mem::transmute(overscan_appropriate_flag) };
13775            overscan_appropriate_flag as u64
13776        });
13777        __bindgen_bitfield_unit.set(3usize, 1u8, {
13778            let video_signal_type_present_flag: u32 =
13779                unsafe { ::std::mem::transmute(video_signal_type_present_flag) };
13780            video_signal_type_present_flag as u64
13781        });
13782        __bindgen_bitfield_unit.set(4usize, 1u8, {
13783            let video_full_range_flag: u32 =
13784                unsafe { ::std::mem::transmute(video_full_range_flag) };
13785            video_full_range_flag as u64
13786        });
13787        __bindgen_bitfield_unit.set(5usize, 1u8, {
13788            let color_description_present_flag: u32 =
13789                unsafe { ::std::mem::transmute(color_description_present_flag) };
13790            color_description_present_flag as u64
13791        });
13792        __bindgen_bitfield_unit.set(6usize, 1u8, {
13793            let chroma_loc_info_present_flag: u32 =
13794                unsafe { ::std::mem::transmute(chroma_loc_info_present_flag) };
13795            chroma_loc_info_present_flag as u64
13796        });
13797        __bindgen_bitfield_unit.set(7usize, 1u8, {
13798            let timing_info_present_flag: u32 =
13799                unsafe { ::std::mem::transmute(timing_info_present_flag) };
13800            timing_info_present_flag as u64
13801        });
13802        __bindgen_bitfield_unit.set(8usize, 1u8, {
13803            let fixed_frame_rate_flag: u32 =
13804                unsafe { ::std::mem::transmute(fixed_frame_rate_flag) };
13805            fixed_frame_rate_flag as u64
13806        });
13807        __bindgen_bitfield_unit.set(9usize, 1u8, {
13808            let bitstream_restriction_flag: u32 =
13809                unsafe { ::std::mem::transmute(bitstream_restriction_flag) };
13810            bitstream_restriction_flag as u64
13811        });
13812        __bindgen_bitfield_unit.set(10usize, 1u8, {
13813            let nal_hrd_parameters_present_flag: u32 =
13814                unsafe { ::std::mem::transmute(nal_hrd_parameters_present_flag) };
13815            nal_hrd_parameters_present_flag as u64
13816        });
13817        __bindgen_bitfield_unit.set(11usize, 1u8, {
13818            let vcl_hrd_parameters_present_flag: u32 =
13819                unsafe { ::std::mem::transmute(vcl_hrd_parameters_present_flag) };
13820            vcl_hrd_parameters_present_flag as u64
13821        });
13822        __bindgen_bitfield_unit
13823    }
13824}
13825#[repr(C)]
13826#[derive(Debug, Copy, Clone)]
13827pub struct StdVideoH264HrdParameters {
13828    pub cpb_cnt_minus1: u8,
13829    pub bit_rate_scale: u8,
13830    pub cpb_size_scale: u8,
13831    pub reserved1: u8,
13832    pub bit_rate_value_minus1: [u32; 32usize],
13833    pub cpb_size_value_minus1: [u32; 32usize],
13834    pub cbr_flag: [u8; 32usize],
13835    pub initial_cpb_removal_delay_length_minus1: u32,
13836    pub cpb_removal_delay_length_minus1: u32,
13837    pub dpb_output_delay_length_minus1: u32,
13838    pub time_offset_length: u32,
13839}
13840#[repr(C)]
13841#[derive(Debug, Copy, Clone)]
13842pub struct StdVideoH264SequenceParameterSetVui {
13843    pub flags: StdVideoH264SpsVuiFlags,
13844    pub aspect_ratio_idc: StdVideoH264AspectRatioIdc,
13845    pub sar_width: u16,
13846    pub sar_height: u16,
13847    pub video_format: u8,
13848    pub colour_primaries: u8,
13849    pub transfer_characteristics: u8,
13850    pub matrix_coefficients: u8,
13851    pub num_units_in_tick: u32,
13852    pub time_scale: u32,
13853    pub max_num_reorder_frames: u8,
13854    pub max_dec_frame_buffering: u8,
13855    pub chroma_sample_loc_type_top_field: u8,
13856    pub chroma_sample_loc_type_bottom_field: u8,
13857    pub reserved1: u32,
13858    pub pHrdParameters: *const StdVideoH264HrdParameters,
13859}
13860#[repr(C)]
13861#[repr(align(4))]
13862#[derive(Debug, Copy, Clone)]
13863pub struct StdVideoH264SpsFlags {
13864    pub _bitfield_align_1: [u8; 0],
13865    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
13866    pub __bindgen_padding_0: u16,
13867}
13868impl StdVideoH264SpsFlags {
13869    #[inline]
13870    pub fn constraint_set0_flag(&self) -> u32 {
13871        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
13872    }
13873    #[inline]
13874    pub fn set_constraint_set0_flag(&mut self, val: u32) {
13875        unsafe {
13876            let val: u32 = ::std::mem::transmute(val);
13877            self._bitfield_1.set(0usize, 1u8, val as u64)
13878        }
13879    }
13880    #[inline]
13881    pub fn constraint_set1_flag(&self) -> u32 {
13882        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
13883    }
13884    #[inline]
13885    pub fn set_constraint_set1_flag(&mut self, val: u32) {
13886        unsafe {
13887            let val: u32 = ::std::mem::transmute(val);
13888            self._bitfield_1.set(1usize, 1u8, val as u64)
13889        }
13890    }
13891    #[inline]
13892    pub fn constraint_set2_flag(&self) -> u32 {
13893        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
13894    }
13895    #[inline]
13896    pub fn set_constraint_set2_flag(&mut self, val: u32) {
13897        unsafe {
13898            let val: u32 = ::std::mem::transmute(val);
13899            self._bitfield_1.set(2usize, 1u8, val as u64)
13900        }
13901    }
13902    #[inline]
13903    pub fn constraint_set3_flag(&self) -> u32 {
13904        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
13905    }
13906    #[inline]
13907    pub fn set_constraint_set3_flag(&mut self, val: u32) {
13908        unsafe {
13909            let val: u32 = ::std::mem::transmute(val);
13910            self._bitfield_1.set(3usize, 1u8, val as u64)
13911        }
13912    }
13913    #[inline]
13914    pub fn constraint_set4_flag(&self) -> u32 {
13915        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
13916    }
13917    #[inline]
13918    pub fn set_constraint_set4_flag(&mut self, val: u32) {
13919        unsafe {
13920            let val: u32 = ::std::mem::transmute(val);
13921            self._bitfield_1.set(4usize, 1u8, val as u64)
13922        }
13923    }
13924    #[inline]
13925    pub fn constraint_set5_flag(&self) -> u32 {
13926        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
13927    }
13928    #[inline]
13929    pub fn set_constraint_set5_flag(&mut self, val: u32) {
13930        unsafe {
13931            let val: u32 = ::std::mem::transmute(val);
13932            self._bitfield_1.set(5usize, 1u8, val as u64)
13933        }
13934    }
13935    #[inline]
13936    pub fn direct_8x8_inference_flag(&self) -> u32 {
13937        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
13938    }
13939    #[inline]
13940    pub fn set_direct_8x8_inference_flag(&mut self, val: u32) {
13941        unsafe {
13942            let val: u32 = ::std::mem::transmute(val);
13943            self._bitfield_1.set(6usize, 1u8, val as u64)
13944        }
13945    }
13946    #[inline]
13947    pub fn mb_adaptive_frame_field_flag(&self) -> u32 {
13948        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
13949    }
13950    #[inline]
13951    pub fn set_mb_adaptive_frame_field_flag(&mut self, val: u32) {
13952        unsafe {
13953            let val: u32 = ::std::mem::transmute(val);
13954            self._bitfield_1.set(7usize, 1u8, val as u64)
13955        }
13956    }
13957    #[inline]
13958    pub fn frame_mbs_only_flag(&self) -> u32 {
13959        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
13960    }
13961    #[inline]
13962    pub fn set_frame_mbs_only_flag(&mut self, val: u32) {
13963        unsafe {
13964            let val: u32 = ::std::mem::transmute(val);
13965            self._bitfield_1.set(8usize, 1u8, val as u64)
13966        }
13967    }
13968    #[inline]
13969    pub fn delta_pic_order_always_zero_flag(&self) -> u32 {
13970        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
13971    }
13972    #[inline]
13973    pub fn set_delta_pic_order_always_zero_flag(&mut self, val: u32) {
13974        unsafe {
13975            let val: u32 = ::std::mem::transmute(val);
13976            self._bitfield_1.set(9usize, 1u8, val as u64)
13977        }
13978    }
13979    #[inline]
13980    pub fn separate_colour_plane_flag(&self) -> u32 {
13981        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
13982    }
13983    #[inline]
13984    pub fn set_separate_colour_plane_flag(&mut self, val: u32) {
13985        unsafe {
13986            let val: u32 = ::std::mem::transmute(val);
13987            self._bitfield_1.set(10usize, 1u8, val as u64)
13988        }
13989    }
13990    #[inline]
13991    pub fn gaps_in_frame_num_value_allowed_flag(&self) -> u32 {
13992        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
13993    }
13994    #[inline]
13995    pub fn set_gaps_in_frame_num_value_allowed_flag(&mut self, val: u32) {
13996        unsafe {
13997            let val: u32 = ::std::mem::transmute(val);
13998            self._bitfield_1.set(11usize, 1u8, val as u64)
13999        }
14000    }
14001    #[inline]
14002    pub fn qpprime_y_zero_transform_bypass_flag(&self) -> u32 {
14003        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
14004    }
14005    #[inline]
14006    pub fn set_qpprime_y_zero_transform_bypass_flag(&mut self, val: u32) {
14007        unsafe {
14008            let val: u32 = ::std::mem::transmute(val);
14009            self._bitfield_1.set(12usize, 1u8, val as u64)
14010        }
14011    }
14012    #[inline]
14013    pub fn frame_cropping_flag(&self) -> u32 {
14014        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
14015    }
14016    #[inline]
14017    pub fn set_frame_cropping_flag(&mut self, val: u32) {
14018        unsafe {
14019            let val: u32 = ::std::mem::transmute(val);
14020            self._bitfield_1.set(13usize, 1u8, val as u64)
14021        }
14022    }
14023    #[inline]
14024    pub fn seq_scaling_matrix_present_flag(&self) -> u32 {
14025        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
14026    }
14027    #[inline]
14028    pub fn set_seq_scaling_matrix_present_flag(&mut self, val: u32) {
14029        unsafe {
14030            let val: u32 = ::std::mem::transmute(val);
14031            self._bitfield_1.set(14usize, 1u8, val as u64)
14032        }
14033    }
14034    #[inline]
14035    pub fn vui_parameters_present_flag(&self) -> u32 {
14036        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
14037    }
14038    #[inline]
14039    pub fn set_vui_parameters_present_flag(&mut self, val: u32) {
14040        unsafe {
14041            let val: u32 = ::std::mem::transmute(val);
14042            self._bitfield_1.set(15usize, 1u8, val as u64)
14043        }
14044    }
14045    #[inline]
14046    pub fn new_bitfield_1(
14047        constraint_set0_flag: u32,
14048        constraint_set1_flag: u32,
14049        constraint_set2_flag: u32,
14050        constraint_set3_flag: u32,
14051        constraint_set4_flag: u32,
14052        constraint_set5_flag: u32,
14053        direct_8x8_inference_flag: u32,
14054        mb_adaptive_frame_field_flag: u32,
14055        frame_mbs_only_flag: u32,
14056        delta_pic_order_always_zero_flag: u32,
14057        separate_colour_plane_flag: u32,
14058        gaps_in_frame_num_value_allowed_flag: u32,
14059        qpprime_y_zero_transform_bypass_flag: u32,
14060        frame_cropping_flag: u32,
14061        seq_scaling_matrix_present_flag: u32,
14062        vui_parameters_present_flag: u32,
14063    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
14064        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
14065        __bindgen_bitfield_unit.set(0usize, 1u8, {
14066            let constraint_set0_flag: u32 = unsafe { ::std::mem::transmute(constraint_set0_flag) };
14067            constraint_set0_flag as u64
14068        });
14069        __bindgen_bitfield_unit.set(1usize, 1u8, {
14070            let constraint_set1_flag: u32 = unsafe { ::std::mem::transmute(constraint_set1_flag) };
14071            constraint_set1_flag as u64
14072        });
14073        __bindgen_bitfield_unit.set(2usize, 1u8, {
14074            let constraint_set2_flag: u32 = unsafe { ::std::mem::transmute(constraint_set2_flag) };
14075            constraint_set2_flag as u64
14076        });
14077        __bindgen_bitfield_unit.set(3usize, 1u8, {
14078            let constraint_set3_flag: u32 = unsafe { ::std::mem::transmute(constraint_set3_flag) };
14079            constraint_set3_flag as u64
14080        });
14081        __bindgen_bitfield_unit.set(4usize, 1u8, {
14082            let constraint_set4_flag: u32 = unsafe { ::std::mem::transmute(constraint_set4_flag) };
14083            constraint_set4_flag as u64
14084        });
14085        __bindgen_bitfield_unit.set(5usize, 1u8, {
14086            let constraint_set5_flag: u32 = unsafe { ::std::mem::transmute(constraint_set5_flag) };
14087            constraint_set5_flag as u64
14088        });
14089        __bindgen_bitfield_unit.set(6usize, 1u8, {
14090            let direct_8x8_inference_flag: u32 =
14091                unsafe { ::std::mem::transmute(direct_8x8_inference_flag) };
14092            direct_8x8_inference_flag as u64
14093        });
14094        __bindgen_bitfield_unit.set(7usize, 1u8, {
14095            let mb_adaptive_frame_field_flag: u32 =
14096                unsafe { ::std::mem::transmute(mb_adaptive_frame_field_flag) };
14097            mb_adaptive_frame_field_flag as u64
14098        });
14099        __bindgen_bitfield_unit.set(8usize, 1u8, {
14100            let frame_mbs_only_flag: u32 = unsafe { ::std::mem::transmute(frame_mbs_only_flag) };
14101            frame_mbs_only_flag as u64
14102        });
14103        __bindgen_bitfield_unit.set(9usize, 1u8, {
14104            let delta_pic_order_always_zero_flag: u32 =
14105                unsafe { ::std::mem::transmute(delta_pic_order_always_zero_flag) };
14106            delta_pic_order_always_zero_flag as u64
14107        });
14108        __bindgen_bitfield_unit.set(10usize, 1u8, {
14109            let separate_colour_plane_flag: u32 =
14110                unsafe { ::std::mem::transmute(separate_colour_plane_flag) };
14111            separate_colour_plane_flag as u64
14112        });
14113        __bindgen_bitfield_unit.set(11usize, 1u8, {
14114            let gaps_in_frame_num_value_allowed_flag: u32 =
14115                unsafe { ::std::mem::transmute(gaps_in_frame_num_value_allowed_flag) };
14116            gaps_in_frame_num_value_allowed_flag as u64
14117        });
14118        __bindgen_bitfield_unit.set(12usize, 1u8, {
14119            let qpprime_y_zero_transform_bypass_flag: u32 =
14120                unsafe { ::std::mem::transmute(qpprime_y_zero_transform_bypass_flag) };
14121            qpprime_y_zero_transform_bypass_flag as u64
14122        });
14123        __bindgen_bitfield_unit.set(13usize, 1u8, {
14124            let frame_cropping_flag: u32 = unsafe { ::std::mem::transmute(frame_cropping_flag) };
14125            frame_cropping_flag as u64
14126        });
14127        __bindgen_bitfield_unit.set(14usize, 1u8, {
14128            let seq_scaling_matrix_present_flag: u32 =
14129                unsafe { ::std::mem::transmute(seq_scaling_matrix_present_flag) };
14130            seq_scaling_matrix_present_flag as u64
14131        });
14132        __bindgen_bitfield_unit.set(15usize, 1u8, {
14133            let vui_parameters_present_flag: u32 =
14134                unsafe { ::std::mem::transmute(vui_parameters_present_flag) };
14135            vui_parameters_present_flag as u64
14136        });
14137        __bindgen_bitfield_unit
14138    }
14139}
14140#[repr(C)]
14141#[derive(Debug, Copy, Clone)]
14142pub struct StdVideoH264ScalingLists {
14143    pub scaling_list_present_mask: u16,
14144    pub use_default_scaling_matrix_mask: u16,
14145    pub ScalingList4x4: [[u8; 16usize]; 6usize],
14146    pub ScalingList8x8: [[u8; 64usize]; 6usize],
14147}
14148#[repr(C)]
14149#[derive(Debug, Copy, Clone)]
14150pub struct StdVideoH264SequenceParameterSet {
14151    pub flags: StdVideoH264SpsFlags,
14152    pub profile_idc: StdVideoH264ProfileIdc,
14153    pub level_idc: StdVideoH264LevelIdc,
14154    pub chroma_format_idc: StdVideoH264ChromaFormatIdc,
14155    pub seq_parameter_set_id: u8,
14156    pub bit_depth_luma_minus8: u8,
14157    pub bit_depth_chroma_minus8: u8,
14158    pub log2_max_frame_num_minus4: u8,
14159    pub pic_order_cnt_type: StdVideoH264PocType,
14160    pub offset_for_non_ref_pic: i32,
14161    pub offset_for_top_to_bottom_field: i32,
14162    pub log2_max_pic_order_cnt_lsb_minus4: u8,
14163    pub num_ref_frames_in_pic_order_cnt_cycle: u8,
14164    pub max_num_ref_frames: u8,
14165    pub reserved1: u8,
14166    pub pic_width_in_mbs_minus1: u32,
14167    pub pic_height_in_map_units_minus1: u32,
14168    pub frame_crop_left_offset: u32,
14169    pub frame_crop_right_offset: u32,
14170    pub frame_crop_top_offset: u32,
14171    pub frame_crop_bottom_offset: u32,
14172    pub reserved2: u32,
14173    pub pOffsetForRefFrame: *const i32,
14174    pub pScalingLists: *const StdVideoH264ScalingLists,
14175    pub pSequenceParameterSetVui: *const StdVideoH264SequenceParameterSetVui,
14176}
14177#[repr(C)]
14178#[repr(align(4))]
14179#[derive(Debug, Copy, Clone)]
14180pub struct StdVideoH264PpsFlags {
14181    pub _bitfield_align_1: [u8; 0],
14182    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
14183    pub __bindgen_padding_0: [u8; 3usize],
14184}
14185impl StdVideoH264PpsFlags {
14186    #[inline]
14187    pub fn transform_8x8_mode_flag(&self) -> u32 {
14188        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14189    }
14190    #[inline]
14191    pub fn set_transform_8x8_mode_flag(&mut self, val: u32) {
14192        unsafe {
14193            let val: u32 = ::std::mem::transmute(val);
14194            self._bitfield_1.set(0usize, 1u8, val as u64)
14195        }
14196    }
14197    #[inline]
14198    pub fn redundant_pic_cnt_present_flag(&self) -> u32 {
14199        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14200    }
14201    #[inline]
14202    pub fn set_redundant_pic_cnt_present_flag(&mut self, val: u32) {
14203        unsafe {
14204            let val: u32 = ::std::mem::transmute(val);
14205            self._bitfield_1.set(1usize, 1u8, val as u64)
14206        }
14207    }
14208    #[inline]
14209    pub fn constrained_intra_pred_flag(&self) -> u32 {
14210        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
14211    }
14212    #[inline]
14213    pub fn set_constrained_intra_pred_flag(&mut self, val: u32) {
14214        unsafe {
14215            let val: u32 = ::std::mem::transmute(val);
14216            self._bitfield_1.set(2usize, 1u8, val as u64)
14217        }
14218    }
14219    #[inline]
14220    pub fn deblocking_filter_control_present_flag(&self) -> u32 {
14221        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
14222    }
14223    #[inline]
14224    pub fn set_deblocking_filter_control_present_flag(&mut self, val: u32) {
14225        unsafe {
14226            let val: u32 = ::std::mem::transmute(val);
14227            self._bitfield_1.set(3usize, 1u8, val as u64)
14228        }
14229    }
14230    #[inline]
14231    pub fn weighted_pred_flag(&self) -> u32 {
14232        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
14233    }
14234    #[inline]
14235    pub fn set_weighted_pred_flag(&mut self, val: u32) {
14236        unsafe {
14237            let val: u32 = ::std::mem::transmute(val);
14238            self._bitfield_1.set(4usize, 1u8, val as u64)
14239        }
14240    }
14241    #[inline]
14242    pub fn bottom_field_pic_order_in_frame_present_flag(&self) -> u32 {
14243        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
14244    }
14245    #[inline]
14246    pub fn set_bottom_field_pic_order_in_frame_present_flag(&mut self, val: u32) {
14247        unsafe {
14248            let val: u32 = ::std::mem::transmute(val);
14249            self._bitfield_1.set(5usize, 1u8, val as u64)
14250        }
14251    }
14252    #[inline]
14253    pub fn entropy_coding_mode_flag(&self) -> u32 {
14254        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
14255    }
14256    #[inline]
14257    pub fn set_entropy_coding_mode_flag(&mut self, val: u32) {
14258        unsafe {
14259            let val: u32 = ::std::mem::transmute(val);
14260            self._bitfield_1.set(6usize, 1u8, val as u64)
14261        }
14262    }
14263    #[inline]
14264    pub fn pic_scaling_matrix_present_flag(&self) -> u32 {
14265        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
14266    }
14267    #[inline]
14268    pub fn set_pic_scaling_matrix_present_flag(&mut self, val: u32) {
14269        unsafe {
14270            let val: u32 = ::std::mem::transmute(val);
14271            self._bitfield_1.set(7usize, 1u8, val as u64)
14272        }
14273    }
14274    #[inline]
14275    pub fn new_bitfield_1(
14276        transform_8x8_mode_flag: u32,
14277        redundant_pic_cnt_present_flag: u32,
14278        constrained_intra_pred_flag: u32,
14279        deblocking_filter_control_present_flag: u32,
14280        weighted_pred_flag: u32,
14281        bottom_field_pic_order_in_frame_present_flag: u32,
14282        entropy_coding_mode_flag: u32,
14283        pic_scaling_matrix_present_flag: u32,
14284    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
14285        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
14286        __bindgen_bitfield_unit.set(0usize, 1u8, {
14287            let transform_8x8_mode_flag: u32 =
14288                unsafe { ::std::mem::transmute(transform_8x8_mode_flag) };
14289            transform_8x8_mode_flag as u64
14290        });
14291        __bindgen_bitfield_unit.set(1usize, 1u8, {
14292            let redundant_pic_cnt_present_flag: u32 =
14293                unsafe { ::std::mem::transmute(redundant_pic_cnt_present_flag) };
14294            redundant_pic_cnt_present_flag as u64
14295        });
14296        __bindgen_bitfield_unit.set(2usize, 1u8, {
14297            let constrained_intra_pred_flag: u32 =
14298                unsafe { ::std::mem::transmute(constrained_intra_pred_flag) };
14299            constrained_intra_pred_flag as u64
14300        });
14301        __bindgen_bitfield_unit.set(3usize, 1u8, {
14302            let deblocking_filter_control_present_flag: u32 =
14303                unsafe { ::std::mem::transmute(deblocking_filter_control_present_flag) };
14304            deblocking_filter_control_present_flag as u64
14305        });
14306        __bindgen_bitfield_unit.set(4usize, 1u8, {
14307            let weighted_pred_flag: u32 = unsafe { ::std::mem::transmute(weighted_pred_flag) };
14308            weighted_pred_flag as u64
14309        });
14310        __bindgen_bitfield_unit.set(5usize, 1u8, {
14311            let bottom_field_pic_order_in_frame_present_flag: u32 =
14312                unsafe { ::std::mem::transmute(bottom_field_pic_order_in_frame_present_flag) };
14313            bottom_field_pic_order_in_frame_present_flag as u64
14314        });
14315        __bindgen_bitfield_unit.set(6usize, 1u8, {
14316            let entropy_coding_mode_flag: u32 =
14317                unsafe { ::std::mem::transmute(entropy_coding_mode_flag) };
14318            entropy_coding_mode_flag as u64
14319        });
14320        __bindgen_bitfield_unit.set(7usize, 1u8, {
14321            let pic_scaling_matrix_present_flag: u32 =
14322                unsafe { ::std::mem::transmute(pic_scaling_matrix_present_flag) };
14323            pic_scaling_matrix_present_flag as u64
14324        });
14325        __bindgen_bitfield_unit
14326    }
14327}
14328#[repr(C)]
14329#[derive(Debug, Copy, Clone)]
14330pub struct StdVideoH264PictureParameterSet {
14331    pub flags: StdVideoH264PpsFlags,
14332    pub seq_parameter_set_id: u8,
14333    pub pic_parameter_set_id: u8,
14334    pub num_ref_idx_l0_default_active_minus1: u8,
14335    pub num_ref_idx_l1_default_active_minus1: u8,
14336    pub weighted_bipred_idc: StdVideoH264WeightedBipredIdc,
14337    pub pic_init_qp_minus26: i8,
14338    pub pic_init_qs_minus26: i8,
14339    pub chroma_qp_index_offset: i8,
14340    pub second_chroma_qp_index_offset: i8,
14341    pub pScalingLists: *const StdVideoH264ScalingLists,
14342}
14343#[repr(C)]
14344#[derive(Debug, Copy, Clone)]
14345pub struct StdVideoEncodeH264WeightTableFlags {
14346    pub luma_weight_l0_flag: u32,
14347    pub chroma_weight_l0_flag: u32,
14348    pub luma_weight_l1_flag: u32,
14349    pub chroma_weight_l1_flag: u32,
14350}
14351#[repr(C)]
14352#[derive(Debug, Copy, Clone)]
14353pub struct StdVideoEncodeH264WeightTable {
14354    pub flags: StdVideoEncodeH264WeightTableFlags,
14355    pub luma_log2_weight_denom: u8,
14356    pub chroma_log2_weight_denom: u8,
14357    pub luma_weight_l0: [i8; 32usize],
14358    pub luma_offset_l0: [i8; 32usize],
14359    pub chroma_weight_l0: [[i8; 2usize]; 32usize],
14360    pub chroma_offset_l0: [[i8; 2usize]; 32usize],
14361    pub luma_weight_l1: [i8; 32usize],
14362    pub luma_offset_l1: [i8; 32usize],
14363    pub chroma_weight_l1: [[i8; 2usize]; 32usize],
14364    pub chroma_offset_l1: [[i8; 2usize]; 32usize],
14365}
14366#[repr(C)]
14367#[derive(Debug, Copy, Clone)]
14368pub struct StdVideoEncodeH264SliceHeaderFlags {
14369    pub _bitfield_align_1: [u32; 0],
14370    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14371}
14372impl StdVideoEncodeH264SliceHeaderFlags {
14373    #[inline]
14374    pub fn direct_spatial_mv_pred_flag(&self) -> u32 {
14375        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14376    }
14377    #[inline]
14378    pub fn set_direct_spatial_mv_pred_flag(&mut self, val: u32) {
14379        unsafe {
14380            let val: u32 = ::std::mem::transmute(val);
14381            self._bitfield_1.set(0usize, 1u8, val as u64)
14382        }
14383    }
14384    #[inline]
14385    pub fn num_ref_idx_active_override_flag(&self) -> u32 {
14386        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14387    }
14388    #[inline]
14389    pub fn set_num_ref_idx_active_override_flag(&mut self, val: u32) {
14390        unsafe {
14391            let val: u32 = ::std::mem::transmute(val);
14392            self._bitfield_1.set(1usize, 1u8, val as u64)
14393        }
14394    }
14395    #[inline]
14396    pub fn reserved(&self) -> u32 {
14397        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
14398    }
14399    #[inline]
14400    pub fn set_reserved(&mut self, val: u32) {
14401        unsafe {
14402            let val: u32 = ::std::mem::transmute(val);
14403            self._bitfield_1.set(2usize, 30u8, val as u64)
14404        }
14405    }
14406    #[inline]
14407    pub fn new_bitfield_1(
14408        direct_spatial_mv_pred_flag: u32,
14409        num_ref_idx_active_override_flag: u32,
14410        reserved: u32,
14411    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14412        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14413        __bindgen_bitfield_unit.set(0usize, 1u8, {
14414            let direct_spatial_mv_pred_flag: u32 =
14415                unsafe { ::std::mem::transmute(direct_spatial_mv_pred_flag) };
14416            direct_spatial_mv_pred_flag as u64
14417        });
14418        __bindgen_bitfield_unit.set(1usize, 1u8, {
14419            let num_ref_idx_active_override_flag: u32 =
14420                unsafe { ::std::mem::transmute(num_ref_idx_active_override_flag) };
14421            num_ref_idx_active_override_flag as u64
14422        });
14423        __bindgen_bitfield_unit.set(2usize, 30u8, {
14424            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14425            reserved as u64
14426        });
14427        __bindgen_bitfield_unit
14428    }
14429}
14430#[repr(C)]
14431#[derive(Debug, Copy, Clone)]
14432pub struct StdVideoEncodeH264PictureInfoFlags {
14433    pub _bitfield_align_1: [u32; 0],
14434    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14435}
14436impl StdVideoEncodeH264PictureInfoFlags {
14437    #[inline]
14438    pub fn IdrPicFlag(&self) -> u32 {
14439        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14440    }
14441    #[inline]
14442    pub fn set_IdrPicFlag(&mut self, val: u32) {
14443        unsafe {
14444            let val: u32 = ::std::mem::transmute(val);
14445            self._bitfield_1.set(0usize, 1u8, val as u64)
14446        }
14447    }
14448    #[inline]
14449    pub fn is_reference(&self) -> u32 {
14450        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14451    }
14452    #[inline]
14453    pub fn set_is_reference(&mut self, val: u32) {
14454        unsafe {
14455            let val: u32 = ::std::mem::transmute(val);
14456            self._bitfield_1.set(1usize, 1u8, val as u64)
14457        }
14458    }
14459    #[inline]
14460    pub fn no_output_of_prior_pics_flag(&self) -> u32 {
14461        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
14462    }
14463    #[inline]
14464    pub fn set_no_output_of_prior_pics_flag(&mut self, val: u32) {
14465        unsafe {
14466            let val: u32 = ::std::mem::transmute(val);
14467            self._bitfield_1.set(2usize, 1u8, val as u64)
14468        }
14469    }
14470    #[inline]
14471    pub fn long_term_reference_flag(&self) -> u32 {
14472        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
14473    }
14474    #[inline]
14475    pub fn set_long_term_reference_flag(&mut self, val: u32) {
14476        unsafe {
14477            let val: u32 = ::std::mem::transmute(val);
14478            self._bitfield_1.set(3usize, 1u8, val as u64)
14479        }
14480    }
14481    #[inline]
14482    pub fn adaptive_ref_pic_marking_mode_flag(&self) -> u32 {
14483        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
14484    }
14485    #[inline]
14486    pub fn set_adaptive_ref_pic_marking_mode_flag(&mut self, val: u32) {
14487        unsafe {
14488            let val: u32 = ::std::mem::transmute(val);
14489            self._bitfield_1.set(4usize, 1u8, val as u64)
14490        }
14491    }
14492    #[inline]
14493    pub fn reserved(&self) -> u32 {
14494        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) }
14495    }
14496    #[inline]
14497    pub fn set_reserved(&mut self, val: u32) {
14498        unsafe {
14499            let val: u32 = ::std::mem::transmute(val);
14500            self._bitfield_1.set(5usize, 27u8, val as u64)
14501        }
14502    }
14503    #[inline]
14504    pub fn new_bitfield_1(
14505        IdrPicFlag: u32,
14506        is_reference: u32,
14507        no_output_of_prior_pics_flag: u32,
14508        long_term_reference_flag: u32,
14509        adaptive_ref_pic_marking_mode_flag: u32,
14510        reserved: u32,
14511    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14512        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14513        __bindgen_bitfield_unit.set(0usize, 1u8, {
14514            let IdrPicFlag: u32 = unsafe { ::std::mem::transmute(IdrPicFlag) };
14515            IdrPicFlag as u64
14516        });
14517        __bindgen_bitfield_unit.set(1usize, 1u8, {
14518            let is_reference: u32 = unsafe { ::std::mem::transmute(is_reference) };
14519            is_reference as u64
14520        });
14521        __bindgen_bitfield_unit.set(2usize, 1u8, {
14522            let no_output_of_prior_pics_flag: u32 =
14523                unsafe { ::std::mem::transmute(no_output_of_prior_pics_flag) };
14524            no_output_of_prior_pics_flag as u64
14525        });
14526        __bindgen_bitfield_unit.set(3usize, 1u8, {
14527            let long_term_reference_flag: u32 =
14528                unsafe { ::std::mem::transmute(long_term_reference_flag) };
14529            long_term_reference_flag as u64
14530        });
14531        __bindgen_bitfield_unit.set(4usize, 1u8, {
14532            let adaptive_ref_pic_marking_mode_flag: u32 =
14533                unsafe { ::std::mem::transmute(adaptive_ref_pic_marking_mode_flag) };
14534            adaptive_ref_pic_marking_mode_flag as u64
14535        });
14536        __bindgen_bitfield_unit.set(5usize, 27u8, {
14537            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14538            reserved as u64
14539        });
14540        __bindgen_bitfield_unit
14541    }
14542}
14543#[repr(C)]
14544#[derive(Debug, Copy, Clone)]
14545pub struct StdVideoEncodeH264ReferenceInfoFlags {
14546    pub _bitfield_align_1: [u32; 0],
14547    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14548}
14549impl StdVideoEncodeH264ReferenceInfoFlags {
14550    #[inline]
14551    pub fn used_for_long_term_reference(&self) -> u32 {
14552        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14553    }
14554    #[inline]
14555    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
14556        unsafe {
14557            let val: u32 = ::std::mem::transmute(val);
14558            self._bitfield_1.set(0usize, 1u8, val as u64)
14559        }
14560    }
14561    #[inline]
14562    pub fn reserved(&self) -> u32 {
14563        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
14564    }
14565    #[inline]
14566    pub fn set_reserved(&mut self, val: u32) {
14567        unsafe {
14568            let val: u32 = ::std::mem::transmute(val);
14569            self._bitfield_1.set(1usize, 31u8, val as u64)
14570        }
14571    }
14572    #[inline]
14573    pub fn new_bitfield_1(
14574        used_for_long_term_reference: u32,
14575        reserved: u32,
14576    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14577        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14578        __bindgen_bitfield_unit.set(0usize, 1u8, {
14579            let used_for_long_term_reference: u32 =
14580                unsafe { ::std::mem::transmute(used_for_long_term_reference) };
14581            used_for_long_term_reference as u64
14582        });
14583        __bindgen_bitfield_unit.set(1usize, 31u8, {
14584            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14585            reserved as u64
14586        });
14587        __bindgen_bitfield_unit
14588    }
14589}
14590#[repr(C)]
14591#[derive(Debug, Copy, Clone)]
14592pub struct StdVideoEncodeH264ReferenceListsInfoFlags {
14593    pub _bitfield_align_1: [u32; 0],
14594    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14595}
14596impl StdVideoEncodeH264ReferenceListsInfoFlags {
14597    #[inline]
14598    pub fn ref_pic_list_modification_flag_l0(&self) -> u32 {
14599        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14600    }
14601    #[inline]
14602    pub fn set_ref_pic_list_modification_flag_l0(&mut self, val: u32) {
14603        unsafe {
14604            let val: u32 = ::std::mem::transmute(val);
14605            self._bitfield_1.set(0usize, 1u8, val as u64)
14606        }
14607    }
14608    #[inline]
14609    pub fn ref_pic_list_modification_flag_l1(&self) -> u32 {
14610        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14611    }
14612    #[inline]
14613    pub fn set_ref_pic_list_modification_flag_l1(&mut self, val: u32) {
14614        unsafe {
14615            let val: u32 = ::std::mem::transmute(val);
14616            self._bitfield_1.set(1usize, 1u8, val as u64)
14617        }
14618    }
14619    #[inline]
14620    pub fn reserved(&self) -> u32 {
14621        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
14622    }
14623    #[inline]
14624    pub fn set_reserved(&mut self, val: u32) {
14625        unsafe {
14626            let val: u32 = ::std::mem::transmute(val);
14627            self._bitfield_1.set(2usize, 30u8, val as u64)
14628        }
14629    }
14630    #[inline]
14631    pub fn new_bitfield_1(
14632        ref_pic_list_modification_flag_l0: u32,
14633        ref_pic_list_modification_flag_l1: u32,
14634        reserved: u32,
14635    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14636        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14637        __bindgen_bitfield_unit.set(0usize, 1u8, {
14638            let ref_pic_list_modification_flag_l0: u32 =
14639                unsafe { ::std::mem::transmute(ref_pic_list_modification_flag_l0) };
14640            ref_pic_list_modification_flag_l0 as u64
14641        });
14642        __bindgen_bitfield_unit.set(1usize, 1u8, {
14643            let ref_pic_list_modification_flag_l1: u32 =
14644                unsafe { ::std::mem::transmute(ref_pic_list_modification_flag_l1) };
14645            ref_pic_list_modification_flag_l1 as u64
14646        });
14647        __bindgen_bitfield_unit.set(2usize, 30u8, {
14648            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14649            reserved as u64
14650        });
14651        __bindgen_bitfield_unit
14652    }
14653}
14654#[repr(C)]
14655#[derive(Debug, Copy, Clone)]
14656pub struct StdVideoEncodeH264RefListModEntry {
14657    pub modification_of_pic_nums_idc: StdVideoH264ModificationOfPicNumsIdc,
14658    pub abs_diff_pic_num_minus1: u16,
14659    pub long_term_pic_num: u16,
14660}
14661#[repr(C)]
14662#[derive(Debug, Copy, Clone)]
14663pub struct StdVideoEncodeH264RefPicMarkingEntry {
14664    pub memory_management_control_operation: StdVideoH264MemMgmtControlOp,
14665    pub difference_of_pic_nums_minus1: u16,
14666    pub long_term_pic_num: u16,
14667    pub long_term_frame_idx: u16,
14668    pub max_long_term_frame_idx_plus1: u16,
14669}
14670#[repr(C)]
14671#[derive(Debug, Copy, Clone)]
14672pub struct StdVideoEncodeH264ReferenceListsInfo {
14673    pub flags: StdVideoEncodeH264ReferenceListsInfoFlags,
14674    pub num_ref_idx_l0_active_minus1: u8,
14675    pub num_ref_idx_l1_active_minus1: u8,
14676    pub RefPicList0: [u8; 32usize],
14677    pub RefPicList1: [u8; 32usize],
14678    pub refList0ModOpCount: u8,
14679    pub refList1ModOpCount: u8,
14680    pub refPicMarkingOpCount: u8,
14681    pub reserved1: [u8; 7usize],
14682    pub pRefList0ModOperations: *const StdVideoEncodeH264RefListModEntry,
14683    pub pRefList1ModOperations: *const StdVideoEncodeH264RefListModEntry,
14684    pub pRefPicMarkingOperations: *const StdVideoEncodeH264RefPicMarkingEntry,
14685}
14686#[repr(C)]
14687#[derive(Debug, Copy, Clone)]
14688pub struct StdVideoEncodeH264PictureInfo {
14689    pub flags: StdVideoEncodeH264PictureInfoFlags,
14690    pub seq_parameter_set_id: u8,
14691    pub pic_parameter_set_id: u8,
14692    pub idr_pic_id: u16,
14693    pub primary_pic_type: StdVideoH264PictureType,
14694    pub frame_num: u32,
14695    pub PicOrderCnt: i32,
14696    pub temporal_id: u8,
14697    pub reserved1: [u8; 3usize],
14698    pub pRefLists: *const StdVideoEncodeH264ReferenceListsInfo,
14699}
14700#[repr(C)]
14701#[derive(Debug, Copy, Clone)]
14702pub struct StdVideoEncodeH264ReferenceInfo {
14703    pub flags: StdVideoEncodeH264ReferenceInfoFlags,
14704    pub primary_pic_type: StdVideoH264PictureType,
14705    pub FrameNum: u32,
14706    pub PicOrderCnt: i32,
14707    pub long_term_pic_num: u16,
14708    pub long_term_frame_idx: u16,
14709    pub temporal_id: u8,
14710}
14711#[repr(C)]
14712#[derive(Debug, Copy, Clone)]
14713pub struct StdVideoEncodeH264SliceHeader {
14714    pub flags: StdVideoEncodeH264SliceHeaderFlags,
14715    pub first_mb_in_slice: u32,
14716    pub slice_type: StdVideoH264SliceType,
14717    pub slice_alpha_c0_offset_div2: i8,
14718    pub slice_beta_offset_div2: i8,
14719    pub slice_qp_delta: i8,
14720    pub reserved1: u8,
14721    pub cabac_init_idc: StdVideoH264CabacInitIdc,
14722    pub disable_deblocking_filter_idc: StdVideoH264DisableDeblockingFilterIdc,
14723    pub pWeightTable: *const StdVideoEncodeH264WeightTable,
14724}
14725pub const VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 1 ;
14726pub const VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 2 ;
14727pub const VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 4 ;
14728pub const VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 8 ;
14729pub const VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 16 ;
14730pub const VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 32 ;
14731pub const VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 64 ;
14732pub const VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 128 ;
14733pub const VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 256 ;
14734pub const VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 512 ;
14735pub const VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH264CapabilityFlagBitsKHR = 2147483647 ;
14736pub type VkVideoEncodeH264CapabilityFlagBitsKHR = ::std::os::raw::c_uint;
14737pub type VkVideoEncodeH264CapabilityFlagsKHR = VkFlags;
14738pub const VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 1 ;
14739pub const VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 2 ;
14740pub const VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 4 ;
14741pub const VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 8 ;
14742pub const VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 16 ;
14743pub const VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR:
14744    VkVideoEncodeH264StdFlagBitsKHR = 32;
14745pub const VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 64 ;
14746pub const VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 128 ;
14747pub const VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 256 ;
14748pub const VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 512 ;
14749pub const VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 1024 ;
14750pub const VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 2048 ;
14751pub const VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 4096 ;
14752pub const VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 8192 ;
14753pub const VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 16384 ;
14754pub const VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 32768 ;
14755pub const VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 65536 ;
14756pub const VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 131072 ;
14757pub const VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR:
14758    VkVideoEncodeH264StdFlagBitsKHR = 524288;
14759pub const VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR : VkVideoEncodeH264StdFlagBitsKHR = 1048576 ;
14760pub const VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR:
14761    VkVideoEncodeH264StdFlagBitsKHR = 2147483647;
14762pub type VkVideoEncodeH264StdFlagBitsKHR = ::std::os::raw::c_uint;
14763pub type VkVideoEncodeH264StdFlagsKHR = VkFlags;
14764pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 1 ;
14765pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 2 ;
14766pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 4 ;
14767pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 8 ;
14768pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 16 ;
14769pub const VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH264RateControlFlagBitsKHR = 2147483647 ;
14770pub type VkVideoEncodeH264RateControlFlagBitsKHR = ::std::os::raw::c_uint;
14771pub type VkVideoEncodeH264RateControlFlagsKHR = VkFlags;
14772#[repr(C)]
14773#[derive(Debug, Copy, Clone)]
14774pub struct VkVideoEncodeH264CapabilitiesKHR {
14775    pub sType: VkStructureType,
14776    pub pNext: *mut ::std::os::raw::c_void,
14777    pub flags: VkVideoEncodeH264CapabilityFlagsKHR,
14778    pub maxLevelIdc: StdVideoH264LevelIdc,
14779    pub maxSliceCount: u32,
14780    pub maxPPictureL0ReferenceCount: u32,
14781    pub maxBPictureL0ReferenceCount: u32,
14782    pub maxL1ReferenceCount: u32,
14783    pub maxTemporalLayerCount: u32,
14784    pub expectDyadicTemporalLayerPattern: VkBool32,
14785    pub minQp: i32,
14786    pub maxQp: i32,
14787    pub prefersGopRemainingFrames: VkBool32,
14788    pub requiresGopRemainingFrames: VkBool32,
14789    pub stdSyntaxFlags: VkVideoEncodeH264StdFlagsKHR,
14790}
14791#[repr(C)]
14792#[derive(Debug, Copy, Clone)]
14793pub struct VkVideoEncodeH264QpKHR {
14794    pub qpI: i32,
14795    pub qpP: i32,
14796    pub qpB: i32,
14797}
14798#[repr(C)]
14799#[derive(Debug, Copy, Clone)]
14800pub struct VkVideoEncodeH264QualityLevelPropertiesKHR {
14801    pub sType: VkStructureType,
14802    pub pNext: *mut ::std::os::raw::c_void,
14803    pub preferredRateControlFlags: VkVideoEncodeH264RateControlFlagsKHR,
14804    pub preferredGopFrameCount: u32,
14805    pub preferredIdrPeriod: u32,
14806    pub preferredConsecutiveBFrameCount: u32,
14807    pub preferredTemporalLayerCount: u32,
14808    pub preferredConstantQp: VkVideoEncodeH264QpKHR,
14809    pub preferredMaxL0ReferenceCount: u32,
14810    pub preferredMaxL1ReferenceCount: u32,
14811    pub preferredStdEntropyCodingModeFlag: VkBool32,
14812}
14813#[repr(C)]
14814#[derive(Debug, Copy, Clone)]
14815pub struct VkVideoEncodeH264SessionCreateInfoKHR {
14816    pub sType: VkStructureType,
14817    pub pNext: *const ::std::os::raw::c_void,
14818    pub useMaxLevelIdc: VkBool32,
14819    pub maxLevelIdc: StdVideoH264LevelIdc,
14820}
14821#[repr(C)]
14822#[derive(Debug, Copy, Clone)]
14823pub struct VkVideoEncodeH264SessionParametersAddInfoKHR {
14824    pub sType: VkStructureType,
14825    pub pNext: *const ::std::os::raw::c_void,
14826    pub stdSPSCount: u32,
14827    pub pStdSPSs: *const StdVideoH264SequenceParameterSet,
14828    pub stdPPSCount: u32,
14829    pub pStdPPSs: *const StdVideoH264PictureParameterSet,
14830}
14831#[repr(C)]
14832#[derive(Debug, Copy, Clone)]
14833pub struct VkVideoEncodeH264SessionParametersCreateInfoKHR {
14834    pub sType: VkStructureType,
14835    pub pNext: *const ::std::os::raw::c_void,
14836    pub maxStdSPSCount: u32,
14837    pub maxStdPPSCount: u32,
14838    pub pParametersAddInfo: *const VkVideoEncodeH264SessionParametersAddInfoKHR,
14839}
14840#[repr(C)]
14841#[derive(Debug, Copy, Clone)]
14842pub struct VkVideoEncodeH264SessionParametersGetInfoKHR {
14843    pub sType: VkStructureType,
14844    pub pNext: *const ::std::os::raw::c_void,
14845    pub writeStdSPS: VkBool32,
14846    pub writeStdPPS: VkBool32,
14847    pub stdSPSId: u32,
14848    pub stdPPSId: u32,
14849}
14850#[repr(C)]
14851#[derive(Debug, Copy, Clone)]
14852pub struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR {
14853    pub sType: VkStructureType,
14854    pub pNext: *mut ::std::os::raw::c_void,
14855    pub hasStdSPSOverrides: VkBool32,
14856    pub hasStdPPSOverrides: VkBool32,
14857}
14858#[repr(C)]
14859#[derive(Debug, Copy, Clone)]
14860pub struct VkVideoEncodeH264NaluSliceInfoKHR {
14861    pub sType: VkStructureType,
14862    pub pNext: *const ::std::os::raw::c_void,
14863    pub constantQp: i32,
14864    pub pStdSliceHeader: *const StdVideoEncodeH264SliceHeader,
14865}
14866#[repr(C)]
14867#[derive(Debug, Copy, Clone)]
14868pub struct VkVideoEncodeH264PictureInfoKHR {
14869    pub sType: VkStructureType,
14870    pub pNext: *const ::std::os::raw::c_void,
14871    pub naluSliceEntryCount: u32,
14872    pub pNaluSliceEntries: *const VkVideoEncodeH264NaluSliceInfoKHR,
14873    pub pStdPictureInfo: *const StdVideoEncodeH264PictureInfo,
14874    pub generatePrefixNalu: VkBool32,
14875}
14876#[repr(C)]
14877#[derive(Debug, Copy, Clone)]
14878pub struct VkVideoEncodeH264DpbSlotInfoKHR {
14879    pub sType: VkStructureType,
14880    pub pNext: *const ::std::os::raw::c_void,
14881    pub pStdReferenceInfo: *const StdVideoEncodeH264ReferenceInfo,
14882}
14883#[repr(C)]
14884#[derive(Debug, Copy, Clone)]
14885pub struct VkVideoEncodeH264ProfileInfoKHR {
14886    pub sType: VkStructureType,
14887    pub pNext: *const ::std::os::raw::c_void,
14888    pub stdProfileIdc: StdVideoH264ProfileIdc,
14889}
14890#[repr(C)]
14891#[derive(Debug, Copy, Clone)]
14892pub struct VkVideoEncodeH264RateControlInfoKHR {
14893    pub sType: VkStructureType,
14894    pub pNext: *const ::std::os::raw::c_void,
14895    pub flags: VkVideoEncodeH264RateControlFlagsKHR,
14896    pub gopFrameCount: u32,
14897    pub idrPeriod: u32,
14898    pub consecutiveBFrameCount: u32,
14899    pub temporalLayerCount: u32,
14900}
14901#[repr(C)]
14902#[derive(Debug, Copy, Clone)]
14903pub struct VkVideoEncodeH264FrameSizeKHR {
14904    pub frameISize: u32,
14905    pub framePSize: u32,
14906    pub frameBSize: u32,
14907}
14908#[repr(C)]
14909#[derive(Debug, Copy, Clone)]
14910pub struct VkVideoEncodeH264RateControlLayerInfoKHR {
14911    pub sType: VkStructureType,
14912    pub pNext: *const ::std::os::raw::c_void,
14913    pub useMinQp: VkBool32,
14914    pub minQp: VkVideoEncodeH264QpKHR,
14915    pub useMaxQp: VkBool32,
14916    pub maxQp: VkVideoEncodeH264QpKHR,
14917    pub useMaxFrameSize: VkBool32,
14918    pub maxFrameSize: VkVideoEncodeH264FrameSizeKHR,
14919}
14920#[repr(C)]
14921#[derive(Debug, Copy, Clone)]
14922pub struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
14923    pub sType: VkStructureType,
14924    pub pNext: *const ::std::os::raw::c_void,
14925    pub useGopRemainingFrames: VkBool32,
14926    pub gopRemainingI: u32,
14927    pub gopRemainingP: u32,
14928    pub gopRemainingB: u32,
14929}
14930pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME:
14931    StdVideoH265ChromaFormatIdc = 0;
14932pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_420:
14933    StdVideoH265ChromaFormatIdc = 1;
14934pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_422:
14935    StdVideoH265ChromaFormatIdc = 2;
14936pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_444:
14937    StdVideoH265ChromaFormatIdc = 3;
14938pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID:
14939    StdVideoH265ChromaFormatIdc = 2147483647;
14940pub const StdVideoH265ChromaFormatIdc_STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM:
14941    StdVideoH265ChromaFormatIdc = 2147483647;
14942pub type StdVideoH265ChromaFormatIdc = ::std::os::raw::c_uint;
14943pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_MAIN: StdVideoH265ProfileIdc = 1;
14944pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_MAIN_10: StdVideoH265ProfileIdc = 2;
14945pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE:
14946    StdVideoH265ProfileIdc = 3;
14947pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS:
14948    StdVideoH265ProfileIdc = 4;
14949pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS: StdVideoH265ProfileIdc =
14950    9;
14951pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_INVALID: StdVideoH265ProfileIdc =
14952    2147483647;
14953pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM: StdVideoH265ProfileIdc =
14954    2147483647;
14955pub type StdVideoH265ProfileIdc = ::std::os::raw::c_uint;
14956pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_1_0: StdVideoH265LevelIdc = 0;
14957pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_2_0: StdVideoH265LevelIdc = 1;
14958pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_2_1: StdVideoH265LevelIdc = 2;
14959pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_3_0: StdVideoH265LevelIdc = 3;
14960pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_3_1: StdVideoH265LevelIdc = 4;
14961pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_4_0: StdVideoH265LevelIdc = 5;
14962pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_4_1: StdVideoH265LevelIdc = 6;
14963pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_5_0: StdVideoH265LevelIdc = 7;
14964pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_5_1: StdVideoH265LevelIdc = 8;
14965pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_5_2: StdVideoH265LevelIdc = 9;
14966pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_6_0: StdVideoH265LevelIdc = 10;
14967pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_6_1: StdVideoH265LevelIdc = 11;
14968pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_6_2: StdVideoH265LevelIdc = 12;
14969pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_INVALID: StdVideoH265LevelIdc = 2147483647;
14970pub const StdVideoH265LevelIdc_STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM: StdVideoH265LevelIdc = 2147483647;
14971pub type StdVideoH265LevelIdc = ::std::os::raw::c_uint;
14972pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_B: StdVideoH265SliceType = 0;
14973pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_P: StdVideoH265SliceType = 1;
14974pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_I: StdVideoH265SliceType = 2;
14975pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_INVALID: StdVideoH265SliceType =
14976    2147483647;
14977pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM: StdVideoH265SliceType =
14978    2147483647;
14979pub type StdVideoH265SliceType = ::std::os::raw::c_uint;
14980pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_P: StdVideoH265PictureType = 0;
14981pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_B: StdVideoH265PictureType = 1;
14982pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_I: StdVideoH265PictureType = 2;
14983pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_IDR: StdVideoH265PictureType = 3;
14984pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_INVALID: StdVideoH265PictureType =
14985    2147483647;
14986pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM: StdVideoH265PictureType =
14987    2147483647;
14988pub type StdVideoH265PictureType = ::std::os::raw::c_uint;
14989pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED:
14990    StdVideoH265AspectRatioIdc = 0;
14991pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE:
14992    StdVideoH265AspectRatioIdc = 1;
14993pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11:
14994    StdVideoH265AspectRatioIdc = 2;
14995pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11:
14996    StdVideoH265AspectRatioIdc = 3;
14997pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11:
14998    StdVideoH265AspectRatioIdc = 4;
14999pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33:
15000    StdVideoH265AspectRatioIdc = 5;
15001pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11:
15002    StdVideoH265AspectRatioIdc = 6;
15003pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11:
15004    StdVideoH265AspectRatioIdc = 7;
15005pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11:
15006    StdVideoH265AspectRatioIdc = 8;
15007pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33:
15008    StdVideoH265AspectRatioIdc = 9;
15009pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11:
15010    StdVideoH265AspectRatioIdc = 10;
15011pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11:
15012    StdVideoH265AspectRatioIdc = 11;
15013pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33:
15014    StdVideoH265AspectRatioIdc = 12;
15015pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99:
15016    StdVideoH265AspectRatioIdc = 13;
15017pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3:
15018    StdVideoH265AspectRatioIdc = 14;
15019pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2:
15020    StdVideoH265AspectRatioIdc = 15;
15021pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1:
15022    StdVideoH265AspectRatioIdc = 16;
15023pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR:
15024    StdVideoH265AspectRatioIdc = 255;
15025pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID:
15026    StdVideoH265AspectRatioIdc = 2147483647;
15027pub const StdVideoH265AspectRatioIdc_STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM:
15028    StdVideoH265AspectRatioIdc = 2147483647;
15029pub type StdVideoH265AspectRatioIdc = ::std::os::raw::c_uint;
15030#[repr(C)]
15031#[derive(Debug, Copy, Clone)]
15032pub struct StdVideoH265DecPicBufMgr {
15033    pub max_latency_increase_plus1: [u32; 7usize],
15034    pub max_dec_pic_buffering_minus1: [u8; 7usize],
15035    pub max_num_reorder_pics: [u8; 7usize],
15036}
15037#[repr(C)]
15038#[derive(Debug, Copy, Clone)]
15039pub struct StdVideoH265SubLayerHrdParameters {
15040    pub bit_rate_value_minus1: [u32; 32usize],
15041    pub cpb_size_value_minus1: [u32; 32usize],
15042    pub cpb_size_du_value_minus1: [u32; 32usize],
15043    pub bit_rate_du_value_minus1: [u32; 32usize],
15044    pub cbr_flag: u32,
15045}
15046#[repr(C)]
15047#[repr(align(4))]
15048#[derive(Debug, Copy, Clone)]
15049pub struct StdVideoH265HrdFlags {
15050    pub _bitfield_align_1: [u8; 0],
15051    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
15052}
15053impl StdVideoH265HrdFlags {
15054    #[inline]
15055    pub fn nal_hrd_parameters_present_flag(&self) -> u32 {
15056        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15057    }
15058    #[inline]
15059    pub fn set_nal_hrd_parameters_present_flag(&mut self, val: u32) {
15060        unsafe {
15061            let val: u32 = ::std::mem::transmute(val);
15062            self._bitfield_1.set(0usize, 1u8, val as u64)
15063        }
15064    }
15065    #[inline]
15066    pub fn vcl_hrd_parameters_present_flag(&self) -> u32 {
15067        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15068    }
15069    #[inline]
15070    pub fn set_vcl_hrd_parameters_present_flag(&mut self, val: u32) {
15071        unsafe {
15072            let val: u32 = ::std::mem::transmute(val);
15073            self._bitfield_1.set(1usize, 1u8, val as u64)
15074        }
15075    }
15076    #[inline]
15077    pub fn sub_pic_hrd_params_present_flag(&self) -> u32 {
15078        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15079    }
15080    #[inline]
15081    pub fn set_sub_pic_hrd_params_present_flag(&mut self, val: u32) {
15082        unsafe {
15083            let val: u32 = ::std::mem::transmute(val);
15084            self._bitfield_1.set(2usize, 1u8, val as u64)
15085        }
15086    }
15087    #[inline]
15088    pub fn sub_pic_cpb_params_in_pic_timing_sei_flag(&self) -> u32 {
15089        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15090    }
15091    #[inline]
15092    pub fn set_sub_pic_cpb_params_in_pic_timing_sei_flag(&mut self, val: u32) {
15093        unsafe {
15094            let val: u32 = ::std::mem::transmute(val);
15095            self._bitfield_1.set(3usize, 1u8, val as u64)
15096        }
15097    }
15098    #[inline]
15099    pub fn fixed_pic_rate_general_flag(&self) -> u32 {
15100        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 8u8) as u32) }
15101    }
15102    #[inline]
15103    pub fn set_fixed_pic_rate_general_flag(&mut self, val: u32) {
15104        unsafe {
15105            let val: u32 = ::std::mem::transmute(val);
15106            self._bitfield_1.set(4usize, 8u8, val as u64)
15107        }
15108    }
15109    #[inline]
15110    pub fn fixed_pic_rate_within_cvs_flag(&self) -> u32 {
15111        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 8u8) as u32) }
15112    }
15113    #[inline]
15114    pub fn set_fixed_pic_rate_within_cvs_flag(&mut self, val: u32) {
15115        unsafe {
15116            let val: u32 = ::std::mem::transmute(val);
15117            self._bitfield_1.set(12usize, 8u8, val as u64)
15118        }
15119    }
15120    #[inline]
15121    pub fn low_delay_hrd_flag(&self) -> u32 {
15122        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 8u8) as u32) }
15123    }
15124    #[inline]
15125    pub fn set_low_delay_hrd_flag(&mut self, val: u32) {
15126        unsafe {
15127            let val: u32 = ::std::mem::transmute(val);
15128            self._bitfield_1.set(20usize, 8u8, val as u64)
15129        }
15130    }
15131    #[inline]
15132    pub fn new_bitfield_1(
15133        nal_hrd_parameters_present_flag: u32,
15134        vcl_hrd_parameters_present_flag: u32,
15135        sub_pic_hrd_params_present_flag: u32,
15136        sub_pic_cpb_params_in_pic_timing_sei_flag: u32,
15137        fixed_pic_rate_general_flag: u32,
15138        fixed_pic_rate_within_cvs_flag: u32,
15139        low_delay_hrd_flag: u32,
15140    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
15141        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
15142        __bindgen_bitfield_unit.set(0usize, 1u8, {
15143            let nal_hrd_parameters_present_flag: u32 =
15144                unsafe { ::std::mem::transmute(nal_hrd_parameters_present_flag) };
15145            nal_hrd_parameters_present_flag as u64
15146        });
15147        __bindgen_bitfield_unit.set(1usize, 1u8, {
15148            let vcl_hrd_parameters_present_flag: u32 =
15149                unsafe { ::std::mem::transmute(vcl_hrd_parameters_present_flag) };
15150            vcl_hrd_parameters_present_flag as u64
15151        });
15152        __bindgen_bitfield_unit.set(2usize, 1u8, {
15153            let sub_pic_hrd_params_present_flag: u32 =
15154                unsafe { ::std::mem::transmute(sub_pic_hrd_params_present_flag) };
15155            sub_pic_hrd_params_present_flag as u64
15156        });
15157        __bindgen_bitfield_unit.set(3usize, 1u8, {
15158            let sub_pic_cpb_params_in_pic_timing_sei_flag: u32 =
15159                unsafe { ::std::mem::transmute(sub_pic_cpb_params_in_pic_timing_sei_flag) };
15160            sub_pic_cpb_params_in_pic_timing_sei_flag as u64
15161        });
15162        __bindgen_bitfield_unit.set(4usize, 8u8, {
15163            let fixed_pic_rate_general_flag: u32 =
15164                unsafe { ::std::mem::transmute(fixed_pic_rate_general_flag) };
15165            fixed_pic_rate_general_flag as u64
15166        });
15167        __bindgen_bitfield_unit.set(12usize, 8u8, {
15168            let fixed_pic_rate_within_cvs_flag: u32 =
15169                unsafe { ::std::mem::transmute(fixed_pic_rate_within_cvs_flag) };
15170            fixed_pic_rate_within_cvs_flag as u64
15171        });
15172        __bindgen_bitfield_unit.set(20usize, 8u8, {
15173            let low_delay_hrd_flag: u32 = unsafe { ::std::mem::transmute(low_delay_hrd_flag) };
15174            low_delay_hrd_flag as u64
15175        });
15176        __bindgen_bitfield_unit
15177    }
15178}
15179#[repr(C)]
15180#[derive(Debug, Copy, Clone)]
15181pub struct StdVideoH265HrdParameters {
15182    pub flags: StdVideoH265HrdFlags,
15183    pub tick_divisor_minus2: u8,
15184    pub du_cpb_removal_delay_increment_length_minus1: u8,
15185    pub dpb_output_delay_du_length_minus1: u8,
15186    pub bit_rate_scale: u8,
15187    pub cpb_size_scale: u8,
15188    pub cpb_size_du_scale: u8,
15189    pub initial_cpb_removal_delay_length_minus1: u8,
15190    pub au_cpb_removal_delay_length_minus1: u8,
15191    pub dpb_output_delay_length_minus1: u8,
15192    pub cpb_cnt_minus1: [u8; 7usize],
15193    pub elemental_duration_in_tc_minus1: [u16; 7usize],
15194    pub reserved: [u16; 3usize],
15195    pub pSubLayerHrdParametersNal: *const StdVideoH265SubLayerHrdParameters,
15196    pub pSubLayerHrdParametersVcl: *const StdVideoH265SubLayerHrdParameters,
15197}
15198#[repr(C)]
15199#[repr(align(4))]
15200#[derive(Debug, Copy, Clone)]
15201pub struct StdVideoH265VpsFlags {
15202    pub _bitfield_align_1: [u8; 0],
15203    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
15204    pub __bindgen_padding_0: [u8; 3usize],
15205}
15206impl StdVideoH265VpsFlags {
15207    #[inline]
15208    pub fn vps_temporal_id_nesting_flag(&self) -> u32 {
15209        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15210    }
15211    #[inline]
15212    pub fn set_vps_temporal_id_nesting_flag(&mut self, val: u32) {
15213        unsafe {
15214            let val: u32 = ::std::mem::transmute(val);
15215            self._bitfield_1.set(0usize, 1u8, val as u64)
15216        }
15217    }
15218    #[inline]
15219    pub fn vps_sub_layer_ordering_info_present_flag(&self) -> u32 {
15220        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15221    }
15222    #[inline]
15223    pub fn set_vps_sub_layer_ordering_info_present_flag(&mut self, val: u32) {
15224        unsafe {
15225            let val: u32 = ::std::mem::transmute(val);
15226            self._bitfield_1.set(1usize, 1u8, val as u64)
15227        }
15228    }
15229    #[inline]
15230    pub fn vps_timing_info_present_flag(&self) -> u32 {
15231        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15232    }
15233    #[inline]
15234    pub fn set_vps_timing_info_present_flag(&mut self, val: u32) {
15235        unsafe {
15236            let val: u32 = ::std::mem::transmute(val);
15237            self._bitfield_1.set(2usize, 1u8, val as u64)
15238        }
15239    }
15240    #[inline]
15241    pub fn vps_poc_proportional_to_timing_flag(&self) -> u32 {
15242        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15243    }
15244    #[inline]
15245    pub fn set_vps_poc_proportional_to_timing_flag(&mut self, val: u32) {
15246        unsafe {
15247            let val: u32 = ::std::mem::transmute(val);
15248            self._bitfield_1.set(3usize, 1u8, val as u64)
15249        }
15250    }
15251    #[inline]
15252    pub fn new_bitfield_1(
15253        vps_temporal_id_nesting_flag: u32,
15254        vps_sub_layer_ordering_info_present_flag: u32,
15255        vps_timing_info_present_flag: u32,
15256        vps_poc_proportional_to_timing_flag: u32,
15257    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
15258        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
15259        __bindgen_bitfield_unit.set(0usize, 1u8, {
15260            let vps_temporal_id_nesting_flag: u32 =
15261                unsafe { ::std::mem::transmute(vps_temporal_id_nesting_flag) };
15262            vps_temporal_id_nesting_flag as u64
15263        });
15264        __bindgen_bitfield_unit.set(1usize, 1u8, {
15265            let vps_sub_layer_ordering_info_present_flag: u32 =
15266                unsafe { ::std::mem::transmute(vps_sub_layer_ordering_info_present_flag) };
15267            vps_sub_layer_ordering_info_present_flag as u64
15268        });
15269        __bindgen_bitfield_unit.set(2usize, 1u8, {
15270            let vps_timing_info_present_flag: u32 =
15271                unsafe { ::std::mem::transmute(vps_timing_info_present_flag) };
15272            vps_timing_info_present_flag as u64
15273        });
15274        __bindgen_bitfield_unit.set(3usize, 1u8, {
15275            let vps_poc_proportional_to_timing_flag: u32 =
15276                unsafe { ::std::mem::transmute(vps_poc_proportional_to_timing_flag) };
15277            vps_poc_proportional_to_timing_flag as u64
15278        });
15279        __bindgen_bitfield_unit
15280    }
15281}
15282#[repr(C)]
15283#[repr(align(4))]
15284#[derive(Debug, Copy, Clone)]
15285pub struct StdVideoH265ProfileTierLevelFlags {
15286    pub _bitfield_align_1: [u8; 0],
15287    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
15288    pub __bindgen_padding_0: [u8; 3usize],
15289}
15290impl StdVideoH265ProfileTierLevelFlags {
15291    #[inline]
15292    pub fn general_tier_flag(&self) -> u32 {
15293        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15294    }
15295    #[inline]
15296    pub fn set_general_tier_flag(&mut self, val: u32) {
15297        unsafe {
15298            let val: u32 = ::std::mem::transmute(val);
15299            self._bitfield_1.set(0usize, 1u8, val as u64)
15300        }
15301    }
15302    #[inline]
15303    pub fn general_progressive_source_flag(&self) -> u32 {
15304        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15305    }
15306    #[inline]
15307    pub fn set_general_progressive_source_flag(&mut self, val: u32) {
15308        unsafe {
15309            let val: u32 = ::std::mem::transmute(val);
15310            self._bitfield_1.set(1usize, 1u8, val as u64)
15311        }
15312    }
15313    #[inline]
15314    pub fn general_interlaced_source_flag(&self) -> u32 {
15315        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15316    }
15317    #[inline]
15318    pub fn set_general_interlaced_source_flag(&mut self, val: u32) {
15319        unsafe {
15320            let val: u32 = ::std::mem::transmute(val);
15321            self._bitfield_1.set(2usize, 1u8, val as u64)
15322        }
15323    }
15324    #[inline]
15325    pub fn general_non_packed_constraint_flag(&self) -> u32 {
15326        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15327    }
15328    #[inline]
15329    pub fn set_general_non_packed_constraint_flag(&mut self, val: u32) {
15330        unsafe {
15331            let val: u32 = ::std::mem::transmute(val);
15332            self._bitfield_1.set(3usize, 1u8, val as u64)
15333        }
15334    }
15335    #[inline]
15336    pub fn general_frame_only_constraint_flag(&self) -> u32 {
15337        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
15338    }
15339    #[inline]
15340    pub fn set_general_frame_only_constraint_flag(&mut self, val: u32) {
15341        unsafe {
15342            let val: u32 = ::std::mem::transmute(val);
15343            self._bitfield_1.set(4usize, 1u8, val as u64)
15344        }
15345    }
15346    #[inline]
15347    pub fn new_bitfield_1(
15348        general_tier_flag: u32,
15349        general_progressive_source_flag: u32,
15350        general_interlaced_source_flag: u32,
15351        general_non_packed_constraint_flag: u32,
15352        general_frame_only_constraint_flag: u32,
15353    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
15354        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
15355        __bindgen_bitfield_unit.set(0usize, 1u8, {
15356            let general_tier_flag: u32 = unsafe { ::std::mem::transmute(general_tier_flag) };
15357            general_tier_flag as u64
15358        });
15359        __bindgen_bitfield_unit.set(1usize, 1u8, {
15360            let general_progressive_source_flag: u32 =
15361                unsafe { ::std::mem::transmute(general_progressive_source_flag) };
15362            general_progressive_source_flag as u64
15363        });
15364        __bindgen_bitfield_unit.set(2usize, 1u8, {
15365            let general_interlaced_source_flag: u32 =
15366                unsafe { ::std::mem::transmute(general_interlaced_source_flag) };
15367            general_interlaced_source_flag as u64
15368        });
15369        __bindgen_bitfield_unit.set(3usize, 1u8, {
15370            let general_non_packed_constraint_flag: u32 =
15371                unsafe { ::std::mem::transmute(general_non_packed_constraint_flag) };
15372            general_non_packed_constraint_flag as u64
15373        });
15374        __bindgen_bitfield_unit.set(4usize, 1u8, {
15375            let general_frame_only_constraint_flag: u32 =
15376                unsafe { ::std::mem::transmute(general_frame_only_constraint_flag) };
15377            general_frame_only_constraint_flag as u64
15378        });
15379        __bindgen_bitfield_unit
15380    }
15381}
15382#[repr(C)]
15383#[derive(Debug, Copy, Clone)]
15384pub struct StdVideoH265ProfileTierLevel {
15385    pub flags: StdVideoH265ProfileTierLevelFlags,
15386    pub general_profile_idc: StdVideoH265ProfileIdc,
15387    pub general_level_idc: StdVideoH265LevelIdc,
15388}
15389#[repr(C)]
15390#[derive(Debug, Copy, Clone)]
15391pub struct StdVideoH265VideoParameterSet {
15392    pub flags: StdVideoH265VpsFlags,
15393    pub vps_video_parameter_set_id: u8,
15394    pub vps_max_sub_layers_minus1: u8,
15395    pub reserved1: u8,
15396    pub reserved2: u8,
15397    pub vps_num_units_in_tick: u32,
15398    pub vps_time_scale: u32,
15399    pub vps_num_ticks_poc_diff_one_minus1: u32,
15400    pub reserved3: u32,
15401    pub pDecPicBufMgr: *const StdVideoH265DecPicBufMgr,
15402    pub pHrdParameters: *const StdVideoH265HrdParameters,
15403    pub pProfileTierLevel: *const StdVideoH265ProfileTierLevel,
15404}
15405#[repr(C)]
15406#[derive(Debug, Copy, Clone)]
15407pub struct StdVideoH265ScalingLists {
15408    pub ScalingList4x4: [[u8; 16usize]; 6usize],
15409    pub ScalingList8x8: [[u8; 64usize]; 6usize],
15410    pub ScalingList16x16: [[u8; 64usize]; 6usize],
15411    pub ScalingList32x32: [[u8; 64usize]; 2usize],
15412    pub ScalingListDCCoef16x16: [u8; 6usize],
15413    pub ScalingListDCCoef32x32: [u8; 2usize],
15414}
15415#[repr(C)]
15416#[repr(align(4))]
15417#[derive(Debug, Copy, Clone)]
15418pub struct StdVideoH265SpsVuiFlags {
15419    pub _bitfield_align_1: [u8; 0],
15420    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
15421    pub __bindgen_padding_0: u8,
15422}
15423impl StdVideoH265SpsVuiFlags {
15424    #[inline]
15425    pub fn aspect_ratio_info_present_flag(&self) -> u32 {
15426        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15427    }
15428    #[inline]
15429    pub fn set_aspect_ratio_info_present_flag(&mut self, val: u32) {
15430        unsafe {
15431            let val: u32 = ::std::mem::transmute(val);
15432            self._bitfield_1.set(0usize, 1u8, val as u64)
15433        }
15434    }
15435    #[inline]
15436    pub fn overscan_info_present_flag(&self) -> u32 {
15437        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15438    }
15439    #[inline]
15440    pub fn set_overscan_info_present_flag(&mut self, val: u32) {
15441        unsafe {
15442            let val: u32 = ::std::mem::transmute(val);
15443            self._bitfield_1.set(1usize, 1u8, val as u64)
15444        }
15445    }
15446    #[inline]
15447    pub fn overscan_appropriate_flag(&self) -> u32 {
15448        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15449    }
15450    #[inline]
15451    pub fn set_overscan_appropriate_flag(&mut self, val: u32) {
15452        unsafe {
15453            let val: u32 = ::std::mem::transmute(val);
15454            self._bitfield_1.set(2usize, 1u8, val as u64)
15455        }
15456    }
15457    #[inline]
15458    pub fn video_signal_type_present_flag(&self) -> u32 {
15459        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15460    }
15461    #[inline]
15462    pub fn set_video_signal_type_present_flag(&mut self, val: u32) {
15463        unsafe {
15464            let val: u32 = ::std::mem::transmute(val);
15465            self._bitfield_1.set(3usize, 1u8, val as u64)
15466        }
15467    }
15468    #[inline]
15469    pub fn video_full_range_flag(&self) -> u32 {
15470        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
15471    }
15472    #[inline]
15473    pub fn set_video_full_range_flag(&mut self, val: u32) {
15474        unsafe {
15475            let val: u32 = ::std::mem::transmute(val);
15476            self._bitfield_1.set(4usize, 1u8, val as u64)
15477        }
15478    }
15479    #[inline]
15480    pub fn colour_description_present_flag(&self) -> u32 {
15481        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
15482    }
15483    #[inline]
15484    pub fn set_colour_description_present_flag(&mut self, val: u32) {
15485        unsafe {
15486            let val: u32 = ::std::mem::transmute(val);
15487            self._bitfield_1.set(5usize, 1u8, val as u64)
15488        }
15489    }
15490    #[inline]
15491    pub fn chroma_loc_info_present_flag(&self) -> u32 {
15492        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
15493    }
15494    #[inline]
15495    pub fn set_chroma_loc_info_present_flag(&mut self, val: u32) {
15496        unsafe {
15497            let val: u32 = ::std::mem::transmute(val);
15498            self._bitfield_1.set(6usize, 1u8, val as u64)
15499        }
15500    }
15501    #[inline]
15502    pub fn neutral_chroma_indication_flag(&self) -> u32 {
15503        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
15504    }
15505    #[inline]
15506    pub fn set_neutral_chroma_indication_flag(&mut self, val: u32) {
15507        unsafe {
15508            let val: u32 = ::std::mem::transmute(val);
15509            self._bitfield_1.set(7usize, 1u8, val as u64)
15510        }
15511    }
15512    #[inline]
15513    pub fn field_seq_flag(&self) -> u32 {
15514        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
15515    }
15516    #[inline]
15517    pub fn set_field_seq_flag(&mut self, val: u32) {
15518        unsafe {
15519            let val: u32 = ::std::mem::transmute(val);
15520            self._bitfield_1.set(8usize, 1u8, val as u64)
15521        }
15522    }
15523    #[inline]
15524    pub fn frame_field_info_present_flag(&self) -> u32 {
15525        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
15526    }
15527    #[inline]
15528    pub fn set_frame_field_info_present_flag(&mut self, val: u32) {
15529        unsafe {
15530            let val: u32 = ::std::mem::transmute(val);
15531            self._bitfield_1.set(9usize, 1u8, val as u64)
15532        }
15533    }
15534    #[inline]
15535    pub fn default_display_window_flag(&self) -> u32 {
15536        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
15537    }
15538    #[inline]
15539    pub fn set_default_display_window_flag(&mut self, val: u32) {
15540        unsafe {
15541            let val: u32 = ::std::mem::transmute(val);
15542            self._bitfield_1.set(10usize, 1u8, val as u64)
15543        }
15544    }
15545    #[inline]
15546    pub fn vui_timing_info_present_flag(&self) -> u32 {
15547        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
15548    }
15549    #[inline]
15550    pub fn set_vui_timing_info_present_flag(&mut self, val: u32) {
15551        unsafe {
15552            let val: u32 = ::std::mem::transmute(val);
15553            self._bitfield_1.set(11usize, 1u8, val as u64)
15554        }
15555    }
15556    #[inline]
15557    pub fn vui_poc_proportional_to_timing_flag(&self) -> u32 {
15558        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
15559    }
15560    #[inline]
15561    pub fn set_vui_poc_proportional_to_timing_flag(&mut self, val: u32) {
15562        unsafe {
15563            let val: u32 = ::std::mem::transmute(val);
15564            self._bitfield_1.set(12usize, 1u8, val as u64)
15565        }
15566    }
15567    #[inline]
15568    pub fn vui_hrd_parameters_present_flag(&self) -> u32 {
15569        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
15570    }
15571    #[inline]
15572    pub fn set_vui_hrd_parameters_present_flag(&mut self, val: u32) {
15573        unsafe {
15574            let val: u32 = ::std::mem::transmute(val);
15575            self._bitfield_1.set(13usize, 1u8, val as u64)
15576        }
15577    }
15578    #[inline]
15579    pub fn bitstream_restriction_flag(&self) -> u32 {
15580        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
15581    }
15582    #[inline]
15583    pub fn set_bitstream_restriction_flag(&mut self, val: u32) {
15584        unsafe {
15585            let val: u32 = ::std::mem::transmute(val);
15586            self._bitfield_1.set(14usize, 1u8, val as u64)
15587        }
15588    }
15589    #[inline]
15590    pub fn tiles_fixed_structure_flag(&self) -> u32 {
15591        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
15592    }
15593    #[inline]
15594    pub fn set_tiles_fixed_structure_flag(&mut self, val: u32) {
15595        unsafe {
15596            let val: u32 = ::std::mem::transmute(val);
15597            self._bitfield_1.set(15usize, 1u8, val as u64)
15598        }
15599    }
15600    #[inline]
15601    pub fn motion_vectors_over_pic_boundaries_flag(&self) -> u32 {
15602        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
15603    }
15604    #[inline]
15605    pub fn set_motion_vectors_over_pic_boundaries_flag(&mut self, val: u32) {
15606        unsafe {
15607            let val: u32 = ::std::mem::transmute(val);
15608            self._bitfield_1.set(16usize, 1u8, val as u64)
15609        }
15610    }
15611    #[inline]
15612    pub fn restricted_ref_pic_lists_flag(&self) -> u32 {
15613        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
15614    }
15615    #[inline]
15616    pub fn set_restricted_ref_pic_lists_flag(&mut self, val: u32) {
15617        unsafe {
15618            let val: u32 = ::std::mem::transmute(val);
15619            self._bitfield_1.set(17usize, 1u8, val as u64)
15620        }
15621    }
15622    #[inline]
15623    pub fn new_bitfield_1(
15624        aspect_ratio_info_present_flag: u32,
15625        overscan_info_present_flag: u32,
15626        overscan_appropriate_flag: u32,
15627        video_signal_type_present_flag: u32,
15628        video_full_range_flag: u32,
15629        colour_description_present_flag: u32,
15630        chroma_loc_info_present_flag: u32,
15631        neutral_chroma_indication_flag: u32,
15632        field_seq_flag: u32,
15633        frame_field_info_present_flag: u32,
15634        default_display_window_flag: u32,
15635        vui_timing_info_present_flag: u32,
15636        vui_poc_proportional_to_timing_flag: u32,
15637        vui_hrd_parameters_present_flag: u32,
15638        bitstream_restriction_flag: u32,
15639        tiles_fixed_structure_flag: u32,
15640        motion_vectors_over_pic_boundaries_flag: u32,
15641        restricted_ref_pic_lists_flag: u32,
15642    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
15643        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
15644        __bindgen_bitfield_unit.set(0usize, 1u8, {
15645            let aspect_ratio_info_present_flag: u32 =
15646                unsafe { ::std::mem::transmute(aspect_ratio_info_present_flag) };
15647            aspect_ratio_info_present_flag as u64
15648        });
15649        __bindgen_bitfield_unit.set(1usize, 1u8, {
15650            let overscan_info_present_flag: u32 =
15651                unsafe { ::std::mem::transmute(overscan_info_present_flag) };
15652            overscan_info_present_flag as u64
15653        });
15654        __bindgen_bitfield_unit.set(2usize, 1u8, {
15655            let overscan_appropriate_flag: u32 =
15656                unsafe { ::std::mem::transmute(overscan_appropriate_flag) };
15657            overscan_appropriate_flag as u64
15658        });
15659        __bindgen_bitfield_unit.set(3usize, 1u8, {
15660            let video_signal_type_present_flag: u32 =
15661                unsafe { ::std::mem::transmute(video_signal_type_present_flag) };
15662            video_signal_type_present_flag as u64
15663        });
15664        __bindgen_bitfield_unit.set(4usize, 1u8, {
15665            let video_full_range_flag: u32 =
15666                unsafe { ::std::mem::transmute(video_full_range_flag) };
15667            video_full_range_flag as u64
15668        });
15669        __bindgen_bitfield_unit.set(5usize, 1u8, {
15670            let colour_description_present_flag: u32 =
15671                unsafe { ::std::mem::transmute(colour_description_present_flag) };
15672            colour_description_present_flag as u64
15673        });
15674        __bindgen_bitfield_unit.set(6usize, 1u8, {
15675            let chroma_loc_info_present_flag: u32 =
15676                unsafe { ::std::mem::transmute(chroma_loc_info_present_flag) };
15677            chroma_loc_info_present_flag as u64
15678        });
15679        __bindgen_bitfield_unit.set(7usize, 1u8, {
15680            let neutral_chroma_indication_flag: u32 =
15681                unsafe { ::std::mem::transmute(neutral_chroma_indication_flag) };
15682            neutral_chroma_indication_flag as u64
15683        });
15684        __bindgen_bitfield_unit.set(8usize, 1u8, {
15685            let field_seq_flag: u32 = unsafe { ::std::mem::transmute(field_seq_flag) };
15686            field_seq_flag as u64
15687        });
15688        __bindgen_bitfield_unit.set(9usize, 1u8, {
15689            let frame_field_info_present_flag: u32 =
15690                unsafe { ::std::mem::transmute(frame_field_info_present_flag) };
15691            frame_field_info_present_flag as u64
15692        });
15693        __bindgen_bitfield_unit.set(10usize, 1u8, {
15694            let default_display_window_flag: u32 =
15695                unsafe { ::std::mem::transmute(default_display_window_flag) };
15696            default_display_window_flag as u64
15697        });
15698        __bindgen_bitfield_unit.set(11usize, 1u8, {
15699            let vui_timing_info_present_flag: u32 =
15700                unsafe { ::std::mem::transmute(vui_timing_info_present_flag) };
15701            vui_timing_info_present_flag as u64
15702        });
15703        __bindgen_bitfield_unit.set(12usize, 1u8, {
15704            let vui_poc_proportional_to_timing_flag: u32 =
15705                unsafe { ::std::mem::transmute(vui_poc_proportional_to_timing_flag) };
15706            vui_poc_proportional_to_timing_flag as u64
15707        });
15708        __bindgen_bitfield_unit.set(13usize, 1u8, {
15709            let vui_hrd_parameters_present_flag: u32 =
15710                unsafe { ::std::mem::transmute(vui_hrd_parameters_present_flag) };
15711            vui_hrd_parameters_present_flag as u64
15712        });
15713        __bindgen_bitfield_unit.set(14usize, 1u8, {
15714            let bitstream_restriction_flag: u32 =
15715                unsafe { ::std::mem::transmute(bitstream_restriction_flag) };
15716            bitstream_restriction_flag as u64
15717        });
15718        __bindgen_bitfield_unit.set(15usize, 1u8, {
15719            let tiles_fixed_structure_flag: u32 =
15720                unsafe { ::std::mem::transmute(tiles_fixed_structure_flag) };
15721            tiles_fixed_structure_flag as u64
15722        });
15723        __bindgen_bitfield_unit.set(16usize, 1u8, {
15724            let motion_vectors_over_pic_boundaries_flag: u32 =
15725                unsafe { ::std::mem::transmute(motion_vectors_over_pic_boundaries_flag) };
15726            motion_vectors_over_pic_boundaries_flag as u64
15727        });
15728        __bindgen_bitfield_unit.set(17usize, 1u8, {
15729            let restricted_ref_pic_lists_flag: u32 =
15730                unsafe { ::std::mem::transmute(restricted_ref_pic_lists_flag) };
15731            restricted_ref_pic_lists_flag as u64
15732        });
15733        __bindgen_bitfield_unit
15734    }
15735}
15736#[repr(C)]
15737#[derive(Debug, Copy, Clone)]
15738pub struct StdVideoH265SequenceParameterSetVui {
15739    pub flags: StdVideoH265SpsVuiFlags,
15740    pub aspect_ratio_idc: StdVideoH265AspectRatioIdc,
15741    pub sar_width: u16,
15742    pub sar_height: u16,
15743    pub video_format: u8,
15744    pub colour_primaries: u8,
15745    pub transfer_characteristics: u8,
15746    pub matrix_coeffs: u8,
15747    pub chroma_sample_loc_type_top_field: u8,
15748    pub chroma_sample_loc_type_bottom_field: u8,
15749    pub reserved1: u8,
15750    pub reserved2: u8,
15751    pub def_disp_win_left_offset: u16,
15752    pub def_disp_win_right_offset: u16,
15753    pub def_disp_win_top_offset: u16,
15754    pub def_disp_win_bottom_offset: u16,
15755    pub vui_num_units_in_tick: u32,
15756    pub vui_time_scale: u32,
15757    pub vui_num_ticks_poc_diff_one_minus1: u32,
15758    pub min_spatial_segmentation_idc: u16,
15759    pub reserved3: u16,
15760    pub max_bytes_per_pic_denom: u8,
15761    pub max_bits_per_min_cu_denom: u8,
15762    pub log2_max_mv_length_horizontal: u8,
15763    pub log2_max_mv_length_vertical: u8,
15764    pub pHrdParameters: *const StdVideoH265HrdParameters,
15765}
15766#[repr(C)]
15767#[derive(Debug, Copy, Clone)]
15768pub struct StdVideoH265PredictorPaletteEntries {
15769    pub PredictorPaletteEntries: [[u16; 128usize]; 3usize],
15770}
15771#[repr(C)]
15772#[repr(align(4))]
15773#[derive(Debug, Copy, Clone)]
15774pub struct StdVideoH265SpsFlags {
15775    pub _bitfield_align_1: [u8; 0],
15776    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
15777}
15778impl StdVideoH265SpsFlags {
15779    #[inline]
15780    pub fn sps_temporal_id_nesting_flag(&self) -> u32 {
15781        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15782    }
15783    #[inline]
15784    pub fn set_sps_temporal_id_nesting_flag(&mut self, val: u32) {
15785        unsafe {
15786            let val: u32 = ::std::mem::transmute(val);
15787            self._bitfield_1.set(0usize, 1u8, val as u64)
15788        }
15789    }
15790    #[inline]
15791    pub fn separate_colour_plane_flag(&self) -> u32 {
15792        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
15793    }
15794    #[inline]
15795    pub fn set_separate_colour_plane_flag(&mut self, val: u32) {
15796        unsafe {
15797            let val: u32 = ::std::mem::transmute(val);
15798            self._bitfield_1.set(1usize, 1u8, val as u64)
15799        }
15800    }
15801    #[inline]
15802    pub fn conformance_window_flag(&self) -> u32 {
15803        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
15804    }
15805    #[inline]
15806    pub fn set_conformance_window_flag(&mut self, val: u32) {
15807        unsafe {
15808            let val: u32 = ::std::mem::transmute(val);
15809            self._bitfield_1.set(2usize, 1u8, val as u64)
15810        }
15811    }
15812    #[inline]
15813    pub fn sps_sub_layer_ordering_info_present_flag(&self) -> u32 {
15814        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
15815    }
15816    #[inline]
15817    pub fn set_sps_sub_layer_ordering_info_present_flag(&mut self, val: u32) {
15818        unsafe {
15819            let val: u32 = ::std::mem::transmute(val);
15820            self._bitfield_1.set(3usize, 1u8, val as u64)
15821        }
15822    }
15823    #[inline]
15824    pub fn scaling_list_enabled_flag(&self) -> u32 {
15825        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
15826    }
15827    #[inline]
15828    pub fn set_scaling_list_enabled_flag(&mut self, val: u32) {
15829        unsafe {
15830            let val: u32 = ::std::mem::transmute(val);
15831            self._bitfield_1.set(4usize, 1u8, val as u64)
15832        }
15833    }
15834    #[inline]
15835    pub fn sps_scaling_list_data_present_flag(&self) -> u32 {
15836        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
15837    }
15838    #[inline]
15839    pub fn set_sps_scaling_list_data_present_flag(&mut self, val: u32) {
15840        unsafe {
15841            let val: u32 = ::std::mem::transmute(val);
15842            self._bitfield_1.set(5usize, 1u8, val as u64)
15843        }
15844    }
15845    #[inline]
15846    pub fn amp_enabled_flag(&self) -> u32 {
15847        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
15848    }
15849    #[inline]
15850    pub fn set_amp_enabled_flag(&mut self, val: u32) {
15851        unsafe {
15852            let val: u32 = ::std::mem::transmute(val);
15853            self._bitfield_1.set(6usize, 1u8, val as u64)
15854        }
15855    }
15856    #[inline]
15857    pub fn sample_adaptive_offset_enabled_flag(&self) -> u32 {
15858        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
15859    }
15860    #[inline]
15861    pub fn set_sample_adaptive_offset_enabled_flag(&mut self, val: u32) {
15862        unsafe {
15863            let val: u32 = ::std::mem::transmute(val);
15864            self._bitfield_1.set(7usize, 1u8, val as u64)
15865        }
15866    }
15867    #[inline]
15868    pub fn pcm_enabled_flag(&self) -> u32 {
15869        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
15870    }
15871    #[inline]
15872    pub fn set_pcm_enabled_flag(&mut self, val: u32) {
15873        unsafe {
15874            let val: u32 = ::std::mem::transmute(val);
15875            self._bitfield_1.set(8usize, 1u8, val as u64)
15876        }
15877    }
15878    #[inline]
15879    pub fn pcm_loop_filter_disabled_flag(&self) -> u32 {
15880        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
15881    }
15882    #[inline]
15883    pub fn set_pcm_loop_filter_disabled_flag(&mut self, val: u32) {
15884        unsafe {
15885            let val: u32 = ::std::mem::transmute(val);
15886            self._bitfield_1.set(9usize, 1u8, val as u64)
15887        }
15888    }
15889    #[inline]
15890    pub fn long_term_ref_pics_present_flag(&self) -> u32 {
15891        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
15892    }
15893    #[inline]
15894    pub fn set_long_term_ref_pics_present_flag(&mut self, val: u32) {
15895        unsafe {
15896            let val: u32 = ::std::mem::transmute(val);
15897            self._bitfield_1.set(10usize, 1u8, val as u64)
15898        }
15899    }
15900    #[inline]
15901    pub fn sps_temporal_mvp_enabled_flag(&self) -> u32 {
15902        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
15903    }
15904    #[inline]
15905    pub fn set_sps_temporal_mvp_enabled_flag(&mut self, val: u32) {
15906        unsafe {
15907            let val: u32 = ::std::mem::transmute(val);
15908            self._bitfield_1.set(11usize, 1u8, val as u64)
15909        }
15910    }
15911    #[inline]
15912    pub fn strong_intra_smoothing_enabled_flag(&self) -> u32 {
15913        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
15914    }
15915    #[inline]
15916    pub fn set_strong_intra_smoothing_enabled_flag(&mut self, val: u32) {
15917        unsafe {
15918            let val: u32 = ::std::mem::transmute(val);
15919            self._bitfield_1.set(12usize, 1u8, val as u64)
15920        }
15921    }
15922    #[inline]
15923    pub fn vui_parameters_present_flag(&self) -> u32 {
15924        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
15925    }
15926    #[inline]
15927    pub fn set_vui_parameters_present_flag(&mut self, val: u32) {
15928        unsafe {
15929            let val: u32 = ::std::mem::transmute(val);
15930            self._bitfield_1.set(13usize, 1u8, val as u64)
15931        }
15932    }
15933    #[inline]
15934    pub fn sps_extension_present_flag(&self) -> u32 {
15935        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
15936    }
15937    #[inline]
15938    pub fn set_sps_extension_present_flag(&mut self, val: u32) {
15939        unsafe {
15940            let val: u32 = ::std::mem::transmute(val);
15941            self._bitfield_1.set(14usize, 1u8, val as u64)
15942        }
15943    }
15944    #[inline]
15945    pub fn sps_range_extension_flag(&self) -> u32 {
15946        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
15947    }
15948    #[inline]
15949    pub fn set_sps_range_extension_flag(&mut self, val: u32) {
15950        unsafe {
15951            let val: u32 = ::std::mem::transmute(val);
15952            self._bitfield_1.set(15usize, 1u8, val as u64)
15953        }
15954    }
15955    #[inline]
15956    pub fn transform_skip_rotation_enabled_flag(&self) -> u32 {
15957        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
15958    }
15959    #[inline]
15960    pub fn set_transform_skip_rotation_enabled_flag(&mut self, val: u32) {
15961        unsafe {
15962            let val: u32 = ::std::mem::transmute(val);
15963            self._bitfield_1.set(16usize, 1u8, val as u64)
15964        }
15965    }
15966    #[inline]
15967    pub fn transform_skip_context_enabled_flag(&self) -> u32 {
15968        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
15969    }
15970    #[inline]
15971    pub fn set_transform_skip_context_enabled_flag(&mut self, val: u32) {
15972        unsafe {
15973            let val: u32 = ::std::mem::transmute(val);
15974            self._bitfield_1.set(17usize, 1u8, val as u64)
15975        }
15976    }
15977    #[inline]
15978    pub fn implicit_rdpcm_enabled_flag(&self) -> u32 {
15979        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
15980    }
15981    #[inline]
15982    pub fn set_implicit_rdpcm_enabled_flag(&mut self, val: u32) {
15983        unsafe {
15984            let val: u32 = ::std::mem::transmute(val);
15985            self._bitfield_1.set(18usize, 1u8, val as u64)
15986        }
15987    }
15988    #[inline]
15989    pub fn explicit_rdpcm_enabled_flag(&self) -> u32 {
15990        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
15991    }
15992    #[inline]
15993    pub fn set_explicit_rdpcm_enabled_flag(&mut self, val: u32) {
15994        unsafe {
15995            let val: u32 = ::std::mem::transmute(val);
15996            self._bitfield_1.set(19usize, 1u8, val as u64)
15997        }
15998    }
15999    #[inline]
16000    pub fn extended_precision_processing_flag(&self) -> u32 {
16001        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
16002    }
16003    #[inline]
16004    pub fn set_extended_precision_processing_flag(&mut self, val: u32) {
16005        unsafe {
16006            let val: u32 = ::std::mem::transmute(val);
16007            self._bitfield_1.set(20usize, 1u8, val as u64)
16008        }
16009    }
16010    #[inline]
16011    pub fn intra_smoothing_disabled_flag(&self) -> u32 {
16012        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
16013    }
16014    #[inline]
16015    pub fn set_intra_smoothing_disabled_flag(&mut self, val: u32) {
16016        unsafe {
16017            let val: u32 = ::std::mem::transmute(val);
16018            self._bitfield_1.set(21usize, 1u8, val as u64)
16019        }
16020    }
16021    #[inline]
16022    pub fn high_precision_offsets_enabled_flag(&self) -> u32 {
16023        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
16024    }
16025    #[inline]
16026    pub fn set_high_precision_offsets_enabled_flag(&mut self, val: u32) {
16027        unsafe {
16028            let val: u32 = ::std::mem::transmute(val);
16029            self._bitfield_1.set(22usize, 1u8, val as u64)
16030        }
16031    }
16032    #[inline]
16033    pub fn persistent_rice_adaptation_enabled_flag(&self) -> u32 {
16034        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
16035    }
16036    #[inline]
16037    pub fn set_persistent_rice_adaptation_enabled_flag(&mut self, val: u32) {
16038        unsafe {
16039            let val: u32 = ::std::mem::transmute(val);
16040            self._bitfield_1.set(23usize, 1u8, val as u64)
16041        }
16042    }
16043    #[inline]
16044    pub fn cabac_bypass_alignment_enabled_flag(&self) -> u32 {
16045        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
16046    }
16047    #[inline]
16048    pub fn set_cabac_bypass_alignment_enabled_flag(&mut self, val: u32) {
16049        unsafe {
16050            let val: u32 = ::std::mem::transmute(val);
16051            self._bitfield_1.set(24usize, 1u8, val as u64)
16052        }
16053    }
16054    #[inline]
16055    pub fn sps_scc_extension_flag(&self) -> u32 {
16056        unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
16057    }
16058    #[inline]
16059    pub fn set_sps_scc_extension_flag(&mut self, val: u32) {
16060        unsafe {
16061            let val: u32 = ::std::mem::transmute(val);
16062            self._bitfield_1.set(25usize, 1u8, val as u64)
16063        }
16064    }
16065    #[inline]
16066    pub fn sps_curr_pic_ref_enabled_flag(&self) -> u32 {
16067        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
16068    }
16069    #[inline]
16070    pub fn set_sps_curr_pic_ref_enabled_flag(&mut self, val: u32) {
16071        unsafe {
16072            let val: u32 = ::std::mem::transmute(val);
16073            self._bitfield_1.set(26usize, 1u8, val as u64)
16074        }
16075    }
16076    #[inline]
16077    pub fn palette_mode_enabled_flag(&self) -> u32 {
16078        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
16079    }
16080    #[inline]
16081    pub fn set_palette_mode_enabled_flag(&mut self, val: u32) {
16082        unsafe {
16083            let val: u32 = ::std::mem::transmute(val);
16084            self._bitfield_1.set(27usize, 1u8, val as u64)
16085        }
16086    }
16087    #[inline]
16088    pub fn sps_palette_predictor_initializers_present_flag(&self) -> u32 {
16089        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
16090    }
16091    #[inline]
16092    pub fn set_sps_palette_predictor_initializers_present_flag(&mut self, val: u32) {
16093        unsafe {
16094            let val: u32 = ::std::mem::transmute(val);
16095            self._bitfield_1.set(28usize, 1u8, val as u64)
16096        }
16097    }
16098    #[inline]
16099    pub fn intra_boundary_filtering_disabled_flag(&self) -> u32 {
16100        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
16101    }
16102    #[inline]
16103    pub fn set_intra_boundary_filtering_disabled_flag(&mut self, val: u32) {
16104        unsafe {
16105            let val: u32 = ::std::mem::transmute(val);
16106            self._bitfield_1.set(29usize, 1u8, val as u64)
16107        }
16108    }
16109    #[inline]
16110    pub fn new_bitfield_1(
16111        sps_temporal_id_nesting_flag: u32,
16112        separate_colour_plane_flag: u32,
16113        conformance_window_flag: u32,
16114        sps_sub_layer_ordering_info_present_flag: u32,
16115        scaling_list_enabled_flag: u32,
16116        sps_scaling_list_data_present_flag: u32,
16117        amp_enabled_flag: u32,
16118        sample_adaptive_offset_enabled_flag: u32,
16119        pcm_enabled_flag: u32,
16120        pcm_loop_filter_disabled_flag: u32,
16121        long_term_ref_pics_present_flag: u32,
16122        sps_temporal_mvp_enabled_flag: u32,
16123        strong_intra_smoothing_enabled_flag: u32,
16124        vui_parameters_present_flag: u32,
16125        sps_extension_present_flag: u32,
16126        sps_range_extension_flag: u32,
16127        transform_skip_rotation_enabled_flag: u32,
16128        transform_skip_context_enabled_flag: u32,
16129        implicit_rdpcm_enabled_flag: u32,
16130        explicit_rdpcm_enabled_flag: u32,
16131        extended_precision_processing_flag: u32,
16132        intra_smoothing_disabled_flag: u32,
16133        high_precision_offsets_enabled_flag: u32,
16134        persistent_rice_adaptation_enabled_flag: u32,
16135        cabac_bypass_alignment_enabled_flag: u32,
16136        sps_scc_extension_flag: u32,
16137        sps_curr_pic_ref_enabled_flag: u32,
16138        palette_mode_enabled_flag: u32,
16139        sps_palette_predictor_initializers_present_flag: u32,
16140        intra_boundary_filtering_disabled_flag: u32,
16141    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
16142        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
16143        __bindgen_bitfield_unit.set(0usize, 1u8, {
16144            let sps_temporal_id_nesting_flag: u32 =
16145                unsafe { ::std::mem::transmute(sps_temporal_id_nesting_flag) };
16146            sps_temporal_id_nesting_flag as u64
16147        });
16148        __bindgen_bitfield_unit.set(1usize, 1u8, {
16149            let separate_colour_plane_flag: u32 =
16150                unsafe { ::std::mem::transmute(separate_colour_plane_flag) };
16151            separate_colour_plane_flag as u64
16152        });
16153        __bindgen_bitfield_unit.set(2usize, 1u8, {
16154            let conformance_window_flag: u32 =
16155                unsafe { ::std::mem::transmute(conformance_window_flag) };
16156            conformance_window_flag as u64
16157        });
16158        __bindgen_bitfield_unit.set(3usize, 1u8, {
16159            let sps_sub_layer_ordering_info_present_flag: u32 =
16160                unsafe { ::std::mem::transmute(sps_sub_layer_ordering_info_present_flag) };
16161            sps_sub_layer_ordering_info_present_flag as u64
16162        });
16163        __bindgen_bitfield_unit.set(4usize, 1u8, {
16164            let scaling_list_enabled_flag: u32 =
16165                unsafe { ::std::mem::transmute(scaling_list_enabled_flag) };
16166            scaling_list_enabled_flag as u64
16167        });
16168        __bindgen_bitfield_unit.set(5usize, 1u8, {
16169            let sps_scaling_list_data_present_flag: u32 =
16170                unsafe { ::std::mem::transmute(sps_scaling_list_data_present_flag) };
16171            sps_scaling_list_data_present_flag as u64
16172        });
16173        __bindgen_bitfield_unit.set(6usize, 1u8, {
16174            let amp_enabled_flag: u32 = unsafe { ::std::mem::transmute(amp_enabled_flag) };
16175            amp_enabled_flag as u64
16176        });
16177        __bindgen_bitfield_unit.set(7usize, 1u8, {
16178            let sample_adaptive_offset_enabled_flag: u32 =
16179                unsafe { ::std::mem::transmute(sample_adaptive_offset_enabled_flag) };
16180            sample_adaptive_offset_enabled_flag as u64
16181        });
16182        __bindgen_bitfield_unit.set(8usize, 1u8, {
16183            let pcm_enabled_flag: u32 = unsafe { ::std::mem::transmute(pcm_enabled_flag) };
16184            pcm_enabled_flag as u64
16185        });
16186        __bindgen_bitfield_unit.set(9usize, 1u8, {
16187            let pcm_loop_filter_disabled_flag: u32 =
16188                unsafe { ::std::mem::transmute(pcm_loop_filter_disabled_flag) };
16189            pcm_loop_filter_disabled_flag as u64
16190        });
16191        __bindgen_bitfield_unit.set(10usize, 1u8, {
16192            let long_term_ref_pics_present_flag: u32 =
16193                unsafe { ::std::mem::transmute(long_term_ref_pics_present_flag) };
16194            long_term_ref_pics_present_flag as u64
16195        });
16196        __bindgen_bitfield_unit.set(11usize, 1u8, {
16197            let sps_temporal_mvp_enabled_flag: u32 =
16198                unsafe { ::std::mem::transmute(sps_temporal_mvp_enabled_flag) };
16199            sps_temporal_mvp_enabled_flag as u64
16200        });
16201        __bindgen_bitfield_unit.set(12usize, 1u8, {
16202            let strong_intra_smoothing_enabled_flag: u32 =
16203                unsafe { ::std::mem::transmute(strong_intra_smoothing_enabled_flag) };
16204            strong_intra_smoothing_enabled_flag as u64
16205        });
16206        __bindgen_bitfield_unit.set(13usize, 1u8, {
16207            let vui_parameters_present_flag: u32 =
16208                unsafe { ::std::mem::transmute(vui_parameters_present_flag) };
16209            vui_parameters_present_flag as u64
16210        });
16211        __bindgen_bitfield_unit.set(14usize, 1u8, {
16212            let sps_extension_present_flag: u32 =
16213                unsafe { ::std::mem::transmute(sps_extension_present_flag) };
16214            sps_extension_present_flag as u64
16215        });
16216        __bindgen_bitfield_unit.set(15usize, 1u8, {
16217            let sps_range_extension_flag: u32 =
16218                unsafe { ::std::mem::transmute(sps_range_extension_flag) };
16219            sps_range_extension_flag as u64
16220        });
16221        __bindgen_bitfield_unit.set(16usize, 1u8, {
16222            let transform_skip_rotation_enabled_flag: u32 =
16223                unsafe { ::std::mem::transmute(transform_skip_rotation_enabled_flag) };
16224            transform_skip_rotation_enabled_flag as u64
16225        });
16226        __bindgen_bitfield_unit.set(17usize, 1u8, {
16227            let transform_skip_context_enabled_flag: u32 =
16228                unsafe { ::std::mem::transmute(transform_skip_context_enabled_flag) };
16229            transform_skip_context_enabled_flag as u64
16230        });
16231        __bindgen_bitfield_unit.set(18usize, 1u8, {
16232            let implicit_rdpcm_enabled_flag: u32 =
16233                unsafe { ::std::mem::transmute(implicit_rdpcm_enabled_flag) };
16234            implicit_rdpcm_enabled_flag as u64
16235        });
16236        __bindgen_bitfield_unit.set(19usize, 1u8, {
16237            let explicit_rdpcm_enabled_flag: u32 =
16238                unsafe { ::std::mem::transmute(explicit_rdpcm_enabled_flag) };
16239            explicit_rdpcm_enabled_flag as u64
16240        });
16241        __bindgen_bitfield_unit.set(20usize, 1u8, {
16242            let extended_precision_processing_flag: u32 =
16243                unsafe { ::std::mem::transmute(extended_precision_processing_flag) };
16244            extended_precision_processing_flag as u64
16245        });
16246        __bindgen_bitfield_unit.set(21usize, 1u8, {
16247            let intra_smoothing_disabled_flag: u32 =
16248                unsafe { ::std::mem::transmute(intra_smoothing_disabled_flag) };
16249            intra_smoothing_disabled_flag as u64
16250        });
16251        __bindgen_bitfield_unit.set(22usize, 1u8, {
16252            let high_precision_offsets_enabled_flag: u32 =
16253                unsafe { ::std::mem::transmute(high_precision_offsets_enabled_flag) };
16254            high_precision_offsets_enabled_flag as u64
16255        });
16256        __bindgen_bitfield_unit.set(23usize, 1u8, {
16257            let persistent_rice_adaptation_enabled_flag: u32 =
16258                unsafe { ::std::mem::transmute(persistent_rice_adaptation_enabled_flag) };
16259            persistent_rice_adaptation_enabled_flag as u64
16260        });
16261        __bindgen_bitfield_unit.set(24usize, 1u8, {
16262            let cabac_bypass_alignment_enabled_flag: u32 =
16263                unsafe { ::std::mem::transmute(cabac_bypass_alignment_enabled_flag) };
16264            cabac_bypass_alignment_enabled_flag as u64
16265        });
16266        __bindgen_bitfield_unit.set(25usize, 1u8, {
16267            let sps_scc_extension_flag: u32 =
16268                unsafe { ::std::mem::transmute(sps_scc_extension_flag) };
16269            sps_scc_extension_flag as u64
16270        });
16271        __bindgen_bitfield_unit.set(26usize, 1u8, {
16272            let sps_curr_pic_ref_enabled_flag: u32 =
16273                unsafe { ::std::mem::transmute(sps_curr_pic_ref_enabled_flag) };
16274            sps_curr_pic_ref_enabled_flag as u64
16275        });
16276        __bindgen_bitfield_unit.set(27usize, 1u8, {
16277            let palette_mode_enabled_flag: u32 =
16278                unsafe { ::std::mem::transmute(palette_mode_enabled_flag) };
16279            palette_mode_enabled_flag as u64
16280        });
16281        __bindgen_bitfield_unit.set(28usize, 1u8, {
16282            let sps_palette_predictor_initializers_present_flag: u32 =
16283                unsafe { ::std::mem::transmute(sps_palette_predictor_initializers_present_flag) };
16284            sps_palette_predictor_initializers_present_flag as u64
16285        });
16286        __bindgen_bitfield_unit.set(29usize, 1u8, {
16287            let intra_boundary_filtering_disabled_flag: u32 =
16288                unsafe { ::std::mem::transmute(intra_boundary_filtering_disabled_flag) };
16289            intra_boundary_filtering_disabled_flag as u64
16290        });
16291        __bindgen_bitfield_unit
16292    }
16293}
16294#[repr(C)]
16295#[repr(align(4))]
16296#[derive(Debug, Copy, Clone)]
16297pub struct StdVideoH265ShortTermRefPicSetFlags {
16298    pub _bitfield_align_1: [u8; 0],
16299    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
16300    pub __bindgen_padding_0: [u8; 3usize],
16301}
16302impl StdVideoH265ShortTermRefPicSetFlags {
16303    #[inline]
16304    pub fn inter_ref_pic_set_prediction_flag(&self) -> u32 {
16305        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
16306    }
16307    #[inline]
16308    pub fn set_inter_ref_pic_set_prediction_flag(&mut self, val: u32) {
16309        unsafe {
16310            let val: u32 = ::std::mem::transmute(val);
16311            self._bitfield_1.set(0usize, 1u8, val as u64)
16312        }
16313    }
16314    #[inline]
16315    pub fn delta_rps_sign(&self) -> u32 {
16316        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
16317    }
16318    #[inline]
16319    pub fn set_delta_rps_sign(&mut self, val: u32) {
16320        unsafe {
16321            let val: u32 = ::std::mem::transmute(val);
16322            self._bitfield_1.set(1usize, 1u8, val as u64)
16323        }
16324    }
16325    #[inline]
16326    pub fn new_bitfield_1(
16327        inter_ref_pic_set_prediction_flag: u32,
16328        delta_rps_sign: u32,
16329    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
16330        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
16331        __bindgen_bitfield_unit.set(0usize, 1u8, {
16332            let inter_ref_pic_set_prediction_flag: u32 =
16333                unsafe { ::std::mem::transmute(inter_ref_pic_set_prediction_flag) };
16334            inter_ref_pic_set_prediction_flag as u64
16335        });
16336        __bindgen_bitfield_unit.set(1usize, 1u8, {
16337            let delta_rps_sign: u32 = unsafe { ::std::mem::transmute(delta_rps_sign) };
16338            delta_rps_sign as u64
16339        });
16340        __bindgen_bitfield_unit
16341    }
16342}
16343#[repr(C)]
16344#[derive(Debug, Copy, Clone)]
16345pub struct StdVideoH265ShortTermRefPicSet {
16346    pub flags: StdVideoH265ShortTermRefPicSetFlags,
16347    pub delta_idx_minus1: u32,
16348    pub use_delta_flag: u16,
16349    pub abs_delta_rps_minus1: u16,
16350    pub used_by_curr_pic_flag: u16,
16351    pub used_by_curr_pic_s0_flag: u16,
16352    pub used_by_curr_pic_s1_flag: u16,
16353    pub reserved1: u16,
16354    pub reserved2: u8,
16355    pub reserved3: u8,
16356    pub num_negative_pics: u8,
16357    pub num_positive_pics: u8,
16358    pub delta_poc_s0_minus1: [u16; 16usize],
16359    pub delta_poc_s1_minus1: [u16; 16usize],
16360}
16361#[repr(C)]
16362#[derive(Debug, Copy, Clone)]
16363pub struct StdVideoH265LongTermRefPicsSps {
16364    pub used_by_curr_pic_lt_sps_flag: u32,
16365    pub lt_ref_pic_poc_lsb_sps: [u32; 32usize],
16366}
16367#[repr(C)]
16368#[derive(Debug, Copy, Clone)]
16369pub struct StdVideoH265SequenceParameterSet {
16370    pub flags: StdVideoH265SpsFlags,
16371    pub chroma_format_idc: StdVideoH265ChromaFormatIdc,
16372    pub pic_width_in_luma_samples: u32,
16373    pub pic_height_in_luma_samples: u32,
16374    pub sps_video_parameter_set_id: u8,
16375    pub sps_max_sub_layers_minus1: u8,
16376    pub sps_seq_parameter_set_id: u8,
16377    pub bit_depth_luma_minus8: u8,
16378    pub bit_depth_chroma_minus8: u8,
16379    pub log2_max_pic_order_cnt_lsb_minus4: u8,
16380    pub log2_min_luma_coding_block_size_minus3: u8,
16381    pub log2_diff_max_min_luma_coding_block_size: u8,
16382    pub log2_min_luma_transform_block_size_minus2: u8,
16383    pub log2_diff_max_min_luma_transform_block_size: u8,
16384    pub max_transform_hierarchy_depth_inter: u8,
16385    pub max_transform_hierarchy_depth_intra: u8,
16386    pub num_short_term_ref_pic_sets: u8,
16387    pub num_long_term_ref_pics_sps: u8,
16388    pub pcm_sample_bit_depth_luma_minus1: u8,
16389    pub pcm_sample_bit_depth_chroma_minus1: u8,
16390    pub log2_min_pcm_luma_coding_block_size_minus3: u8,
16391    pub log2_diff_max_min_pcm_luma_coding_block_size: u8,
16392    pub reserved1: u8,
16393    pub reserved2: u8,
16394    pub palette_max_size: u8,
16395    pub delta_palette_max_predictor_size: u8,
16396    pub motion_vector_resolution_control_idc: u8,
16397    pub sps_num_palette_predictor_initializers_minus1: u8,
16398    pub conf_win_left_offset: u32,
16399    pub conf_win_right_offset: u32,
16400    pub conf_win_top_offset: u32,
16401    pub conf_win_bottom_offset: u32,
16402    pub pProfileTierLevel: *const StdVideoH265ProfileTierLevel,
16403    pub pDecPicBufMgr: *const StdVideoH265DecPicBufMgr,
16404    pub pScalingLists: *const StdVideoH265ScalingLists,
16405    pub pShortTermRefPicSet: *const StdVideoH265ShortTermRefPicSet,
16406    pub pLongTermRefPicsSps: *const StdVideoH265LongTermRefPicsSps,
16407    pub pSequenceParameterSetVui: *const StdVideoH265SequenceParameterSetVui,
16408    pub pPredictorPaletteEntries: *const StdVideoH265PredictorPaletteEntries,
16409}
16410#[repr(C)]
16411#[repr(align(4))]
16412#[derive(Debug, Copy, Clone)]
16413pub struct StdVideoH265PpsFlags {
16414    pub _bitfield_align_1: [u8; 0],
16415    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
16416}
16417impl StdVideoH265PpsFlags {
16418    #[inline]
16419    pub fn dependent_slice_segments_enabled_flag(&self) -> u32 {
16420        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
16421    }
16422    #[inline]
16423    pub fn set_dependent_slice_segments_enabled_flag(&mut self, val: u32) {
16424        unsafe {
16425            let val: u32 = ::std::mem::transmute(val);
16426            self._bitfield_1.set(0usize, 1u8, val as u64)
16427        }
16428    }
16429    #[inline]
16430    pub fn output_flag_present_flag(&self) -> u32 {
16431        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
16432    }
16433    #[inline]
16434    pub fn set_output_flag_present_flag(&mut self, val: u32) {
16435        unsafe {
16436            let val: u32 = ::std::mem::transmute(val);
16437            self._bitfield_1.set(1usize, 1u8, val as u64)
16438        }
16439    }
16440    #[inline]
16441    pub fn sign_data_hiding_enabled_flag(&self) -> u32 {
16442        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
16443    }
16444    #[inline]
16445    pub fn set_sign_data_hiding_enabled_flag(&mut self, val: u32) {
16446        unsafe {
16447            let val: u32 = ::std::mem::transmute(val);
16448            self._bitfield_1.set(2usize, 1u8, val as u64)
16449        }
16450    }
16451    #[inline]
16452    pub fn cabac_init_present_flag(&self) -> u32 {
16453        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
16454    }
16455    #[inline]
16456    pub fn set_cabac_init_present_flag(&mut self, val: u32) {
16457        unsafe {
16458            let val: u32 = ::std::mem::transmute(val);
16459            self._bitfield_1.set(3usize, 1u8, val as u64)
16460        }
16461    }
16462    #[inline]
16463    pub fn constrained_intra_pred_flag(&self) -> u32 {
16464        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
16465    }
16466    #[inline]
16467    pub fn set_constrained_intra_pred_flag(&mut self, val: u32) {
16468        unsafe {
16469            let val: u32 = ::std::mem::transmute(val);
16470            self._bitfield_1.set(4usize, 1u8, val as u64)
16471        }
16472    }
16473    #[inline]
16474    pub fn transform_skip_enabled_flag(&self) -> u32 {
16475        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
16476    }
16477    #[inline]
16478    pub fn set_transform_skip_enabled_flag(&mut self, val: u32) {
16479        unsafe {
16480            let val: u32 = ::std::mem::transmute(val);
16481            self._bitfield_1.set(5usize, 1u8, val as u64)
16482        }
16483    }
16484    #[inline]
16485    pub fn cu_qp_delta_enabled_flag(&self) -> u32 {
16486        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
16487    }
16488    #[inline]
16489    pub fn set_cu_qp_delta_enabled_flag(&mut self, val: u32) {
16490        unsafe {
16491            let val: u32 = ::std::mem::transmute(val);
16492            self._bitfield_1.set(6usize, 1u8, val as u64)
16493        }
16494    }
16495    #[inline]
16496    pub fn pps_slice_chroma_qp_offsets_present_flag(&self) -> u32 {
16497        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
16498    }
16499    #[inline]
16500    pub fn set_pps_slice_chroma_qp_offsets_present_flag(&mut self, val: u32) {
16501        unsafe {
16502            let val: u32 = ::std::mem::transmute(val);
16503            self._bitfield_1.set(7usize, 1u8, val as u64)
16504        }
16505    }
16506    #[inline]
16507    pub fn weighted_pred_flag(&self) -> u32 {
16508        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
16509    }
16510    #[inline]
16511    pub fn set_weighted_pred_flag(&mut self, val: u32) {
16512        unsafe {
16513            let val: u32 = ::std::mem::transmute(val);
16514            self._bitfield_1.set(8usize, 1u8, val as u64)
16515        }
16516    }
16517    #[inline]
16518    pub fn weighted_bipred_flag(&self) -> u32 {
16519        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
16520    }
16521    #[inline]
16522    pub fn set_weighted_bipred_flag(&mut self, val: u32) {
16523        unsafe {
16524            let val: u32 = ::std::mem::transmute(val);
16525            self._bitfield_1.set(9usize, 1u8, val as u64)
16526        }
16527    }
16528    #[inline]
16529    pub fn transquant_bypass_enabled_flag(&self) -> u32 {
16530        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
16531    }
16532    #[inline]
16533    pub fn set_transquant_bypass_enabled_flag(&mut self, val: u32) {
16534        unsafe {
16535            let val: u32 = ::std::mem::transmute(val);
16536            self._bitfield_1.set(10usize, 1u8, val as u64)
16537        }
16538    }
16539    #[inline]
16540    pub fn tiles_enabled_flag(&self) -> u32 {
16541        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
16542    }
16543    #[inline]
16544    pub fn set_tiles_enabled_flag(&mut self, val: u32) {
16545        unsafe {
16546            let val: u32 = ::std::mem::transmute(val);
16547            self._bitfield_1.set(11usize, 1u8, val as u64)
16548        }
16549    }
16550    #[inline]
16551    pub fn entropy_coding_sync_enabled_flag(&self) -> u32 {
16552        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
16553    }
16554    #[inline]
16555    pub fn set_entropy_coding_sync_enabled_flag(&mut self, val: u32) {
16556        unsafe {
16557            let val: u32 = ::std::mem::transmute(val);
16558            self._bitfield_1.set(12usize, 1u8, val as u64)
16559        }
16560    }
16561    #[inline]
16562    pub fn uniform_spacing_flag(&self) -> u32 {
16563        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
16564    }
16565    #[inline]
16566    pub fn set_uniform_spacing_flag(&mut self, val: u32) {
16567        unsafe {
16568            let val: u32 = ::std::mem::transmute(val);
16569            self._bitfield_1.set(13usize, 1u8, val as u64)
16570        }
16571    }
16572    #[inline]
16573    pub fn loop_filter_across_tiles_enabled_flag(&self) -> u32 {
16574        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
16575    }
16576    #[inline]
16577    pub fn set_loop_filter_across_tiles_enabled_flag(&mut self, val: u32) {
16578        unsafe {
16579            let val: u32 = ::std::mem::transmute(val);
16580            self._bitfield_1.set(14usize, 1u8, val as u64)
16581        }
16582    }
16583    #[inline]
16584    pub fn pps_loop_filter_across_slices_enabled_flag(&self) -> u32 {
16585        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
16586    }
16587    #[inline]
16588    pub fn set_pps_loop_filter_across_slices_enabled_flag(&mut self, val: u32) {
16589        unsafe {
16590            let val: u32 = ::std::mem::transmute(val);
16591            self._bitfield_1.set(15usize, 1u8, val as u64)
16592        }
16593    }
16594    #[inline]
16595    pub fn deblocking_filter_control_present_flag(&self) -> u32 {
16596        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
16597    }
16598    #[inline]
16599    pub fn set_deblocking_filter_control_present_flag(&mut self, val: u32) {
16600        unsafe {
16601            let val: u32 = ::std::mem::transmute(val);
16602            self._bitfield_1.set(16usize, 1u8, val as u64)
16603        }
16604    }
16605    #[inline]
16606    pub fn deblocking_filter_override_enabled_flag(&self) -> u32 {
16607        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
16608    }
16609    #[inline]
16610    pub fn set_deblocking_filter_override_enabled_flag(&mut self, val: u32) {
16611        unsafe {
16612            let val: u32 = ::std::mem::transmute(val);
16613            self._bitfield_1.set(17usize, 1u8, val as u64)
16614        }
16615    }
16616    #[inline]
16617    pub fn pps_deblocking_filter_disabled_flag(&self) -> u32 {
16618        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
16619    }
16620    #[inline]
16621    pub fn set_pps_deblocking_filter_disabled_flag(&mut self, val: u32) {
16622        unsafe {
16623            let val: u32 = ::std::mem::transmute(val);
16624            self._bitfield_1.set(18usize, 1u8, val as u64)
16625        }
16626    }
16627    #[inline]
16628    pub fn pps_scaling_list_data_present_flag(&self) -> u32 {
16629        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
16630    }
16631    #[inline]
16632    pub fn set_pps_scaling_list_data_present_flag(&mut self, val: u32) {
16633        unsafe {
16634            let val: u32 = ::std::mem::transmute(val);
16635            self._bitfield_1.set(19usize, 1u8, val as u64)
16636        }
16637    }
16638    #[inline]
16639    pub fn lists_modification_present_flag(&self) -> u32 {
16640        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
16641    }
16642    #[inline]
16643    pub fn set_lists_modification_present_flag(&mut self, val: u32) {
16644        unsafe {
16645            let val: u32 = ::std::mem::transmute(val);
16646            self._bitfield_1.set(20usize, 1u8, val as u64)
16647        }
16648    }
16649    #[inline]
16650    pub fn slice_segment_header_extension_present_flag(&self) -> u32 {
16651        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
16652    }
16653    #[inline]
16654    pub fn set_slice_segment_header_extension_present_flag(&mut self, val: u32) {
16655        unsafe {
16656            let val: u32 = ::std::mem::transmute(val);
16657            self._bitfield_1.set(21usize, 1u8, val as u64)
16658        }
16659    }
16660    #[inline]
16661    pub fn pps_extension_present_flag(&self) -> u32 {
16662        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
16663    }
16664    #[inline]
16665    pub fn set_pps_extension_present_flag(&mut self, val: u32) {
16666        unsafe {
16667            let val: u32 = ::std::mem::transmute(val);
16668            self._bitfield_1.set(22usize, 1u8, val as u64)
16669        }
16670    }
16671    #[inline]
16672    pub fn cross_component_prediction_enabled_flag(&self) -> u32 {
16673        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
16674    }
16675    #[inline]
16676    pub fn set_cross_component_prediction_enabled_flag(&mut self, val: u32) {
16677        unsafe {
16678            let val: u32 = ::std::mem::transmute(val);
16679            self._bitfield_1.set(23usize, 1u8, val as u64)
16680        }
16681    }
16682    #[inline]
16683    pub fn chroma_qp_offset_list_enabled_flag(&self) -> u32 {
16684        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
16685    }
16686    #[inline]
16687    pub fn set_chroma_qp_offset_list_enabled_flag(&mut self, val: u32) {
16688        unsafe {
16689            let val: u32 = ::std::mem::transmute(val);
16690            self._bitfield_1.set(24usize, 1u8, val as u64)
16691        }
16692    }
16693    #[inline]
16694    pub fn pps_curr_pic_ref_enabled_flag(&self) -> u32 {
16695        unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
16696    }
16697    #[inline]
16698    pub fn set_pps_curr_pic_ref_enabled_flag(&mut self, val: u32) {
16699        unsafe {
16700            let val: u32 = ::std::mem::transmute(val);
16701            self._bitfield_1.set(25usize, 1u8, val as u64)
16702        }
16703    }
16704    #[inline]
16705    pub fn residual_adaptive_colour_transform_enabled_flag(&self) -> u32 {
16706        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
16707    }
16708    #[inline]
16709    pub fn set_residual_adaptive_colour_transform_enabled_flag(&mut self, val: u32) {
16710        unsafe {
16711            let val: u32 = ::std::mem::transmute(val);
16712            self._bitfield_1.set(26usize, 1u8, val as u64)
16713        }
16714    }
16715    #[inline]
16716    pub fn pps_slice_act_qp_offsets_present_flag(&self) -> u32 {
16717        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
16718    }
16719    #[inline]
16720    pub fn set_pps_slice_act_qp_offsets_present_flag(&mut self, val: u32) {
16721        unsafe {
16722            let val: u32 = ::std::mem::transmute(val);
16723            self._bitfield_1.set(27usize, 1u8, val as u64)
16724        }
16725    }
16726    #[inline]
16727    pub fn pps_palette_predictor_initializers_present_flag(&self) -> u32 {
16728        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
16729    }
16730    #[inline]
16731    pub fn set_pps_palette_predictor_initializers_present_flag(&mut self, val: u32) {
16732        unsafe {
16733            let val: u32 = ::std::mem::transmute(val);
16734            self._bitfield_1.set(28usize, 1u8, val as u64)
16735        }
16736    }
16737    #[inline]
16738    pub fn monochrome_palette_flag(&self) -> u32 {
16739        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
16740    }
16741    #[inline]
16742    pub fn set_monochrome_palette_flag(&mut self, val: u32) {
16743        unsafe {
16744            let val: u32 = ::std::mem::transmute(val);
16745            self._bitfield_1.set(29usize, 1u8, val as u64)
16746        }
16747    }
16748    #[inline]
16749    pub fn pps_range_extension_flag(&self) -> u32 {
16750        unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
16751    }
16752    #[inline]
16753    pub fn set_pps_range_extension_flag(&mut self, val: u32) {
16754        unsafe {
16755            let val: u32 = ::std::mem::transmute(val);
16756            self._bitfield_1.set(30usize, 1u8, val as u64)
16757        }
16758    }
16759    #[inline]
16760    pub fn new_bitfield_1(
16761        dependent_slice_segments_enabled_flag: u32,
16762        output_flag_present_flag: u32,
16763        sign_data_hiding_enabled_flag: u32,
16764        cabac_init_present_flag: u32,
16765        constrained_intra_pred_flag: u32,
16766        transform_skip_enabled_flag: u32,
16767        cu_qp_delta_enabled_flag: u32,
16768        pps_slice_chroma_qp_offsets_present_flag: u32,
16769        weighted_pred_flag: u32,
16770        weighted_bipred_flag: u32,
16771        transquant_bypass_enabled_flag: u32,
16772        tiles_enabled_flag: u32,
16773        entropy_coding_sync_enabled_flag: u32,
16774        uniform_spacing_flag: u32,
16775        loop_filter_across_tiles_enabled_flag: u32,
16776        pps_loop_filter_across_slices_enabled_flag: u32,
16777        deblocking_filter_control_present_flag: u32,
16778        deblocking_filter_override_enabled_flag: u32,
16779        pps_deblocking_filter_disabled_flag: u32,
16780        pps_scaling_list_data_present_flag: u32,
16781        lists_modification_present_flag: u32,
16782        slice_segment_header_extension_present_flag: u32,
16783        pps_extension_present_flag: u32,
16784        cross_component_prediction_enabled_flag: u32,
16785        chroma_qp_offset_list_enabled_flag: u32,
16786        pps_curr_pic_ref_enabled_flag: u32,
16787        residual_adaptive_colour_transform_enabled_flag: u32,
16788        pps_slice_act_qp_offsets_present_flag: u32,
16789        pps_palette_predictor_initializers_present_flag: u32,
16790        monochrome_palette_flag: u32,
16791        pps_range_extension_flag: u32,
16792    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
16793        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
16794        __bindgen_bitfield_unit.set(0usize, 1u8, {
16795            let dependent_slice_segments_enabled_flag: u32 =
16796                unsafe { ::std::mem::transmute(dependent_slice_segments_enabled_flag) };
16797            dependent_slice_segments_enabled_flag as u64
16798        });
16799        __bindgen_bitfield_unit.set(1usize, 1u8, {
16800            let output_flag_present_flag: u32 =
16801                unsafe { ::std::mem::transmute(output_flag_present_flag) };
16802            output_flag_present_flag as u64
16803        });
16804        __bindgen_bitfield_unit.set(2usize, 1u8, {
16805            let sign_data_hiding_enabled_flag: u32 =
16806                unsafe { ::std::mem::transmute(sign_data_hiding_enabled_flag) };
16807            sign_data_hiding_enabled_flag as u64
16808        });
16809        __bindgen_bitfield_unit.set(3usize, 1u8, {
16810            let cabac_init_present_flag: u32 =
16811                unsafe { ::std::mem::transmute(cabac_init_present_flag) };
16812            cabac_init_present_flag as u64
16813        });
16814        __bindgen_bitfield_unit.set(4usize, 1u8, {
16815            let constrained_intra_pred_flag: u32 =
16816                unsafe { ::std::mem::transmute(constrained_intra_pred_flag) };
16817            constrained_intra_pred_flag as u64
16818        });
16819        __bindgen_bitfield_unit.set(5usize, 1u8, {
16820            let transform_skip_enabled_flag: u32 =
16821                unsafe { ::std::mem::transmute(transform_skip_enabled_flag) };
16822            transform_skip_enabled_flag as u64
16823        });
16824        __bindgen_bitfield_unit.set(6usize, 1u8, {
16825            let cu_qp_delta_enabled_flag: u32 =
16826                unsafe { ::std::mem::transmute(cu_qp_delta_enabled_flag) };
16827            cu_qp_delta_enabled_flag as u64
16828        });
16829        __bindgen_bitfield_unit.set(7usize, 1u8, {
16830            let pps_slice_chroma_qp_offsets_present_flag: u32 =
16831                unsafe { ::std::mem::transmute(pps_slice_chroma_qp_offsets_present_flag) };
16832            pps_slice_chroma_qp_offsets_present_flag as u64
16833        });
16834        __bindgen_bitfield_unit.set(8usize, 1u8, {
16835            let weighted_pred_flag: u32 = unsafe { ::std::mem::transmute(weighted_pred_flag) };
16836            weighted_pred_flag as u64
16837        });
16838        __bindgen_bitfield_unit.set(9usize, 1u8, {
16839            let weighted_bipred_flag: u32 = unsafe { ::std::mem::transmute(weighted_bipred_flag) };
16840            weighted_bipred_flag as u64
16841        });
16842        __bindgen_bitfield_unit.set(10usize, 1u8, {
16843            let transquant_bypass_enabled_flag: u32 =
16844                unsafe { ::std::mem::transmute(transquant_bypass_enabled_flag) };
16845            transquant_bypass_enabled_flag as u64
16846        });
16847        __bindgen_bitfield_unit.set(11usize, 1u8, {
16848            let tiles_enabled_flag: u32 = unsafe { ::std::mem::transmute(tiles_enabled_flag) };
16849            tiles_enabled_flag as u64
16850        });
16851        __bindgen_bitfield_unit.set(12usize, 1u8, {
16852            let entropy_coding_sync_enabled_flag: u32 =
16853                unsafe { ::std::mem::transmute(entropy_coding_sync_enabled_flag) };
16854            entropy_coding_sync_enabled_flag as u64
16855        });
16856        __bindgen_bitfield_unit.set(13usize, 1u8, {
16857            let uniform_spacing_flag: u32 = unsafe { ::std::mem::transmute(uniform_spacing_flag) };
16858            uniform_spacing_flag as u64
16859        });
16860        __bindgen_bitfield_unit.set(14usize, 1u8, {
16861            let loop_filter_across_tiles_enabled_flag: u32 =
16862                unsafe { ::std::mem::transmute(loop_filter_across_tiles_enabled_flag) };
16863            loop_filter_across_tiles_enabled_flag as u64
16864        });
16865        __bindgen_bitfield_unit.set(15usize, 1u8, {
16866            let pps_loop_filter_across_slices_enabled_flag: u32 =
16867                unsafe { ::std::mem::transmute(pps_loop_filter_across_slices_enabled_flag) };
16868            pps_loop_filter_across_slices_enabled_flag as u64
16869        });
16870        __bindgen_bitfield_unit.set(16usize, 1u8, {
16871            let deblocking_filter_control_present_flag: u32 =
16872                unsafe { ::std::mem::transmute(deblocking_filter_control_present_flag) };
16873            deblocking_filter_control_present_flag as u64
16874        });
16875        __bindgen_bitfield_unit.set(17usize, 1u8, {
16876            let deblocking_filter_override_enabled_flag: u32 =
16877                unsafe { ::std::mem::transmute(deblocking_filter_override_enabled_flag) };
16878            deblocking_filter_override_enabled_flag as u64
16879        });
16880        __bindgen_bitfield_unit.set(18usize, 1u8, {
16881            let pps_deblocking_filter_disabled_flag: u32 =
16882                unsafe { ::std::mem::transmute(pps_deblocking_filter_disabled_flag) };
16883            pps_deblocking_filter_disabled_flag as u64
16884        });
16885        __bindgen_bitfield_unit.set(19usize, 1u8, {
16886            let pps_scaling_list_data_present_flag: u32 =
16887                unsafe { ::std::mem::transmute(pps_scaling_list_data_present_flag) };
16888            pps_scaling_list_data_present_flag as u64
16889        });
16890        __bindgen_bitfield_unit.set(20usize, 1u8, {
16891            let lists_modification_present_flag: u32 =
16892                unsafe { ::std::mem::transmute(lists_modification_present_flag) };
16893            lists_modification_present_flag as u64
16894        });
16895        __bindgen_bitfield_unit.set(21usize, 1u8, {
16896            let slice_segment_header_extension_present_flag: u32 =
16897                unsafe { ::std::mem::transmute(slice_segment_header_extension_present_flag) };
16898            slice_segment_header_extension_present_flag as u64
16899        });
16900        __bindgen_bitfield_unit.set(22usize, 1u8, {
16901            let pps_extension_present_flag: u32 =
16902                unsafe { ::std::mem::transmute(pps_extension_present_flag) };
16903            pps_extension_present_flag as u64
16904        });
16905        __bindgen_bitfield_unit.set(23usize, 1u8, {
16906            let cross_component_prediction_enabled_flag: u32 =
16907                unsafe { ::std::mem::transmute(cross_component_prediction_enabled_flag) };
16908            cross_component_prediction_enabled_flag as u64
16909        });
16910        __bindgen_bitfield_unit.set(24usize, 1u8, {
16911            let chroma_qp_offset_list_enabled_flag: u32 =
16912                unsafe { ::std::mem::transmute(chroma_qp_offset_list_enabled_flag) };
16913            chroma_qp_offset_list_enabled_flag as u64
16914        });
16915        __bindgen_bitfield_unit.set(25usize, 1u8, {
16916            let pps_curr_pic_ref_enabled_flag: u32 =
16917                unsafe { ::std::mem::transmute(pps_curr_pic_ref_enabled_flag) };
16918            pps_curr_pic_ref_enabled_flag as u64
16919        });
16920        __bindgen_bitfield_unit.set(26usize, 1u8, {
16921            let residual_adaptive_colour_transform_enabled_flag: u32 =
16922                unsafe { ::std::mem::transmute(residual_adaptive_colour_transform_enabled_flag) };
16923            residual_adaptive_colour_transform_enabled_flag as u64
16924        });
16925        __bindgen_bitfield_unit.set(27usize, 1u8, {
16926            let pps_slice_act_qp_offsets_present_flag: u32 =
16927                unsafe { ::std::mem::transmute(pps_slice_act_qp_offsets_present_flag) };
16928            pps_slice_act_qp_offsets_present_flag as u64
16929        });
16930        __bindgen_bitfield_unit.set(28usize, 1u8, {
16931            let pps_palette_predictor_initializers_present_flag: u32 =
16932                unsafe { ::std::mem::transmute(pps_palette_predictor_initializers_present_flag) };
16933            pps_palette_predictor_initializers_present_flag as u64
16934        });
16935        __bindgen_bitfield_unit.set(29usize, 1u8, {
16936            let monochrome_palette_flag: u32 =
16937                unsafe { ::std::mem::transmute(monochrome_palette_flag) };
16938            monochrome_palette_flag as u64
16939        });
16940        __bindgen_bitfield_unit.set(30usize, 1u8, {
16941            let pps_range_extension_flag: u32 =
16942                unsafe { ::std::mem::transmute(pps_range_extension_flag) };
16943            pps_range_extension_flag as u64
16944        });
16945        __bindgen_bitfield_unit
16946    }
16947}
16948#[repr(C)]
16949#[derive(Debug, Copy, Clone)]
16950pub struct StdVideoH265PictureParameterSet {
16951    pub flags: StdVideoH265PpsFlags,
16952    pub pps_pic_parameter_set_id: u8,
16953    pub pps_seq_parameter_set_id: u8,
16954    pub sps_video_parameter_set_id: u8,
16955    pub num_extra_slice_header_bits: u8,
16956    pub num_ref_idx_l0_default_active_minus1: u8,
16957    pub num_ref_idx_l1_default_active_minus1: u8,
16958    pub init_qp_minus26: i8,
16959    pub diff_cu_qp_delta_depth: u8,
16960    pub pps_cb_qp_offset: i8,
16961    pub pps_cr_qp_offset: i8,
16962    pub pps_beta_offset_div2: i8,
16963    pub pps_tc_offset_div2: i8,
16964    pub log2_parallel_merge_level_minus2: u8,
16965    pub log2_max_transform_skip_block_size_minus2: u8,
16966    pub diff_cu_chroma_qp_offset_depth: u8,
16967    pub chroma_qp_offset_list_len_minus1: u8,
16968    pub cb_qp_offset_list: [i8; 6usize],
16969    pub cr_qp_offset_list: [i8; 6usize],
16970    pub log2_sao_offset_scale_luma: u8,
16971    pub log2_sao_offset_scale_chroma: u8,
16972    pub pps_act_y_qp_offset_plus5: i8,
16973    pub pps_act_cb_qp_offset_plus5: i8,
16974    pub pps_act_cr_qp_offset_plus3: i8,
16975    pub pps_num_palette_predictor_initializers: u8,
16976    pub luma_bit_depth_entry_minus8: u8,
16977    pub chroma_bit_depth_entry_minus8: u8,
16978    pub num_tile_columns_minus1: u8,
16979    pub num_tile_rows_minus1: u8,
16980    pub reserved1: u8,
16981    pub reserved2: u8,
16982    pub column_width_minus1: [u16; 19usize],
16983    pub row_height_minus1: [u16; 21usize],
16984    pub reserved3: u32,
16985    pub pScalingLists: *const StdVideoH265ScalingLists,
16986    pub pPredictorPaletteEntries: *const StdVideoH265PredictorPaletteEntries,
16987}
16988#[repr(C)]
16989#[derive(Debug, Copy, Clone)]
16990pub struct StdVideoEncodeH265WeightTableFlags {
16991    pub luma_weight_l0_flag: u16,
16992    pub chroma_weight_l0_flag: u16,
16993    pub luma_weight_l1_flag: u16,
16994    pub chroma_weight_l1_flag: u16,
16995}
16996#[repr(C)]
16997#[derive(Debug, Copy, Clone)]
16998pub struct StdVideoEncodeH265WeightTable {
16999    pub flags: StdVideoEncodeH265WeightTableFlags,
17000    pub luma_log2_weight_denom: u8,
17001    pub delta_chroma_log2_weight_denom: i8,
17002    pub delta_luma_weight_l0: [i8; 15usize],
17003    pub luma_offset_l0: [i8; 15usize],
17004    pub delta_chroma_weight_l0: [[i8; 2usize]; 15usize],
17005    pub delta_chroma_offset_l0: [[i8; 2usize]; 15usize],
17006    pub delta_luma_weight_l1: [i8; 15usize],
17007    pub luma_offset_l1: [i8; 15usize],
17008    pub delta_chroma_weight_l1: [[i8; 2usize]; 15usize],
17009    pub delta_chroma_offset_l1: [[i8; 2usize]; 15usize],
17010}
17011#[repr(C)]
17012#[derive(Debug, Copy, Clone)]
17013pub struct StdVideoEncodeH265SliceSegmentHeaderFlags {
17014    pub _bitfield_align_1: [u32; 0],
17015    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
17016}
17017impl StdVideoEncodeH265SliceSegmentHeaderFlags {
17018    #[inline]
17019    pub fn first_slice_segment_in_pic_flag(&self) -> u32 {
17020        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17021    }
17022    #[inline]
17023    pub fn set_first_slice_segment_in_pic_flag(&mut self, val: u32) {
17024        unsafe {
17025            let val: u32 = ::std::mem::transmute(val);
17026            self._bitfield_1.set(0usize, 1u8, val as u64)
17027        }
17028    }
17029    #[inline]
17030    pub fn dependent_slice_segment_flag(&self) -> u32 {
17031        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17032    }
17033    #[inline]
17034    pub fn set_dependent_slice_segment_flag(&mut self, val: u32) {
17035        unsafe {
17036            let val: u32 = ::std::mem::transmute(val);
17037            self._bitfield_1.set(1usize, 1u8, val as u64)
17038        }
17039    }
17040    #[inline]
17041    pub fn slice_sao_luma_flag(&self) -> u32 {
17042        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
17043    }
17044    #[inline]
17045    pub fn set_slice_sao_luma_flag(&mut self, val: u32) {
17046        unsafe {
17047            let val: u32 = ::std::mem::transmute(val);
17048            self._bitfield_1.set(2usize, 1u8, val as u64)
17049        }
17050    }
17051    #[inline]
17052    pub fn slice_sao_chroma_flag(&self) -> u32 {
17053        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
17054    }
17055    #[inline]
17056    pub fn set_slice_sao_chroma_flag(&mut self, val: u32) {
17057        unsafe {
17058            let val: u32 = ::std::mem::transmute(val);
17059            self._bitfield_1.set(3usize, 1u8, val as u64)
17060        }
17061    }
17062    #[inline]
17063    pub fn num_ref_idx_active_override_flag(&self) -> u32 {
17064        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
17065    }
17066    #[inline]
17067    pub fn set_num_ref_idx_active_override_flag(&mut self, val: u32) {
17068        unsafe {
17069            let val: u32 = ::std::mem::transmute(val);
17070            self._bitfield_1.set(4usize, 1u8, val as u64)
17071        }
17072    }
17073    #[inline]
17074    pub fn mvd_l1_zero_flag(&self) -> u32 {
17075        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
17076    }
17077    #[inline]
17078    pub fn set_mvd_l1_zero_flag(&mut self, val: u32) {
17079        unsafe {
17080            let val: u32 = ::std::mem::transmute(val);
17081            self._bitfield_1.set(5usize, 1u8, val as u64)
17082        }
17083    }
17084    #[inline]
17085    pub fn cabac_init_flag(&self) -> u32 {
17086        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
17087    }
17088    #[inline]
17089    pub fn set_cabac_init_flag(&mut self, val: u32) {
17090        unsafe {
17091            let val: u32 = ::std::mem::transmute(val);
17092            self._bitfield_1.set(6usize, 1u8, val as u64)
17093        }
17094    }
17095    #[inline]
17096    pub fn cu_chroma_qp_offset_enabled_flag(&self) -> u32 {
17097        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
17098    }
17099    #[inline]
17100    pub fn set_cu_chroma_qp_offset_enabled_flag(&mut self, val: u32) {
17101        unsafe {
17102            let val: u32 = ::std::mem::transmute(val);
17103            self._bitfield_1.set(7usize, 1u8, val as u64)
17104        }
17105    }
17106    #[inline]
17107    pub fn deblocking_filter_override_flag(&self) -> u32 {
17108        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
17109    }
17110    #[inline]
17111    pub fn set_deblocking_filter_override_flag(&mut self, val: u32) {
17112        unsafe {
17113            let val: u32 = ::std::mem::transmute(val);
17114            self._bitfield_1.set(8usize, 1u8, val as u64)
17115        }
17116    }
17117    #[inline]
17118    pub fn slice_deblocking_filter_disabled_flag(&self) -> u32 {
17119        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
17120    }
17121    #[inline]
17122    pub fn set_slice_deblocking_filter_disabled_flag(&mut self, val: u32) {
17123        unsafe {
17124            let val: u32 = ::std::mem::transmute(val);
17125            self._bitfield_1.set(9usize, 1u8, val as u64)
17126        }
17127    }
17128    #[inline]
17129    pub fn collocated_from_l0_flag(&self) -> u32 {
17130        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
17131    }
17132    #[inline]
17133    pub fn set_collocated_from_l0_flag(&mut self, val: u32) {
17134        unsafe {
17135            let val: u32 = ::std::mem::transmute(val);
17136            self._bitfield_1.set(10usize, 1u8, val as u64)
17137        }
17138    }
17139    #[inline]
17140    pub fn slice_loop_filter_across_slices_enabled_flag(&self) -> u32 {
17141        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
17142    }
17143    #[inline]
17144    pub fn set_slice_loop_filter_across_slices_enabled_flag(&mut self, val: u32) {
17145        unsafe {
17146            let val: u32 = ::std::mem::transmute(val);
17147            self._bitfield_1.set(11usize, 1u8, val as u64)
17148        }
17149    }
17150    #[inline]
17151    pub fn reserved(&self) -> u32 {
17152        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) }
17153    }
17154    #[inline]
17155    pub fn set_reserved(&mut self, val: u32) {
17156        unsafe {
17157            let val: u32 = ::std::mem::transmute(val);
17158            self._bitfield_1.set(12usize, 20u8, val as u64)
17159        }
17160    }
17161    #[inline]
17162    pub fn new_bitfield_1(
17163        first_slice_segment_in_pic_flag: u32,
17164        dependent_slice_segment_flag: u32,
17165        slice_sao_luma_flag: u32,
17166        slice_sao_chroma_flag: u32,
17167        num_ref_idx_active_override_flag: u32,
17168        mvd_l1_zero_flag: u32,
17169        cabac_init_flag: u32,
17170        cu_chroma_qp_offset_enabled_flag: u32,
17171        deblocking_filter_override_flag: u32,
17172        slice_deblocking_filter_disabled_flag: u32,
17173        collocated_from_l0_flag: u32,
17174        slice_loop_filter_across_slices_enabled_flag: u32,
17175        reserved: u32,
17176    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
17177        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
17178        __bindgen_bitfield_unit.set(0usize, 1u8, {
17179            let first_slice_segment_in_pic_flag: u32 =
17180                unsafe { ::std::mem::transmute(first_slice_segment_in_pic_flag) };
17181            first_slice_segment_in_pic_flag as u64
17182        });
17183        __bindgen_bitfield_unit.set(1usize, 1u8, {
17184            let dependent_slice_segment_flag: u32 =
17185                unsafe { ::std::mem::transmute(dependent_slice_segment_flag) };
17186            dependent_slice_segment_flag as u64
17187        });
17188        __bindgen_bitfield_unit.set(2usize, 1u8, {
17189            let slice_sao_luma_flag: u32 = unsafe { ::std::mem::transmute(slice_sao_luma_flag) };
17190            slice_sao_luma_flag as u64
17191        });
17192        __bindgen_bitfield_unit.set(3usize, 1u8, {
17193            let slice_sao_chroma_flag: u32 =
17194                unsafe { ::std::mem::transmute(slice_sao_chroma_flag) };
17195            slice_sao_chroma_flag as u64
17196        });
17197        __bindgen_bitfield_unit.set(4usize, 1u8, {
17198            let num_ref_idx_active_override_flag: u32 =
17199                unsafe { ::std::mem::transmute(num_ref_idx_active_override_flag) };
17200            num_ref_idx_active_override_flag as u64
17201        });
17202        __bindgen_bitfield_unit.set(5usize, 1u8, {
17203            let mvd_l1_zero_flag: u32 = unsafe { ::std::mem::transmute(mvd_l1_zero_flag) };
17204            mvd_l1_zero_flag as u64
17205        });
17206        __bindgen_bitfield_unit.set(6usize, 1u8, {
17207            let cabac_init_flag: u32 = unsafe { ::std::mem::transmute(cabac_init_flag) };
17208            cabac_init_flag as u64
17209        });
17210        __bindgen_bitfield_unit.set(7usize, 1u8, {
17211            let cu_chroma_qp_offset_enabled_flag: u32 =
17212                unsafe { ::std::mem::transmute(cu_chroma_qp_offset_enabled_flag) };
17213            cu_chroma_qp_offset_enabled_flag as u64
17214        });
17215        __bindgen_bitfield_unit.set(8usize, 1u8, {
17216            let deblocking_filter_override_flag: u32 =
17217                unsafe { ::std::mem::transmute(deblocking_filter_override_flag) };
17218            deblocking_filter_override_flag as u64
17219        });
17220        __bindgen_bitfield_unit.set(9usize, 1u8, {
17221            let slice_deblocking_filter_disabled_flag: u32 =
17222                unsafe { ::std::mem::transmute(slice_deblocking_filter_disabled_flag) };
17223            slice_deblocking_filter_disabled_flag as u64
17224        });
17225        __bindgen_bitfield_unit.set(10usize, 1u8, {
17226            let collocated_from_l0_flag: u32 =
17227                unsafe { ::std::mem::transmute(collocated_from_l0_flag) };
17228            collocated_from_l0_flag as u64
17229        });
17230        __bindgen_bitfield_unit.set(11usize, 1u8, {
17231            let slice_loop_filter_across_slices_enabled_flag: u32 =
17232                unsafe { ::std::mem::transmute(slice_loop_filter_across_slices_enabled_flag) };
17233            slice_loop_filter_across_slices_enabled_flag as u64
17234        });
17235        __bindgen_bitfield_unit.set(12usize, 20u8, {
17236            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
17237            reserved as u64
17238        });
17239        __bindgen_bitfield_unit
17240    }
17241}
17242#[repr(C)]
17243#[derive(Debug, Copy, Clone)]
17244pub struct StdVideoEncodeH265SliceSegmentHeader {
17245    pub flags: StdVideoEncodeH265SliceSegmentHeaderFlags,
17246    pub slice_type: StdVideoH265SliceType,
17247    pub slice_segment_address: u32,
17248    pub collocated_ref_idx: u8,
17249    pub MaxNumMergeCand: u8,
17250    pub slice_cb_qp_offset: i8,
17251    pub slice_cr_qp_offset: i8,
17252    pub slice_beta_offset_div2: i8,
17253    pub slice_tc_offset_div2: i8,
17254    pub slice_act_y_qp_offset: i8,
17255    pub slice_act_cb_qp_offset: i8,
17256    pub slice_act_cr_qp_offset: i8,
17257    pub slice_qp_delta: i8,
17258    pub reserved1: u16,
17259    pub pWeightTable: *const StdVideoEncodeH265WeightTable,
17260}
17261#[repr(C)]
17262#[derive(Debug, Copy, Clone)]
17263pub struct StdVideoEncodeH265ReferenceListsInfoFlags {
17264    pub _bitfield_align_1: [u32; 0],
17265    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
17266}
17267impl StdVideoEncodeH265ReferenceListsInfoFlags {
17268    #[inline]
17269    pub fn ref_pic_list_modification_flag_l0(&self) -> u32 {
17270        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17271    }
17272    #[inline]
17273    pub fn set_ref_pic_list_modification_flag_l0(&mut self, val: u32) {
17274        unsafe {
17275            let val: u32 = ::std::mem::transmute(val);
17276            self._bitfield_1.set(0usize, 1u8, val as u64)
17277        }
17278    }
17279    #[inline]
17280    pub fn ref_pic_list_modification_flag_l1(&self) -> u32 {
17281        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17282    }
17283    #[inline]
17284    pub fn set_ref_pic_list_modification_flag_l1(&mut self, val: u32) {
17285        unsafe {
17286            let val: u32 = ::std::mem::transmute(val);
17287            self._bitfield_1.set(1usize, 1u8, val as u64)
17288        }
17289    }
17290    #[inline]
17291    pub fn reserved(&self) -> u32 {
17292        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
17293    }
17294    #[inline]
17295    pub fn set_reserved(&mut self, val: u32) {
17296        unsafe {
17297            let val: u32 = ::std::mem::transmute(val);
17298            self._bitfield_1.set(2usize, 30u8, val as u64)
17299        }
17300    }
17301    #[inline]
17302    pub fn new_bitfield_1(
17303        ref_pic_list_modification_flag_l0: u32,
17304        ref_pic_list_modification_flag_l1: u32,
17305        reserved: u32,
17306    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
17307        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
17308        __bindgen_bitfield_unit.set(0usize, 1u8, {
17309            let ref_pic_list_modification_flag_l0: u32 =
17310                unsafe { ::std::mem::transmute(ref_pic_list_modification_flag_l0) };
17311            ref_pic_list_modification_flag_l0 as u64
17312        });
17313        __bindgen_bitfield_unit.set(1usize, 1u8, {
17314            let ref_pic_list_modification_flag_l1: u32 =
17315                unsafe { ::std::mem::transmute(ref_pic_list_modification_flag_l1) };
17316            ref_pic_list_modification_flag_l1 as u64
17317        });
17318        __bindgen_bitfield_unit.set(2usize, 30u8, {
17319            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
17320            reserved as u64
17321        });
17322        __bindgen_bitfield_unit
17323    }
17324}
17325#[repr(C)]
17326#[derive(Debug, Copy, Clone)]
17327pub struct StdVideoEncodeH265ReferenceListsInfo {
17328    pub flags: StdVideoEncodeH265ReferenceListsInfoFlags,
17329    pub num_ref_idx_l0_active_minus1: u8,
17330    pub num_ref_idx_l1_active_minus1: u8,
17331    pub RefPicList0: [u8; 15usize],
17332    pub RefPicList1: [u8; 15usize],
17333    pub list_entry_l0: [u8; 15usize],
17334    pub list_entry_l1: [u8; 15usize],
17335}
17336#[repr(C)]
17337#[derive(Debug, Copy, Clone)]
17338pub struct StdVideoEncodeH265PictureInfoFlags {
17339    pub _bitfield_align_1: [u32; 0],
17340    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
17341}
17342impl StdVideoEncodeH265PictureInfoFlags {
17343    #[inline]
17344    pub fn is_reference(&self) -> u32 {
17345        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17346    }
17347    #[inline]
17348    pub fn set_is_reference(&mut self, val: u32) {
17349        unsafe {
17350            let val: u32 = ::std::mem::transmute(val);
17351            self._bitfield_1.set(0usize, 1u8, val as u64)
17352        }
17353    }
17354    #[inline]
17355    pub fn IrapPicFlag(&self) -> u32 {
17356        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17357    }
17358    #[inline]
17359    pub fn set_IrapPicFlag(&mut self, val: u32) {
17360        unsafe {
17361            let val: u32 = ::std::mem::transmute(val);
17362            self._bitfield_1.set(1usize, 1u8, val as u64)
17363        }
17364    }
17365    #[inline]
17366    pub fn used_for_long_term_reference(&self) -> u32 {
17367        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
17368    }
17369    #[inline]
17370    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
17371        unsafe {
17372            let val: u32 = ::std::mem::transmute(val);
17373            self._bitfield_1.set(2usize, 1u8, val as u64)
17374        }
17375    }
17376    #[inline]
17377    pub fn discardable_flag(&self) -> u32 {
17378        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
17379    }
17380    #[inline]
17381    pub fn set_discardable_flag(&mut self, val: u32) {
17382        unsafe {
17383            let val: u32 = ::std::mem::transmute(val);
17384            self._bitfield_1.set(3usize, 1u8, val as u64)
17385        }
17386    }
17387    #[inline]
17388    pub fn cross_layer_bla_flag(&self) -> u32 {
17389        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
17390    }
17391    #[inline]
17392    pub fn set_cross_layer_bla_flag(&mut self, val: u32) {
17393        unsafe {
17394            let val: u32 = ::std::mem::transmute(val);
17395            self._bitfield_1.set(4usize, 1u8, val as u64)
17396        }
17397    }
17398    #[inline]
17399    pub fn pic_output_flag(&self) -> u32 {
17400        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
17401    }
17402    #[inline]
17403    pub fn set_pic_output_flag(&mut self, val: u32) {
17404        unsafe {
17405            let val: u32 = ::std::mem::transmute(val);
17406            self._bitfield_1.set(5usize, 1u8, val as u64)
17407        }
17408    }
17409    #[inline]
17410    pub fn no_output_of_prior_pics_flag(&self) -> u32 {
17411        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
17412    }
17413    #[inline]
17414    pub fn set_no_output_of_prior_pics_flag(&mut self, val: u32) {
17415        unsafe {
17416            let val: u32 = ::std::mem::transmute(val);
17417            self._bitfield_1.set(6usize, 1u8, val as u64)
17418        }
17419    }
17420    #[inline]
17421    pub fn short_term_ref_pic_set_sps_flag(&self) -> u32 {
17422        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
17423    }
17424    #[inline]
17425    pub fn set_short_term_ref_pic_set_sps_flag(&mut self, val: u32) {
17426        unsafe {
17427            let val: u32 = ::std::mem::transmute(val);
17428            self._bitfield_1.set(7usize, 1u8, val as u64)
17429        }
17430    }
17431    #[inline]
17432    pub fn slice_temporal_mvp_enabled_flag(&self) -> u32 {
17433        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
17434    }
17435    #[inline]
17436    pub fn set_slice_temporal_mvp_enabled_flag(&mut self, val: u32) {
17437        unsafe {
17438            let val: u32 = ::std::mem::transmute(val);
17439            self._bitfield_1.set(8usize, 1u8, val as u64)
17440        }
17441    }
17442    #[inline]
17443    pub fn reserved(&self) -> u32 {
17444        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 23u8) as u32) }
17445    }
17446    #[inline]
17447    pub fn set_reserved(&mut self, val: u32) {
17448        unsafe {
17449            let val: u32 = ::std::mem::transmute(val);
17450            self._bitfield_1.set(9usize, 23u8, val as u64)
17451        }
17452    }
17453    #[inline]
17454    pub fn new_bitfield_1(
17455        is_reference: u32,
17456        IrapPicFlag: u32,
17457        used_for_long_term_reference: u32,
17458        discardable_flag: u32,
17459        cross_layer_bla_flag: u32,
17460        pic_output_flag: u32,
17461        no_output_of_prior_pics_flag: u32,
17462        short_term_ref_pic_set_sps_flag: u32,
17463        slice_temporal_mvp_enabled_flag: u32,
17464        reserved: u32,
17465    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
17466        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
17467        __bindgen_bitfield_unit.set(0usize, 1u8, {
17468            let is_reference: u32 = unsafe { ::std::mem::transmute(is_reference) };
17469            is_reference as u64
17470        });
17471        __bindgen_bitfield_unit.set(1usize, 1u8, {
17472            let IrapPicFlag: u32 = unsafe { ::std::mem::transmute(IrapPicFlag) };
17473            IrapPicFlag as u64
17474        });
17475        __bindgen_bitfield_unit.set(2usize, 1u8, {
17476            let used_for_long_term_reference: u32 =
17477                unsafe { ::std::mem::transmute(used_for_long_term_reference) };
17478            used_for_long_term_reference as u64
17479        });
17480        __bindgen_bitfield_unit.set(3usize, 1u8, {
17481            let discardable_flag: u32 = unsafe { ::std::mem::transmute(discardable_flag) };
17482            discardable_flag as u64
17483        });
17484        __bindgen_bitfield_unit.set(4usize, 1u8, {
17485            let cross_layer_bla_flag: u32 = unsafe { ::std::mem::transmute(cross_layer_bla_flag) };
17486            cross_layer_bla_flag as u64
17487        });
17488        __bindgen_bitfield_unit.set(5usize, 1u8, {
17489            let pic_output_flag: u32 = unsafe { ::std::mem::transmute(pic_output_flag) };
17490            pic_output_flag as u64
17491        });
17492        __bindgen_bitfield_unit.set(6usize, 1u8, {
17493            let no_output_of_prior_pics_flag: u32 =
17494                unsafe { ::std::mem::transmute(no_output_of_prior_pics_flag) };
17495            no_output_of_prior_pics_flag as u64
17496        });
17497        __bindgen_bitfield_unit.set(7usize, 1u8, {
17498            let short_term_ref_pic_set_sps_flag: u32 =
17499                unsafe { ::std::mem::transmute(short_term_ref_pic_set_sps_flag) };
17500            short_term_ref_pic_set_sps_flag as u64
17501        });
17502        __bindgen_bitfield_unit.set(8usize, 1u8, {
17503            let slice_temporal_mvp_enabled_flag: u32 =
17504                unsafe { ::std::mem::transmute(slice_temporal_mvp_enabled_flag) };
17505            slice_temporal_mvp_enabled_flag as u64
17506        });
17507        __bindgen_bitfield_unit.set(9usize, 23u8, {
17508            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
17509            reserved as u64
17510        });
17511        __bindgen_bitfield_unit
17512    }
17513}
17514#[repr(C)]
17515#[derive(Debug, Copy, Clone)]
17516pub struct StdVideoEncodeH265LongTermRefPics {
17517    pub num_long_term_sps: u8,
17518    pub num_long_term_pics: u8,
17519    pub lt_idx_sps: [u8; 32usize],
17520    pub poc_lsb_lt: [u8; 16usize],
17521    pub used_by_curr_pic_lt_flag: u16,
17522    pub delta_poc_msb_present_flag: [u8; 48usize],
17523    pub delta_poc_msb_cycle_lt: [u8; 48usize],
17524}
17525#[repr(C)]
17526#[derive(Debug, Copy, Clone)]
17527pub struct StdVideoEncodeH265PictureInfo {
17528    pub flags: StdVideoEncodeH265PictureInfoFlags,
17529    pub pic_type: StdVideoH265PictureType,
17530    pub sps_video_parameter_set_id: u8,
17531    pub pps_seq_parameter_set_id: u8,
17532    pub pps_pic_parameter_set_id: u8,
17533    pub short_term_ref_pic_set_idx: u8,
17534    pub PicOrderCntVal: i32,
17535    pub TemporalId: u8,
17536    pub reserved1: [u8; 7usize],
17537    pub pRefLists: *const StdVideoEncodeH265ReferenceListsInfo,
17538    pub pShortTermRefPicSet: *const StdVideoH265ShortTermRefPicSet,
17539    pub pLongTermRefPics: *const StdVideoEncodeH265LongTermRefPics,
17540}
17541#[repr(C)]
17542#[derive(Debug, Copy, Clone)]
17543pub struct StdVideoEncodeH265ReferenceInfoFlags {
17544    pub _bitfield_align_1: [u32; 0],
17545    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
17546}
17547impl StdVideoEncodeH265ReferenceInfoFlags {
17548    #[inline]
17549    pub fn used_for_long_term_reference(&self) -> u32 {
17550        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17551    }
17552    #[inline]
17553    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
17554        unsafe {
17555            let val: u32 = ::std::mem::transmute(val);
17556            self._bitfield_1.set(0usize, 1u8, val as u64)
17557        }
17558    }
17559    #[inline]
17560    pub fn unused_for_reference(&self) -> u32 {
17561        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17562    }
17563    #[inline]
17564    pub fn set_unused_for_reference(&mut self, val: u32) {
17565        unsafe {
17566            let val: u32 = ::std::mem::transmute(val);
17567            self._bitfield_1.set(1usize, 1u8, val as u64)
17568        }
17569    }
17570    #[inline]
17571    pub fn reserved(&self) -> u32 {
17572        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
17573    }
17574    #[inline]
17575    pub fn set_reserved(&mut self, val: u32) {
17576        unsafe {
17577            let val: u32 = ::std::mem::transmute(val);
17578            self._bitfield_1.set(2usize, 30u8, val as u64)
17579        }
17580    }
17581    #[inline]
17582    pub fn new_bitfield_1(
17583        used_for_long_term_reference: u32,
17584        unused_for_reference: u32,
17585        reserved: u32,
17586    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
17587        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
17588        __bindgen_bitfield_unit.set(0usize, 1u8, {
17589            let used_for_long_term_reference: u32 =
17590                unsafe { ::std::mem::transmute(used_for_long_term_reference) };
17591            used_for_long_term_reference as u64
17592        });
17593        __bindgen_bitfield_unit.set(1usize, 1u8, {
17594            let unused_for_reference: u32 = unsafe { ::std::mem::transmute(unused_for_reference) };
17595            unused_for_reference as u64
17596        });
17597        __bindgen_bitfield_unit.set(2usize, 30u8, {
17598            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
17599            reserved as u64
17600        });
17601        __bindgen_bitfield_unit
17602    }
17603}
17604#[repr(C)]
17605#[derive(Debug, Copy, Clone)]
17606pub struct StdVideoEncodeH265ReferenceInfo {
17607    pub flags: StdVideoEncodeH265ReferenceInfoFlags,
17608    pub pic_type: StdVideoH265PictureType,
17609    pub PicOrderCntVal: i32,
17610    pub TemporalId: u8,
17611}
17612pub const VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 1 ;
17613pub const VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 2 ;
17614pub const VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 4 ;
17615pub const VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 8 ;
17616pub const VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 16 ;
17617pub const VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 32 ;
17618pub const VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 64 ;
17619pub const VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 128 ;
17620pub const VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 256 ;
17621pub const VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 512 ;
17622pub const VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 1024 ;
17623pub const VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH265CapabilityFlagBitsKHR = 2147483647 ;
17624pub type VkVideoEncodeH265CapabilityFlagBitsKHR = ::std::os::raw::c_uint;
17625pub type VkVideoEncodeH265CapabilityFlagsKHR = VkFlags;
17626pub const VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 1 ;
17627pub const VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 2 ;
17628pub const VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 4 ;
17629pub const VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR:
17630    VkVideoEncodeH265StdFlagBitsKHR = 8;
17631pub const VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 16 ;
17632pub const VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR:
17633    VkVideoEncodeH265StdFlagBitsKHR = 32;
17634pub const VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 64 ;
17635pub const VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 128 ;
17636pub const VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 256 ;
17637pub const VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 512 ;
17638pub const VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 1024 ;
17639pub const VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 2048 ;
17640pub const VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 4096 ;
17641pub const VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 8192 ;
17642pub const VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 16384 ;
17643pub const VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 32768 ;
17644pub const VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 65536 ;
17645pub const VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 131072 ;
17646pub const VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 262144 ;
17647pub const VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR:
17648    VkVideoEncodeH265StdFlagBitsKHR = 524288;
17649pub const VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR : VkVideoEncodeH265StdFlagBitsKHR = 1048576 ;
17650pub const VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR:
17651    VkVideoEncodeH265StdFlagBitsKHR = 2147483647;
17652pub type VkVideoEncodeH265StdFlagBitsKHR = ::std::os::raw::c_uint;
17653pub type VkVideoEncodeH265StdFlagsKHR = VkFlags;
17654pub const VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR:
17655    VkVideoEncodeH265CtbSizeFlagBitsKHR = 1;
17656pub const VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR:
17657    VkVideoEncodeH265CtbSizeFlagBitsKHR = 2;
17658pub const VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR:
17659    VkVideoEncodeH265CtbSizeFlagBitsKHR = 4;
17660pub const VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH265CtbSizeFlagBitsKHR = 2147483647 ;
17661pub type VkVideoEncodeH265CtbSizeFlagBitsKHR = ::std::os::raw::c_uint;
17662pub type VkVideoEncodeH265CtbSizeFlagsKHR = VkFlags;
17663pub const VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR : VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = 1 ;
17664pub const VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR : VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = 2 ;
17665pub const VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR : VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = 4 ;
17666pub const VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR : VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = 8 ;
17667pub const VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = 2147483647 ;
17668pub type VkVideoEncodeH265TransformBlockSizeFlagBitsKHR = ::std::os::raw::c_uint;
17669pub type VkVideoEncodeH265TransformBlockSizeFlagsKHR = VkFlags;
17670pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 1 ;
17671pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 2 ;
17672pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 4 ;
17673pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 8 ;
17674pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 16 ;
17675pub const VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeH265RateControlFlagBitsKHR = 2147483647 ;
17676pub type VkVideoEncodeH265RateControlFlagBitsKHR = ::std::os::raw::c_uint;
17677pub type VkVideoEncodeH265RateControlFlagsKHR = VkFlags;
17678#[repr(C)]
17679#[derive(Debug, Copy, Clone)]
17680pub struct VkVideoEncodeH265CapabilitiesKHR {
17681    pub sType: VkStructureType,
17682    pub pNext: *mut ::std::os::raw::c_void,
17683    pub flags: VkVideoEncodeH265CapabilityFlagsKHR,
17684    pub maxLevelIdc: StdVideoH265LevelIdc,
17685    pub maxSliceSegmentCount: u32,
17686    pub maxTiles: VkExtent2D,
17687    pub ctbSizes: VkVideoEncodeH265CtbSizeFlagsKHR,
17688    pub transformBlockSizes: VkVideoEncodeH265TransformBlockSizeFlagsKHR,
17689    pub maxPPictureL0ReferenceCount: u32,
17690    pub maxBPictureL0ReferenceCount: u32,
17691    pub maxL1ReferenceCount: u32,
17692    pub maxSubLayerCount: u32,
17693    pub expectDyadicTemporalSubLayerPattern: VkBool32,
17694    pub minQp: i32,
17695    pub maxQp: i32,
17696    pub prefersGopRemainingFrames: VkBool32,
17697    pub requiresGopRemainingFrames: VkBool32,
17698    pub stdSyntaxFlags: VkVideoEncodeH265StdFlagsKHR,
17699}
17700#[repr(C)]
17701#[derive(Debug, Copy, Clone)]
17702pub struct VkVideoEncodeH265SessionCreateInfoKHR {
17703    pub sType: VkStructureType,
17704    pub pNext: *const ::std::os::raw::c_void,
17705    pub useMaxLevelIdc: VkBool32,
17706    pub maxLevelIdc: StdVideoH265LevelIdc,
17707}
17708#[repr(C)]
17709#[derive(Debug, Copy, Clone)]
17710pub struct VkVideoEncodeH265QpKHR {
17711    pub qpI: i32,
17712    pub qpP: i32,
17713    pub qpB: i32,
17714}
17715#[repr(C)]
17716#[derive(Debug, Copy, Clone)]
17717pub struct VkVideoEncodeH265QualityLevelPropertiesKHR {
17718    pub sType: VkStructureType,
17719    pub pNext: *mut ::std::os::raw::c_void,
17720    pub preferredRateControlFlags: VkVideoEncodeH265RateControlFlagsKHR,
17721    pub preferredGopFrameCount: u32,
17722    pub preferredIdrPeriod: u32,
17723    pub preferredConsecutiveBFrameCount: u32,
17724    pub preferredSubLayerCount: u32,
17725    pub preferredConstantQp: VkVideoEncodeH265QpKHR,
17726    pub preferredMaxL0ReferenceCount: u32,
17727    pub preferredMaxL1ReferenceCount: u32,
17728}
17729#[repr(C)]
17730#[derive(Debug, Copy, Clone)]
17731pub struct VkVideoEncodeH265SessionParametersAddInfoKHR {
17732    pub sType: VkStructureType,
17733    pub pNext: *const ::std::os::raw::c_void,
17734    pub stdVPSCount: u32,
17735    pub pStdVPSs: *const StdVideoH265VideoParameterSet,
17736    pub stdSPSCount: u32,
17737    pub pStdSPSs: *const StdVideoH265SequenceParameterSet,
17738    pub stdPPSCount: u32,
17739    pub pStdPPSs: *const StdVideoH265PictureParameterSet,
17740}
17741#[repr(C)]
17742#[derive(Debug, Copy, Clone)]
17743pub struct VkVideoEncodeH265SessionParametersCreateInfoKHR {
17744    pub sType: VkStructureType,
17745    pub pNext: *const ::std::os::raw::c_void,
17746    pub maxStdVPSCount: u32,
17747    pub maxStdSPSCount: u32,
17748    pub maxStdPPSCount: u32,
17749    pub pParametersAddInfo: *const VkVideoEncodeH265SessionParametersAddInfoKHR,
17750}
17751#[repr(C)]
17752#[derive(Debug, Copy, Clone)]
17753pub struct VkVideoEncodeH265SessionParametersGetInfoKHR {
17754    pub sType: VkStructureType,
17755    pub pNext: *const ::std::os::raw::c_void,
17756    pub writeStdVPS: VkBool32,
17757    pub writeStdSPS: VkBool32,
17758    pub writeStdPPS: VkBool32,
17759    pub stdVPSId: u32,
17760    pub stdSPSId: u32,
17761    pub stdPPSId: u32,
17762}
17763#[repr(C)]
17764#[derive(Debug, Copy, Clone)]
17765pub struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR {
17766    pub sType: VkStructureType,
17767    pub pNext: *mut ::std::os::raw::c_void,
17768    pub hasStdVPSOverrides: VkBool32,
17769    pub hasStdSPSOverrides: VkBool32,
17770    pub hasStdPPSOverrides: VkBool32,
17771}
17772#[repr(C)]
17773#[derive(Debug, Copy, Clone)]
17774pub struct VkVideoEncodeH265NaluSliceSegmentInfoKHR {
17775    pub sType: VkStructureType,
17776    pub pNext: *const ::std::os::raw::c_void,
17777    pub constantQp: i32,
17778    pub pStdSliceSegmentHeader: *const StdVideoEncodeH265SliceSegmentHeader,
17779}
17780#[repr(C)]
17781#[derive(Debug, Copy, Clone)]
17782pub struct VkVideoEncodeH265PictureInfoKHR {
17783    pub sType: VkStructureType,
17784    pub pNext: *const ::std::os::raw::c_void,
17785    pub naluSliceSegmentEntryCount: u32,
17786    pub pNaluSliceSegmentEntries: *const VkVideoEncodeH265NaluSliceSegmentInfoKHR,
17787    pub pStdPictureInfo: *const StdVideoEncodeH265PictureInfo,
17788}
17789#[repr(C)]
17790#[derive(Debug, Copy, Clone)]
17791pub struct VkVideoEncodeH265DpbSlotInfoKHR {
17792    pub sType: VkStructureType,
17793    pub pNext: *const ::std::os::raw::c_void,
17794    pub pStdReferenceInfo: *const StdVideoEncodeH265ReferenceInfo,
17795}
17796#[repr(C)]
17797#[derive(Debug, Copy, Clone)]
17798pub struct VkVideoEncodeH265ProfileInfoKHR {
17799    pub sType: VkStructureType,
17800    pub pNext: *const ::std::os::raw::c_void,
17801    pub stdProfileIdc: StdVideoH265ProfileIdc,
17802}
17803#[repr(C)]
17804#[derive(Debug, Copy, Clone)]
17805pub struct VkVideoEncodeH265RateControlInfoKHR {
17806    pub sType: VkStructureType,
17807    pub pNext: *const ::std::os::raw::c_void,
17808    pub flags: VkVideoEncodeH265RateControlFlagsKHR,
17809    pub gopFrameCount: u32,
17810    pub idrPeriod: u32,
17811    pub consecutiveBFrameCount: u32,
17812    pub subLayerCount: u32,
17813}
17814#[repr(C)]
17815#[derive(Debug, Copy, Clone)]
17816pub struct VkVideoEncodeH265FrameSizeKHR {
17817    pub frameISize: u32,
17818    pub framePSize: u32,
17819    pub frameBSize: u32,
17820}
17821#[repr(C)]
17822#[derive(Debug, Copy, Clone)]
17823pub struct VkVideoEncodeH265RateControlLayerInfoKHR {
17824    pub sType: VkStructureType,
17825    pub pNext: *const ::std::os::raw::c_void,
17826    pub useMinQp: VkBool32,
17827    pub minQp: VkVideoEncodeH265QpKHR,
17828    pub useMaxQp: VkBool32,
17829    pub maxQp: VkVideoEncodeH265QpKHR,
17830    pub useMaxFrameSize: VkBool32,
17831    pub maxFrameSize: VkVideoEncodeH265FrameSizeKHR,
17832}
17833#[repr(C)]
17834#[derive(Debug, Copy, Clone)]
17835pub struct VkVideoEncodeH265GopRemainingFrameInfoKHR {
17836    pub sType: VkStructureType,
17837    pub pNext: *const ::std::os::raw::c_void,
17838    pub useGopRemainingFrames: VkBool32,
17839    pub gopRemainingI: u32,
17840    pub gopRemainingP: u32,
17841    pub gopRemainingB: u32,
17842}
17843pub const StdVideoDecodeH264FieldOrderCount_STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP:
17844    StdVideoDecodeH264FieldOrderCount = 0;
17845pub const StdVideoDecodeH264FieldOrderCount_STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM:
17846    StdVideoDecodeH264FieldOrderCount = 1;
17847pub const StdVideoDecodeH264FieldOrderCount_STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID:
17848    StdVideoDecodeH264FieldOrderCount = 2147483647;
17849pub const StdVideoDecodeH264FieldOrderCount_STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM:
17850    StdVideoDecodeH264FieldOrderCount = 2147483647;
17851pub type StdVideoDecodeH264FieldOrderCount = ::std::os::raw::c_uint;
17852#[repr(C)]
17853#[repr(align(4))]
17854#[derive(Debug, Copy, Clone)]
17855pub struct StdVideoDecodeH264PictureInfoFlags {
17856    pub _bitfield_align_1: [u8; 0],
17857    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
17858    pub __bindgen_padding_0: [u8; 3usize],
17859}
17860impl StdVideoDecodeH264PictureInfoFlags {
17861    #[inline]
17862    pub fn field_pic_flag(&self) -> u32 {
17863        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17864    }
17865    #[inline]
17866    pub fn set_field_pic_flag(&mut self, val: u32) {
17867        unsafe {
17868            let val: u32 = ::std::mem::transmute(val);
17869            self._bitfield_1.set(0usize, 1u8, val as u64)
17870        }
17871    }
17872    #[inline]
17873    pub fn is_intra(&self) -> u32 {
17874        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17875    }
17876    #[inline]
17877    pub fn set_is_intra(&mut self, val: u32) {
17878        unsafe {
17879            let val: u32 = ::std::mem::transmute(val);
17880            self._bitfield_1.set(1usize, 1u8, val as u64)
17881        }
17882    }
17883    #[inline]
17884    pub fn IdrPicFlag(&self) -> u32 {
17885        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
17886    }
17887    #[inline]
17888    pub fn set_IdrPicFlag(&mut self, val: u32) {
17889        unsafe {
17890            let val: u32 = ::std::mem::transmute(val);
17891            self._bitfield_1.set(2usize, 1u8, val as u64)
17892        }
17893    }
17894    #[inline]
17895    pub fn bottom_field_flag(&self) -> u32 {
17896        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
17897    }
17898    #[inline]
17899    pub fn set_bottom_field_flag(&mut self, val: u32) {
17900        unsafe {
17901            let val: u32 = ::std::mem::transmute(val);
17902            self._bitfield_1.set(3usize, 1u8, val as u64)
17903        }
17904    }
17905    #[inline]
17906    pub fn is_reference(&self) -> u32 {
17907        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
17908    }
17909    #[inline]
17910    pub fn set_is_reference(&mut self, val: u32) {
17911        unsafe {
17912            let val: u32 = ::std::mem::transmute(val);
17913            self._bitfield_1.set(4usize, 1u8, val as u64)
17914        }
17915    }
17916    #[inline]
17917    pub fn complementary_field_pair(&self) -> u32 {
17918        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
17919    }
17920    #[inline]
17921    pub fn set_complementary_field_pair(&mut self, val: u32) {
17922        unsafe {
17923            let val: u32 = ::std::mem::transmute(val);
17924            self._bitfield_1.set(5usize, 1u8, val as u64)
17925        }
17926    }
17927    #[inline]
17928    pub fn new_bitfield_1(
17929        field_pic_flag: u32,
17930        is_intra: u32,
17931        IdrPicFlag: u32,
17932        bottom_field_flag: u32,
17933        is_reference: u32,
17934        complementary_field_pair: u32,
17935    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
17936        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
17937        __bindgen_bitfield_unit.set(0usize, 1u8, {
17938            let field_pic_flag: u32 = unsafe { ::std::mem::transmute(field_pic_flag) };
17939            field_pic_flag as u64
17940        });
17941        __bindgen_bitfield_unit.set(1usize, 1u8, {
17942            let is_intra: u32 = unsafe { ::std::mem::transmute(is_intra) };
17943            is_intra as u64
17944        });
17945        __bindgen_bitfield_unit.set(2usize, 1u8, {
17946            let IdrPicFlag: u32 = unsafe { ::std::mem::transmute(IdrPicFlag) };
17947            IdrPicFlag as u64
17948        });
17949        __bindgen_bitfield_unit.set(3usize, 1u8, {
17950            let bottom_field_flag: u32 = unsafe { ::std::mem::transmute(bottom_field_flag) };
17951            bottom_field_flag as u64
17952        });
17953        __bindgen_bitfield_unit.set(4usize, 1u8, {
17954            let is_reference: u32 = unsafe { ::std::mem::transmute(is_reference) };
17955            is_reference as u64
17956        });
17957        __bindgen_bitfield_unit.set(5usize, 1u8, {
17958            let complementary_field_pair: u32 =
17959                unsafe { ::std::mem::transmute(complementary_field_pair) };
17960            complementary_field_pair as u64
17961        });
17962        __bindgen_bitfield_unit
17963    }
17964}
17965#[repr(C)]
17966#[derive(Debug, Copy, Clone)]
17967pub struct StdVideoDecodeH264PictureInfo {
17968    pub flags: StdVideoDecodeH264PictureInfoFlags,
17969    pub seq_parameter_set_id: u8,
17970    pub pic_parameter_set_id: u8,
17971    pub reserved1: u8,
17972    pub reserved2: u8,
17973    pub frame_num: u16,
17974    pub idr_pic_id: u16,
17975    pub PicOrderCnt: [i32; 2usize],
17976}
17977#[repr(C)]
17978#[repr(align(4))]
17979#[derive(Debug, Copy, Clone)]
17980pub struct StdVideoDecodeH264ReferenceInfoFlags {
17981    pub _bitfield_align_1: [u8; 0],
17982    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
17983    pub __bindgen_padding_0: [u8; 3usize],
17984}
17985impl StdVideoDecodeH264ReferenceInfoFlags {
17986    #[inline]
17987    pub fn top_field_flag(&self) -> u32 {
17988        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17989    }
17990    #[inline]
17991    pub fn set_top_field_flag(&mut self, val: u32) {
17992        unsafe {
17993            let val: u32 = ::std::mem::transmute(val);
17994            self._bitfield_1.set(0usize, 1u8, val as u64)
17995        }
17996    }
17997    #[inline]
17998    pub fn bottom_field_flag(&self) -> u32 {
17999        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
18000    }
18001    #[inline]
18002    pub fn set_bottom_field_flag(&mut self, val: u32) {
18003        unsafe {
18004            let val: u32 = ::std::mem::transmute(val);
18005            self._bitfield_1.set(1usize, 1u8, val as u64)
18006        }
18007    }
18008    #[inline]
18009    pub fn used_for_long_term_reference(&self) -> u32 {
18010        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
18011    }
18012    #[inline]
18013    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
18014        unsafe {
18015            let val: u32 = ::std::mem::transmute(val);
18016            self._bitfield_1.set(2usize, 1u8, val as u64)
18017        }
18018    }
18019    #[inline]
18020    pub fn is_non_existing(&self) -> u32 {
18021        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
18022    }
18023    #[inline]
18024    pub fn set_is_non_existing(&mut self, val: u32) {
18025        unsafe {
18026            let val: u32 = ::std::mem::transmute(val);
18027            self._bitfield_1.set(3usize, 1u8, val as u64)
18028        }
18029    }
18030    #[inline]
18031    pub fn new_bitfield_1(
18032        top_field_flag: u32,
18033        bottom_field_flag: u32,
18034        used_for_long_term_reference: u32,
18035        is_non_existing: u32,
18036    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
18037        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
18038        __bindgen_bitfield_unit.set(0usize, 1u8, {
18039            let top_field_flag: u32 = unsafe { ::std::mem::transmute(top_field_flag) };
18040            top_field_flag as u64
18041        });
18042        __bindgen_bitfield_unit.set(1usize, 1u8, {
18043            let bottom_field_flag: u32 = unsafe { ::std::mem::transmute(bottom_field_flag) };
18044            bottom_field_flag as u64
18045        });
18046        __bindgen_bitfield_unit.set(2usize, 1u8, {
18047            let used_for_long_term_reference: u32 =
18048                unsafe { ::std::mem::transmute(used_for_long_term_reference) };
18049            used_for_long_term_reference as u64
18050        });
18051        __bindgen_bitfield_unit.set(3usize, 1u8, {
18052            let is_non_existing: u32 = unsafe { ::std::mem::transmute(is_non_existing) };
18053            is_non_existing as u64
18054        });
18055        __bindgen_bitfield_unit
18056    }
18057}
18058#[repr(C)]
18059#[derive(Debug, Copy, Clone)]
18060pub struct StdVideoDecodeH264ReferenceInfo {
18061    pub flags: StdVideoDecodeH264ReferenceInfoFlags,
18062    pub FrameNum: u16,
18063    pub reserved: u16,
18064    pub PicOrderCnt: [i32; 2usize],
18065}
18066pub const VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR : VkVideoDecodeH264PictureLayoutFlagBitsKHR = 0 ;
18067pub const VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR : VkVideoDecodeH264PictureLayoutFlagBitsKHR = 1 ;
18068pub const VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR : VkVideoDecodeH264PictureLayoutFlagBitsKHR = 2 ;
18069pub const VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR : VkVideoDecodeH264PictureLayoutFlagBitsKHR = 2147483647 ;
18070pub type VkVideoDecodeH264PictureLayoutFlagBitsKHR = ::std::os::raw::c_uint;
18071pub type VkVideoDecodeH264PictureLayoutFlagsKHR = VkFlags;
18072#[repr(C)]
18073#[derive(Debug, Copy, Clone)]
18074pub struct VkVideoDecodeH264ProfileInfoKHR {
18075    pub sType: VkStructureType,
18076    pub pNext: *const ::std::os::raw::c_void,
18077    pub stdProfileIdc: StdVideoH264ProfileIdc,
18078    pub pictureLayout: VkVideoDecodeH264PictureLayoutFlagBitsKHR,
18079}
18080#[repr(C)]
18081#[derive(Debug, Copy, Clone)]
18082pub struct VkVideoDecodeH264CapabilitiesKHR {
18083    pub sType: VkStructureType,
18084    pub pNext: *mut ::std::os::raw::c_void,
18085    pub maxLevelIdc: StdVideoH264LevelIdc,
18086    pub fieldOffsetGranularity: VkOffset2D,
18087}
18088#[repr(C)]
18089#[derive(Debug, Copy, Clone)]
18090pub struct VkVideoDecodeH264SessionParametersAddInfoKHR {
18091    pub sType: VkStructureType,
18092    pub pNext: *const ::std::os::raw::c_void,
18093    pub stdSPSCount: u32,
18094    pub pStdSPSs: *const StdVideoH264SequenceParameterSet,
18095    pub stdPPSCount: u32,
18096    pub pStdPPSs: *const StdVideoH264PictureParameterSet,
18097}
18098#[repr(C)]
18099#[derive(Debug, Copy, Clone)]
18100pub struct VkVideoDecodeH264SessionParametersCreateInfoKHR {
18101    pub sType: VkStructureType,
18102    pub pNext: *const ::std::os::raw::c_void,
18103    pub maxStdSPSCount: u32,
18104    pub maxStdPPSCount: u32,
18105    pub pParametersAddInfo: *const VkVideoDecodeH264SessionParametersAddInfoKHR,
18106}
18107#[repr(C)]
18108#[derive(Debug, Copy, Clone)]
18109pub struct VkVideoDecodeH264PictureInfoKHR {
18110    pub sType: VkStructureType,
18111    pub pNext: *const ::std::os::raw::c_void,
18112    pub pStdPictureInfo: *const StdVideoDecodeH264PictureInfo,
18113    pub sliceCount: u32,
18114    pub pSliceOffsets: *const u32,
18115}
18116#[repr(C)]
18117#[derive(Debug, Copy, Clone)]
18118pub struct VkVideoDecodeH264DpbSlotInfoKHR {
18119    pub sType: VkStructureType,
18120    pub pNext: *const ::std::os::raw::c_void,
18121    pub pStdReferenceInfo: *const StdVideoDecodeH264ReferenceInfo,
18122}
18123pub type VkRenderingFlagsKHR = VkRenderingFlags;
18124pub use self::VkRenderingFlagBits as VkRenderingFlagBitsKHR;
18125pub type VkRenderingInfoKHR = VkRenderingInfo;
18126pub type VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo;
18127pub type VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo;
18128pub type VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures;
18129pub type VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo;
18130pub type PFN_vkCmdBeginRenderingKHR = 
18131    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pRenderingInfo: *const VkRenderingInfo);
18132
18133pub type PFN_vkCmdEndRenderingKHR =
18134    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
18135extern "C" {
18136    pub fn vkCmdBeginRenderingKHR(
18137        commandBuffer: VkCommandBuffer,
18138        pRenderingInfo: *const VkRenderingInfo,
18139    );
18140}
18141extern "C" {
18142    pub fn vkCmdEndRenderingKHR(commandBuffer: VkCommandBuffer);
18143}
18144pub type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo;
18145pub type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures;
18146pub type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties;
18147pub type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2;
18148pub type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2;
18149pub type VkFormatProperties2KHR = VkFormatProperties2;
18150pub type VkImageFormatProperties2KHR = VkImageFormatProperties2;
18151pub type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2;
18152pub type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2;
18153pub type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2;
18154pub type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2;
18155pub type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2;
18156pub type PFN_vkGetPhysicalDeviceFeatures2KHR = 
18157    unsafe extern "C" fn(
18158        physicalDevice: VkPhysicalDevice,
18159        pFeatures: *mut VkPhysicalDeviceFeatures2,
18160    );
18161
18162pub type PFN_vkGetPhysicalDeviceProperties2KHR = 
18163    unsafe extern "C" fn(
18164        physicalDevice: VkPhysicalDevice,
18165        pProperties: *mut VkPhysicalDeviceProperties2,
18166    );
18167
18168pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = 
18169    unsafe extern "C" fn(
18170        physicalDevice: VkPhysicalDevice,
18171        format: VkFormat,
18172        pFormatProperties: *mut VkFormatProperties2,
18173    );
18174
18175pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = 
18176    unsafe extern "C" fn(
18177        physicalDevice: VkPhysicalDevice,
18178        pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
18179        pImageFormatProperties: *mut VkImageFormatProperties2,
18180    ) -> VkResult;
18181
18182pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = 
18183    unsafe extern "C" fn(
18184        physicalDevice: VkPhysicalDevice,
18185        pQueueFamilyPropertyCount: *mut u32,
18186        pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
18187    );
18188
18189pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = 
18190    unsafe extern "C" fn(
18191        physicalDevice: VkPhysicalDevice,
18192        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
18193    );
18194
18195pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 
18196    unsafe extern "C" fn(
18197        physicalDevice: VkPhysicalDevice,
18198        pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
18199        pPropertyCount: *mut u32,
18200        pProperties: *mut VkSparseImageFormatProperties2,
18201    );
18202
18203extern "C" {
18204    pub fn vkGetPhysicalDeviceFeatures2KHR(
18205        physicalDevice: VkPhysicalDevice,
18206        pFeatures: *mut VkPhysicalDeviceFeatures2,
18207    );
18208}
18209extern "C" {
18210    pub fn vkGetPhysicalDeviceProperties2KHR(
18211        physicalDevice: VkPhysicalDevice,
18212        pProperties: *mut VkPhysicalDeviceProperties2,
18213    );
18214}
18215extern "C" {
18216    pub fn vkGetPhysicalDeviceFormatProperties2KHR(
18217        physicalDevice: VkPhysicalDevice,
18218        format: VkFormat,
18219        pFormatProperties: *mut VkFormatProperties2,
18220    );
18221}
18222extern "C" {
18223    pub fn vkGetPhysicalDeviceImageFormatProperties2KHR(
18224        physicalDevice: VkPhysicalDevice,
18225        pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
18226        pImageFormatProperties: *mut VkImageFormatProperties2,
18227    ) -> VkResult;
18228}
18229extern "C" {
18230    pub fn vkGetPhysicalDeviceQueueFamilyProperties2KHR(
18231        physicalDevice: VkPhysicalDevice,
18232        pQueueFamilyPropertyCount: *mut u32,
18233        pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
18234    );
18235}
18236extern "C" {
18237    pub fn vkGetPhysicalDeviceMemoryProperties2KHR(
18238        physicalDevice: VkPhysicalDevice,
18239        pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
18240    );
18241}
18242extern "C" {
18243    pub fn vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
18244        physicalDevice: VkPhysicalDevice,
18245        pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
18246        pPropertyCount: *mut u32,
18247        pProperties: *mut VkSparseImageFormatProperties2,
18248    );
18249}
18250pub type VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags;
18251pub use self::VkPeerMemoryFeatureFlagBits as VkPeerMemoryFeatureFlagBitsKHR;
18252pub type VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags;
18253pub use self::VkMemoryAllocateFlagBits as VkMemoryAllocateFlagBitsKHR;
18254pub type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo;
18255pub type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo;
18256pub type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo;
18257pub type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo;
18258pub type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo;
18259pub type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo;
18260pub type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo;
18261pub type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR = 
18262    unsafe extern "C" fn(
18263        device: VkDevice,
18264        heapIndex: u32,
18265        localDeviceIndex: u32,
18266        remoteDeviceIndex: u32,
18267        pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
18268    );
18269
18270pub type PFN_vkCmdSetDeviceMaskKHR =
18271    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, deviceMask: u32);
18272pub type PFN_vkCmdDispatchBaseKHR = 
18273    unsafe extern "C" fn(
18274        commandBuffer: VkCommandBuffer,
18275        baseGroupX: u32,
18276        baseGroupY: u32,
18277        baseGroupZ: u32,
18278        groupCountX: u32,
18279        groupCountY: u32,
18280        groupCountZ: u32,
18281    );
18282
18283extern "C" {
18284    pub fn vkGetDeviceGroupPeerMemoryFeaturesKHR(
18285        device: VkDevice,
18286        heapIndex: u32,
18287        localDeviceIndex: u32,
18288        remoteDeviceIndex: u32,
18289        pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
18290    );
18291}
18292extern "C" {
18293    pub fn vkCmdSetDeviceMaskKHR(commandBuffer: VkCommandBuffer, deviceMask: u32);
18294}
18295extern "C" {
18296    pub fn vkCmdDispatchBaseKHR(
18297        commandBuffer: VkCommandBuffer,
18298        baseGroupX: u32,
18299        baseGroupY: u32,
18300        baseGroupZ: u32,
18301        groupCountX: u32,
18302        groupCountY: u32,
18303        groupCountZ: u32,
18304    );
18305}
18306pub type VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags;
18307pub type PFN_vkTrimCommandPoolKHR = 
18308    unsafe extern "C" fn(
18309        device: VkDevice,
18310        commandPool: VkCommandPool,
18311        flags: VkCommandPoolTrimFlags,
18312    );
18313
18314extern "C" {
18315    pub fn vkTrimCommandPoolKHR(
18316        device: VkDevice,
18317        commandPool: VkCommandPool,
18318        flags: VkCommandPoolTrimFlags,
18319    );
18320}
18321pub type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties;
18322pub type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo;
18323pub type PFN_vkEnumeratePhysicalDeviceGroupsKHR = 
18324    unsafe extern "C" fn(
18325        instance: VkInstance,
18326        pPhysicalDeviceGroupCount: *mut u32,
18327        pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
18328    ) -> VkResult;
18329
18330extern "C" {
18331    pub fn vkEnumeratePhysicalDeviceGroupsKHR(
18332        instance: VkInstance,
18333        pPhysicalDeviceGroupCount: *mut u32,
18334        pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
18335    ) -> VkResult;
18336}
18337pub type VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags;
18338pub use self::VkExternalMemoryHandleTypeFlagBits as VkExternalMemoryHandleTypeFlagBitsKHR;
18339pub type VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags;
18340pub use self::VkExternalMemoryFeatureFlagBits as VkExternalMemoryFeatureFlagBitsKHR;
18341pub type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties;
18342pub type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo;
18343pub type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties;
18344pub type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo;
18345pub type VkExternalBufferPropertiesKHR = VkExternalBufferProperties;
18346pub type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties;
18347pub type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR = 
18348    unsafe extern "C" fn(
18349        physicalDevice: VkPhysicalDevice,
18350        pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
18351        pExternalBufferProperties: *mut VkExternalBufferProperties,
18352    );
18353
18354extern "C" {
18355    pub fn vkGetPhysicalDeviceExternalBufferPropertiesKHR(
18356        physicalDevice: VkPhysicalDevice,
18357        pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
18358        pExternalBufferProperties: *mut VkExternalBufferProperties,
18359    );
18360}
18361pub type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo;
18362pub type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo;
18363pub type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo;
18364#[repr(C)]
18365#[derive(Debug, Copy, Clone)]
18366pub struct VkImportMemoryFdInfoKHR {
18367    pub sType: VkStructureType,
18368    pub pNext: *const ::std::os::raw::c_void,
18369    pub handleType: VkExternalMemoryHandleTypeFlagBits,
18370    pub fd: ::std::os::raw::c_int,
18371}
18372#[repr(C)]
18373#[derive(Debug, Copy, Clone)]
18374pub struct VkMemoryFdPropertiesKHR {
18375    pub sType: VkStructureType,
18376    pub pNext: *mut ::std::os::raw::c_void,
18377    pub memoryTypeBits: u32,
18378}
18379#[repr(C)]
18380#[derive(Debug, Copy, Clone)]
18381pub struct VkMemoryGetFdInfoKHR {
18382    pub sType: VkStructureType,
18383    pub pNext: *const ::std::os::raw::c_void,
18384    pub memory: VkDeviceMemory,
18385    pub handleType: VkExternalMemoryHandleTypeFlagBits,
18386}
18387pub type PFN_vkGetMemoryFdKHR = 
18388    unsafe extern "C" fn(
18389        device: VkDevice,
18390        pGetFdInfo: *const VkMemoryGetFdInfoKHR,
18391        pFd: *mut ::std::os::raw::c_int,
18392    ) -> VkResult;
18393
18394pub type PFN_vkGetMemoryFdPropertiesKHR = 
18395    unsafe extern "C" fn(
18396        device: VkDevice,
18397        handleType: VkExternalMemoryHandleTypeFlagBits,
18398        fd: ::std::os::raw::c_int,
18399        pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
18400    ) -> VkResult;
18401
18402extern "C" {
18403    pub fn vkGetMemoryFdKHR(
18404        device: VkDevice,
18405        pGetFdInfo: *const VkMemoryGetFdInfoKHR,
18406        pFd: *mut ::std::os::raw::c_int,
18407    ) -> VkResult;
18408}
18409extern "C" {
18410    pub fn vkGetMemoryFdPropertiesKHR(
18411        device: VkDevice,
18412        handleType: VkExternalMemoryHandleTypeFlagBits,
18413        fd: ::std::os::raw::c_int,
18414        pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
18415    ) -> VkResult;
18416}
18417pub type VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags;
18418pub use self::VkExternalSemaphoreHandleTypeFlagBits as VkExternalSemaphoreHandleTypeFlagBitsKHR;
18419pub type VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags;
18420pub use self::VkExternalSemaphoreFeatureFlagBits as VkExternalSemaphoreFeatureFlagBitsKHR;
18421pub type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo;
18422pub type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties;
18423pub type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 
18424    unsafe extern "C" fn(
18425        physicalDevice: VkPhysicalDevice,
18426        pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
18427        pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
18428    );
18429
18430extern "C" {
18431    pub fn vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
18432        physicalDevice: VkPhysicalDevice,
18433        pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
18434        pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
18435    );
18436}
18437pub type VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags;
18438pub use self::VkSemaphoreImportFlagBits as VkSemaphoreImportFlagBitsKHR;
18439pub type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo;
18440#[repr(C)]
18441#[derive(Debug, Copy, Clone)]
18442pub struct VkImportSemaphoreFdInfoKHR {
18443    pub sType: VkStructureType,
18444    pub pNext: *const ::std::os::raw::c_void,
18445    pub semaphore: VkSemaphore,
18446    pub flags: VkSemaphoreImportFlags,
18447    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
18448    pub fd: ::std::os::raw::c_int,
18449}
18450#[repr(C)]
18451#[derive(Debug, Copy, Clone)]
18452pub struct VkSemaphoreGetFdInfoKHR {
18453    pub sType: VkStructureType,
18454    pub pNext: *const ::std::os::raw::c_void,
18455    pub semaphore: VkSemaphore,
18456    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
18457}
18458pub type PFN_vkImportSemaphoreFdKHR = 
18459    unsafe extern "C" fn(
18460        device: VkDevice,
18461        pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
18462    ) -> VkResult;
18463
18464pub type PFN_vkGetSemaphoreFdKHR = 
18465    unsafe extern "C" fn(
18466        device: VkDevice,
18467        pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
18468        pFd: *mut ::std::os::raw::c_int,
18469    ) -> VkResult;
18470
18471extern "C" {
18472    pub fn vkImportSemaphoreFdKHR(
18473        device: VkDevice,
18474        pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
18475    ) -> VkResult;
18476}
18477extern "C" {
18478    pub fn vkGetSemaphoreFdKHR(
18479        device: VkDevice,
18480        pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
18481        pFd: *mut ::std::os::raw::c_int,
18482    ) -> VkResult;
18483}
18484#[repr(C)]
18485#[derive(Debug, Copy, Clone)]
18486pub struct VkPhysicalDevicePushDescriptorPropertiesKHR {
18487    pub sType: VkStructureType,
18488    pub pNext: *mut ::std::os::raw::c_void,
18489    pub maxPushDescriptors: u32,
18490}
18491pub type PFN_vkCmdPushDescriptorSetKHR = 
18492    unsafe extern "C" fn(
18493        commandBuffer: VkCommandBuffer,
18494        pipelineBindPoint: VkPipelineBindPoint,
18495        layout: VkPipelineLayout,
18496        set: u32,
18497        descriptorWriteCount: u32,
18498        pDescriptorWrites: *const VkWriteDescriptorSet,
18499    );
18500
18501pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = 
18502    unsafe extern "C" fn(
18503        commandBuffer: VkCommandBuffer,
18504        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18505        layout: VkPipelineLayout,
18506        set: u32,
18507        pData: *const ::std::os::raw::c_void,
18508    );
18509
18510extern "C" {
18511    pub fn vkCmdPushDescriptorSetKHR(
18512        commandBuffer: VkCommandBuffer,
18513        pipelineBindPoint: VkPipelineBindPoint,
18514        layout: VkPipelineLayout,
18515        set: u32,
18516        descriptorWriteCount: u32,
18517        pDescriptorWrites: *const VkWriteDescriptorSet,
18518    );
18519}
18520extern "C" {
18521    pub fn vkCmdPushDescriptorSetWithTemplateKHR(
18522        commandBuffer: VkCommandBuffer,
18523        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18524        layout: VkPipelineLayout,
18525        set: u32,
18526        pData: *const ::std::os::raw::c_void,
18527    );
18528}
18529pub type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features;
18530pub type VkPhysicalDeviceFloat16Int8FeaturesKHR = VkPhysicalDeviceShaderFloat16Int8Features;
18531pub type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures;
18532#[repr(C)]
18533#[derive(Debug, Copy, Clone)]
18534pub struct VkRectLayerKHR {
18535    pub offset: VkOffset2D,
18536    pub extent: VkExtent2D,
18537    pub layer: u32,
18538}
18539#[repr(C)]
18540#[derive(Debug, Copy, Clone)]
18541pub struct VkPresentRegionKHR {
18542    pub rectangleCount: u32,
18543    pub pRectangles: *const VkRectLayerKHR,
18544}
18545#[repr(C)]
18546#[derive(Debug, Copy, Clone)]
18547pub struct VkPresentRegionsKHR {
18548    pub sType: VkStructureType,
18549    pub pNext: *const ::std::os::raw::c_void,
18550    pub swapchainCount: u32,
18551    pub pRegions: *const VkPresentRegionKHR,
18552}
18553pub type VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate;
18554pub use self::VkDescriptorUpdateTemplateType as VkDescriptorUpdateTemplateTypeKHR;
18555pub type VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags;
18556pub type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry;
18557pub type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo;
18558pub type PFN_vkCreateDescriptorUpdateTemplateKHR = 
18559    unsafe extern "C" fn(
18560        device: VkDevice,
18561        pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
18562        pAllocator: *const VkAllocationCallbacks,
18563        pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
18564    ) -> VkResult;
18565
18566pub type PFN_vkDestroyDescriptorUpdateTemplateKHR = 
18567    unsafe extern "C" fn(
18568        device: VkDevice,
18569        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18570        pAllocator: *const VkAllocationCallbacks,
18571    );
18572
18573pub type PFN_vkUpdateDescriptorSetWithTemplateKHR = 
18574    unsafe extern "C" fn(
18575        device: VkDevice,
18576        descriptorSet: VkDescriptorSet,
18577        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18578        pData: *const ::std::os::raw::c_void,
18579    );
18580
18581extern "C" {
18582    pub fn vkCreateDescriptorUpdateTemplateKHR(
18583        device: VkDevice,
18584        pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
18585        pAllocator: *const VkAllocationCallbacks,
18586        pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
18587    ) -> VkResult;
18588}
18589extern "C" {
18590    pub fn vkDestroyDescriptorUpdateTemplateKHR(
18591        device: VkDevice,
18592        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18593        pAllocator: *const VkAllocationCallbacks,
18594    );
18595}
18596extern "C" {
18597    pub fn vkUpdateDescriptorSetWithTemplateKHR(
18598        device: VkDevice,
18599        descriptorSet: VkDescriptorSet,
18600        descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
18601        pData: *const ::std::os::raw::c_void,
18602    );
18603}
18604pub type VkPhysicalDeviceImagelessFramebufferFeaturesKHR =
18605    VkPhysicalDeviceImagelessFramebufferFeatures;
18606pub type VkFramebufferAttachmentsCreateInfoKHR = VkFramebufferAttachmentsCreateInfo;
18607pub type VkFramebufferAttachmentImageInfoKHR = VkFramebufferAttachmentImageInfo;
18608pub type VkRenderPassAttachmentBeginInfoKHR = VkRenderPassAttachmentBeginInfo;
18609pub type VkRenderPassCreateInfo2KHR = VkRenderPassCreateInfo2;
18610pub type VkAttachmentDescription2KHR = VkAttachmentDescription2;
18611pub type VkAttachmentReference2KHR = VkAttachmentReference2;
18612pub type VkSubpassDescription2KHR = VkSubpassDescription2;
18613pub type VkSubpassDependency2KHR = VkSubpassDependency2;
18614pub type VkSubpassBeginInfoKHR = VkSubpassBeginInfo;
18615pub type VkSubpassEndInfoKHR = VkSubpassEndInfo;
18616pub type PFN_vkCreateRenderPass2KHR = 
18617    unsafe extern "C" fn(
18618        device: VkDevice,
18619        pCreateInfo: *const VkRenderPassCreateInfo2,
18620        pAllocator: *const VkAllocationCallbacks,
18621        pRenderPass: *mut VkRenderPass,
18622    ) -> VkResult;
18623
18624pub type PFN_vkCmdBeginRenderPass2KHR = 
18625    unsafe extern "C" fn(
18626        commandBuffer: VkCommandBuffer,
18627        pRenderPassBegin: *const VkRenderPassBeginInfo,
18628        pSubpassBeginInfo: *const VkSubpassBeginInfo,
18629    );
18630
18631pub type PFN_vkCmdNextSubpass2KHR = 
18632    unsafe extern "C" fn(
18633        commandBuffer: VkCommandBuffer,
18634        pSubpassBeginInfo: *const VkSubpassBeginInfo,
18635        pSubpassEndInfo: *const VkSubpassEndInfo,
18636    );
18637
18638pub type PFN_vkCmdEndRenderPass2KHR = 
18639    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pSubpassEndInfo: *const VkSubpassEndInfo);
18640
18641extern "C" {
18642    pub fn vkCreateRenderPass2KHR(
18643        device: VkDevice,
18644        pCreateInfo: *const VkRenderPassCreateInfo2,
18645        pAllocator: *const VkAllocationCallbacks,
18646        pRenderPass: *mut VkRenderPass,
18647    ) -> VkResult;
18648}
18649extern "C" {
18650    pub fn vkCmdBeginRenderPass2KHR(
18651        commandBuffer: VkCommandBuffer,
18652        pRenderPassBegin: *const VkRenderPassBeginInfo,
18653        pSubpassBeginInfo: *const VkSubpassBeginInfo,
18654    );
18655}
18656extern "C" {
18657    pub fn vkCmdNextSubpass2KHR(
18658        commandBuffer: VkCommandBuffer,
18659        pSubpassBeginInfo: *const VkSubpassBeginInfo,
18660        pSubpassEndInfo: *const VkSubpassEndInfo,
18661    );
18662}
18663extern "C" {
18664    pub fn vkCmdEndRenderPass2KHR(
18665        commandBuffer: VkCommandBuffer,
18666        pSubpassEndInfo: *const VkSubpassEndInfo,
18667    );
18668}
18669#[repr(C)]
18670#[derive(Debug, Copy, Clone)]
18671pub struct VkSharedPresentSurfaceCapabilitiesKHR {
18672    pub sType: VkStructureType,
18673    pub pNext: *mut ::std::os::raw::c_void,
18674    pub sharedPresentSupportedUsageFlags: VkImageUsageFlags,
18675}
18676pub type PFN_vkGetSwapchainStatusKHR = 
18677    unsafe extern "C" fn(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
18678
18679extern "C" {
18680    pub fn vkGetSwapchainStatusKHR(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
18681}
18682pub type VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags;
18683pub use self::VkExternalFenceHandleTypeFlagBits as VkExternalFenceHandleTypeFlagBitsKHR;
18684pub type VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags;
18685pub use self::VkExternalFenceFeatureFlagBits as VkExternalFenceFeatureFlagBitsKHR;
18686pub type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo;
18687pub type VkExternalFencePropertiesKHR = VkExternalFenceProperties;
18688pub type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR = 
18689    unsafe extern "C" fn(
18690        physicalDevice: VkPhysicalDevice,
18691        pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
18692        pExternalFenceProperties: *mut VkExternalFenceProperties,
18693    );
18694
18695extern "C" {
18696    pub fn vkGetPhysicalDeviceExternalFencePropertiesKHR(
18697        physicalDevice: VkPhysicalDevice,
18698        pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
18699        pExternalFenceProperties: *mut VkExternalFenceProperties,
18700    );
18701}
18702pub type VkFenceImportFlagsKHR = VkFenceImportFlags;
18703pub use self::VkFenceImportFlagBits as VkFenceImportFlagBitsKHR;
18704pub type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo;
18705#[repr(C)]
18706#[derive(Debug, Copy, Clone)]
18707pub struct VkImportFenceFdInfoKHR {
18708    pub sType: VkStructureType,
18709    pub pNext: *const ::std::os::raw::c_void,
18710    pub fence: VkFence,
18711    pub flags: VkFenceImportFlags,
18712    pub handleType: VkExternalFenceHandleTypeFlagBits,
18713    pub fd: ::std::os::raw::c_int,
18714}
18715#[repr(C)]
18716#[derive(Debug, Copy, Clone)]
18717pub struct VkFenceGetFdInfoKHR {
18718    pub sType: VkStructureType,
18719    pub pNext: *const ::std::os::raw::c_void,
18720    pub fence: VkFence,
18721    pub handleType: VkExternalFenceHandleTypeFlagBits,
18722}
18723pub type PFN_vkImportFenceFdKHR = 
18724    unsafe extern "C" fn(
18725        device: VkDevice,
18726        pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
18727    ) -> VkResult;
18728
18729pub type PFN_vkGetFenceFdKHR = 
18730    unsafe extern "C" fn(
18731        device: VkDevice,
18732        pGetFdInfo: *const VkFenceGetFdInfoKHR,
18733        pFd: *mut ::std::os::raw::c_int,
18734    ) -> VkResult;
18735
18736extern "C" {
18737    pub fn vkImportFenceFdKHR(
18738        device: VkDevice,
18739        pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
18740    ) -> VkResult;
18741}
18742extern "C" {
18743    pub fn vkGetFenceFdKHR(
18744        device: VkDevice,
18745        pGetFdInfo: *const VkFenceGetFdInfoKHR,
18746        pFd: *mut ::std::os::raw::c_int,
18747    ) -> VkResult;
18748}
18749pub const VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR:
18750    VkPerformanceCounterUnitKHR = 0;
18751pub const VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR:
18752    VkPerformanceCounterUnitKHR = 1;
18753pub const VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR:
18754    VkPerformanceCounterUnitKHR = 2;
18755pub const VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR:
18756    VkPerformanceCounterUnitKHR = 3;
18757pub const VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR:
18758    VkPerformanceCounterUnitKHR = 4;
18759pub const VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR:
18760    VkPerformanceCounterUnitKHR = 5;
18761pub const VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR:
18762    VkPerformanceCounterUnitKHR = 6;
18763pub const VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR:
18764    VkPerformanceCounterUnitKHR = 7;
18765pub const VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR:
18766    VkPerformanceCounterUnitKHR = 8;
18767pub const VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR:
18768    VkPerformanceCounterUnitKHR = 9;
18769pub const VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR:
18770    VkPerformanceCounterUnitKHR = 10;
18771pub const VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR:
18772    VkPerformanceCounterUnitKHR = 2147483647;
18773pub type VkPerformanceCounterUnitKHR = ::std::os::raw::c_uint;
18774pub const VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR:
18775    VkPerformanceCounterScopeKHR = 0;
18776pub const VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR:
18777    VkPerformanceCounterScopeKHR = 1;
18778pub const VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR:
18779    VkPerformanceCounterScopeKHR = 2;
18780pub const VK_QUERY_SCOPE_COMMAND_BUFFER_KHR:
18781    VkPerformanceCounterScopeKHR = 0;
18782pub const VK_QUERY_SCOPE_RENDER_PASS_KHR:
18783    VkPerformanceCounterScopeKHR = 1;
18784pub const VK_QUERY_SCOPE_COMMAND_KHR: VkPerformanceCounterScopeKHR = 2;
18785pub const VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR:
18786    VkPerformanceCounterScopeKHR = 2147483647;
18787pub type VkPerformanceCounterScopeKHR = ::std::os::raw::c_uint;
18788pub const VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR:
18789    VkPerformanceCounterStorageKHR = 0;
18790pub const VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR:
18791    VkPerformanceCounterStorageKHR = 1;
18792pub const VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR:
18793    VkPerformanceCounterStorageKHR = 2;
18794pub const VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR:
18795    VkPerformanceCounterStorageKHR = 3;
18796pub const VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR:
18797    VkPerformanceCounterStorageKHR = 4;
18798pub const VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR:
18799    VkPerformanceCounterStorageKHR = 5;
18800pub const VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR:
18801    VkPerformanceCounterStorageKHR = 2147483647;
18802pub type VkPerformanceCounterStorageKHR = ::std::os::raw::c_uint;
18803pub const VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR : VkPerformanceCounterDescriptionFlagBitsKHR = 1 ;
18804pub const VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR : VkPerformanceCounterDescriptionFlagBitsKHR = 2 ;
18805pub const VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR : VkPerformanceCounterDescriptionFlagBitsKHR = 1 ;
18806pub const VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR : VkPerformanceCounterDescriptionFlagBitsKHR = 2 ;
18807pub const VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR : VkPerformanceCounterDescriptionFlagBitsKHR = 2147483647 ;
18808pub type VkPerformanceCounterDescriptionFlagBitsKHR = ::std::os::raw::c_uint;
18809pub type VkPerformanceCounterDescriptionFlagsKHR = VkFlags;
18810pub const VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR:
18811    VkAcquireProfilingLockFlagBitsKHR = 2147483647;
18812pub type VkAcquireProfilingLockFlagBitsKHR = ::std::os::raw::c_uint;
18813pub type VkAcquireProfilingLockFlagsKHR = VkFlags;
18814#[repr(C)]
18815#[derive(Debug, Copy, Clone)]
18816pub struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
18817    pub sType: VkStructureType,
18818    pub pNext: *mut ::std::os::raw::c_void,
18819    pub performanceCounterQueryPools: VkBool32,
18820    pub performanceCounterMultipleQueryPools: VkBool32,
18821}
18822#[repr(C)]
18823#[derive(Debug, Copy, Clone)]
18824pub struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
18825    pub sType: VkStructureType,
18826    pub pNext: *mut ::std::os::raw::c_void,
18827    pub allowCommandBufferQueryCopies: VkBool32,
18828}
18829#[repr(C)]
18830#[derive(Debug, Copy, Clone)]
18831pub struct VkPerformanceCounterKHR {
18832    pub sType: VkStructureType,
18833    pub pNext: *mut ::std::os::raw::c_void,
18834    pub unit: VkPerformanceCounterUnitKHR,
18835    pub scope: VkPerformanceCounterScopeKHR,
18836    pub storage: VkPerformanceCounterStorageKHR,
18837    pub uuid: [u8; 16usize],
18838}
18839#[repr(C)]
18840#[derive(Debug, Copy, Clone)]
18841pub struct VkPerformanceCounterDescriptionKHR {
18842    pub sType: VkStructureType,
18843    pub pNext: *mut ::std::os::raw::c_void,
18844    pub flags: VkPerformanceCounterDescriptionFlagsKHR,
18845    pub name: [::std::os::raw::c_char; 256usize],
18846    pub category: [::std::os::raw::c_char; 256usize],
18847    pub description: [::std::os::raw::c_char; 256usize],
18848}
18849#[repr(C)]
18850#[derive(Debug, Copy, Clone)]
18851pub struct VkQueryPoolPerformanceCreateInfoKHR {
18852    pub sType: VkStructureType,
18853    pub pNext: *const ::std::os::raw::c_void,
18854    pub queueFamilyIndex: u32,
18855    pub counterIndexCount: u32,
18856    pub pCounterIndices: *const u32,
18857}
18858#[repr(C)]
18859#[derive(Copy, Clone)]
18860pub union VkPerformanceCounterResultKHR {
18861    pub int32: i32,
18862    pub int64: i64,
18863    pub uint32: u32,
18864    pub uint64: u64,
18865    pub float32: f32,
18866    pub float64: f64,
18867}
18868#[repr(C)]
18869#[derive(Debug, Copy, Clone)]
18870pub struct VkAcquireProfilingLockInfoKHR {
18871    pub sType: VkStructureType,
18872    pub pNext: *const ::std::os::raw::c_void,
18873    pub flags: VkAcquireProfilingLockFlagsKHR,
18874    pub timeout: u64,
18875}
18876#[repr(C)]
18877#[derive(Debug, Copy, Clone)]
18878pub struct VkPerformanceQuerySubmitInfoKHR {
18879    pub sType: VkStructureType,
18880    pub pNext: *const ::std::os::raw::c_void,
18881    pub counterPassIndex: u32,
18882}
18883pub type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR =
18884    
18885        unsafe extern "C" fn(
18886            physicalDevice: VkPhysicalDevice,
18887            queueFamilyIndex: u32,
18888            pCounterCount: *mut u32,
18889            pCounters: *mut VkPerformanceCounterKHR,
18890            pCounterDescriptions: *mut VkPerformanceCounterDescriptionKHR,
18891        ) -> VkResult;
18892    
18893pub type PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 
18894    unsafe extern "C" fn(
18895        physicalDevice: VkPhysicalDevice,
18896        pPerformanceQueryCreateInfo: *const VkQueryPoolPerformanceCreateInfoKHR,
18897        pNumPasses: *mut u32,
18898    );
18899
18900pub type PFN_vkAcquireProfilingLockKHR = 
18901    unsafe extern "C" fn(device: VkDevice, pInfo: *const VkAcquireProfilingLockInfoKHR) -> VkResult;
18902
18903pub type PFN_vkReleaseProfilingLockKHR =
18904    unsafe extern "C" fn(device: VkDevice);
18905extern "C" {
18906    pub fn vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
18907        physicalDevice: VkPhysicalDevice,
18908        queueFamilyIndex: u32,
18909        pCounterCount: *mut u32,
18910        pCounters: *mut VkPerformanceCounterKHR,
18911        pCounterDescriptions: *mut VkPerformanceCounterDescriptionKHR,
18912    ) -> VkResult;
18913}
18914extern "C" {
18915    pub fn vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
18916        physicalDevice: VkPhysicalDevice,
18917        pPerformanceQueryCreateInfo: *const VkQueryPoolPerformanceCreateInfoKHR,
18918        pNumPasses: *mut u32,
18919    );
18920}
18921extern "C" {
18922    pub fn vkAcquireProfilingLockKHR(
18923        device: VkDevice,
18924        pInfo: *const VkAcquireProfilingLockInfoKHR,
18925    ) -> VkResult;
18926}
18927extern "C" {
18928    pub fn vkReleaseProfilingLockKHR(device: VkDevice);
18929}
18930pub use self::VkPointClippingBehavior as VkPointClippingBehaviorKHR;
18931pub use self::VkTessellationDomainOrigin as VkTessellationDomainOriginKHR;
18932pub type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties;
18933pub type VkRenderPassInputAttachmentAspectCreateInfoKHR =
18934    VkRenderPassInputAttachmentAspectCreateInfo;
18935pub type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference;
18936pub type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo;
18937pub type VkPipelineTessellationDomainOriginStateCreateInfoKHR =
18938    VkPipelineTessellationDomainOriginStateCreateInfo;
18939#[repr(C)]
18940#[derive(Debug, Copy, Clone)]
18941pub struct VkPhysicalDeviceSurfaceInfo2KHR {
18942    pub sType: VkStructureType,
18943    pub pNext: *const ::std::os::raw::c_void,
18944    pub surface: VkSurfaceKHR,
18945}
18946#[repr(C)]
18947#[derive(Debug, Copy, Clone)]
18948pub struct VkSurfaceCapabilities2KHR {
18949    pub sType: VkStructureType,
18950    pub pNext: *mut ::std::os::raw::c_void,
18951    pub surfaceCapabilities: VkSurfaceCapabilitiesKHR,
18952}
18953#[repr(C)]
18954#[derive(Debug, Copy, Clone)]
18955pub struct VkSurfaceFormat2KHR {
18956    pub sType: VkStructureType,
18957    pub pNext: *mut ::std::os::raw::c_void,
18958    pub surfaceFormat: VkSurfaceFormatKHR,
18959}
18960pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = 
18961    unsafe extern "C" fn(
18962        physicalDevice: VkPhysicalDevice,
18963        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
18964        pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
18965    ) -> VkResult;
18966
18967pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = 
18968    unsafe extern "C" fn(
18969        physicalDevice: VkPhysicalDevice,
18970        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
18971        pSurfaceFormatCount: *mut u32,
18972        pSurfaceFormats: *mut VkSurfaceFormat2KHR,
18973    ) -> VkResult;
18974
18975extern "C" {
18976    pub fn vkGetPhysicalDeviceSurfaceCapabilities2KHR(
18977        physicalDevice: VkPhysicalDevice,
18978        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
18979        pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
18980    ) -> VkResult;
18981}
18982extern "C" {
18983    pub fn vkGetPhysicalDeviceSurfaceFormats2KHR(
18984        physicalDevice: VkPhysicalDevice,
18985        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
18986        pSurfaceFormatCount: *mut u32,
18987        pSurfaceFormats: *mut VkSurfaceFormat2KHR,
18988    ) -> VkResult;
18989}
18990pub type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
18991pub type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
18992#[repr(C)]
18993#[derive(Debug, Copy, Clone)]
18994pub struct VkDisplayProperties2KHR {
18995    pub sType: VkStructureType,
18996    pub pNext: *mut ::std::os::raw::c_void,
18997    pub displayProperties: VkDisplayPropertiesKHR,
18998}
18999#[repr(C)]
19000#[derive(Debug, Copy, Clone)]
19001pub struct VkDisplayPlaneProperties2KHR {
19002    pub sType: VkStructureType,
19003    pub pNext: *mut ::std::os::raw::c_void,
19004    pub displayPlaneProperties: VkDisplayPlanePropertiesKHR,
19005}
19006#[repr(C)]
19007#[derive(Debug, Copy, Clone)]
19008pub struct VkDisplayModeProperties2KHR {
19009    pub sType: VkStructureType,
19010    pub pNext: *mut ::std::os::raw::c_void,
19011    pub displayModeProperties: VkDisplayModePropertiesKHR,
19012}
19013#[repr(C)]
19014#[derive(Debug, Copy, Clone)]
19015pub struct VkDisplayPlaneInfo2KHR {
19016    pub sType: VkStructureType,
19017    pub pNext: *const ::std::os::raw::c_void,
19018    pub mode: VkDisplayModeKHR,
19019    pub planeIndex: u32,
19020}
19021#[repr(C)]
19022#[derive(Debug, Copy, Clone)]
19023pub struct VkDisplayPlaneCapabilities2KHR {
19024    pub sType: VkStructureType,
19025    pub pNext: *mut ::std::os::raw::c_void,
19026    pub capabilities: VkDisplayPlaneCapabilitiesKHR,
19027}
19028pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = 
19029    unsafe extern "C" fn(
19030        physicalDevice: VkPhysicalDevice,
19031        pPropertyCount: *mut u32,
19032        pProperties: *mut VkDisplayProperties2KHR,
19033    ) -> VkResult;
19034
19035pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 
19036    unsafe extern "C" fn(
19037        physicalDevice: VkPhysicalDevice,
19038        pPropertyCount: *mut u32,
19039        pProperties: *mut VkDisplayPlaneProperties2KHR,
19040    ) -> VkResult;
19041
19042pub type PFN_vkGetDisplayModeProperties2KHR = 
19043    unsafe extern "C" fn(
19044        physicalDevice: VkPhysicalDevice,
19045        display: VkDisplayKHR,
19046        pPropertyCount: *mut u32,
19047        pProperties: *mut VkDisplayModeProperties2KHR,
19048    ) -> VkResult;
19049
19050pub type PFN_vkGetDisplayPlaneCapabilities2KHR = 
19051    unsafe extern "C" fn(
19052        physicalDevice: VkPhysicalDevice,
19053        pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
19054        pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
19055    ) -> VkResult;
19056
19057extern "C" {
19058    pub fn vkGetPhysicalDeviceDisplayProperties2KHR(
19059        physicalDevice: VkPhysicalDevice,
19060        pPropertyCount: *mut u32,
19061        pProperties: *mut VkDisplayProperties2KHR,
19062    ) -> VkResult;
19063}
19064extern "C" {
19065    pub fn vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
19066        physicalDevice: VkPhysicalDevice,
19067        pPropertyCount: *mut u32,
19068        pProperties: *mut VkDisplayPlaneProperties2KHR,
19069    ) -> VkResult;
19070}
19071extern "C" {
19072    pub fn vkGetDisplayModeProperties2KHR(
19073        physicalDevice: VkPhysicalDevice,
19074        display: VkDisplayKHR,
19075        pPropertyCount: *mut u32,
19076        pProperties: *mut VkDisplayModeProperties2KHR,
19077    ) -> VkResult;
19078}
19079extern "C" {
19080    pub fn vkGetDisplayPlaneCapabilities2KHR(
19081        physicalDevice: VkPhysicalDevice,
19082        pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
19083        pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
19084    ) -> VkResult;
19085}
19086pub type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements;
19087pub type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo;
19088pub type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2;
19089pub type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2;
19090pub type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2;
19091pub type VkMemoryRequirements2KHR = VkMemoryRequirements2;
19092pub type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2;
19093pub type PFN_vkGetImageMemoryRequirements2KHR = 
19094    unsafe extern "C" fn(
19095        device: VkDevice,
19096        pInfo: *const VkImageMemoryRequirementsInfo2,
19097        pMemoryRequirements: *mut VkMemoryRequirements2,
19098    );
19099
19100pub type PFN_vkGetBufferMemoryRequirements2KHR = 
19101    unsafe extern "C" fn(
19102        device: VkDevice,
19103        pInfo: *const VkBufferMemoryRequirementsInfo2,
19104        pMemoryRequirements: *mut VkMemoryRequirements2,
19105    );
19106
19107pub type PFN_vkGetImageSparseMemoryRequirements2KHR = 
19108    unsafe extern "C" fn(
19109        device: VkDevice,
19110        pInfo: *const VkImageSparseMemoryRequirementsInfo2,
19111        pSparseMemoryRequirementCount: *mut u32,
19112        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
19113    );
19114
19115extern "C" {
19116    pub fn vkGetImageMemoryRequirements2KHR(
19117        device: VkDevice,
19118        pInfo: *const VkImageMemoryRequirementsInfo2,
19119        pMemoryRequirements: *mut VkMemoryRequirements2,
19120    );
19121}
19122extern "C" {
19123    pub fn vkGetBufferMemoryRequirements2KHR(
19124        device: VkDevice,
19125        pInfo: *const VkBufferMemoryRequirementsInfo2,
19126        pMemoryRequirements: *mut VkMemoryRequirements2,
19127    );
19128}
19129extern "C" {
19130    pub fn vkGetImageSparseMemoryRequirements2KHR(
19131        device: VkDevice,
19132        pInfo: *const VkImageSparseMemoryRequirementsInfo2,
19133        pSparseMemoryRequirementCount: *mut u32,
19134        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
19135    );
19136}
19137pub type VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfo;
19138pub type VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion;
19139pub use self::VkChromaLocation as VkChromaLocationKHR;
19140pub use self::VkSamplerYcbcrModelConversion as VkSamplerYcbcrModelConversionKHR;
19141pub use self::VkSamplerYcbcrRange as VkSamplerYcbcrRangeKHR;
19142pub type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo;
19143pub type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo;
19144pub type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo;
19145pub type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo;
19146pub type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
19147    VkPhysicalDeviceSamplerYcbcrConversionFeatures;
19148pub type VkSamplerYcbcrConversionImageFormatPropertiesKHR =
19149    VkSamplerYcbcrConversionImageFormatProperties;
19150pub type PFN_vkCreateSamplerYcbcrConversionKHR = 
19151    unsafe extern "C" fn(
19152        device: VkDevice,
19153        pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
19154        pAllocator: *const VkAllocationCallbacks,
19155        pYcbcrConversion: *mut VkSamplerYcbcrConversion,
19156    ) -> VkResult;
19157
19158pub type PFN_vkDestroySamplerYcbcrConversionKHR = 
19159    unsafe extern "C" fn(
19160        device: VkDevice,
19161        ycbcrConversion: VkSamplerYcbcrConversion,
19162        pAllocator: *const VkAllocationCallbacks,
19163    );
19164
19165extern "C" {
19166    pub fn vkCreateSamplerYcbcrConversionKHR(
19167        device: VkDevice,
19168        pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
19169        pAllocator: *const VkAllocationCallbacks,
19170        pYcbcrConversion: *mut VkSamplerYcbcrConversion,
19171    ) -> VkResult;
19172}
19173extern "C" {
19174    pub fn vkDestroySamplerYcbcrConversionKHR(
19175        device: VkDevice,
19176        ycbcrConversion: VkSamplerYcbcrConversion,
19177        pAllocator: *const VkAllocationCallbacks,
19178    );
19179}
19180pub type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo;
19181pub type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo;
19182pub type PFN_vkBindBufferMemory2KHR = 
19183    unsafe extern "C" fn(
19184        device: VkDevice,
19185        bindInfoCount: u32,
19186        pBindInfos: *const VkBindBufferMemoryInfo,
19187    ) -> VkResult;
19188
19189pub type PFN_vkBindImageMemory2KHR = 
19190    unsafe extern "C" fn(
19191        device: VkDevice,
19192        bindInfoCount: u32,
19193        pBindInfos: *const VkBindImageMemoryInfo,
19194    ) -> VkResult;
19195
19196extern "C" {
19197    pub fn vkBindBufferMemory2KHR(
19198        device: VkDevice,
19199        bindInfoCount: u32,
19200        pBindInfos: *const VkBindBufferMemoryInfo,
19201    ) -> VkResult;
19202}
19203extern "C" {
19204    pub fn vkBindImageMemory2KHR(
19205        device: VkDevice,
19206        bindInfoCount: u32,
19207        pBindInfos: *const VkBindImageMemoryInfo,
19208    ) -> VkResult;
19209}
19210pub type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties;
19211pub type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport;
19212pub type PFN_vkGetDescriptorSetLayoutSupportKHR = 
19213    unsafe extern "C" fn(
19214        device: VkDevice,
19215        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
19216        pSupport: *mut VkDescriptorSetLayoutSupport,
19217    );
19218
19219extern "C" {
19220    pub fn vkGetDescriptorSetLayoutSupportKHR(
19221        device: VkDevice,
19222        pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
19223        pSupport: *mut VkDescriptorSetLayoutSupport,
19224    );
19225}
19226pub type PFN_vkCmdDrawIndirectCountKHR = 
19227    unsafe extern "C" fn(
19228        commandBuffer: VkCommandBuffer,
19229        buffer: VkBuffer,
19230        offset: VkDeviceSize,
19231        countBuffer: VkBuffer,
19232        countBufferOffset: VkDeviceSize,
19233        maxDrawCount: u32,
19234        stride: u32,
19235    );
19236
19237pub type PFN_vkCmdDrawIndexedIndirectCountKHR = 
19238    unsafe extern "C" fn(
19239        commandBuffer: VkCommandBuffer,
19240        buffer: VkBuffer,
19241        offset: VkDeviceSize,
19242        countBuffer: VkBuffer,
19243        countBufferOffset: VkDeviceSize,
19244        maxDrawCount: u32,
19245        stride: u32,
19246    );
19247
19248extern "C" {
19249    pub fn vkCmdDrawIndirectCountKHR(
19250        commandBuffer: VkCommandBuffer,
19251        buffer: VkBuffer,
19252        offset: VkDeviceSize,
19253        countBuffer: VkBuffer,
19254        countBufferOffset: VkDeviceSize,
19255        maxDrawCount: u32,
19256        stride: u32,
19257    );
19258}
19259extern "C" {
19260    pub fn vkCmdDrawIndexedIndirectCountKHR(
19261        commandBuffer: VkCommandBuffer,
19262        buffer: VkBuffer,
19263        offset: VkDeviceSize,
19264        countBuffer: VkBuffer,
19265        countBufferOffset: VkDeviceSize,
19266        maxDrawCount: u32,
19267        stride: u32,
19268    );
19269}
19270pub type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
19271    VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
19272pub type VkPhysicalDevice8BitStorageFeaturesKHR = VkPhysicalDevice8BitStorageFeatures;
19273pub type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = VkPhysicalDeviceShaderAtomicInt64Features;
19274#[repr(C)]
19275#[derive(Debug, Copy, Clone)]
19276pub struct VkPhysicalDeviceShaderClockFeaturesKHR {
19277    pub sType: VkStructureType,
19278    pub pNext: *mut ::std::os::raw::c_void,
19279    pub shaderSubgroupClock: VkBool32,
19280    pub shaderDeviceClock: VkBool32,
19281}
19282#[repr(C)]
19283#[repr(align(4))]
19284#[derive(Debug, Copy, Clone)]
19285pub struct StdVideoDecodeH265PictureInfoFlags {
19286    pub _bitfield_align_1: [u8; 0],
19287    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
19288    pub __bindgen_padding_0: [u8; 3usize],
19289}
19290impl StdVideoDecodeH265PictureInfoFlags {
19291    #[inline]
19292    pub fn IrapPicFlag(&self) -> u32 {
19293        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
19294    }
19295    #[inline]
19296    pub fn set_IrapPicFlag(&mut self, val: u32) {
19297        unsafe {
19298            let val: u32 = ::std::mem::transmute(val);
19299            self._bitfield_1.set(0usize, 1u8, val as u64)
19300        }
19301    }
19302    #[inline]
19303    pub fn IdrPicFlag(&self) -> u32 {
19304        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
19305    }
19306    #[inline]
19307    pub fn set_IdrPicFlag(&mut self, val: u32) {
19308        unsafe {
19309            let val: u32 = ::std::mem::transmute(val);
19310            self._bitfield_1.set(1usize, 1u8, val as u64)
19311        }
19312    }
19313    #[inline]
19314    pub fn IsReference(&self) -> u32 {
19315        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
19316    }
19317    #[inline]
19318    pub fn set_IsReference(&mut self, val: u32) {
19319        unsafe {
19320            let val: u32 = ::std::mem::transmute(val);
19321            self._bitfield_1.set(2usize, 1u8, val as u64)
19322        }
19323    }
19324    #[inline]
19325    pub fn short_term_ref_pic_set_sps_flag(&self) -> u32 {
19326        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
19327    }
19328    #[inline]
19329    pub fn set_short_term_ref_pic_set_sps_flag(&mut self, val: u32) {
19330        unsafe {
19331            let val: u32 = ::std::mem::transmute(val);
19332            self._bitfield_1.set(3usize, 1u8, val as u64)
19333        }
19334    }
19335    #[inline]
19336    pub fn new_bitfield_1(
19337        IrapPicFlag: u32,
19338        IdrPicFlag: u32,
19339        IsReference: u32,
19340        short_term_ref_pic_set_sps_flag: u32,
19341    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
19342        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
19343        __bindgen_bitfield_unit.set(0usize, 1u8, {
19344            let IrapPicFlag: u32 = unsafe { ::std::mem::transmute(IrapPicFlag) };
19345            IrapPicFlag as u64
19346        });
19347        __bindgen_bitfield_unit.set(1usize, 1u8, {
19348            let IdrPicFlag: u32 = unsafe { ::std::mem::transmute(IdrPicFlag) };
19349            IdrPicFlag as u64
19350        });
19351        __bindgen_bitfield_unit.set(2usize, 1u8, {
19352            let IsReference: u32 = unsafe { ::std::mem::transmute(IsReference) };
19353            IsReference as u64
19354        });
19355        __bindgen_bitfield_unit.set(3usize, 1u8, {
19356            let short_term_ref_pic_set_sps_flag: u32 =
19357                unsafe { ::std::mem::transmute(short_term_ref_pic_set_sps_flag) };
19358            short_term_ref_pic_set_sps_flag as u64
19359        });
19360        __bindgen_bitfield_unit
19361    }
19362}
19363#[repr(C)]
19364#[derive(Debug, Copy, Clone)]
19365pub struct StdVideoDecodeH265PictureInfo {
19366    pub flags: StdVideoDecodeH265PictureInfoFlags,
19367    pub sps_video_parameter_set_id: u8,
19368    pub pps_seq_parameter_set_id: u8,
19369    pub pps_pic_parameter_set_id: u8,
19370    pub NumDeltaPocsOfRefRpsIdx: u8,
19371    pub PicOrderCntVal: i32,
19372    pub NumBitsForSTRefPicSetInSlice: u16,
19373    pub reserved: u16,
19374    pub RefPicSetStCurrBefore: [u8; 8usize],
19375    pub RefPicSetStCurrAfter: [u8; 8usize],
19376    pub RefPicSetLtCurr: [u8; 8usize],
19377}
19378#[repr(C)]
19379#[repr(align(4))]
19380#[derive(Debug, Copy, Clone)]
19381pub struct StdVideoDecodeH265ReferenceInfoFlags {
19382    pub _bitfield_align_1: [u8; 0],
19383    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
19384    pub __bindgen_padding_0: [u8; 3usize],
19385}
19386impl StdVideoDecodeH265ReferenceInfoFlags {
19387    #[inline]
19388    pub fn used_for_long_term_reference(&self) -> u32 {
19389        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
19390    }
19391    #[inline]
19392    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
19393        unsafe {
19394            let val: u32 = ::std::mem::transmute(val);
19395            self._bitfield_1.set(0usize, 1u8, val as u64)
19396        }
19397    }
19398    #[inline]
19399    pub fn unused_for_reference(&self) -> u32 {
19400        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
19401    }
19402    #[inline]
19403    pub fn set_unused_for_reference(&mut self, val: u32) {
19404        unsafe {
19405            let val: u32 = ::std::mem::transmute(val);
19406            self._bitfield_1.set(1usize, 1u8, val as u64)
19407        }
19408    }
19409    #[inline]
19410    pub fn new_bitfield_1(
19411        used_for_long_term_reference: u32,
19412        unused_for_reference: u32,
19413    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
19414        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
19415        __bindgen_bitfield_unit.set(0usize, 1u8, {
19416            let used_for_long_term_reference: u32 =
19417                unsafe { ::std::mem::transmute(used_for_long_term_reference) };
19418            used_for_long_term_reference as u64
19419        });
19420        __bindgen_bitfield_unit.set(1usize, 1u8, {
19421            let unused_for_reference: u32 = unsafe { ::std::mem::transmute(unused_for_reference) };
19422            unused_for_reference as u64
19423        });
19424        __bindgen_bitfield_unit
19425    }
19426}
19427#[repr(C)]
19428#[derive(Debug, Copy, Clone)]
19429pub struct StdVideoDecodeH265ReferenceInfo {
19430    pub flags: StdVideoDecodeH265ReferenceInfoFlags,
19431    pub PicOrderCntVal: i32,
19432}
19433#[repr(C)]
19434#[derive(Debug, Copy, Clone)]
19435pub struct VkVideoDecodeH265ProfileInfoKHR {
19436    pub sType: VkStructureType,
19437    pub pNext: *const ::std::os::raw::c_void,
19438    pub stdProfileIdc: StdVideoH265ProfileIdc,
19439}
19440#[repr(C)]
19441#[derive(Debug, Copy, Clone)]
19442pub struct VkVideoDecodeH265CapabilitiesKHR {
19443    pub sType: VkStructureType,
19444    pub pNext: *mut ::std::os::raw::c_void,
19445    pub maxLevelIdc: StdVideoH265LevelIdc,
19446}
19447#[repr(C)]
19448#[derive(Debug, Copy, Clone)]
19449pub struct VkVideoDecodeH265SessionParametersAddInfoKHR {
19450    pub sType: VkStructureType,
19451    pub pNext: *const ::std::os::raw::c_void,
19452    pub stdVPSCount: u32,
19453    pub pStdVPSs: *const StdVideoH265VideoParameterSet,
19454    pub stdSPSCount: u32,
19455    pub pStdSPSs: *const StdVideoH265SequenceParameterSet,
19456    pub stdPPSCount: u32,
19457    pub pStdPPSs: *const StdVideoH265PictureParameterSet,
19458}
19459#[repr(C)]
19460#[derive(Debug, Copy, Clone)]
19461pub struct VkVideoDecodeH265SessionParametersCreateInfoKHR {
19462    pub sType: VkStructureType,
19463    pub pNext: *const ::std::os::raw::c_void,
19464    pub maxStdVPSCount: u32,
19465    pub maxStdSPSCount: u32,
19466    pub maxStdPPSCount: u32,
19467    pub pParametersAddInfo: *const VkVideoDecodeH265SessionParametersAddInfoKHR,
19468}
19469#[repr(C)]
19470#[derive(Debug, Copy, Clone)]
19471pub struct VkVideoDecodeH265PictureInfoKHR {
19472    pub sType: VkStructureType,
19473    pub pNext: *const ::std::os::raw::c_void,
19474    pub pStdPictureInfo: *const StdVideoDecodeH265PictureInfo,
19475    pub sliceSegmentCount: u32,
19476    pub pSliceSegmentOffsets: *const u32,
19477}
19478#[repr(C)]
19479#[derive(Debug, Copy, Clone)]
19480pub struct VkVideoDecodeH265DpbSlotInfoKHR {
19481    pub sType: VkStructureType,
19482    pub pNext: *const ::std::os::raw::c_void,
19483    pub pStdReferenceInfo: *const StdVideoDecodeH265ReferenceInfo,
19484}
19485pub const VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR: VkQueueGlobalPriorityKHR = 128;
19486pub const VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR: VkQueueGlobalPriorityKHR =
19487    256;
19488pub const VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR: VkQueueGlobalPriorityKHR =
19489    512;
19490pub const VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR: VkQueueGlobalPriorityKHR =
19491    1024;
19492pub const VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT: VkQueueGlobalPriorityKHR = 128;
19493pub const VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: VkQueueGlobalPriorityKHR =
19494    256;
19495pub const VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT: VkQueueGlobalPriorityKHR =
19496    512;
19497pub const VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: VkQueueGlobalPriorityKHR =
19498    1024;
19499pub const VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR: VkQueueGlobalPriorityKHR =
19500    2147483647;
19501pub type VkQueueGlobalPriorityKHR = ::std::os::raw::c_uint;
19502#[repr(C)]
19503#[derive(Debug, Copy, Clone)]
19504pub struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
19505    pub sType: VkStructureType,
19506    pub pNext: *const ::std::os::raw::c_void,
19507    pub globalPriority: VkQueueGlobalPriorityKHR,
19508}
19509#[repr(C)]
19510#[derive(Debug, Copy, Clone)]
19511pub struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
19512    pub sType: VkStructureType,
19513    pub pNext: *mut ::std::os::raw::c_void,
19514    pub globalPriorityQuery: VkBool32,
19515}
19516#[repr(C)]
19517#[derive(Debug, Copy, Clone)]
19518pub struct VkQueueFamilyGlobalPriorityPropertiesKHR {
19519    pub sType: VkStructureType,
19520    pub pNext: *mut ::std::os::raw::c_void,
19521    pub priorityCount: u32,
19522    pub priorities: [VkQueueGlobalPriorityKHR; 16usize],
19523}
19524pub use self::VkDriverId as VkDriverIdKHR;
19525pub type VkConformanceVersionKHR = VkConformanceVersion;
19526pub type VkPhysicalDeviceDriverPropertiesKHR = VkPhysicalDeviceDriverProperties;
19527pub use self::VkShaderFloatControlsIndependence as VkShaderFloatControlsIndependenceKHR;
19528pub type VkPhysicalDeviceFloatControlsPropertiesKHR = VkPhysicalDeviceFloatControlsProperties;
19529pub use self::VkResolveModeFlagBits as VkResolveModeFlagBitsKHR;
19530pub type VkResolveModeFlagsKHR = VkResolveModeFlags;
19531pub type VkSubpassDescriptionDepthStencilResolveKHR = VkSubpassDescriptionDepthStencilResolve;
19532pub type VkPhysicalDeviceDepthStencilResolvePropertiesKHR =
19533    VkPhysicalDeviceDepthStencilResolveProperties;
19534pub use self::VkSemaphoreType as VkSemaphoreTypeKHR;
19535pub use self::VkSemaphoreWaitFlagBits as VkSemaphoreWaitFlagBitsKHR;
19536pub type VkSemaphoreWaitFlagsKHR = VkSemaphoreWaitFlags;
19537pub type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = VkPhysicalDeviceTimelineSemaphoreFeatures;
19538pub type VkPhysicalDeviceTimelineSemaphorePropertiesKHR =
19539    VkPhysicalDeviceTimelineSemaphoreProperties;
19540pub type VkSemaphoreTypeCreateInfoKHR = VkSemaphoreTypeCreateInfo;
19541pub type VkTimelineSemaphoreSubmitInfoKHR = VkTimelineSemaphoreSubmitInfo;
19542pub type VkSemaphoreWaitInfoKHR = VkSemaphoreWaitInfo;
19543pub type VkSemaphoreSignalInfoKHR = VkSemaphoreSignalInfo;
19544pub type PFN_vkGetSemaphoreCounterValueKHR = 
19545    unsafe extern "C" fn(device: VkDevice, semaphore: VkSemaphore, pValue: *mut u64) -> VkResult;
19546
19547pub type PFN_vkWaitSemaphoresKHR = 
19548    unsafe extern "C" fn(
19549        device: VkDevice,
19550        pWaitInfo: *const VkSemaphoreWaitInfo,
19551        timeout: u64,
19552    ) -> VkResult;
19553
19554pub type PFN_vkSignalSemaphoreKHR = 
19555    unsafe extern "C" fn(device: VkDevice, pSignalInfo: *const VkSemaphoreSignalInfo) -> VkResult;
19556
19557extern "C" {
19558    pub fn vkGetSemaphoreCounterValueKHR(
19559        device: VkDevice,
19560        semaphore: VkSemaphore,
19561        pValue: *mut u64,
19562    ) -> VkResult;
19563}
19564extern "C" {
19565    pub fn vkWaitSemaphoresKHR(
19566        device: VkDevice,
19567        pWaitInfo: *const VkSemaphoreWaitInfo,
19568        timeout: u64,
19569    ) -> VkResult;
19570}
19571extern "C" {
19572    pub fn vkSignalSemaphoreKHR(
19573        device: VkDevice,
19574        pSignalInfo: *const VkSemaphoreSignalInfo,
19575    ) -> VkResult;
19576}
19577pub type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures;
19578pub type VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR =
19579    VkPhysicalDeviceShaderTerminateInvocationFeatures;
19580pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR:
19581    VkFragmentShadingRateCombinerOpKHR = 0;
19582pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR:
19583    VkFragmentShadingRateCombinerOpKHR = 1;
19584pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR:
19585    VkFragmentShadingRateCombinerOpKHR = 2;
19586pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR:
19587    VkFragmentShadingRateCombinerOpKHR = 3;
19588pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR:
19589    VkFragmentShadingRateCombinerOpKHR = 4;
19590pub const VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR:
19591    VkFragmentShadingRateCombinerOpKHR = 2147483647;
19592pub type VkFragmentShadingRateCombinerOpKHR = ::std::os::raw::c_uint;
19593#[repr(C)]
19594#[derive(Debug, Copy, Clone)]
19595pub struct VkFragmentShadingRateAttachmentInfoKHR {
19596    pub sType: VkStructureType,
19597    pub pNext: *const ::std::os::raw::c_void,
19598    pub pFragmentShadingRateAttachment: *const VkAttachmentReference2,
19599    pub shadingRateAttachmentTexelSize: VkExtent2D,
19600}
19601#[repr(C)]
19602#[derive(Debug, Copy, Clone)]
19603pub struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
19604    pub sType: VkStructureType,
19605    pub pNext: *const ::std::os::raw::c_void,
19606    pub fragmentSize: VkExtent2D,
19607    pub combinerOps: [VkFragmentShadingRateCombinerOpKHR; 2usize],
19608}
19609#[repr(C)]
19610#[derive(Debug, Copy, Clone)]
19611pub struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
19612    pub sType: VkStructureType,
19613    pub pNext: *mut ::std::os::raw::c_void,
19614    pub pipelineFragmentShadingRate: VkBool32,
19615    pub primitiveFragmentShadingRate: VkBool32,
19616    pub attachmentFragmentShadingRate: VkBool32,
19617}
19618#[repr(C)]
19619#[derive(Debug, Copy, Clone)]
19620pub struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
19621    pub sType: VkStructureType,
19622    pub pNext: *mut ::std::os::raw::c_void,
19623    pub minFragmentShadingRateAttachmentTexelSize: VkExtent2D,
19624    pub maxFragmentShadingRateAttachmentTexelSize: VkExtent2D,
19625    pub maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
19626    pub primitiveFragmentShadingRateWithMultipleViewports: VkBool32,
19627    pub layeredShadingRateAttachments: VkBool32,
19628    pub fragmentShadingRateNonTrivialCombinerOps: VkBool32,
19629    pub maxFragmentSize: VkExtent2D,
19630    pub maxFragmentSizeAspectRatio: u32,
19631    pub maxFragmentShadingRateCoverageSamples: u32,
19632    pub maxFragmentShadingRateRasterizationSamples: VkSampleCountFlagBits,
19633    pub fragmentShadingRateWithShaderDepthStencilWrites: VkBool32,
19634    pub fragmentShadingRateWithSampleMask: VkBool32,
19635    pub fragmentShadingRateWithShaderSampleMask: VkBool32,
19636    pub fragmentShadingRateWithConservativeRasterization: VkBool32,
19637    pub fragmentShadingRateWithFragmentShaderInterlock: VkBool32,
19638    pub fragmentShadingRateWithCustomSampleLocations: VkBool32,
19639    pub fragmentShadingRateStrictMultiplyCombiner: VkBool32,
19640}
19641#[repr(C)]
19642#[derive(Debug, Copy, Clone)]
19643pub struct VkPhysicalDeviceFragmentShadingRateKHR {
19644    pub sType: VkStructureType,
19645    pub pNext: *mut ::std::os::raw::c_void,
19646    pub sampleCounts: VkSampleCountFlags,
19647    pub fragmentSize: VkExtent2D,
19648}
19649#[repr(C)]
19650#[derive(Debug, Copy, Clone)]
19651pub struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
19652    pub sType: VkStructureType,
19653    pub pNext: *const ::std::os::raw::c_void,
19654    pub imageView: VkImageView,
19655    pub imageLayout: VkImageLayout,
19656    pub shadingRateAttachmentTexelSize: VkExtent2D,
19657}
19658pub type PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR = 
19659    unsafe extern "C" fn(
19660        physicalDevice: VkPhysicalDevice,
19661        pFragmentShadingRateCount: *mut u32,
19662        pFragmentShadingRates: *mut VkPhysicalDeviceFragmentShadingRateKHR,
19663    ) -> VkResult;
19664
19665pub type PFN_vkCmdSetFragmentShadingRateKHR = 
19666    unsafe extern "C" fn(
19667        commandBuffer: VkCommandBuffer,
19668        pFragmentSize: *const VkExtent2D,
19669        combinerOps: *const VkFragmentShadingRateCombinerOpKHR,
19670    );
19671
19672extern "C" {
19673    pub fn vkGetPhysicalDeviceFragmentShadingRatesKHR(
19674        physicalDevice: VkPhysicalDevice,
19675        pFragmentShadingRateCount: *mut u32,
19676        pFragmentShadingRates: *mut VkPhysicalDeviceFragmentShadingRateKHR,
19677    ) -> VkResult;
19678}
19679extern "C" {
19680    pub fn vkCmdSetFragmentShadingRateKHR(
19681        commandBuffer: VkCommandBuffer,
19682        pFragmentSize: *const VkExtent2D,
19683        combinerOps: *const VkFragmentShadingRateCombinerOpKHR,
19684    );
19685}
19686#[repr(C)]
19687#[derive(Debug, Copy, Clone)]
19688pub struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR {
19689    pub sType: VkStructureType,
19690    pub pNext: *mut ::std::os::raw::c_void,
19691    pub dynamicRenderingLocalRead: VkBool32,
19692}
19693#[repr(C)]
19694#[derive(Debug, Copy, Clone)]
19695pub struct VkRenderingAttachmentLocationInfoKHR {
19696    pub sType: VkStructureType,
19697    pub pNext: *const ::std::os::raw::c_void,
19698    pub colorAttachmentCount: u32,
19699    pub pColorAttachmentLocations: *const u32,
19700}
19701#[repr(C)]
19702#[derive(Debug, Copy, Clone)]
19703pub struct VkRenderingInputAttachmentIndexInfoKHR {
19704    pub sType: VkStructureType,
19705    pub pNext: *const ::std::os::raw::c_void,
19706    pub colorAttachmentCount: u32,
19707    pub pColorAttachmentInputIndices: *const u32,
19708    pub pDepthInputAttachmentIndex: *const u32,
19709    pub pStencilInputAttachmentIndex: *const u32,
19710}
19711pub type PFN_vkCmdSetRenderingAttachmentLocationsKHR = 
19712    unsafe extern "C" fn(
19713        commandBuffer: VkCommandBuffer,
19714        pLocationInfo: *const VkRenderingAttachmentLocationInfoKHR,
19715    );
19716
19717pub type PFN_vkCmdSetRenderingInputAttachmentIndicesKHR = 
19718    unsafe extern "C" fn(
19719        commandBuffer: VkCommandBuffer,
19720        pInputAttachmentIndexInfo: *const VkRenderingInputAttachmentIndexInfoKHR,
19721    );
19722
19723extern "C" {
19724    pub fn vkCmdSetRenderingAttachmentLocationsKHR(
19725        commandBuffer: VkCommandBuffer,
19726        pLocationInfo: *const VkRenderingAttachmentLocationInfoKHR,
19727    );
19728}
19729extern "C" {
19730    pub fn vkCmdSetRenderingInputAttachmentIndicesKHR(
19731        commandBuffer: VkCommandBuffer,
19732        pInputAttachmentIndexInfo: *const VkRenderingInputAttachmentIndexInfoKHR,
19733    );
19734}
19735#[repr(C)]
19736#[derive(Debug, Copy, Clone)]
19737pub struct VkPhysicalDeviceShaderQuadControlFeaturesKHR {
19738    pub sType: VkStructureType,
19739    pub pNext: *mut ::std::os::raw::c_void,
19740    pub shaderQuadControl: VkBool32,
19741}
19742#[repr(C)]
19743#[derive(Debug, Copy, Clone)]
19744pub struct VkSurfaceProtectedCapabilitiesKHR {
19745    pub sType: VkStructureType,
19746    pub pNext: *const ::std::os::raw::c_void,
19747    pub supportsProtected: VkBool32,
19748}
19749pub type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
19750    VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
19751pub type VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout;
19752pub type VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout;
19753#[repr(C)]
19754#[derive(Debug, Copy, Clone)]
19755pub struct VkPhysicalDevicePresentWaitFeaturesKHR {
19756    pub sType: VkStructureType,
19757    pub pNext: *mut ::std::os::raw::c_void,
19758    pub presentWait: VkBool32,
19759}
19760pub type PFN_vkWaitForPresentKHR = 
19761    unsafe extern "C" fn(
19762        device: VkDevice,
19763        swapchain: VkSwapchainKHR,
19764        presentId: u64,
19765        timeout: u64,
19766    ) -> VkResult;
19767
19768extern "C" {
19769    pub fn vkWaitForPresentKHR(
19770        device: VkDevice,
19771        swapchain: VkSwapchainKHR,
19772        presentId: u64,
19773        timeout: u64,
19774    ) -> VkResult;
19775}
19776pub type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
19777    VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
19778pub type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR =
19779    VkPhysicalDeviceBufferDeviceAddressFeatures;
19780pub type VkBufferDeviceAddressInfoKHR = VkBufferDeviceAddressInfo;
19781pub type VkBufferOpaqueCaptureAddressCreateInfoKHR = VkBufferOpaqueCaptureAddressCreateInfo;
19782pub type VkMemoryOpaqueCaptureAddressAllocateInfoKHR = VkMemoryOpaqueCaptureAddressAllocateInfo;
19783pub type VkDeviceMemoryOpaqueCaptureAddressInfoKHR = VkDeviceMemoryOpaqueCaptureAddressInfo;
19784pub type PFN_vkGetBufferDeviceAddressKHR = 
19785    unsafe extern "C" fn(
19786        device: VkDevice,
19787        pInfo: *const VkBufferDeviceAddressInfo,
19788    ) -> VkDeviceAddress;
19789
19790pub type PFN_vkGetBufferOpaqueCaptureAddressKHR = 
19791    unsafe extern "C" fn(device: VkDevice, pInfo: *const VkBufferDeviceAddressInfo) -> u64;
19792
19793pub type PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR = 
19794    unsafe extern "C" fn(
19795        device: VkDevice,
19796        pInfo: *const VkDeviceMemoryOpaqueCaptureAddressInfo,
19797    ) -> u64;
19798
19799extern "C" {
19800    pub fn vkGetBufferDeviceAddressKHR(
19801        device: VkDevice,
19802        pInfo: *const VkBufferDeviceAddressInfo,
19803    ) -> VkDeviceAddress;
19804}
19805extern "C" {
19806    pub fn vkGetBufferOpaqueCaptureAddressKHR(
19807        device: VkDevice,
19808        pInfo: *const VkBufferDeviceAddressInfo,
19809    ) -> u64;
19810}
19811extern "C" {
19812    pub fn vkGetDeviceMemoryOpaqueCaptureAddressKHR(
19813        device: VkDevice,
19814        pInfo: *const VkDeviceMemoryOpaqueCaptureAddressInfo,
19815    ) -> u64;
19816}
19817#[repr(C)]
19818#[derive(Debug, Copy, Clone)]
19819pub struct VkDeferredOperationKHR_T {
19820    _unused: [u8; 0],
19821}
19822pub type VkDeferredOperationKHR = *mut VkDeferredOperationKHR_T;
19823pub type PFN_vkCreateDeferredOperationKHR = 
19824    unsafe extern "C" fn(
19825        device: VkDevice,
19826        pAllocator: *const VkAllocationCallbacks,
19827        pDeferredOperation: *mut VkDeferredOperationKHR,
19828    ) -> VkResult;
19829
19830pub type PFN_vkDestroyDeferredOperationKHR = 
19831    unsafe extern "C" fn(
19832        device: VkDevice,
19833        operation: VkDeferredOperationKHR,
19834        pAllocator: *const VkAllocationCallbacks,
19835    );
19836
19837pub type PFN_vkGetDeferredOperationMaxConcurrencyKHR = 
19838    unsafe extern "C" fn(device: VkDevice, operation: VkDeferredOperationKHR) -> u32;
19839
19840pub type PFN_vkGetDeferredOperationResultKHR = 
19841    unsafe extern "C" fn(device: VkDevice, operation: VkDeferredOperationKHR) -> VkResult;
19842
19843pub type PFN_vkDeferredOperationJoinKHR = 
19844    unsafe extern "C" fn(device: VkDevice, operation: VkDeferredOperationKHR) -> VkResult;
19845
19846extern "C" {
19847    pub fn vkCreateDeferredOperationKHR(
19848        device: VkDevice,
19849        pAllocator: *const VkAllocationCallbacks,
19850        pDeferredOperation: *mut VkDeferredOperationKHR,
19851    ) -> VkResult;
19852}
19853extern "C" {
19854    pub fn vkDestroyDeferredOperationKHR(
19855        device: VkDevice,
19856        operation: VkDeferredOperationKHR,
19857        pAllocator: *const VkAllocationCallbacks,
19858    );
19859}
19860extern "C" {
19861    pub fn vkGetDeferredOperationMaxConcurrencyKHR(
19862        device: VkDevice,
19863        operation: VkDeferredOperationKHR,
19864    ) -> u32;
19865}
19866extern "C" {
19867    pub fn vkGetDeferredOperationResultKHR(
19868        device: VkDevice,
19869        operation: VkDeferredOperationKHR,
19870    ) -> VkResult;
19871}
19872extern "C" {
19873    pub fn vkDeferredOperationJoinKHR(
19874        device: VkDevice,
19875        operation: VkDeferredOperationKHR,
19876    ) -> VkResult;
19877}
19878pub const VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR : VkPipelineExecutableStatisticFormatKHR = 0 ;
19879pub const VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR : VkPipelineExecutableStatisticFormatKHR = 1 ;
19880pub const VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR : VkPipelineExecutableStatisticFormatKHR = 2 ;
19881pub const VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR : VkPipelineExecutableStatisticFormatKHR = 3 ;
19882pub const VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR : VkPipelineExecutableStatisticFormatKHR = 2147483647 ;
19883pub type VkPipelineExecutableStatisticFormatKHR = ::std::os::raw::c_uint;
19884#[repr(C)]
19885#[derive(Debug, Copy, Clone)]
19886pub struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19887    pub sType: VkStructureType,
19888    pub pNext: *mut ::std::os::raw::c_void,
19889    pub pipelineExecutableInfo: VkBool32,
19890}
19891#[repr(C)]
19892#[derive(Debug, Copy, Clone)]
19893pub struct VkPipelineInfoKHR {
19894    pub sType: VkStructureType,
19895    pub pNext: *const ::std::os::raw::c_void,
19896    pub pipeline: VkPipeline,
19897}
19898#[repr(C)]
19899#[derive(Debug, Copy, Clone)]
19900pub struct VkPipelineExecutablePropertiesKHR {
19901    pub sType: VkStructureType,
19902    pub pNext: *mut ::std::os::raw::c_void,
19903    pub stages: VkShaderStageFlags,
19904    pub name: [::std::os::raw::c_char; 256usize],
19905    pub description: [::std::os::raw::c_char; 256usize],
19906    pub subgroupSize: u32,
19907}
19908#[repr(C)]
19909#[derive(Debug, Copy, Clone)]
19910pub struct VkPipelineExecutableInfoKHR {
19911    pub sType: VkStructureType,
19912    pub pNext: *const ::std::os::raw::c_void,
19913    pub pipeline: VkPipeline,
19914    pub executableIndex: u32,
19915}
19916#[repr(C)]
19917#[derive(Copy, Clone)]
19918pub union VkPipelineExecutableStatisticValueKHR {
19919    pub b32: VkBool32,
19920    pub i64_: i64,
19921    pub u64_: u64,
19922    pub f64_: f64,
19923}
19924#[repr(C)]
19925#[derive(Copy, Clone)]
19926pub struct VkPipelineExecutableStatisticKHR {
19927    pub sType: VkStructureType,
19928    pub pNext: *mut ::std::os::raw::c_void,
19929    pub name: [::std::os::raw::c_char; 256usize],
19930    pub description: [::std::os::raw::c_char; 256usize],
19931    pub format: VkPipelineExecutableStatisticFormatKHR,
19932    pub value: VkPipelineExecutableStatisticValueKHR,
19933}
19934#[repr(C)]
19935#[derive(Debug, Copy, Clone)]
19936pub struct VkPipelineExecutableInternalRepresentationKHR {
19937    pub sType: VkStructureType,
19938    pub pNext: *mut ::std::os::raw::c_void,
19939    pub name: [::std::os::raw::c_char; 256usize],
19940    pub description: [::std::os::raw::c_char; 256usize],
19941    pub isText: VkBool32,
19942    pub dataSize: usize,
19943    pub pData: *mut ::std::os::raw::c_void,
19944}
19945pub type PFN_vkGetPipelineExecutablePropertiesKHR = 
19946    unsafe extern "C" fn(
19947        device: VkDevice,
19948        pPipelineInfo: *const VkPipelineInfoKHR,
19949        pExecutableCount: *mut u32,
19950        pProperties: *mut VkPipelineExecutablePropertiesKHR,
19951    ) -> VkResult;
19952
19953pub type PFN_vkGetPipelineExecutableStatisticsKHR = 
19954    unsafe extern "C" fn(
19955        device: VkDevice,
19956        pExecutableInfo: *const VkPipelineExecutableInfoKHR,
19957        pStatisticCount: *mut u32,
19958        pStatistics: *mut VkPipelineExecutableStatisticKHR,
19959    ) -> VkResult;
19960
19961pub type PFN_vkGetPipelineExecutableInternalRepresentationsKHR = 
19962    unsafe extern "C" fn(
19963        device: VkDevice,
19964        pExecutableInfo: *const VkPipelineExecutableInfoKHR,
19965        pInternalRepresentationCount: *mut u32,
19966        pInternalRepresentations: *mut VkPipelineExecutableInternalRepresentationKHR,
19967    ) -> VkResult;
19968
19969extern "C" {
19970    pub fn vkGetPipelineExecutablePropertiesKHR(
19971        device: VkDevice,
19972        pPipelineInfo: *const VkPipelineInfoKHR,
19973        pExecutableCount: *mut u32,
19974        pProperties: *mut VkPipelineExecutablePropertiesKHR,
19975    ) -> VkResult;
19976}
19977extern "C" {
19978    pub fn vkGetPipelineExecutableStatisticsKHR(
19979        device: VkDevice,
19980        pExecutableInfo: *const VkPipelineExecutableInfoKHR,
19981        pStatisticCount: *mut u32,
19982        pStatistics: *mut VkPipelineExecutableStatisticKHR,
19983    ) -> VkResult;
19984}
19985extern "C" {
19986    pub fn vkGetPipelineExecutableInternalRepresentationsKHR(
19987        device: VkDevice,
19988        pExecutableInfo: *const VkPipelineExecutableInfoKHR,
19989        pInternalRepresentationCount: *mut u32,
19990        pInternalRepresentations: *mut VkPipelineExecutableInternalRepresentationKHR,
19991    ) -> VkResult;
19992}
19993pub const VK_MEMORY_UNMAP_RESERVE_BIT_EXT: VkMemoryUnmapFlagBitsKHR = 1;
19994pub const VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR:
19995    VkMemoryUnmapFlagBitsKHR = 2147483647;
19996pub type VkMemoryUnmapFlagBitsKHR = ::std::os::raw::c_uint;
19997pub type VkMemoryUnmapFlagsKHR = VkFlags;
19998#[repr(C)]
19999#[derive(Debug, Copy, Clone)]
20000pub struct VkMemoryMapInfoKHR {
20001    pub sType: VkStructureType,
20002    pub pNext: *const ::std::os::raw::c_void,
20003    pub flags: VkMemoryMapFlags,
20004    pub memory: VkDeviceMemory,
20005    pub offset: VkDeviceSize,
20006    pub size: VkDeviceSize,
20007}
20008#[repr(C)]
20009#[derive(Debug, Copy, Clone)]
20010pub struct VkMemoryUnmapInfoKHR {
20011    pub sType: VkStructureType,
20012    pub pNext: *const ::std::os::raw::c_void,
20013    pub flags: VkMemoryUnmapFlagsKHR,
20014    pub memory: VkDeviceMemory,
20015}
20016pub type PFN_vkMapMemory2KHR = 
20017    unsafe extern "C" fn(
20018        device: VkDevice,
20019        pMemoryMapInfo: *const VkMemoryMapInfoKHR,
20020        ppData: *mut *mut ::std::os::raw::c_void,
20021    ) -> VkResult;
20022
20023pub type PFN_vkUnmapMemory2KHR = 
20024    unsafe extern "C" fn(
20025        device: VkDevice,
20026        pMemoryUnmapInfo: *const VkMemoryUnmapInfoKHR,
20027    ) -> VkResult;
20028
20029extern "C" {
20030    pub fn vkMapMemory2KHR(
20031        device: VkDevice,
20032        pMemoryMapInfo: *const VkMemoryMapInfoKHR,
20033        ppData: *mut *mut ::std::os::raw::c_void,
20034    ) -> VkResult;
20035}
20036extern "C" {
20037    pub fn vkUnmapMemory2KHR(
20038        device: VkDevice,
20039        pMemoryUnmapInfo: *const VkMemoryUnmapInfoKHR,
20040    ) -> VkResult;
20041}
20042pub type VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR =
20043    VkPhysicalDeviceShaderIntegerDotProductFeatures;
20044pub type VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR =
20045    VkPhysicalDeviceShaderIntegerDotProductProperties;
20046#[repr(C)]
20047#[derive(Debug, Copy, Clone)]
20048pub struct VkPipelineLibraryCreateInfoKHR {
20049    pub sType: VkStructureType,
20050    pub pNext: *const ::std::os::raw::c_void,
20051    pub libraryCount: u32,
20052    pub pLibraries: *const VkPipeline,
20053}
20054#[repr(C)]
20055#[derive(Debug, Copy, Clone)]
20056pub struct VkPresentIdKHR {
20057    pub sType: VkStructureType,
20058    pub pNext: *const ::std::os::raw::c_void,
20059    pub swapchainCount: u32,
20060    pub pPresentIds: *const u64,
20061}
20062#[repr(C)]
20063#[derive(Debug, Copy, Clone)]
20064pub struct VkPhysicalDevicePresentIdFeaturesKHR {
20065    pub sType: VkStructureType,
20066    pub pNext: *mut ::std::os::raw::c_void,
20067    pub presentId: VkBool32,
20068}
20069pub const VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR:
20070    VkVideoEncodeTuningModeKHR = 0;
20071pub const VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR:
20072    VkVideoEncodeTuningModeKHR = 1;
20073pub const VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR:
20074    VkVideoEncodeTuningModeKHR = 2;
20075pub const VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR:
20076    VkVideoEncodeTuningModeKHR = 3;
20077pub const VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR:
20078    VkVideoEncodeTuningModeKHR = 4;
20079pub const VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR:
20080    VkVideoEncodeTuningModeKHR = 2147483647;
20081pub type VkVideoEncodeTuningModeKHR = ::std::os::raw::c_uint;
20082pub const VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR:
20083    VkVideoEncodeFlagBitsKHR = 1;
20084pub const VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR:
20085    VkVideoEncodeFlagBitsKHR = 2;
20086pub const VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR:
20087    VkVideoEncodeFlagBitsKHR = 2147483647;
20088pub type VkVideoEncodeFlagBitsKHR = ::std::os::raw::c_uint;
20089pub type VkVideoEncodeFlagsKHR = VkFlags;
20090pub const VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR : VkVideoEncodeCapabilityFlagBitsKHR = 1 ;
20091pub const VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR : VkVideoEncodeCapabilityFlagBitsKHR = 2 ;
20092pub const VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR : VkVideoEncodeCapabilityFlagBitsKHR = 4 ;
20093pub const VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR:
20094    VkVideoEncodeCapabilityFlagBitsKHR = 8;
20095pub const VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR:
20096    VkVideoEncodeCapabilityFlagBitsKHR = 2147483647;
20097pub type VkVideoEncodeCapabilityFlagBitsKHR = ::std::os::raw::c_uint;
20098pub type VkVideoEncodeCapabilityFlagsKHR = VkFlags;
20099pub const VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR:
20100    VkVideoEncodeRateControlModeFlagBitsKHR = 0;
20101pub const VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR : VkVideoEncodeRateControlModeFlagBitsKHR = 1 ;
20102pub const VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR:
20103    VkVideoEncodeRateControlModeFlagBitsKHR = 2;
20104pub const VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR:
20105    VkVideoEncodeRateControlModeFlagBitsKHR = 4;
20106pub const VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeRateControlModeFlagBitsKHR = 2147483647 ;
20107pub type VkVideoEncodeRateControlModeFlagBitsKHR = ::std::os::raw::c_uint;
20108pub type VkVideoEncodeRateControlModeFlagsKHR = VkFlags;
20109pub const VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR : VkVideoEncodeFeedbackFlagBitsKHR = 1 ;
20110pub const VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR : VkVideoEncodeFeedbackFlagBitsKHR = 2 ;
20111pub const VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR : VkVideoEncodeFeedbackFlagBitsKHR = 4 ;
20112pub const VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR:
20113    VkVideoEncodeFeedbackFlagBitsKHR = 2147483647;
20114pub type VkVideoEncodeFeedbackFlagBitsKHR = ::std::os::raw::c_uint;
20115pub type VkVideoEncodeFeedbackFlagsKHR = VkFlags;
20116pub const VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR:
20117    VkVideoEncodeUsageFlagBitsKHR = 0;
20118pub const VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR:
20119    VkVideoEncodeUsageFlagBitsKHR = 1;
20120pub const VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR:
20121    VkVideoEncodeUsageFlagBitsKHR = 2;
20122pub const VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR:
20123    VkVideoEncodeUsageFlagBitsKHR = 4;
20124pub const VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR:
20125    VkVideoEncodeUsageFlagBitsKHR = 8;
20126pub const VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR:
20127    VkVideoEncodeUsageFlagBitsKHR = 2147483647;
20128pub type VkVideoEncodeUsageFlagBitsKHR = ::std::os::raw::c_uint;
20129pub type VkVideoEncodeUsageFlagsKHR = VkFlags;
20130pub const VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR:
20131    VkVideoEncodeContentFlagBitsKHR = 0;
20132pub const VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR:
20133    VkVideoEncodeContentFlagBitsKHR = 1;
20134pub const VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR:
20135    VkVideoEncodeContentFlagBitsKHR = 2;
20136pub const VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR:
20137    VkVideoEncodeContentFlagBitsKHR = 4;
20138pub const VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR:
20139    VkVideoEncodeContentFlagBitsKHR = 2147483647;
20140pub type VkVideoEncodeContentFlagBitsKHR = ::std::os::raw::c_uint;
20141pub type VkVideoEncodeContentFlagsKHR = VkFlags;
20142pub type VkVideoEncodeRateControlFlagsKHR = VkFlags;
20143#[repr(C)]
20144#[derive(Debug, Copy, Clone)]
20145pub struct VkVideoEncodeInfoKHR {
20146    pub sType: VkStructureType,
20147    pub pNext: *const ::std::os::raw::c_void,
20148    pub flags: VkVideoEncodeFlagsKHR,
20149    pub dstBuffer: VkBuffer,
20150    pub dstBufferOffset: VkDeviceSize,
20151    pub dstBufferRange: VkDeviceSize,
20152    pub srcPictureResource: VkVideoPictureResourceInfoKHR,
20153    pub pSetupReferenceSlot: *const VkVideoReferenceSlotInfoKHR,
20154    pub referenceSlotCount: u32,
20155    pub pReferenceSlots: *const VkVideoReferenceSlotInfoKHR,
20156    pub precedingExternallyEncodedBytes: u32,
20157}
20158#[repr(C)]
20159#[derive(Debug, Copy, Clone)]
20160pub struct VkVideoEncodeCapabilitiesKHR {
20161    pub sType: VkStructureType,
20162    pub pNext: *mut ::std::os::raw::c_void,
20163    pub flags: VkVideoEncodeCapabilityFlagsKHR,
20164    pub rateControlModes: VkVideoEncodeRateControlModeFlagsKHR,
20165    pub maxRateControlLayers: u32,
20166    pub maxBitrate: u64,
20167    pub maxQualityLevels: u32,
20168    pub encodeInputPictureGranularity: VkExtent2D,
20169    pub supportedEncodeFeedbackFlags: VkVideoEncodeFeedbackFlagsKHR,
20170}
20171#[repr(C)]
20172#[derive(Debug, Copy, Clone)]
20173pub struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR {
20174    pub sType: VkStructureType,
20175    pub pNext: *const ::std::os::raw::c_void,
20176    pub encodeFeedbackFlags: VkVideoEncodeFeedbackFlagsKHR,
20177}
20178#[repr(C)]
20179#[derive(Debug, Copy, Clone)]
20180pub struct VkVideoEncodeUsageInfoKHR {
20181    pub sType: VkStructureType,
20182    pub pNext: *const ::std::os::raw::c_void,
20183    pub videoUsageHints: VkVideoEncodeUsageFlagsKHR,
20184    pub videoContentHints: VkVideoEncodeContentFlagsKHR,
20185    pub tuningMode: VkVideoEncodeTuningModeKHR,
20186}
20187#[repr(C)]
20188#[derive(Debug, Copy, Clone)]
20189pub struct VkVideoEncodeRateControlLayerInfoKHR {
20190    pub sType: VkStructureType,
20191    pub pNext: *const ::std::os::raw::c_void,
20192    pub averageBitrate: u64,
20193    pub maxBitrate: u64,
20194    pub frameRateNumerator: u32,
20195    pub frameRateDenominator: u32,
20196}
20197#[repr(C)]
20198#[derive(Debug, Copy, Clone)]
20199pub struct VkVideoEncodeRateControlInfoKHR {
20200    pub sType: VkStructureType,
20201    pub pNext: *const ::std::os::raw::c_void,
20202    pub flags: VkVideoEncodeRateControlFlagsKHR,
20203    pub rateControlMode: VkVideoEncodeRateControlModeFlagBitsKHR,
20204    pub layerCount: u32,
20205    pub pLayers: *const VkVideoEncodeRateControlLayerInfoKHR,
20206    pub virtualBufferSizeInMs: u32,
20207    pub initialVirtualBufferSizeInMs: u32,
20208}
20209#[repr(C)]
20210#[derive(Debug, Copy, Clone)]
20211pub struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR {
20212    pub sType: VkStructureType,
20213    pub pNext: *const ::std::os::raw::c_void,
20214    pub pVideoProfile: *const VkVideoProfileInfoKHR,
20215    pub qualityLevel: u32,
20216}
20217#[repr(C)]
20218#[derive(Debug, Copy, Clone)]
20219pub struct VkVideoEncodeQualityLevelPropertiesKHR {
20220    pub sType: VkStructureType,
20221    pub pNext: *mut ::std::os::raw::c_void,
20222    pub preferredRateControlMode: VkVideoEncodeRateControlModeFlagBitsKHR,
20223    pub preferredRateControlLayerCount: u32,
20224}
20225#[repr(C)]
20226#[derive(Debug, Copy, Clone)]
20227pub struct VkVideoEncodeQualityLevelInfoKHR {
20228    pub sType: VkStructureType,
20229    pub pNext: *const ::std::os::raw::c_void,
20230    pub qualityLevel: u32,
20231}
20232#[repr(C)]
20233#[derive(Debug, Copy, Clone)]
20234pub struct VkVideoEncodeSessionParametersGetInfoKHR {
20235    pub sType: VkStructureType,
20236    pub pNext: *const ::std::os::raw::c_void,
20237    pub videoSessionParameters: VkVideoSessionParametersKHR,
20238}
20239#[repr(C)]
20240#[derive(Debug, Copy, Clone)]
20241pub struct VkVideoEncodeSessionParametersFeedbackInfoKHR {
20242    pub sType: VkStructureType,
20243    pub pNext: *mut ::std::os::raw::c_void,
20244    pub hasOverrides: VkBool32,
20245}
20246pub type PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 
20247    unsafe extern "C" fn(
20248        physicalDevice: VkPhysicalDevice,
20249        pQualityLevelInfo: *const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR,
20250        pQualityLevelProperties: *mut VkVideoEncodeQualityLevelPropertiesKHR,
20251    ) -> VkResult;
20252
20253pub type PFN_vkGetEncodedVideoSessionParametersKHR = 
20254    unsafe extern "C" fn(
20255        device: VkDevice,
20256        pVideoSessionParametersInfo: *const VkVideoEncodeSessionParametersGetInfoKHR,
20257        pFeedbackInfo: *mut VkVideoEncodeSessionParametersFeedbackInfoKHR,
20258        pDataSize: *mut usize,
20259        pData: *mut ::std::os::raw::c_void,
20260    ) -> VkResult;
20261
20262pub type PFN_vkCmdEncodeVideoKHR = 
20263    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pEncodeInfo: *const VkVideoEncodeInfoKHR);
20264
20265extern "C" {
20266    pub fn vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
20267        physicalDevice: VkPhysicalDevice,
20268        pQualityLevelInfo: *const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR,
20269        pQualityLevelProperties: *mut VkVideoEncodeQualityLevelPropertiesKHR,
20270    ) -> VkResult;
20271}
20272extern "C" {
20273    pub fn vkGetEncodedVideoSessionParametersKHR(
20274        device: VkDevice,
20275        pVideoSessionParametersInfo: *const VkVideoEncodeSessionParametersGetInfoKHR,
20276        pFeedbackInfo: *mut VkVideoEncodeSessionParametersFeedbackInfoKHR,
20277        pDataSize: *mut usize,
20278        pData: *mut ::std::os::raw::c_void,
20279    ) -> VkResult;
20280}
20281extern "C" {
20282    pub fn vkCmdEncodeVideoKHR(
20283        commandBuffer: VkCommandBuffer,
20284        pEncodeInfo: *const VkVideoEncodeInfoKHR,
20285    );
20286}
20287pub type VkPipelineStageFlags2KHR = VkPipelineStageFlags2;
20288pub type VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2;
20289pub type VkAccessFlags2KHR = VkAccessFlags2;
20290pub type VkAccessFlagBits2KHR = VkAccessFlagBits2;
20291pub use self::VkSubmitFlagBits as VkSubmitFlagBitsKHR;
20292pub type VkSubmitFlagsKHR = VkSubmitFlags;
20293pub type VkMemoryBarrier2KHR = VkMemoryBarrier2;
20294pub type VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2;
20295pub type VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2;
20296pub type VkDependencyInfoKHR = VkDependencyInfo;
20297pub type VkSubmitInfo2KHR = VkSubmitInfo2;
20298pub type VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo;
20299pub type VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo;
20300pub type VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features;
20301pub type PFN_vkCmdSetEvent2KHR = 
20302    unsafe extern "C" fn(
20303        commandBuffer: VkCommandBuffer,
20304        event: VkEvent,
20305        pDependencyInfo: *const VkDependencyInfo,
20306    );
20307
20308pub type PFN_vkCmdResetEvent2KHR = 
20309    unsafe extern "C" fn(
20310        commandBuffer: VkCommandBuffer,
20311        event: VkEvent,
20312        stageMask: VkPipelineStageFlags2,
20313    );
20314
20315pub type PFN_vkCmdWaitEvents2KHR = 
20316    unsafe extern "C" fn(
20317        commandBuffer: VkCommandBuffer,
20318        eventCount: u32,
20319        pEvents: *const VkEvent,
20320        pDependencyInfos: *const VkDependencyInfo,
20321    );
20322
20323pub type PFN_vkCmdPipelineBarrier2KHR = 
20324    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pDependencyInfo: *const VkDependencyInfo);
20325
20326pub type PFN_vkCmdWriteTimestamp2KHR = 
20327    unsafe extern "C" fn(
20328        commandBuffer: VkCommandBuffer,
20329        stage: VkPipelineStageFlags2,
20330        queryPool: VkQueryPool,
20331        query: u32,
20332    );
20333
20334pub type PFN_vkQueueSubmit2KHR = 
20335    unsafe extern "C" fn(
20336        queue: VkQueue,
20337        submitCount: u32,
20338        pSubmits: *const VkSubmitInfo2,
20339        fence: VkFence,
20340    ) -> VkResult;
20341
20342extern "C" {
20343    pub fn vkCmdSetEvent2KHR(
20344        commandBuffer: VkCommandBuffer,
20345        event: VkEvent,
20346        pDependencyInfo: *const VkDependencyInfo,
20347    );
20348}
20349extern "C" {
20350    pub fn vkCmdResetEvent2KHR(
20351        commandBuffer: VkCommandBuffer,
20352        event: VkEvent,
20353        stageMask: VkPipelineStageFlags2,
20354    );
20355}
20356extern "C" {
20357    pub fn vkCmdWaitEvents2KHR(
20358        commandBuffer: VkCommandBuffer,
20359        eventCount: u32,
20360        pEvents: *const VkEvent,
20361        pDependencyInfos: *const VkDependencyInfo,
20362    );
20363}
20364extern "C" {
20365    pub fn vkCmdPipelineBarrier2KHR(
20366        commandBuffer: VkCommandBuffer,
20367        pDependencyInfo: *const VkDependencyInfo,
20368    );
20369}
20370extern "C" {
20371    pub fn vkCmdWriteTimestamp2KHR(
20372        commandBuffer: VkCommandBuffer,
20373        stage: VkPipelineStageFlags2,
20374        queryPool: VkQueryPool,
20375        query: u32,
20376    );
20377}
20378extern "C" {
20379    pub fn vkQueueSubmit2KHR(
20380        queue: VkQueue,
20381        submitCount: u32,
20382        pSubmits: *const VkSubmitInfo2,
20383        fence: VkFence,
20384    ) -> VkResult;
20385}
20386#[repr(C)]
20387#[derive(Debug, Copy, Clone)]
20388pub struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
20389    pub sType: VkStructureType,
20390    pub pNext: *mut ::std::os::raw::c_void,
20391    pub fragmentShaderBarycentric: VkBool32,
20392}
20393#[repr(C)]
20394#[derive(Debug, Copy, Clone)]
20395pub struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
20396    pub sType: VkStructureType,
20397    pub pNext: *mut ::std::os::raw::c_void,
20398    pub triStripVertexOrderIndependentOfProvokingVertex: VkBool32,
20399}
20400#[repr(C)]
20401#[derive(Debug, Copy, Clone)]
20402pub struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
20403    pub sType: VkStructureType,
20404    pub pNext: *mut ::std::os::raw::c_void,
20405    pub shaderSubgroupUniformControlFlow: VkBool32,
20406}
20407pub type VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
20408    VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
20409#[repr(C)]
20410#[derive(Debug, Copy, Clone)]
20411pub struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
20412    pub sType: VkStructureType,
20413    pub pNext: *mut ::std::os::raw::c_void,
20414    pub workgroupMemoryExplicitLayout: VkBool32,
20415    pub workgroupMemoryExplicitLayoutScalarBlockLayout: VkBool32,
20416    pub workgroupMemoryExplicitLayout8BitAccess: VkBool32,
20417    pub workgroupMemoryExplicitLayout16BitAccess: VkBool32,
20418}
20419pub type VkCopyBufferInfo2KHR = VkCopyBufferInfo2;
20420pub type VkCopyImageInfo2KHR = VkCopyImageInfo2;
20421pub type VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2;
20422pub type VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2;
20423pub type VkBlitImageInfo2KHR = VkBlitImageInfo2;
20424pub type VkResolveImageInfo2KHR = VkResolveImageInfo2;
20425pub type VkBufferCopy2KHR = VkBufferCopy2;
20426pub type VkImageCopy2KHR = VkImageCopy2;
20427pub type VkImageBlit2KHR = VkImageBlit2;
20428pub type VkBufferImageCopy2KHR = VkBufferImageCopy2;
20429pub type VkImageResolve2KHR = VkImageResolve2;
20430pub type PFN_vkCmdCopyBuffer2KHR = 
20431    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pCopyBufferInfo: *const VkCopyBufferInfo2);
20432
20433pub type PFN_vkCmdCopyImage2KHR = 
20434    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pCopyImageInfo: *const VkCopyImageInfo2);
20435
20436pub type PFN_vkCmdCopyBufferToImage2KHR = 
20437    unsafe extern "C" fn(
20438        commandBuffer: VkCommandBuffer,
20439        pCopyBufferToImageInfo: *const VkCopyBufferToImageInfo2,
20440    );
20441
20442pub type PFN_vkCmdCopyImageToBuffer2KHR = 
20443    unsafe extern "C" fn(
20444        commandBuffer: VkCommandBuffer,
20445        pCopyImageToBufferInfo: *const VkCopyImageToBufferInfo2,
20446    );
20447
20448pub type PFN_vkCmdBlitImage2KHR = 
20449    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pBlitImageInfo: *const VkBlitImageInfo2);
20450
20451pub type PFN_vkCmdResolveImage2KHR = 
20452    unsafe extern "C" fn(
20453        commandBuffer: VkCommandBuffer,
20454        pResolveImageInfo: *const VkResolveImageInfo2,
20455    );
20456
20457extern "C" {
20458    pub fn vkCmdCopyBuffer2KHR(
20459        commandBuffer: VkCommandBuffer,
20460        pCopyBufferInfo: *const VkCopyBufferInfo2,
20461    );
20462}
20463extern "C" {
20464    pub fn vkCmdCopyImage2KHR(
20465        commandBuffer: VkCommandBuffer,
20466        pCopyImageInfo: *const VkCopyImageInfo2,
20467    );
20468}
20469extern "C" {
20470    pub fn vkCmdCopyBufferToImage2KHR(
20471        commandBuffer: VkCommandBuffer,
20472        pCopyBufferToImageInfo: *const VkCopyBufferToImageInfo2,
20473    );
20474}
20475extern "C" {
20476    pub fn vkCmdCopyImageToBuffer2KHR(
20477        commandBuffer: VkCommandBuffer,
20478        pCopyImageToBufferInfo: *const VkCopyImageToBufferInfo2,
20479    );
20480}
20481extern "C" {
20482    pub fn vkCmdBlitImage2KHR(
20483        commandBuffer: VkCommandBuffer,
20484        pBlitImageInfo: *const VkBlitImageInfo2,
20485    );
20486}
20487extern "C" {
20488    pub fn vkCmdResolveImage2KHR(
20489        commandBuffer: VkCommandBuffer,
20490        pResolveImageInfo: *const VkResolveImageInfo2,
20491    );
20492}
20493pub type VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2;
20494pub type VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2;
20495pub type VkFormatProperties3KHR = VkFormatProperties3;
20496#[repr(C)]
20497#[derive(Debug, Copy, Clone)]
20498pub struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
20499    pub sType: VkStructureType,
20500    pub pNext: *mut ::std::os::raw::c_void,
20501    pub rayTracingMaintenance1: VkBool32,
20502    pub rayTracingPipelineTraceRaysIndirect2: VkBool32,
20503}
20504#[repr(C)]
20505#[derive(Debug, Copy, Clone)]
20506pub struct VkTraceRaysIndirectCommand2KHR {
20507    pub raygenShaderRecordAddress: VkDeviceAddress,
20508    pub raygenShaderRecordSize: VkDeviceSize,
20509    pub missShaderBindingTableAddress: VkDeviceAddress,
20510    pub missShaderBindingTableSize: VkDeviceSize,
20511    pub missShaderBindingTableStride: VkDeviceSize,
20512    pub hitShaderBindingTableAddress: VkDeviceAddress,
20513    pub hitShaderBindingTableSize: VkDeviceSize,
20514    pub hitShaderBindingTableStride: VkDeviceSize,
20515    pub callableShaderBindingTableAddress: VkDeviceAddress,
20516    pub callableShaderBindingTableSize: VkDeviceSize,
20517    pub callableShaderBindingTableStride: VkDeviceSize,
20518    pub width: u32,
20519    pub height: u32,
20520    pub depth: u32,
20521}
20522pub type PFN_vkCmdTraceRaysIndirect2KHR = 
20523    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, indirectDeviceAddress: VkDeviceAddress);
20524
20525extern "C" {
20526    pub fn vkCmdTraceRaysIndirect2KHR(
20527        commandBuffer: VkCommandBuffer,
20528        indirectDeviceAddress: VkDeviceAddress,
20529    );
20530}
20531pub type VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features;
20532pub type VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties;
20533pub type VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements;
20534pub type VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements;
20535pub type PFN_vkGetDeviceBufferMemoryRequirementsKHR = 
20536    unsafe extern "C" fn(
20537        device: VkDevice,
20538        pInfo: *const VkDeviceBufferMemoryRequirements,
20539        pMemoryRequirements: *mut VkMemoryRequirements2,
20540    );
20541
20542pub type PFN_vkGetDeviceImageMemoryRequirementsKHR = 
20543    unsafe extern "C" fn(
20544        device: VkDevice,
20545        pInfo: *const VkDeviceImageMemoryRequirements,
20546        pMemoryRequirements: *mut VkMemoryRequirements2,
20547    );
20548
20549pub type PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = 
20550    unsafe extern "C" fn(
20551        device: VkDevice,
20552        pInfo: *const VkDeviceImageMemoryRequirements,
20553        pSparseMemoryRequirementCount: *mut u32,
20554        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
20555    );
20556
20557extern "C" {
20558    pub fn vkGetDeviceBufferMemoryRequirementsKHR(
20559        device: VkDevice,
20560        pInfo: *const VkDeviceBufferMemoryRequirements,
20561        pMemoryRequirements: *mut VkMemoryRequirements2,
20562    );
20563}
20564extern "C" {
20565    pub fn vkGetDeviceImageMemoryRequirementsKHR(
20566        device: VkDevice,
20567        pInfo: *const VkDeviceImageMemoryRequirements,
20568        pMemoryRequirements: *mut VkMemoryRequirements2,
20569    );
20570}
20571extern "C" {
20572    pub fn vkGetDeviceImageSparseMemoryRequirementsKHR(
20573        device: VkDevice,
20574        pInfo: *const VkDeviceImageMemoryRequirements,
20575        pSparseMemoryRequirementCount: *mut u32,
20576        pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
20577    );
20578}
20579#[repr(C)]
20580#[derive(Debug, Copy, Clone)]
20581pub struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR {
20582    pub sType: VkStructureType,
20583    pub pNext: *mut ::std::os::raw::c_void,
20584    pub shaderSubgroupRotate: VkBool32,
20585    pub shaderSubgroupRotateClustered: VkBool32,
20586}
20587#[repr(C)]
20588#[derive(Debug, Copy, Clone)]
20589pub struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
20590    pub sType: VkStructureType,
20591    pub pNext: *mut ::std::os::raw::c_void,
20592    pub shaderMaximalReconvergence: VkBool32,
20593}
20594pub type VkPipelineCreateFlags2KHR = VkFlags64;
20595pub type VkPipelineCreateFlagBits2KHR = VkFlags64;
20596pub const VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR: VkPipelineCreateFlagBits2KHR = 1;
20597pub const VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR: VkPipelineCreateFlagBits2KHR = 2;
20598pub const VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR: VkPipelineCreateFlagBits2KHR = 4;
20599pub const VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX: VkPipelineCreateFlagBits2KHR = 4294967296;
20600pub const VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT: VkPipelineCreateFlagBits2KHR =
20601    17179869184;
20602pub const VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR: VkPipelineCreateFlagBits2KHR =
20603    8;
20604pub const VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR: VkPipelineCreateFlagBits2KHR = 16;
20605pub const VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV: VkPipelineCreateFlagBits2KHR = 32;
20606pub const VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR: VkPipelineCreateFlagBits2KHR = 64;
20607pub const VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR:
20608    VkPipelineCreateFlagBits2KHR = 128;
20609pub const VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR:
20610    VkPipelineCreateFlagBits2KHR = 256;
20611pub const VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR: VkPipelineCreateFlagBits2KHR = 512;
20612pub const VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT: VkPipelineCreateFlagBits2KHR = 1024;
20613pub const VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT:
20614    VkPipelineCreateFlagBits2KHR = 8388608;
20615pub const VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR: VkPipelineCreateFlagBits2KHR = 2048;
20616pub const VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR: VkPipelineCreateFlagBits2KHR =
20617    4096;
20618pub const VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR: VkPipelineCreateFlagBits2KHR = 8192;
20619pub const VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR:
20620    VkPipelineCreateFlagBits2KHR = 16384;
20621pub const VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR:
20622    VkPipelineCreateFlagBits2KHR = 32768;
20623pub const VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR:
20624    VkPipelineCreateFlagBits2KHR = 65536;
20625pub const VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR:
20626    VkPipelineCreateFlagBits2KHR = 131072;
20627pub const VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR:
20628    VkPipelineCreateFlagBits2KHR = 524288;
20629pub const VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV: VkPipelineCreateFlagBits2KHR = 262144;
20630pub const VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV: VkPipelineCreateFlagBits2KHR =
20631    1048576;
20632pub const VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
20633    VkPipelineCreateFlagBits2KHR = 2097152;
20634pub const VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT:
20635    VkPipelineCreateFlagBits2KHR = 4194304;
20636pub const VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT: VkPipelineCreateFlagBits2KHR =
20637    16777216;
20638pub const VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT:
20639    VkPipelineCreateFlagBits2KHR = 33554432;
20640pub const VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT:
20641    VkPipelineCreateFlagBits2KHR = 67108864;
20642pub const VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT: VkPipelineCreateFlagBits2KHR =
20643    134217728;
20644pub const VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT: VkPipelineCreateFlagBits2KHR =
20645    1073741824;
20646pub const VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV:
20647    VkPipelineCreateFlagBits2KHR = 268435456;
20648pub const VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT: VkPipelineCreateFlagBits2KHR = 536870912;
20649pub const VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR: VkPipelineCreateFlagBits2KHR = 2147483648;
20650pub const VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT: VkPipelineCreateFlagBits2KHR =
20651    274877906944;
20652pub type VkBufferUsageFlags2KHR = VkFlags64;
20653pub type VkBufferUsageFlagBits2KHR = VkFlags64;
20654pub const VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR: VkBufferUsageFlagBits2KHR = 1;
20655pub const VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR: VkBufferUsageFlagBits2KHR = 2;
20656pub const VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 4;
20657pub const VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 8;
20658pub const VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 16;
20659pub const VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 32;
20660pub const VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 64;
20661pub const VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 128;
20662pub const VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR: VkBufferUsageFlagBits2KHR = 256;
20663pub const VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX: VkBufferUsageFlagBits2KHR = 33554432;
20664pub const VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT: VkBufferUsageFlagBits2KHR = 512;
20665pub const VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR: VkBufferUsageFlagBits2KHR = 1024;
20666pub const VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV: VkBufferUsageFlagBits2KHR = 1024;
20667pub const VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR = 2048;
20668pub const VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR =
20669    4096;
20670pub const VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR: VkBufferUsageFlagBits2KHR = 8192;
20671pub const VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR: VkBufferUsageFlagBits2KHR = 16384;
20672pub const VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR: VkBufferUsageFlagBits2KHR = 32768;
20673pub const VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR: VkBufferUsageFlagBits2KHR = 65536;
20674pub const VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR: VkBufferUsageFlagBits2KHR = 131072;
20675pub const VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR:
20676    VkBufferUsageFlagBits2KHR = 524288;
20677pub const VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR: VkBufferUsageFlagBits2KHR =
20678    1048576;
20679pub const VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR = 2097152;
20680pub const VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR = 4194304;
20681pub const VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR =
20682    67108864;
20683pub const VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT: VkBufferUsageFlagBits2KHR =
20684    8388608;
20685pub const VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT: VkBufferUsageFlagBits2KHR = 16777216;
20686pub const VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT: VkBufferUsageFlagBits2KHR = 2147483648;
20687#[repr(C)]
20688#[derive(Debug, Copy, Clone)]
20689pub struct VkPhysicalDeviceMaintenance5FeaturesKHR {
20690    pub sType: VkStructureType,
20691    pub pNext: *mut ::std::os::raw::c_void,
20692    pub maintenance5: VkBool32,
20693}
20694#[repr(C)]
20695#[derive(Debug, Copy, Clone)]
20696pub struct VkPhysicalDeviceMaintenance5PropertiesKHR {
20697    pub sType: VkStructureType,
20698    pub pNext: *mut ::std::os::raw::c_void,
20699    pub earlyFragmentMultisampleCoverageAfterSampleCounting: VkBool32,
20700    pub earlyFragmentSampleMaskTestBeforeSampleCounting: VkBool32,
20701    pub depthStencilSwizzleOneSupport: VkBool32,
20702    pub polygonModePointSize: VkBool32,
20703    pub nonStrictSinglePixelWideLinesUseParallelogram: VkBool32,
20704    pub nonStrictWideLinesUseParallelogram: VkBool32,
20705}
20706#[repr(C)]
20707#[derive(Debug, Copy, Clone)]
20708pub struct VkRenderingAreaInfoKHR {
20709    pub sType: VkStructureType,
20710    pub pNext: *const ::std::os::raw::c_void,
20711    pub viewMask: u32,
20712    pub colorAttachmentCount: u32,
20713    pub pColorAttachmentFormats: *const VkFormat,
20714    pub depthAttachmentFormat: VkFormat,
20715    pub stencilAttachmentFormat: VkFormat,
20716}
20717#[repr(C)]
20718#[derive(Debug, Copy, Clone)]
20719pub struct VkImageSubresource2KHR {
20720    pub sType: VkStructureType,
20721    pub pNext: *mut ::std::os::raw::c_void,
20722    pub imageSubresource: VkImageSubresource,
20723}
20724#[repr(C)]
20725#[derive(Debug, Copy, Clone)]
20726pub struct VkDeviceImageSubresourceInfoKHR {
20727    pub sType: VkStructureType,
20728    pub pNext: *const ::std::os::raw::c_void,
20729    pub pCreateInfo: *const VkImageCreateInfo,
20730    pub pSubresource: *const VkImageSubresource2KHR,
20731}
20732#[repr(C)]
20733#[derive(Debug, Copy, Clone)]
20734pub struct VkSubresourceLayout2KHR {
20735    pub sType: VkStructureType,
20736    pub pNext: *mut ::std::os::raw::c_void,
20737    pub subresourceLayout: VkSubresourceLayout,
20738}
20739#[repr(C)]
20740#[derive(Debug, Copy, Clone)]
20741pub struct VkPipelineCreateFlags2CreateInfoKHR {
20742    pub sType: VkStructureType,
20743    pub pNext: *const ::std::os::raw::c_void,
20744    pub flags: VkPipelineCreateFlags2KHR,
20745}
20746#[repr(C)]
20747#[derive(Debug, Copy, Clone)]
20748pub struct VkBufferUsageFlags2CreateInfoKHR {
20749    pub sType: VkStructureType,
20750    pub pNext: *const ::std::os::raw::c_void,
20751    pub usage: VkBufferUsageFlags2KHR,
20752}
20753pub type PFN_vkCmdBindIndexBuffer2KHR = 
20754    unsafe extern "C" fn(
20755        commandBuffer: VkCommandBuffer,
20756        buffer: VkBuffer,
20757        offset: VkDeviceSize,
20758        size: VkDeviceSize,
20759        indexType: VkIndexType,
20760    );
20761
20762pub type PFN_vkGetRenderingAreaGranularityKHR = 
20763    unsafe extern "C" fn(
20764        device: VkDevice,
20765        pRenderingAreaInfo: *const VkRenderingAreaInfoKHR,
20766        pGranularity: *mut VkExtent2D,
20767    );
20768
20769pub type PFN_vkGetDeviceImageSubresourceLayoutKHR = 
20770    unsafe extern "C" fn(
20771        device: VkDevice,
20772        pInfo: *const VkDeviceImageSubresourceInfoKHR,
20773        pLayout: *mut VkSubresourceLayout2KHR,
20774    );
20775
20776pub type PFN_vkGetImageSubresourceLayout2KHR = 
20777    unsafe extern "C" fn(
20778        device: VkDevice,
20779        image: VkImage,
20780        pSubresource: *const VkImageSubresource2KHR,
20781        pLayout: *mut VkSubresourceLayout2KHR,
20782    );
20783
20784extern "C" {
20785    pub fn vkCmdBindIndexBuffer2KHR(
20786        commandBuffer: VkCommandBuffer,
20787        buffer: VkBuffer,
20788        offset: VkDeviceSize,
20789        size: VkDeviceSize,
20790        indexType: VkIndexType,
20791    );
20792}
20793extern "C" {
20794    pub fn vkGetRenderingAreaGranularityKHR(
20795        device: VkDevice,
20796        pRenderingAreaInfo: *const VkRenderingAreaInfoKHR,
20797        pGranularity: *mut VkExtent2D,
20798    );
20799}
20800extern "C" {
20801    pub fn vkGetDeviceImageSubresourceLayoutKHR(
20802        device: VkDevice,
20803        pInfo: *const VkDeviceImageSubresourceInfoKHR,
20804        pLayout: *mut VkSubresourceLayout2KHR,
20805    );
20806}
20807extern "C" {
20808    pub fn vkGetImageSubresourceLayout2KHR(
20809        device: VkDevice,
20810        image: VkImage,
20811        pSubresource: *const VkImageSubresource2KHR,
20812        pLayout: *mut VkSubresourceLayout2KHR,
20813    );
20814}
20815#[repr(C)]
20816#[derive(Debug, Copy, Clone)]
20817pub struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20818    pub sType: VkStructureType,
20819    pub pNext: *mut ::std::os::raw::c_void,
20820    pub rayTracingPositionFetch: VkBool32,
20821}
20822#[repr(C)]
20823#[derive(Debug, Copy, Clone)]
20824pub struct VkPipelineBinaryKHR_T {
20825    _unused: [u8; 0],
20826}
20827pub type VkPipelineBinaryKHR = *mut VkPipelineBinaryKHR_T;
20828#[repr(C)]
20829#[derive(Debug, Copy, Clone)]
20830pub struct VkPhysicalDevicePipelineBinaryFeaturesKHR {
20831    pub sType: VkStructureType,
20832    pub pNext: *mut ::std::os::raw::c_void,
20833    pub pipelineBinaries: VkBool32,
20834}
20835#[repr(C)]
20836#[derive(Debug, Copy, Clone)]
20837pub struct VkPhysicalDevicePipelineBinaryPropertiesKHR {
20838    pub sType: VkStructureType,
20839    pub pNext: *mut ::std::os::raw::c_void,
20840    pub pipelineBinaryInternalCache: VkBool32,
20841    pub pipelineBinaryInternalCacheControl: VkBool32,
20842    pub pipelineBinaryPrefersInternalCache: VkBool32,
20843    pub pipelineBinaryPrecompiledInternalCache: VkBool32,
20844    pub pipelineBinaryCompressedData: VkBool32,
20845}
20846#[repr(C)]
20847#[derive(Debug, Copy, Clone)]
20848pub struct VkDevicePipelineBinaryInternalCacheControlKHR {
20849    pub sType: VkStructureType,
20850    pub pNext: *const ::std::os::raw::c_void,
20851    pub disableInternalCache: VkBool32,
20852}
20853#[repr(C)]
20854#[derive(Debug, Copy, Clone)]
20855pub struct VkPipelineBinaryKeyKHR {
20856    pub sType: VkStructureType,
20857    pub pNext: *mut ::std::os::raw::c_void,
20858    pub keySize: u32,
20859    pub key: [u8; 32usize],
20860}
20861#[repr(C)]
20862#[derive(Debug, Copy, Clone)]
20863pub struct VkPipelineBinaryDataKHR {
20864    pub dataSize: usize,
20865    pub pData: *mut ::std::os::raw::c_void,
20866}
20867#[repr(C)]
20868#[derive(Debug, Copy, Clone)]
20869pub struct VkPipelineBinaryKeysAndDataKHR {
20870    pub binaryCount: u32,
20871    pub pPipelineBinaryKeys: *const VkPipelineBinaryKeyKHR,
20872    pub pPipelineBinaryData: *const VkPipelineBinaryDataKHR,
20873}
20874#[repr(C)]
20875#[derive(Debug, Copy, Clone)]
20876pub struct VkPipelineCreateInfoKHR {
20877    pub sType: VkStructureType,
20878    pub pNext: *mut ::std::os::raw::c_void,
20879}
20880#[repr(C)]
20881#[derive(Debug, Copy, Clone)]
20882pub struct VkPipelineBinaryCreateInfoKHR {
20883    pub sType: VkStructureType,
20884    pub pNext: *const ::std::os::raw::c_void,
20885    pub pKeysAndDataInfo: *const VkPipelineBinaryKeysAndDataKHR,
20886    pub pipeline: VkPipeline,
20887    pub pPipelineCreateInfo: *const VkPipelineCreateInfoKHR,
20888}
20889#[repr(C)]
20890#[derive(Debug, Copy, Clone)]
20891pub struct VkPipelineBinaryInfoKHR {
20892    pub sType: VkStructureType,
20893    pub pNext: *const ::std::os::raw::c_void,
20894    pub binaryCount: u32,
20895    pub pPipelineBinaries: *const VkPipelineBinaryKHR,
20896}
20897#[repr(C)]
20898#[derive(Debug, Copy, Clone)]
20899pub struct VkReleaseCapturedPipelineDataInfoKHR {
20900    pub sType: VkStructureType,
20901    pub pNext: *mut ::std::os::raw::c_void,
20902    pub pipeline: VkPipeline,
20903}
20904#[repr(C)]
20905#[derive(Debug, Copy, Clone)]
20906pub struct VkPipelineBinaryDataInfoKHR {
20907    pub sType: VkStructureType,
20908    pub pNext: *mut ::std::os::raw::c_void,
20909    pub pipelineBinary: VkPipelineBinaryKHR,
20910}
20911#[repr(C)]
20912#[derive(Debug, Copy, Clone)]
20913pub struct VkPipelineBinaryHandlesInfoKHR {
20914    pub sType: VkStructureType,
20915    pub pNext: *const ::std::os::raw::c_void,
20916    pub pipelineBinaryCount: u32,
20917    pub pPipelineBinaries: *mut VkPipelineBinaryKHR,
20918}
20919pub type PFN_vkCreatePipelineBinariesKHR = 
20920    unsafe extern "C" fn(
20921        device: VkDevice,
20922        pCreateInfo: *const VkPipelineBinaryCreateInfoKHR,
20923        pAllocator: *const VkAllocationCallbacks,
20924        pBinaries: *mut VkPipelineBinaryHandlesInfoKHR,
20925    ) -> VkResult;
20926
20927pub type PFN_vkDestroyPipelineBinaryKHR = 
20928    unsafe extern "C" fn(
20929        device: VkDevice,
20930        pipelineBinary: VkPipelineBinaryKHR,
20931        pAllocator: *const VkAllocationCallbacks,
20932    );
20933
20934pub type PFN_vkGetPipelineKeyKHR = 
20935    unsafe extern "C" fn(
20936        device: VkDevice,
20937        pPipelineCreateInfo: *const VkPipelineCreateInfoKHR,
20938        pPipelineKey: *mut VkPipelineBinaryKeyKHR,
20939    ) -> VkResult;
20940
20941pub type PFN_vkGetPipelineBinaryDataKHR = 
20942    unsafe extern "C" fn(
20943        device: VkDevice,
20944        pInfo: *const VkPipelineBinaryDataInfoKHR,
20945        pPipelineBinaryKey: *mut VkPipelineBinaryKeyKHR,
20946        pPipelineBinaryDataSize: *mut usize,
20947        pPipelineBinaryData: *mut ::std::os::raw::c_void,
20948    ) -> VkResult;
20949
20950pub type PFN_vkReleaseCapturedPipelineDataKHR = 
20951    unsafe extern "C" fn(
20952        device: VkDevice,
20953        pInfo: *const VkReleaseCapturedPipelineDataInfoKHR,
20954        pAllocator: *const VkAllocationCallbacks,
20955    ) -> VkResult;
20956
20957extern "C" {
20958    pub fn vkCreatePipelineBinariesKHR(
20959        device: VkDevice,
20960        pCreateInfo: *const VkPipelineBinaryCreateInfoKHR,
20961        pAllocator: *const VkAllocationCallbacks,
20962        pBinaries: *mut VkPipelineBinaryHandlesInfoKHR,
20963    ) -> VkResult;
20964}
20965extern "C" {
20966    pub fn vkDestroyPipelineBinaryKHR(
20967        device: VkDevice,
20968        pipelineBinary: VkPipelineBinaryKHR,
20969        pAllocator: *const VkAllocationCallbacks,
20970    );
20971}
20972extern "C" {
20973    pub fn vkGetPipelineKeyKHR(
20974        device: VkDevice,
20975        pPipelineCreateInfo: *const VkPipelineCreateInfoKHR,
20976        pPipelineKey: *mut VkPipelineBinaryKeyKHR,
20977    ) -> VkResult;
20978}
20979extern "C" {
20980    pub fn vkGetPipelineBinaryDataKHR(
20981        device: VkDevice,
20982        pInfo: *const VkPipelineBinaryDataInfoKHR,
20983        pPipelineBinaryKey: *mut VkPipelineBinaryKeyKHR,
20984        pPipelineBinaryDataSize: *mut usize,
20985        pPipelineBinaryData: *mut ::std::os::raw::c_void,
20986    ) -> VkResult;
20987}
20988extern "C" {
20989    pub fn vkReleaseCapturedPipelineDataKHR(
20990        device: VkDevice,
20991        pInfo: *const VkReleaseCapturedPipelineDataInfoKHR,
20992        pAllocator: *const VkAllocationCallbacks,
20993    ) -> VkResult;
20994}
20995pub const VK_COMPONENT_TYPE_FLOAT16_KHR: VkComponentTypeKHR = 0;
20996pub const VK_COMPONENT_TYPE_FLOAT32_KHR: VkComponentTypeKHR = 1;
20997pub const VK_COMPONENT_TYPE_FLOAT64_KHR: VkComponentTypeKHR = 2;
20998pub const VK_COMPONENT_TYPE_SINT8_KHR: VkComponentTypeKHR = 3;
20999pub const VK_COMPONENT_TYPE_SINT16_KHR: VkComponentTypeKHR = 4;
21000pub const VK_COMPONENT_TYPE_SINT32_KHR: VkComponentTypeKHR = 5;
21001pub const VK_COMPONENT_TYPE_SINT64_KHR: VkComponentTypeKHR = 6;
21002pub const VK_COMPONENT_TYPE_UINT8_KHR: VkComponentTypeKHR = 7;
21003pub const VK_COMPONENT_TYPE_UINT16_KHR: VkComponentTypeKHR = 8;
21004pub const VK_COMPONENT_TYPE_UINT32_KHR: VkComponentTypeKHR = 9;
21005pub const VK_COMPONENT_TYPE_UINT64_KHR: VkComponentTypeKHR = 10;
21006pub const VK_COMPONENT_TYPE_FLOAT16_NV: VkComponentTypeKHR = 0;
21007pub const VK_COMPONENT_TYPE_FLOAT32_NV: VkComponentTypeKHR = 1;
21008pub const VK_COMPONENT_TYPE_FLOAT64_NV: VkComponentTypeKHR = 2;
21009pub const VK_COMPONENT_TYPE_SINT8_NV: VkComponentTypeKHR = 3;
21010pub const VK_COMPONENT_TYPE_SINT16_NV: VkComponentTypeKHR = 4;
21011pub const VK_COMPONENT_TYPE_SINT32_NV: VkComponentTypeKHR = 5;
21012pub const VK_COMPONENT_TYPE_SINT64_NV: VkComponentTypeKHR = 6;
21013pub const VK_COMPONENT_TYPE_UINT8_NV: VkComponentTypeKHR = 7;
21014pub const VK_COMPONENT_TYPE_UINT16_NV: VkComponentTypeKHR = 8;
21015pub const VK_COMPONENT_TYPE_UINT32_NV: VkComponentTypeKHR = 9;
21016pub const VK_COMPONENT_TYPE_UINT64_NV: VkComponentTypeKHR = 10;
21017pub const VK_COMPONENT_TYPE_MAX_ENUM_KHR: VkComponentTypeKHR = 2147483647;
21018pub type VkComponentTypeKHR = ::std::os::raw::c_uint;
21019pub const VK_SCOPE_DEVICE_KHR: VkScopeKHR = 1;
21020pub const VK_SCOPE_WORKGROUP_KHR: VkScopeKHR = 2;
21021pub const VK_SCOPE_SUBGROUP_KHR: VkScopeKHR = 3;
21022pub const VK_SCOPE_QUEUE_FAMILY_KHR: VkScopeKHR = 5;
21023pub const VK_SCOPE_DEVICE_NV: VkScopeKHR = 1;
21024pub const VK_SCOPE_WORKGROUP_NV: VkScopeKHR = 2;
21025pub const VK_SCOPE_SUBGROUP_NV: VkScopeKHR = 3;
21026pub const VK_SCOPE_QUEUE_FAMILY_NV: VkScopeKHR = 5;
21027pub const VK_SCOPE_MAX_ENUM_KHR: VkScopeKHR = 2147483647;
21028pub type VkScopeKHR = ::std::os::raw::c_uint;
21029#[repr(C)]
21030#[derive(Debug, Copy, Clone)]
21031pub struct VkCooperativeMatrixPropertiesKHR {
21032    pub sType: VkStructureType,
21033    pub pNext: *mut ::std::os::raw::c_void,
21034    pub MSize: u32,
21035    pub NSize: u32,
21036    pub KSize: u32,
21037    pub AType: VkComponentTypeKHR,
21038    pub BType: VkComponentTypeKHR,
21039    pub CType: VkComponentTypeKHR,
21040    pub ResultType: VkComponentTypeKHR,
21041    pub saturatingAccumulation: VkBool32,
21042    pub scope: VkScopeKHR,
21043}
21044#[repr(C)]
21045#[derive(Debug, Copy, Clone)]
21046pub struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR {
21047    pub sType: VkStructureType,
21048    pub pNext: *mut ::std::os::raw::c_void,
21049    pub cooperativeMatrix: VkBool32,
21050    pub cooperativeMatrixRobustBufferAccess: VkBool32,
21051}
21052#[repr(C)]
21053#[derive(Debug, Copy, Clone)]
21054pub struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR {
21055    pub sType: VkStructureType,
21056    pub pNext: *mut ::std::os::raw::c_void,
21057    pub cooperativeMatrixSupportedStages: VkShaderStageFlags,
21058}
21059pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 
21060    unsafe extern "C" fn(
21061        physicalDevice: VkPhysicalDevice,
21062        pPropertyCount: *mut u32,
21063        pProperties: *mut VkCooperativeMatrixPropertiesKHR,
21064    ) -> VkResult;
21065
21066extern "C" {
21067    pub fn vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(
21068        physicalDevice: VkPhysicalDevice,
21069        pPropertyCount: *mut u32,
21070        pProperties: *mut VkCooperativeMatrixPropertiesKHR,
21071    ) -> VkResult;
21072}
21073#[repr(C)]
21074#[derive(Debug, Copy, Clone)]
21075pub struct VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR {
21076    pub sType: VkStructureType,
21077    pub pNext: *mut ::std::os::raw::c_void,
21078    pub computeDerivativeGroupQuads: VkBool32,
21079    pub computeDerivativeGroupLinear: VkBool32,
21080}
21081#[repr(C)]
21082#[derive(Debug, Copy, Clone)]
21083pub struct VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR {
21084    pub sType: VkStructureType,
21085    pub pNext: *mut ::std::os::raw::c_void,
21086    pub meshAndTaskShaderDerivatives: VkBool32,
21087}
21088pub const StdVideoAV1Profile_STD_VIDEO_AV1_PROFILE_MAIN: StdVideoAV1Profile = 0;
21089pub const StdVideoAV1Profile_STD_VIDEO_AV1_PROFILE_HIGH: StdVideoAV1Profile = 1;
21090pub const StdVideoAV1Profile_STD_VIDEO_AV1_PROFILE_PROFESSIONAL: StdVideoAV1Profile = 2;
21091pub const StdVideoAV1Profile_STD_VIDEO_AV1_PROFILE_INVALID: StdVideoAV1Profile = 2147483647;
21092pub const StdVideoAV1Profile_STD_VIDEO_AV1_PROFILE_MAX_ENUM: StdVideoAV1Profile = 2147483647;
21093pub type StdVideoAV1Profile = ::std::os::raw::c_uint;
21094pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_2_0: StdVideoAV1Level = 0;
21095pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_2_1: StdVideoAV1Level = 1;
21096pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_2_2: StdVideoAV1Level = 2;
21097pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_2_3: StdVideoAV1Level = 3;
21098pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_3_0: StdVideoAV1Level = 4;
21099pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_3_1: StdVideoAV1Level = 5;
21100pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_3_2: StdVideoAV1Level = 6;
21101pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_3_3: StdVideoAV1Level = 7;
21102pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_4_0: StdVideoAV1Level = 8;
21103pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_4_1: StdVideoAV1Level = 9;
21104pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_4_2: StdVideoAV1Level = 10;
21105pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_4_3: StdVideoAV1Level = 11;
21106pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_5_0: StdVideoAV1Level = 12;
21107pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_5_1: StdVideoAV1Level = 13;
21108pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_5_2: StdVideoAV1Level = 14;
21109pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_5_3: StdVideoAV1Level = 15;
21110pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_6_0: StdVideoAV1Level = 16;
21111pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_6_1: StdVideoAV1Level = 17;
21112pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_6_2: StdVideoAV1Level = 18;
21113pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_6_3: StdVideoAV1Level = 19;
21114pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_7_0: StdVideoAV1Level = 20;
21115pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_7_1: StdVideoAV1Level = 21;
21116pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_7_2: StdVideoAV1Level = 22;
21117pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_7_3: StdVideoAV1Level = 23;
21118pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_INVALID: StdVideoAV1Level = 2147483647;
21119pub const StdVideoAV1Level_STD_VIDEO_AV1_LEVEL_MAX_ENUM: StdVideoAV1Level = 2147483647;
21120pub type StdVideoAV1Level = ::std::os::raw::c_uint;
21121pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_KEY: StdVideoAV1FrameType = 0;
21122pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_INTER: StdVideoAV1FrameType = 1;
21123pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY: StdVideoAV1FrameType = 2;
21124pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_SWITCH: StdVideoAV1FrameType = 3;
21125pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_INVALID: StdVideoAV1FrameType = 2147483647;
21126pub const StdVideoAV1FrameType_STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM: StdVideoAV1FrameType = 2147483647;
21127pub type StdVideoAV1FrameType = ::std::os::raw::c_uint;
21128pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME:
21129    StdVideoAV1ReferenceName = 0;
21130pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME:
21131    StdVideoAV1ReferenceName = 1;
21132pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME:
21133    StdVideoAV1ReferenceName = 2;
21134pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME:
21135    StdVideoAV1ReferenceName = 3;
21136pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME:
21137    StdVideoAV1ReferenceName = 4;
21138pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME:
21139    StdVideoAV1ReferenceName = 5;
21140pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME:
21141    StdVideoAV1ReferenceName = 6;
21142pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME:
21143    StdVideoAV1ReferenceName = 7;
21144pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_INVALID: StdVideoAV1ReferenceName =
21145    2147483647;
21146pub const StdVideoAV1ReferenceName_STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM: StdVideoAV1ReferenceName =
21147    2147483647;
21148pub type StdVideoAV1ReferenceName = ::std::os::raw::c_uint;
21149pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP:
21150    StdVideoAV1InterpolationFilter = 0;
21151pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH:
21152    StdVideoAV1InterpolationFilter = 1;
21153pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP:
21154    StdVideoAV1InterpolationFilter = 2;
21155pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR:
21156    StdVideoAV1InterpolationFilter = 3;
21157pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE:
21158    StdVideoAV1InterpolationFilter = 4;
21159pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID:
21160    StdVideoAV1InterpolationFilter = 2147483647;
21161pub const StdVideoAV1InterpolationFilter_STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM:
21162    StdVideoAV1InterpolationFilter = 2147483647;
21163pub type StdVideoAV1InterpolationFilter = ::std::os::raw::c_uint;
21164pub const StdVideoAV1TxMode_STD_VIDEO_AV1_TX_MODE_ONLY_4X4: StdVideoAV1TxMode = 0;
21165pub const StdVideoAV1TxMode_STD_VIDEO_AV1_TX_MODE_LARGEST: StdVideoAV1TxMode = 1;
21166pub const StdVideoAV1TxMode_STD_VIDEO_AV1_TX_MODE_SELECT: StdVideoAV1TxMode = 2;
21167pub const StdVideoAV1TxMode_STD_VIDEO_AV1_TX_MODE_INVALID: StdVideoAV1TxMode = 2147483647;
21168pub const StdVideoAV1TxMode_STD_VIDEO_AV1_TX_MODE_MAX_ENUM: StdVideoAV1TxMode = 2147483647;
21169pub type StdVideoAV1TxMode = ::std::os::raw::c_uint;
21170pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE:
21171    StdVideoAV1FrameRestorationType = 0;
21172pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER:
21173    StdVideoAV1FrameRestorationType = 1;
21174pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ:
21175    StdVideoAV1FrameRestorationType = 2;
21176pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE:
21177    StdVideoAV1FrameRestorationType = 3;
21178pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID:
21179    StdVideoAV1FrameRestorationType = 2147483647;
21180pub const StdVideoAV1FrameRestorationType_STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM:
21181    StdVideoAV1FrameRestorationType = 2147483647;
21182pub type StdVideoAV1FrameRestorationType = ::std::os::raw::c_uint;
21183pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709:
21184    StdVideoAV1ColorPrimaries = 1;
21185pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED:
21186    StdVideoAV1ColorPrimaries = 2;
21187pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M:
21188    StdVideoAV1ColorPrimaries = 4;
21189pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G:
21190    StdVideoAV1ColorPrimaries = 5;
21191pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601:
21192    StdVideoAV1ColorPrimaries = 6;
21193pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240:
21194    StdVideoAV1ColorPrimaries = 7;
21195pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM:
21196    StdVideoAV1ColorPrimaries = 8;
21197pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020:
21198    StdVideoAV1ColorPrimaries = 9;
21199pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ: StdVideoAV1ColorPrimaries =
21200    10;
21201pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431:
21202    StdVideoAV1ColorPrimaries = 11;
21203pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432:
21204    StdVideoAV1ColorPrimaries = 12;
21205pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213:
21206    StdVideoAV1ColorPrimaries = 22;
21207pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID:
21208    StdVideoAV1ColorPrimaries = 2147483647;
21209pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED:
21210    StdVideoAV1ColorPrimaries = 2;
21211pub const StdVideoAV1ColorPrimaries_STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM:
21212    StdVideoAV1ColorPrimaries = 2147483647;
21213pub type StdVideoAV1ColorPrimaries = ::std::os::raw::c_uint;
21214pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0:
21215    StdVideoAV1TransferCharacteristics = 0;
21216pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709:
21217    StdVideoAV1TransferCharacteristics = 1;
21218pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED:
21219    StdVideoAV1TransferCharacteristics = 2;
21220pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3:
21221    StdVideoAV1TransferCharacteristics = 3;
21222pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M:
21223    StdVideoAV1TransferCharacteristics = 4;
21224pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G:
21225    StdVideoAV1TransferCharacteristics = 5;
21226pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601:
21227    StdVideoAV1TransferCharacteristics = 6;
21228pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240:
21229    StdVideoAV1TransferCharacteristics = 7;
21230pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR:
21231    StdVideoAV1TransferCharacteristics = 8;
21232pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100:
21233    StdVideoAV1TransferCharacteristics = 9;
21234pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 : StdVideoAV1TransferCharacteristics = 10 ;
21235pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966:
21236    StdVideoAV1TransferCharacteristics = 11;
21237pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361:
21238    StdVideoAV1TransferCharacteristics = 12;
21239pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB:
21240    StdVideoAV1TransferCharacteristics = 13;
21241pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT : StdVideoAV1TransferCharacteristics = 14 ;
21242pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT : StdVideoAV1TransferCharacteristics = 15 ;
21243pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084:
21244    StdVideoAV1TransferCharacteristics = 16;
21245pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428:
21246    StdVideoAV1TransferCharacteristics = 17;
21247pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG:
21248    StdVideoAV1TransferCharacteristics = 18;
21249pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID:
21250    StdVideoAV1TransferCharacteristics = 2147483647;
21251pub const StdVideoAV1TransferCharacteristics_STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM:
21252    StdVideoAV1TransferCharacteristics = 2147483647;
21253pub type StdVideoAV1TransferCharacteristics = ::std::os::raw::c_uint;
21254pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY:
21255    StdVideoAV1MatrixCoefficients = 0;
21256pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709:
21257    StdVideoAV1MatrixCoefficients = 1;
21258pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED:
21259    StdVideoAV1MatrixCoefficients = 2;
21260pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3:
21261    StdVideoAV1MatrixCoefficients = 3;
21262pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC:
21263    StdVideoAV1MatrixCoefficients = 4;
21264pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G:
21265    StdVideoAV1MatrixCoefficients = 5;
21266pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601:
21267    StdVideoAV1MatrixCoefficients = 6;
21268pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240:
21269    StdVideoAV1MatrixCoefficients = 7;
21270pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO:
21271    StdVideoAV1MatrixCoefficients = 8;
21272pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL:
21273    StdVideoAV1MatrixCoefficients = 9;
21274pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL:
21275    StdVideoAV1MatrixCoefficients = 10;
21276pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085:
21277    StdVideoAV1MatrixCoefficients = 11;
21278pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL:
21279    StdVideoAV1MatrixCoefficients = 12;
21280pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL:
21281    StdVideoAV1MatrixCoefficients = 13;
21282pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP:
21283    StdVideoAV1MatrixCoefficients = 14;
21284pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID:
21285    StdVideoAV1MatrixCoefficients = 2147483647;
21286pub const StdVideoAV1MatrixCoefficients_STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM:
21287    StdVideoAV1MatrixCoefficients = 2147483647;
21288pub type StdVideoAV1MatrixCoefficients = ::std::os::raw::c_uint;
21289pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN:
21290    StdVideoAV1ChromaSamplePosition = 0;
21291pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL:
21292    StdVideoAV1ChromaSamplePosition = 1;
21293pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED:
21294    StdVideoAV1ChromaSamplePosition = 2;
21295pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED:
21296    StdVideoAV1ChromaSamplePosition = 3;
21297pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID:
21298    StdVideoAV1ChromaSamplePosition = 2147483647;
21299pub const StdVideoAV1ChromaSamplePosition_STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM:
21300    StdVideoAV1ChromaSamplePosition = 2147483647;
21301pub type StdVideoAV1ChromaSamplePosition = ::std::os::raw::c_uint;
21302#[repr(C)]
21303#[derive(Debug, Copy, Clone)]
21304pub struct StdVideoAV1ColorConfigFlags {
21305    pub _bitfield_align_1: [u32; 0],
21306    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21307}
21308impl StdVideoAV1ColorConfigFlags {
21309    #[inline]
21310    pub fn mono_chrome(&self) -> u32 {
21311        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21312    }
21313    #[inline]
21314    pub fn set_mono_chrome(&mut self, val: u32) {
21315        unsafe {
21316            let val: u32 = ::std::mem::transmute(val);
21317            self._bitfield_1.set(0usize, 1u8, val as u64)
21318        }
21319    }
21320    #[inline]
21321    pub fn color_range(&self) -> u32 {
21322        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
21323    }
21324    #[inline]
21325    pub fn set_color_range(&mut self, val: u32) {
21326        unsafe {
21327            let val: u32 = ::std::mem::transmute(val);
21328            self._bitfield_1.set(1usize, 1u8, val as u64)
21329        }
21330    }
21331    #[inline]
21332    pub fn separate_uv_delta_q(&self) -> u32 {
21333        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
21334    }
21335    #[inline]
21336    pub fn set_separate_uv_delta_q(&mut self, val: u32) {
21337        unsafe {
21338            let val: u32 = ::std::mem::transmute(val);
21339            self._bitfield_1.set(2usize, 1u8, val as u64)
21340        }
21341    }
21342    #[inline]
21343    pub fn color_description_present_flag(&self) -> u32 {
21344        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
21345    }
21346    #[inline]
21347    pub fn set_color_description_present_flag(&mut self, val: u32) {
21348        unsafe {
21349            let val: u32 = ::std::mem::transmute(val);
21350            self._bitfield_1.set(3usize, 1u8, val as u64)
21351        }
21352    }
21353    #[inline]
21354    pub fn reserved(&self) -> u32 {
21355        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
21356    }
21357    #[inline]
21358    pub fn set_reserved(&mut self, val: u32) {
21359        unsafe {
21360            let val: u32 = ::std::mem::transmute(val);
21361            self._bitfield_1.set(4usize, 28u8, val as u64)
21362        }
21363    }
21364    #[inline]
21365    pub fn new_bitfield_1(
21366        mono_chrome: u32,
21367        color_range: u32,
21368        separate_uv_delta_q: u32,
21369        color_description_present_flag: u32,
21370        reserved: u32,
21371    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21372        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21373        __bindgen_bitfield_unit.set(0usize, 1u8, {
21374            let mono_chrome: u32 = unsafe { ::std::mem::transmute(mono_chrome) };
21375            mono_chrome as u64
21376        });
21377        __bindgen_bitfield_unit.set(1usize, 1u8, {
21378            let color_range: u32 = unsafe { ::std::mem::transmute(color_range) };
21379            color_range as u64
21380        });
21381        __bindgen_bitfield_unit.set(2usize, 1u8, {
21382            let separate_uv_delta_q: u32 = unsafe { ::std::mem::transmute(separate_uv_delta_q) };
21383            separate_uv_delta_q as u64
21384        });
21385        __bindgen_bitfield_unit.set(3usize, 1u8, {
21386            let color_description_present_flag: u32 =
21387                unsafe { ::std::mem::transmute(color_description_present_flag) };
21388            color_description_present_flag as u64
21389        });
21390        __bindgen_bitfield_unit.set(4usize, 28u8, {
21391            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21392            reserved as u64
21393        });
21394        __bindgen_bitfield_unit
21395    }
21396}
21397#[repr(C)]
21398#[derive(Debug, Copy, Clone)]
21399pub struct StdVideoAV1ColorConfig {
21400    pub flags: StdVideoAV1ColorConfigFlags,
21401    pub BitDepth: u8,
21402    pub subsampling_x: u8,
21403    pub subsampling_y: u8,
21404    pub reserved1: u8,
21405    pub color_primaries: StdVideoAV1ColorPrimaries,
21406    pub transfer_characteristics: StdVideoAV1TransferCharacteristics,
21407    pub matrix_coefficients: StdVideoAV1MatrixCoefficients,
21408    pub chroma_sample_position: StdVideoAV1ChromaSamplePosition,
21409}
21410#[repr(C)]
21411#[derive(Debug, Copy, Clone)]
21412pub struct StdVideoAV1TimingInfoFlags {
21413    pub _bitfield_align_1: [u32; 0],
21414    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21415}
21416impl StdVideoAV1TimingInfoFlags {
21417    #[inline]
21418    pub fn equal_picture_interval(&self) -> u32 {
21419        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21420    }
21421    #[inline]
21422    pub fn set_equal_picture_interval(&mut self, val: u32) {
21423        unsafe {
21424            let val: u32 = ::std::mem::transmute(val);
21425            self._bitfield_1.set(0usize, 1u8, val as u64)
21426        }
21427    }
21428    #[inline]
21429    pub fn reserved(&self) -> u32 {
21430        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
21431    }
21432    #[inline]
21433    pub fn set_reserved(&mut self, val: u32) {
21434        unsafe {
21435            let val: u32 = ::std::mem::transmute(val);
21436            self._bitfield_1.set(1usize, 31u8, val as u64)
21437        }
21438    }
21439    #[inline]
21440    pub fn new_bitfield_1(
21441        equal_picture_interval: u32,
21442        reserved: u32,
21443    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21444        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21445        __bindgen_bitfield_unit.set(0usize, 1u8, {
21446            let equal_picture_interval: u32 =
21447                unsafe { ::std::mem::transmute(equal_picture_interval) };
21448            equal_picture_interval as u64
21449        });
21450        __bindgen_bitfield_unit.set(1usize, 31u8, {
21451            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21452            reserved as u64
21453        });
21454        __bindgen_bitfield_unit
21455    }
21456}
21457#[repr(C)]
21458#[derive(Debug, Copy, Clone)]
21459pub struct StdVideoAV1TimingInfo {
21460    pub flags: StdVideoAV1TimingInfoFlags,
21461    pub num_units_in_display_tick: u32,
21462    pub time_scale: u32,
21463    pub num_ticks_per_picture_minus_1: u32,
21464}
21465#[repr(C)]
21466#[derive(Debug, Copy, Clone)]
21467pub struct StdVideoAV1LoopFilterFlags {
21468    pub _bitfield_align_1: [u32; 0],
21469    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21470}
21471impl StdVideoAV1LoopFilterFlags {
21472    #[inline]
21473    pub fn loop_filter_delta_enabled(&self) -> u32 {
21474        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21475    }
21476    #[inline]
21477    pub fn set_loop_filter_delta_enabled(&mut self, val: u32) {
21478        unsafe {
21479            let val: u32 = ::std::mem::transmute(val);
21480            self._bitfield_1.set(0usize, 1u8, val as u64)
21481        }
21482    }
21483    #[inline]
21484    pub fn loop_filter_delta_update(&self) -> u32 {
21485        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
21486    }
21487    #[inline]
21488    pub fn set_loop_filter_delta_update(&mut self, val: u32) {
21489        unsafe {
21490            let val: u32 = ::std::mem::transmute(val);
21491            self._bitfield_1.set(1usize, 1u8, val as u64)
21492        }
21493    }
21494    #[inline]
21495    pub fn reserved(&self) -> u32 {
21496        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
21497    }
21498    #[inline]
21499    pub fn set_reserved(&mut self, val: u32) {
21500        unsafe {
21501            let val: u32 = ::std::mem::transmute(val);
21502            self._bitfield_1.set(2usize, 30u8, val as u64)
21503        }
21504    }
21505    #[inline]
21506    pub fn new_bitfield_1(
21507        loop_filter_delta_enabled: u32,
21508        loop_filter_delta_update: u32,
21509        reserved: u32,
21510    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21511        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21512        __bindgen_bitfield_unit.set(0usize, 1u8, {
21513            let loop_filter_delta_enabled: u32 =
21514                unsafe { ::std::mem::transmute(loop_filter_delta_enabled) };
21515            loop_filter_delta_enabled as u64
21516        });
21517        __bindgen_bitfield_unit.set(1usize, 1u8, {
21518            let loop_filter_delta_update: u32 =
21519                unsafe { ::std::mem::transmute(loop_filter_delta_update) };
21520            loop_filter_delta_update as u64
21521        });
21522        __bindgen_bitfield_unit.set(2usize, 30u8, {
21523            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21524            reserved as u64
21525        });
21526        __bindgen_bitfield_unit
21527    }
21528}
21529#[repr(C)]
21530#[derive(Debug, Copy, Clone)]
21531pub struct StdVideoAV1LoopFilter {
21532    pub flags: StdVideoAV1LoopFilterFlags,
21533    pub loop_filter_level: [u8; 4usize],
21534    pub loop_filter_sharpness: u8,
21535    pub update_ref_delta: u8,
21536    pub loop_filter_ref_deltas: [i8; 8usize],
21537    pub update_mode_delta: u8,
21538    pub loop_filter_mode_deltas: [i8; 2usize],
21539}
21540#[repr(C)]
21541#[derive(Debug, Copy, Clone)]
21542pub struct StdVideoAV1QuantizationFlags {
21543    pub _bitfield_align_1: [u32; 0],
21544    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21545}
21546impl StdVideoAV1QuantizationFlags {
21547    #[inline]
21548    pub fn using_qmatrix(&self) -> u32 {
21549        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21550    }
21551    #[inline]
21552    pub fn set_using_qmatrix(&mut self, val: u32) {
21553        unsafe {
21554            let val: u32 = ::std::mem::transmute(val);
21555            self._bitfield_1.set(0usize, 1u8, val as u64)
21556        }
21557    }
21558    #[inline]
21559    pub fn diff_uv_delta(&self) -> u32 {
21560        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
21561    }
21562    #[inline]
21563    pub fn set_diff_uv_delta(&mut self, val: u32) {
21564        unsafe {
21565            let val: u32 = ::std::mem::transmute(val);
21566            self._bitfield_1.set(1usize, 1u8, val as u64)
21567        }
21568    }
21569    #[inline]
21570    pub fn reserved(&self) -> u32 {
21571        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
21572    }
21573    #[inline]
21574    pub fn set_reserved(&mut self, val: u32) {
21575        unsafe {
21576            let val: u32 = ::std::mem::transmute(val);
21577            self._bitfield_1.set(2usize, 30u8, val as u64)
21578        }
21579    }
21580    #[inline]
21581    pub fn new_bitfield_1(
21582        using_qmatrix: u32,
21583        diff_uv_delta: u32,
21584        reserved: u32,
21585    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21586        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21587        __bindgen_bitfield_unit.set(0usize, 1u8, {
21588            let using_qmatrix: u32 = unsafe { ::std::mem::transmute(using_qmatrix) };
21589            using_qmatrix as u64
21590        });
21591        __bindgen_bitfield_unit.set(1usize, 1u8, {
21592            let diff_uv_delta: u32 = unsafe { ::std::mem::transmute(diff_uv_delta) };
21593            diff_uv_delta as u64
21594        });
21595        __bindgen_bitfield_unit.set(2usize, 30u8, {
21596            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21597            reserved as u64
21598        });
21599        __bindgen_bitfield_unit
21600    }
21601}
21602#[repr(C)]
21603#[derive(Debug, Copy, Clone)]
21604pub struct StdVideoAV1Quantization {
21605    pub flags: StdVideoAV1QuantizationFlags,
21606    pub base_q_idx: u8,
21607    pub DeltaQYDc: i8,
21608    pub DeltaQUDc: i8,
21609    pub DeltaQUAc: i8,
21610    pub DeltaQVDc: i8,
21611    pub DeltaQVAc: i8,
21612    pub qm_y: u8,
21613    pub qm_u: u8,
21614    pub qm_v: u8,
21615}
21616#[repr(C)]
21617#[derive(Debug, Copy, Clone)]
21618pub struct StdVideoAV1Segmentation {
21619    pub FeatureEnabled: [u8; 8usize],
21620    pub FeatureData: [[i16; 8usize]; 8usize],
21621}
21622#[repr(C)]
21623#[derive(Debug, Copy, Clone)]
21624pub struct StdVideoAV1TileInfoFlags {
21625    pub _bitfield_align_1: [u32; 0],
21626    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21627}
21628impl StdVideoAV1TileInfoFlags {
21629    #[inline]
21630    pub fn uniform_tile_spacing_flag(&self) -> u32 {
21631        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21632    }
21633    #[inline]
21634    pub fn set_uniform_tile_spacing_flag(&mut self, val: u32) {
21635        unsafe {
21636            let val: u32 = ::std::mem::transmute(val);
21637            self._bitfield_1.set(0usize, 1u8, val as u64)
21638        }
21639    }
21640    #[inline]
21641    pub fn reserved(&self) -> u32 {
21642        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
21643    }
21644    #[inline]
21645    pub fn set_reserved(&mut self, val: u32) {
21646        unsafe {
21647            let val: u32 = ::std::mem::transmute(val);
21648            self._bitfield_1.set(1usize, 31u8, val as u64)
21649        }
21650    }
21651    #[inline]
21652    pub fn new_bitfield_1(
21653        uniform_tile_spacing_flag: u32,
21654        reserved: u32,
21655    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21656        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21657        __bindgen_bitfield_unit.set(0usize, 1u8, {
21658            let uniform_tile_spacing_flag: u32 =
21659                unsafe { ::std::mem::transmute(uniform_tile_spacing_flag) };
21660            uniform_tile_spacing_flag as u64
21661        });
21662        __bindgen_bitfield_unit.set(1usize, 31u8, {
21663            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21664            reserved as u64
21665        });
21666        __bindgen_bitfield_unit
21667    }
21668}
21669#[repr(C)]
21670#[derive(Debug, Copy, Clone)]
21671pub struct StdVideoAV1TileInfo {
21672    pub flags: StdVideoAV1TileInfoFlags,
21673    pub TileCols: u8,
21674    pub TileRows: u8,
21675    pub context_update_tile_id: u16,
21676    pub tile_size_bytes_minus_1: u8,
21677    pub reserved1: [u8; 7usize],
21678    pub pMiColStarts: *const u16,
21679    pub pMiRowStarts: *const u16,
21680    pub pWidthInSbsMinus1: *const u16,
21681    pub pHeightInSbsMinus1: *const u16,
21682}
21683#[repr(C)]
21684#[derive(Debug, Copy, Clone)]
21685pub struct StdVideoAV1CDEF {
21686    pub cdef_damping_minus_3: u8,
21687    pub cdef_bits: u8,
21688    pub cdef_y_pri_strength: [u8; 8usize],
21689    pub cdef_y_sec_strength: [u8; 8usize],
21690    pub cdef_uv_pri_strength: [u8; 8usize],
21691    pub cdef_uv_sec_strength: [u8; 8usize],
21692}
21693#[repr(C)]
21694#[derive(Debug, Copy, Clone)]
21695pub struct StdVideoAV1LoopRestoration {
21696    pub FrameRestorationType: [StdVideoAV1FrameRestorationType; 3usize],
21697    pub LoopRestorationSize: [u16; 3usize],
21698}
21699#[repr(C)]
21700#[derive(Debug, Copy, Clone)]
21701pub struct StdVideoAV1GlobalMotion {
21702    pub GmType: [u8; 8usize],
21703    pub gm_params: [[i32; 6usize]; 8usize],
21704}
21705#[repr(C)]
21706#[derive(Debug, Copy, Clone)]
21707pub struct StdVideoAV1FilmGrainFlags {
21708    pub _bitfield_align_1: [u32; 0],
21709    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21710}
21711impl StdVideoAV1FilmGrainFlags {
21712    #[inline]
21713    pub fn chroma_scaling_from_luma(&self) -> u32 {
21714        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21715    }
21716    #[inline]
21717    pub fn set_chroma_scaling_from_luma(&mut self, val: u32) {
21718        unsafe {
21719            let val: u32 = ::std::mem::transmute(val);
21720            self._bitfield_1.set(0usize, 1u8, val as u64)
21721        }
21722    }
21723    #[inline]
21724    pub fn overlap_flag(&self) -> u32 {
21725        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
21726    }
21727    #[inline]
21728    pub fn set_overlap_flag(&mut self, val: u32) {
21729        unsafe {
21730            let val: u32 = ::std::mem::transmute(val);
21731            self._bitfield_1.set(1usize, 1u8, val as u64)
21732        }
21733    }
21734    #[inline]
21735    pub fn clip_to_restricted_range(&self) -> u32 {
21736        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
21737    }
21738    #[inline]
21739    pub fn set_clip_to_restricted_range(&mut self, val: u32) {
21740        unsafe {
21741            let val: u32 = ::std::mem::transmute(val);
21742            self._bitfield_1.set(2usize, 1u8, val as u64)
21743        }
21744    }
21745    #[inline]
21746    pub fn update_grain(&self) -> u32 {
21747        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
21748    }
21749    #[inline]
21750    pub fn set_update_grain(&mut self, val: u32) {
21751        unsafe {
21752            let val: u32 = ::std::mem::transmute(val);
21753            self._bitfield_1.set(3usize, 1u8, val as u64)
21754        }
21755    }
21756    #[inline]
21757    pub fn reserved(&self) -> u32 {
21758        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
21759    }
21760    #[inline]
21761    pub fn set_reserved(&mut self, val: u32) {
21762        unsafe {
21763            let val: u32 = ::std::mem::transmute(val);
21764            self._bitfield_1.set(4usize, 28u8, val as u64)
21765        }
21766    }
21767    #[inline]
21768    pub fn new_bitfield_1(
21769        chroma_scaling_from_luma: u32,
21770        overlap_flag: u32,
21771        clip_to_restricted_range: u32,
21772        update_grain: u32,
21773        reserved: u32,
21774    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
21775        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
21776        __bindgen_bitfield_unit.set(0usize, 1u8, {
21777            let chroma_scaling_from_luma: u32 =
21778                unsafe { ::std::mem::transmute(chroma_scaling_from_luma) };
21779            chroma_scaling_from_luma as u64
21780        });
21781        __bindgen_bitfield_unit.set(1usize, 1u8, {
21782            let overlap_flag: u32 = unsafe { ::std::mem::transmute(overlap_flag) };
21783            overlap_flag as u64
21784        });
21785        __bindgen_bitfield_unit.set(2usize, 1u8, {
21786            let clip_to_restricted_range: u32 =
21787                unsafe { ::std::mem::transmute(clip_to_restricted_range) };
21788            clip_to_restricted_range as u64
21789        });
21790        __bindgen_bitfield_unit.set(3usize, 1u8, {
21791            let update_grain: u32 = unsafe { ::std::mem::transmute(update_grain) };
21792            update_grain as u64
21793        });
21794        __bindgen_bitfield_unit.set(4usize, 28u8, {
21795            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
21796            reserved as u64
21797        });
21798        __bindgen_bitfield_unit
21799    }
21800}
21801#[repr(C)]
21802#[derive(Debug, Copy, Clone)]
21803pub struct StdVideoAV1FilmGrain {
21804    pub flags: StdVideoAV1FilmGrainFlags,
21805    pub grain_scaling_minus_8: u8,
21806    pub ar_coeff_lag: u8,
21807    pub ar_coeff_shift_minus_6: u8,
21808    pub grain_scale_shift: u8,
21809    pub grain_seed: u16,
21810    pub film_grain_params_ref_idx: u8,
21811    pub num_y_points: u8,
21812    pub point_y_value: [u8; 14usize],
21813    pub point_y_scaling: [u8; 14usize],
21814    pub num_cb_points: u8,
21815    pub point_cb_value: [u8; 10usize],
21816    pub point_cb_scaling: [u8; 10usize],
21817    pub num_cr_points: u8,
21818    pub point_cr_value: [u8; 10usize],
21819    pub point_cr_scaling: [u8; 10usize],
21820    pub ar_coeffs_y_plus_128: [i8; 24usize],
21821    pub ar_coeffs_cb_plus_128: [i8; 25usize],
21822    pub ar_coeffs_cr_plus_128: [i8; 25usize],
21823    pub cb_mult: u8,
21824    pub cb_luma_mult: u8,
21825    pub cb_offset: u16,
21826    pub cr_mult: u8,
21827    pub cr_luma_mult: u8,
21828    pub cr_offset: u16,
21829}
21830#[repr(C)]
21831#[repr(align(4))]
21832#[derive(Debug, Copy, Clone)]
21833pub struct StdVideoAV1SequenceHeaderFlags {
21834    pub _bitfield_align_1: [u16; 0],
21835    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
21836}
21837impl StdVideoAV1SequenceHeaderFlags {
21838    #[inline]
21839    pub fn still_picture(&self) -> u32 {
21840        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
21841    }
21842    #[inline]
21843    pub fn set_still_picture(&mut self, val: u32) {
21844        unsafe {
21845            let val: u32 = ::std::mem::transmute(val);
21846            self._bitfield_1.set(0usize, 1u8, val as u64)
21847        }
21848    }
21849    #[inline]
21850    pub fn reduced_still_picture_header(&self) -> u32 {
21851        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
21852    }
21853    #[inline]
21854    pub fn set_reduced_still_picture_header(&mut self, val: u32) {
21855        unsafe {
21856            let val: u32 = ::std::mem::transmute(val);
21857            self._bitfield_1.set(1usize, 1u8, val as u64)
21858        }
21859    }
21860    #[inline]
21861    pub fn use_128x128_superblock(&self) -> u32 {
21862        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
21863    }
21864    #[inline]
21865    pub fn set_use_128x128_superblock(&mut self, val: u32) {
21866        unsafe {
21867            let val: u32 = ::std::mem::transmute(val);
21868            self._bitfield_1.set(2usize, 1u8, val as u64)
21869        }
21870    }
21871    #[inline]
21872    pub fn enable_filter_intra(&self) -> u32 {
21873        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
21874    }
21875    #[inline]
21876    pub fn set_enable_filter_intra(&mut self, val: u32) {
21877        unsafe {
21878            let val: u32 = ::std::mem::transmute(val);
21879            self._bitfield_1.set(3usize, 1u8, val as u64)
21880        }
21881    }
21882    #[inline]
21883    pub fn enable_intra_edge_filter(&self) -> u32 {
21884        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
21885    }
21886    #[inline]
21887    pub fn set_enable_intra_edge_filter(&mut self, val: u32) {
21888        unsafe {
21889            let val: u32 = ::std::mem::transmute(val);
21890            self._bitfield_1.set(4usize, 1u8, val as u64)
21891        }
21892    }
21893    #[inline]
21894    pub fn enable_interintra_compound(&self) -> u32 {
21895        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
21896    }
21897    #[inline]
21898    pub fn set_enable_interintra_compound(&mut self, val: u32) {
21899        unsafe {
21900            let val: u32 = ::std::mem::transmute(val);
21901            self._bitfield_1.set(5usize, 1u8, val as u64)
21902        }
21903    }
21904    #[inline]
21905    pub fn enable_masked_compound(&self) -> u32 {
21906        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
21907    }
21908    #[inline]
21909    pub fn set_enable_masked_compound(&mut self, val: u32) {
21910        unsafe {
21911            let val: u32 = ::std::mem::transmute(val);
21912            self._bitfield_1.set(6usize, 1u8, val as u64)
21913        }
21914    }
21915    #[inline]
21916    pub fn enable_warped_motion(&self) -> u32 {
21917        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
21918    }
21919    #[inline]
21920    pub fn set_enable_warped_motion(&mut self, val: u32) {
21921        unsafe {
21922            let val: u32 = ::std::mem::transmute(val);
21923            self._bitfield_1.set(7usize, 1u8, val as u64)
21924        }
21925    }
21926    #[inline]
21927    pub fn enable_dual_filter(&self) -> u32 {
21928        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
21929    }
21930    #[inline]
21931    pub fn set_enable_dual_filter(&mut self, val: u32) {
21932        unsafe {
21933            let val: u32 = ::std::mem::transmute(val);
21934            self._bitfield_1.set(8usize, 1u8, val as u64)
21935        }
21936    }
21937    #[inline]
21938    pub fn enable_order_hint(&self) -> u32 {
21939        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
21940    }
21941    #[inline]
21942    pub fn set_enable_order_hint(&mut self, val: u32) {
21943        unsafe {
21944            let val: u32 = ::std::mem::transmute(val);
21945            self._bitfield_1.set(9usize, 1u8, val as u64)
21946        }
21947    }
21948    #[inline]
21949    pub fn enable_jnt_comp(&self) -> u32 {
21950        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
21951    }
21952    #[inline]
21953    pub fn set_enable_jnt_comp(&mut self, val: u32) {
21954        unsafe {
21955            let val: u32 = ::std::mem::transmute(val);
21956            self._bitfield_1.set(10usize, 1u8, val as u64)
21957        }
21958    }
21959    #[inline]
21960    pub fn enable_ref_frame_mvs(&self) -> u32 {
21961        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
21962    }
21963    #[inline]
21964    pub fn set_enable_ref_frame_mvs(&mut self, val: u32) {
21965        unsafe {
21966            let val: u32 = ::std::mem::transmute(val);
21967            self._bitfield_1.set(11usize, 1u8, val as u64)
21968        }
21969    }
21970    #[inline]
21971    pub fn frame_id_numbers_present_flag(&self) -> u32 {
21972        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
21973    }
21974    #[inline]
21975    pub fn set_frame_id_numbers_present_flag(&mut self, val: u32) {
21976        unsafe {
21977            let val: u32 = ::std::mem::transmute(val);
21978            self._bitfield_1.set(12usize, 1u8, val as u64)
21979        }
21980    }
21981    #[inline]
21982    pub fn enable_superres(&self) -> u32 {
21983        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
21984    }
21985    #[inline]
21986    pub fn set_enable_superres(&mut self, val: u32) {
21987        unsafe {
21988            let val: u32 = ::std::mem::transmute(val);
21989            self._bitfield_1.set(13usize, 1u8, val as u64)
21990        }
21991    }
21992    #[inline]
21993    pub fn enable_cdef(&self) -> u32 {
21994        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
21995    }
21996    #[inline]
21997    pub fn set_enable_cdef(&mut self, val: u32) {
21998        unsafe {
21999            let val: u32 = ::std::mem::transmute(val);
22000            self._bitfield_1.set(14usize, 1u8, val as u64)
22001        }
22002    }
22003    #[inline]
22004    pub fn enable_restoration(&self) -> u32 {
22005        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
22006    }
22007    #[inline]
22008    pub fn set_enable_restoration(&mut self, val: u32) {
22009        unsafe {
22010            let val: u32 = ::std::mem::transmute(val);
22011            self._bitfield_1.set(15usize, 1u8, val as u64)
22012        }
22013    }
22014    #[inline]
22015    pub fn film_grain_params_present(&self) -> u32 {
22016        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
22017    }
22018    #[inline]
22019    pub fn set_film_grain_params_present(&mut self, val: u32) {
22020        unsafe {
22021            let val: u32 = ::std::mem::transmute(val);
22022            self._bitfield_1.set(16usize, 1u8, val as u64)
22023        }
22024    }
22025    #[inline]
22026    pub fn timing_info_present_flag(&self) -> u32 {
22027        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
22028    }
22029    #[inline]
22030    pub fn set_timing_info_present_flag(&mut self, val: u32) {
22031        unsafe {
22032            let val: u32 = ::std::mem::transmute(val);
22033            self._bitfield_1.set(17usize, 1u8, val as u64)
22034        }
22035    }
22036    #[inline]
22037    pub fn initial_display_delay_present_flag(&self) -> u32 {
22038        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
22039    }
22040    #[inline]
22041    pub fn set_initial_display_delay_present_flag(&mut self, val: u32) {
22042        unsafe {
22043            let val: u32 = ::std::mem::transmute(val);
22044            self._bitfield_1.set(18usize, 1u8, val as u64)
22045        }
22046    }
22047    #[inline]
22048    pub fn reserved(&self) -> u32 {
22049        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) }
22050    }
22051    #[inline]
22052    pub fn set_reserved(&mut self, val: u32) {
22053        unsafe {
22054            let val: u32 = ::std::mem::transmute(val);
22055            self._bitfield_1.set(19usize, 13u8, val as u64)
22056        }
22057    }
22058    #[inline]
22059    pub fn new_bitfield_1(
22060        still_picture: u32,
22061        reduced_still_picture_header: u32,
22062        use_128x128_superblock: u32,
22063        enable_filter_intra: u32,
22064        enable_intra_edge_filter: u32,
22065        enable_interintra_compound: u32,
22066        enable_masked_compound: u32,
22067        enable_warped_motion: u32,
22068        enable_dual_filter: u32,
22069        enable_order_hint: u32,
22070        enable_jnt_comp: u32,
22071        enable_ref_frame_mvs: u32,
22072        frame_id_numbers_present_flag: u32,
22073        enable_superres: u32,
22074        enable_cdef: u32,
22075        enable_restoration: u32,
22076        film_grain_params_present: u32,
22077        timing_info_present_flag: u32,
22078        initial_display_delay_present_flag: u32,
22079        reserved: u32,
22080    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
22081        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
22082        __bindgen_bitfield_unit.set(0usize, 1u8, {
22083            let still_picture: u32 = unsafe { ::std::mem::transmute(still_picture) };
22084            still_picture as u64
22085        });
22086        __bindgen_bitfield_unit.set(1usize, 1u8, {
22087            let reduced_still_picture_header: u32 =
22088                unsafe { ::std::mem::transmute(reduced_still_picture_header) };
22089            reduced_still_picture_header as u64
22090        });
22091        __bindgen_bitfield_unit.set(2usize, 1u8, {
22092            let use_128x128_superblock: u32 =
22093                unsafe { ::std::mem::transmute(use_128x128_superblock) };
22094            use_128x128_superblock as u64
22095        });
22096        __bindgen_bitfield_unit.set(3usize, 1u8, {
22097            let enable_filter_intra: u32 = unsafe { ::std::mem::transmute(enable_filter_intra) };
22098            enable_filter_intra as u64
22099        });
22100        __bindgen_bitfield_unit.set(4usize, 1u8, {
22101            let enable_intra_edge_filter: u32 =
22102                unsafe { ::std::mem::transmute(enable_intra_edge_filter) };
22103            enable_intra_edge_filter as u64
22104        });
22105        __bindgen_bitfield_unit.set(5usize, 1u8, {
22106            let enable_interintra_compound: u32 =
22107                unsafe { ::std::mem::transmute(enable_interintra_compound) };
22108            enable_interintra_compound as u64
22109        });
22110        __bindgen_bitfield_unit.set(6usize, 1u8, {
22111            let enable_masked_compound: u32 =
22112                unsafe { ::std::mem::transmute(enable_masked_compound) };
22113            enable_masked_compound as u64
22114        });
22115        __bindgen_bitfield_unit.set(7usize, 1u8, {
22116            let enable_warped_motion: u32 = unsafe { ::std::mem::transmute(enable_warped_motion) };
22117            enable_warped_motion as u64
22118        });
22119        __bindgen_bitfield_unit.set(8usize, 1u8, {
22120            let enable_dual_filter: u32 = unsafe { ::std::mem::transmute(enable_dual_filter) };
22121            enable_dual_filter as u64
22122        });
22123        __bindgen_bitfield_unit.set(9usize, 1u8, {
22124            let enable_order_hint: u32 = unsafe { ::std::mem::transmute(enable_order_hint) };
22125            enable_order_hint as u64
22126        });
22127        __bindgen_bitfield_unit.set(10usize, 1u8, {
22128            let enable_jnt_comp: u32 = unsafe { ::std::mem::transmute(enable_jnt_comp) };
22129            enable_jnt_comp as u64
22130        });
22131        __bindgen_bitfield_unit.set(11usize, 1u8, {
22132            let enable_ref_frame_mvs: u32 = unsafe { ::std::mem::transmute(enable_ref_frame_mvs) };
22133            enable_ref_frame_mvs as u64
22134        });
22135        __bindgen_bitfield_unit.set(12usize, 1u8, {
22136            let frame_id_numbers_present_flag: u32 =
22137                unsafe { ::std::mem::transmute(frame_id_numbers_present_flag) };
22138            frame_id_numbers_present_flag as u64
22139        });
22140        __bindgen_bitfield_unit.set(13usize, 1u8, {
22141            let enable_superres: u32 = unsafe { ::std::mem::transmute(enable_superres) };
22142            enable_superres as u64
22143        });
22144        __bindgen_bitfield_unit.set(14usize, 1u8, {
22145            let enable_cdef: u32 = unsafe { ::std::mem::transmute(enable_cdef) };
22146            enable_cdef as u64
22147        });
22148        __bindgen_bitfield_unit.set(15usize, 1u8, {
22149            let enable_restoration: u32 = unsafe { ::std::mem::transmute(enable_restoration) };
22150            enable_restoration as u64
22151        });
22152        __bindgen_bitfield_unit.set(16usize, 1u8, {
22153            let film_grain_params_present: u32 =
22154                unsafe { ::std::mem::transmute(film_grain_params_present) };
22155            film_grain_params_present as u64
22156        });
22157        __bindgen_bitfield_unit.set(17usize, 1u8, {
22158            let timing_info_present_flag: u32 =
22159                unsafe { ::std::mem::transmute(timing_info_present_flag) };
22160            timing_info_present_flag as u64
22161        });
22162        __bindgen_bitfield_unit.set(18usize, 1u8, {
22163            let initial_display_delay_present_flag: u32 =
22164                unsafe { ::std::mem::transmute(initial_display_delay_present_flag) };
22165            initial_display_delay_present_flag as u64
22166        });
22167        __bindgen_bitfield_unit.set(19usize, 13u8, {
22168            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
22169            reserved as u64
22170        });
22171        __bindgen_bitfield_unit
22172    }
22173}
22174#[repr(C)]
22175#[derive(Debug, Copy, Clone)]
22176pub struct StdVideoAV1SequenceHeader {
22177    pub flags: StdVideoAV1SequenceHeaderFlags,
22178    pub seq_profile: StdVideoAV1Profile,
22179    pub frame_width_bits_minus_1: u8,
22180    pub frame_height_bits_minus_1: u8,
22181    pub max_frame_width_minus_1: u16,
22182    pub max_frame_height_minus_1: u16,
22183    pub delta_frame_id_length_minus_2: u8,
22184    pub additional_frame_id_length_minus_1: u8,
22185    pub order_hint_bits_minus_1: u8,
22186    pub seq_force_integer_mv: u8,
22187    pub seq_force_screen_content_tools: u8,
22188    pub reserved1: [u8; 5usize],
22189    pub pColorConfig: *const StdVideoAV1ColorConfig,
22190    pub pTimingInfo: *const StdVideoAV1TimingInfo,
22191}
22192#[repr(C)]
22193#[repr(align(4))]
22194#[derive(Debug, Copy, Clone)]
22195pub struct StdVideoDecodeAV1PictureInfoFlags {
22196    pub _bitfield_align_1: [u8; 0],
22197    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
22198}
22199impl StdVideoDecodeAV1PictureInfoFlags {
22200    #[inline]
22201    pub fn error_resilient_mode(&self) -> u32 {
22202        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
22203    }
22204    #[inline]
22205    pub fn set_error_resilient_mode(&mut self, val: u32) {
22206        unsafe {
22207            let val: u32 = ::std::mem::transmute(val);
22208            self._bitfield_1.set(0usize, 1u8, val as u64)
22209        }
22210    }
22211    #[inline]
22212    pub fn disable_cdf_update(&self) -> u32 {
22213        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
22214    }
22215    #[inline]
22216    pub fn set_disable_cdf_update(&mut self, val: u32) {
22217        unsafe {
22218            let val: u32 = ::std::mem::transmute(val);
22219            self._bitfield_1.set(1usize, 1u8, val as u64)
22220        }
22221    }
22222    #[inline]
22223    pub fn use_superres(&self) -> u32 {
22224        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
22225    }
22226    #[inline]
22227    pub fn set_use_superres(&mut self, val: u32) {
22228        unsafe {
22229            let val: u32 = ::std::mem::transmute(val);
22230            self._bitfield_1.set(2usize, 1u8, val as u64)
22231        }
22232    }
22233    #[inline]
22234    pub fn render_and_frame_size_different(&self) -> u32 {
22235        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
22236    }
22237    #[inline]
22238    pub fn set_render_and_frame_size_different(&mut self, val: u32) {
22239        unsafe {
22240            let val: u32 = ::std::mem::transmute(val);
22241            self._bitfield_1.set(3usize, 1u8, val as u64)
22242        }
22243    }
22244    #[inline]
22245    pub fn allow_screen_content_tools(&self) -> u32 {
22246        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
22247    }
22248    #[inline]
22249    pub fn set_allow_screen_content_tools(&mut self, val: u32) {
22250        unsafe {
22251            let val: u32 = ::std::mem::transmute(val);
22252            self._bitfield_1.set(4usize, 1u8, val as u64)
22253        }
22254    }
22255    #[inline]
22256    pub fn is_filter_switchable(&self) -> u32 {
22257        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
22258    }
22259    #[inline]
22260    pub fn set_is_filter_switchable(&mut self, val: u32) {
22261        unsafe {
22262            let val: u32 = ::std::mem::transmute(val);
22263            self._bitfield_1.set(5usize, 1u8, val as u64)
22264        }
22265    }
22266    #[inline]
22267    pub fn force_integer_mv(&self) -> u32 {
22268        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
22269    }
22270    #[inline]
22271    pub fn set_force_integer_mv(&mut self, val: u32) {
22272        unsafe {
22273            let val: u32 = ::std::mem::transmute(val);
22274            self._bitfield_1.set(6usize, 1u8, val as u64)
22275        }
22276    }
22277    #[inline]
22278    pub fn frame_size_override_flag(&self) -> u32 {
22279        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
22280    }
22281    #[inline]
22282    pub fn set_frame_size_override_flag(&mut self, val: u32) {
22283        unsafe {
22284            let val: u32 = ::std::mem::transmute(val);
22285            self._bitfield_1.set(7usize, 1u8, val as u64)
22286        }
22287    }
22288    #[inline]
22289    pub fn buffer_removal_time_present_flag(&self) -> u32 {
22290        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
22291    }
22292    #[inline]
22293    pub fn set_buffer_removal_time_present_flag(&mut self, val: u32) {
22294        unsafe {
22295            let val: u32 = ::std::mem::transmute(val);
22296            self._bitfield_1.set(8usize, 1u8, val as u64)
22297        }
22298    }
22299    #[inline]
22300    pub fn allow_intrabc(&self) -> u32 {
22301        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
22302    }
22303    #[inline]
22304    pub fn set_allow_intrabc(&mut self, val: u32) {
22305        unsafe {
22306            let val: u32 = ::std::mem::transmute(val);
22307            self._bitfield_1.set(9usize, 1u8, val as u64)
22308        }
22309    }
22310    #[inline]
22311    pub fn frame_refs_short_signaling(&self) -> u32 {
22312        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
22313    }
22314    #[inline]
22315    pub fn set_frame_refs_short_signaling(&mut self, val: u32) {
22316        unsafe {
22317            let val: u32 = ::std::mem::transmute(val);
22318            self._bitfield_1.set(10usize, 1u8, val as u64)
22319        }
22320    }
22321    #[inline]
22322    pub fn allow_high_precision_mv(&self) -> u32 {
22323        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
22324    }
22325    #[inline]
22326    pub fn set_allow_high_precision_mv(&mut self, val: u32) {
22327        unsafe {
22328            let val: u32 = ::std::mem::transmute(val);
22329            self._bitfield_1.set(11usize, 1u8, val as u64)
22330        }
22331    }
22332    #[inline]
22333    pub fn is_motion_mode_switchable(&self) -> u32 {
22334        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
22335    }
22336    #[inline]
22337    pub fn set_is_motion_mode_switchable(&mut self, val: u32) {
22338        unsafe {
22339            let val: u32 = ::std::mem::transmute(val);
22340            self._bitfield_1.set(12usize, 1u8, val as u64)
22341        }
22342    }
22343    #[inline]
22344    pub fn use_ref_frame_mvs(&self) -> u32 {
22345        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
22346    }
22347    #[inline]
22348    pub fn set_use_ref_frame_mvs(&mut self, val: u32) {
22349        unsafe {
22350            let val: u32 = ::std::mem::transmute(val);
22351            self._bitfield_1.set(13usize, 1u8, val as u64)
22352        }
22353    }
22354    #[inline]
22355    pub fn disable_frame_end_update_cdf(&self) -> u32 {
22356        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
22357    }
22358    #[inline]
22359    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
22360        unsafe {
22361            let val: u32 = ::std::mem::transmute(val);
22362            self._bitfield_1.set(14usize, 1u8, val as u64)
22363        }
22364    }
22365    #[inline]
22366    pub fn allow_warped_motion(&self) -> u32 {
22367        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
22368    }
22369    #[inline]
22370    pub fn set_allow_warped_motion(&mut self, val: u32) {
22371        unsafe {
22372            let val: u32 = ::std::mem::transmute(val);
22373            self._bitfield_1.set(15usize, 1u8, val as u64)
22374        }
22375    }
22376    #[inline]
22377    pub fn reduced_tx_set(&self) -> u32 {
22378        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
22379    }
22380    #[inline]
22381    pub fn set_reduced_tx_set(&mut self, val: u32) {
22382        unsafe {
22383            let val: u32 = ::std::mem::transmute(val);
22384            self._bitfield_1.set(16usize, 1u8, val as u64)
22385        }
22386    }
22387    #[inline]
22388    pub fn reference_select(&self) -> u32 {
22389        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
22390    }
22391    #[inline]
22392    pub fn set_reference_select(&mut self, val: u32) {
22393        unsafe {
22394            let val: u32 = ::std::mem::transmute(val);
22395            self._bitfield_1.set(17usize, 1u8, val as u64)
22396        }
22397    }
22398    #[inline]
22399    pub fn skip_mode_present(&self) -> u32 {
22400        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
22401    }
22402    #[inline]
22403    pub fn set_skip_mode_present(&mut self, val: u32) {
22404        unsafe {
22405            let val: u32 = ::std::mem::transmute(val);
22406            self._bitfield_1.set(18usize, 1u8, val as u64)
22407        }
22408    }
22409    #[inline]
22410    pub fn delta_q_present(&self) -> u32 {
22411        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
22412    }
22413    #[inline]
22414    pub fn set_delta_q_present(&mut self, val: u32) {
22415        unsafe {
22416            let val: u32 = ::std::mem::transmute(val);
22417            self._bitfield_1.set(19usize, 1u8, val as u64)
22418        }
22419    }
22420    #[inline]
22421    pub fn delta_lf_present(&self) -> u32 {
22422        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
22423    }
22424    #[inline]
22425    pub fn set_delta_lf_present(&mut self, val: u32) {
22426        unsafe {
22427            let val: u32 = ::std::mem::transmute(val);
22428            self._bitfield_1.set(20usize, 1u8, val as u64)
22429        }
22430    }
22431    #[inline]
22432    pub fn delta_lf_multi(&self) -> u32 {
22433        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
22434    }
22435    #[inline]
22436    pub fn set_delta_lf_multi(&mut self, val: u32) {
22437        unsafe {
22438            let val: u32 = ::std::mem::transmute(val);
22439            self._bitfield_1.set(21usize, 1u8, val as u64)
22440        }
22441    }
22442    #[inline]
22443    pub fn segmentation_enabled(&self) -> u32 {
22444        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
22445    }
22446    #[inline]
22447    pub fn set_segmentation_enabled(&mut self, val: u32) {
22448        unsafe {
22449            let val: u32 = ::std::mem::transmute(val);
22450            self._bitfield_1.set(22usize, 1u8, val as u64)
22451        }
22452    }
22453    #[inline]
22454    pub fn segmentation_update_map(&self) -> u32 {
22455        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
22456    }
22457    #[inline]
22458    pub fn set_segmentation_update_map(&mut self, val: u32) {
22459        unsafe {
22460            let val: u32 = ::std::mem::transmute(val);
22461            self._bitfield_1.set(23usize, 1u8, val as u64)
22462        }
22463    }
22464    #[inline]
22465    pub fn segmentation_temporal_update(&self) -> u32 {
22466        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
22467    }
22468    #[inline]
22469    pub fn set_segmentation_temporal_update(&mut self, val: u32) {
22470        unsafe {
22471            let val: u32 = ::std::mem::transmute(val);
22472            self._bitfield_1.set(24usize, 1u8, val as u64)
22473        }
22474    }
22475    #[inline]
22476    pub fn segmentation_update_data(&self) -> u32 {
22477        unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
22478    }
22479    #[inline]
22480    pub fn set_segmentation_update_data(&mut self, val: u32) {
22481        unsafe {
22482            let val: u32 = ::std::mem::transmute(val);
22483            self._bitfield_1.set(25usize, 1u8, val as u64)
22484        }
22485    }
22486    #[inline]
22487    pub fn UsesLr(&self) -> u32 {
22488        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
22489    }
22490    #[inline]
22491    pub fn set_UsesLr(&mut self, val: u32) {
22492        unsafe {
22493            let val: u32 = ::std::mem::transmute(val);
22494            self._bitfield_1.set(26usize, 1u8, val as u64)
22495        }
22496    }
22497    #[inline]
22498    pub fn usesChromaLr(&self) -> u32 {
22499        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
22500    }
22501    #[inline]
22502    pub fn set_usesChromaLr(&mut self, val: u32) {
22503        unsafe {
22504            let val: u32 = ::std::mem::transmute(val);
22505            self._bitfield_1.set(27usize, 1u8, val as u64)
22506        }
22507    }
22508    #[inline]
22509    pub fn apply_grain(&self) -> u32 {
22510        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
22511    }
22512    #[inline]
22513    pub fn set_apply_grain(&mut self, val: u32) {
22514        unsafe {
22515            let val: u32 = ::std::mem::transmute(val);
22516            self._bitfield_1.set(28usize, 1u8, val as u64)
22517        }
22518    }
22519    #[inline]
22520    pub fn reserved(&self) -> u32 {
22521        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 3u8) as u32) }
22522    }
22523    #[inline]
22524    pub fn set_reserved(&mut self, val: u32) {
22525        unsafe {
22526            let val: u32 = ::std::mem::transmute(val);
22527            self._bitfield_1.set(29usize, 3u8, val as u64)
22528        }
22529    }
22530    #[inline]
22531    pub fn new_bitfield_1(
22532        error_resilient_mode: u32,
22533        disable_cdf_update: u32,
22534        use_superres: u32,
22535        render_and_frame_size_different: u32,
22536        allow_screen_content_tools: u32,
22537        is_filter_switchable: u32,
22538        force_integer_mv: u32,
22539        frame_size_override_flag: u32,
22540        buffer_removal_time_present_flag: u32,
22541        allow_intrabc: u32,
22542        frame_refs_short_signaling: u32,
22543        allow_high_precision_mv: u32,
22544        is_motion_mode_switchable: u32,
22545        use_ref_frame_mvs: u32,
22546        disable_frame_end_update_cdf: u32,
22547        allow_warped_motion: u32,
22548        reduced_tx_set: u32,
22549        reference_select: u32,
22550        skip_mode_present: u32,
22551        delta_q_present: u32,
22552        delta_lf_present: u32,
22553        delta_lf_multi: u32,
22554        segmentation_enabled: u32,
22555        segmentation_update_map: u32,
22556        segmentation_temporal_update: u32,
22557        segmentation_update_data: u32,
22558        UsesLr: u32,
22559        usesChromaLr: u32,
22560        apply_grain: u32,
22561        reserved: u32,
22562    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
22563        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
22564        __bindgen_bitfield_unit.set(0usize, 1u8, {
22565            let error_resilient_mode: u32 = unsafe { ::std::mem::transmute(error_resilient_mode) };
22566            error_resilient_mode as u64
22567        });
22568        __bindgen_bitfield_unit.set(1usize, 1u8, {
22569            let disable_cdf_update: u32 = unsafe { ::std::mem::transmute(disable_cdf_update) };
22570            disable_cdf_update as u64
22571        });
22572        __bindgen_bitfield_unit.set(2usize, 1u8, {
22573            let use_superres: u32 = unsafe { ::std::mem::transmute(use_superres) };
22574            use_superres as u64
22575        });
22576        __bindgen_bitfield_unit.set(3usize, 1u8, {
22577            let render_and_frame_size_different: u32 =
22578                unsafe { ::std::mem::transmute(render_and_frame_size_different) };
22579            render_and_frame_size_different as u64
22580        });
22581        __bindgen_bitfield_unit.set(4usize, 1u8, {
22582            let allow_screen_content_tools: u32 =
22583                unsafe { ::std::mem::transmute(allow_screen_content_tools) };
22584            allow_screen_content_tools as u64
22585        });
22586        __bindgen_bitfield_unit.set(5usize, 1u8, {
22587            let is_filter_switchable: u32 = unsafe { ::std::mem::transmute(is_filter_switchable) };
22588            is_filter_switchable as u64
22589        });
22590        __bindgen_bitfield_unit.set(6usize, 1u8, {
22591            let force_integer_mv: u32 = unsafe { ::std::mem::transmute(force_integer_mv) };
22592            force_integer_mv as u64
22593        });
22594        __bindgen_bitfield_unit.set(7usize, 1u8, {
22595            let frame_size_override_flag: u32 =
22596                unsafe { ::std::mem::transmute(frame_size_override_flag) };
22597            frame_size_override_flag as u64
22598        });
22599        __bindgen_bitfield_unit.set(8usize, 1u8, {
22600            let buffer_removal_time_present_flag: u32 =
22601                unsafe { ::std::mem::transmute(buffer_removal_time_present_flag) };
22602            buffer_removal_time_present_flag as u64
22603        });
22604        __bindgen_bitfield_unit.set(9usize, 1u8, {
22605            let allow_intrabc: u32 = unsafe { ::std::mem::transmute(allow_intrabc) };
22606            allow_intrabc as u64
22607        });
22608        __bindgen_bitfield_unit.set(10usize, 1u8, {
22609            let frame_refs_short_signaling: u32 =
22610                unsafe { ::std::mem::transmute(frame_refs_short_signaling) };
22611            frame_refs_short_signaling as u64
22612        });
22613        __bindgen_bitfield_unit.set(11usize, 1u8, {
22614            let allow_high_precision_mv: u32 =
22615                unsafe { ::std::mem::transmute(allow_high_precision_mv) };
22616            allow_high_precision_mv as u64
22617        });
22618        __bindgen_bitfield_unit.set(12usize, 1u8, {
22619            let is_motion_mode_switchable: u32 =
22620                unsafe { ::std::mem::transmute(is_motion_mode_switchable) };
22621            is_motion_mode_switchable as u64
22622        });
22623        __bindgen_bitfield_unit.set(13usize, 1u8, {
22624            let use_ref_frame_mvs: u32 = unsafe { ::std::mem::transmute(use_ref_frame_mvs) };
22625            use_ref_frame_mvs as u64
22626        });
22627        __bindgen_bitfield_unit.set(14usize, 1u8, {
22628            let disable_frame_end_update_cdf: u32 =
22629                unsafe { ::std::mem::transmute(disable_frame_end_update_cdf) };
22630            disable_frame_end_update_cdf as u64
22631        });
22632        __bindgen_bitfield_unit.set(15usize, 1u8, {
22633            let allow_warped_motion: u32 = unsafe { ::std::mem::transmute(allow_warped_motion) };
22634            allow_warped_motion as u64
22635        });
22636        __bindgen_bitfield_unit.set(16usize, 1u8, {
22637            let reduced_tx_set: u32 = unsafe { ::std::mem::transmute(reduced_tx_set) };
22638            reduced_tx_set as u64
22639        });
22640        __bindgen_bitfield_unit.set(17usize, 1u8, {
22641            let reference_select: u32 = unsafe { ::std::mem::transmute(reference_select) };
22642            reference_select as u64
22643        });
22644        __bindgen_bitfield_unit.set(18usize, 1u8, {
22645            let skip_mode_present: u32 = unsafe { ::std::mem::transmute(skip_mode_present) };
22646            skip_mode_present as u64
22647        });
22648        __bindgen_bitfield_unit.set(19usize, 1u8, {
22649            let delta_q_present: u32 = unsafe { ::std::mem::transmute(delta_q_present) };
22650            delta_q_present as u64
22651        });
22652        __bindgen_bitfield_unit.set(20usize, 1u8, {
22653            let delta_lf_present: u32 = unsafe { ::std::mem::transmute(delta_lf_present) };
22654            delta_lf_present as u64
22655        });
22656        __bindgen_bitfield_unit.set(21usize, 1u8, {
22657            let delta_lf_multi: u32 = unsafe { ::std::mem::transmute(delta_lf_multi) };
22658            delta_lf_multi as u64
22659        });
22660        __bindgen_bitfield_unit.set(22usize, 1u8, {
22661            let segmentation_enabled: u32 = unsafe { ::std::mem::transmute(segmentation_enabled) };
22662            segmentation_enabled as u64
22663        });
22664        __bindgen_bitfield_unit.set(23usize, 1u8, {
22665            let segmentation_update_map: u32 =
22666                unsafe { ::std::mem::transmute(segmentation_update_map) };
22667            segmentation_update_map as u64
22668        });
22669        __bindgen_bitfield_unit.set(24usize, 1u8, {
22670            let segmentation_temporal_update: u32 =
22671                unsafe { ::std::mem::transmute(segmentation_temporal_update) };
22672            segmentation_temporal_update as u64
22673        });
22674        __bindgen_bitfield_unit.set(25usize, 1u8, {
22675            let segmentation_update_data: u32 =
22676                unsafe { ::std::mem::transmute(segmentation_update_data) };
22677            segmentation_update_data as u64
22678        });
22679        __bindgen_bitfield_unit.set(26usize, 1u8, {
22680            let UsesLr: u32 = unsafe { ::std::mem::transmute(UsesLr) };
22681            UsesLr as u64
22682        });
22683        __bindgen_bitfield_unit.set(27usize, 1u8, {
22684            let usesChromaLr: u32 = unsafe { ::std::mem::transmute(usesChromaLr) };
22685            usesChromaLr as u64
22686        });
22687        __bindgen_bitfield_unit.set(28usize, 1u8, {
22688            let apply_grain: u32 = unsafe { ::std::mem::transmute(apply_grain) };
22689            apply_grain as u64
22690        });
22691        __bindgen_bitfield_unit.set(29usize, 3u8, {
22692            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
22693            reserved as u64
22694        });
22695        __bindgen_bitfield_unit
22696    }
22697}
22698#[repr(C)]
22699#[derive(Debug, Copy, Clone)]
22700pub struct StdVideoDecodeAV1PictureInfo {
22701    pub flags: StdVideoDecodeAV1PictureInfoFlags,
22702    pub frame_type: StdVideoAV1FrameType,
22703    pub current_frame_id: u32,
22704    pub OrderHint: u8,
22705    pub primary_ref_frame: u8,
22706    pub refresh_frame_flags: u8,
22707    pub reserved1: u8,
22708    pub interpolation_filter: StdVideoAV1InterpolationFilter,
22709    pub TxMode: StdVideoAV1TxMode,
22710    pub delta_q_res: u8,
22711    pub delta_lf_res: u8,
22712    pub SkipModeFrame: [u8; 2usize],
22713    pub coded_denom: u8,
22714    pub reserved2: [u8; 3usize],
22715    pub OrderHints: [u8; 8usize],
22716    pub expectedFrameId: [u32; 8usize],
22717    pub pTileInfo: *const StdVideoAV1TileInfo,
22718    pub pQuantization: *const StdVideoAV1Quantization,
22719    pub pSegmentation: *const StdVideoAV1Segmentation,
22720    pub pLoopFilter: *const StdVideoAV1LoopFilter,
22721    pub pCDEF: *const StdVideoAV1CDEF,
22722    pub pLoopRestoration: *const StdVideoAV1LoopRestoration,
22723    pub pGlobalMotion: *const StdVideoAV1GlobalMotion,
22724    pub pFilmGrain: *const StdVideoAV1FilmGrain,
22725}
22726#[repr(C)]
22727#[derive(Debug, Copy, Clone)]
22728pub struct StdVideoDecodeAV1ReferenceInfoFlags {
22729    pub _bitfield_align_1: [u32; 0],
22730    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
22731}
22732impl StdVideoDecodeAV1ReferenceInfoFlags {
22733    #[inline]
22734    pub fn disable_frame_end_update_cdf(&self) -> u32 {
22735        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
22736    }
22737    #[inline]
22738    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
22739        unsafe {
22740            let val: u32 = ::std::mem::transmute(val);
22741            self._bitfield_1.set(0usize, 1u8, val as u64)
22742        }
22743    }
22744    #[inline]
22745    pub fn segmentation_enabled(&self) -> u32 {
22746        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
22747    }
22748    #[inline]
22749    pub fn set_segmentation_enabled(&mut self, val: u32) {
22750        unsafe {
22751            let val: u32 = ::std::mem::transmute(val);
22752            self._bitfield_1.set(1usize, 1u8, val as u64)
22753        }
22754    }
22755    #[inline]
22756    pub fn reserved(&self) -> u32 {
22757        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
22758    }
22759    #[inline]
22760    pub fn set_reserved(&mut self, val: u32) {
22761        unsafe {
22762            let val: u32 = ::std::mem::transmute(val);
22763            self._bitfield_1.set(2usize, 30u8, val as u64)
22764        }
22765    }
22766    #[inline]
22767    pub fn new_bitfield_1(
22768        disable_frame_end_update_cdf: u32,
22769        segmentation_enabled: u32,
22770        reserved: u32,
22771    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
22772        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
22773        __bindgen_bitfield_unit.set(0usize, 1u8, {
22774            let disable_frame_end_update_cdf: u32 =
22775                unsafe { ::std::mem::transmute(disable_frame_end_update_cdf) };
22776            disable_frame_end_update_cdf as u64
22777        });
22778        __bindgen_bitfield_unit.set(1usize, 1u8, {
22779            let segmentation_enabled: u32 = unsafe { ::std::mem::transmute(segmentation_enabled) };
22780            segmentation_enabled as u64
22781        });
22782        __bindgen_bitfield_unit.set(2usize, 30u8, {
22783            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
22784            reserved as u64
22785        });
22786        __bindgen_bitfield_unit
22787    }
22788}
22789#[repr(C)]
22790#[derive(Debug, Copy, Clone)]
22791pub struct StdVideoDecodeAV1ReferenceInfo {
22792    pub flags: StdVideoDecodeAV1ReferenceInfoFlags,
22793    pub frame_type: u8,
22794    pub RefFrameSignBias: u8,
22795    pub OrderHint: u8,
22796    pub SavedOrderHints: [u8; 8usize],
22797}
22798#[repr(C)]
22799#[derive(Debug, Copy, Clone)]
22800pub struct VkVideoDecodeAV1ProfileInfoKHR {
22801    pub sType: VkStructureType,
22802    pub pNext: *const ::std::os::raw::c_void,
22803    pub stdProfile: StdVideoAV1Profile,
22804    pub filmGrainSupport: VkBool32,
22805}
22806#[repr(C)]
22807#[derive(Debug, Copy, Clone)]
22808pub struct VkVideoDecodeAV1CapabilitiesKHR {
22809    pub sType: VkStructureType,
22810    pub pNext: *mut ::std::os::raw::c_void,
22811    pub maxLevel: StdVideoAV1Level,
22812}
22813#[repr(C)]
22814#[derive(Debug, Copy, Clone)]
22815pub struct VkVideoDecodeAV1SessionParametersCreateInfoKHR {
22816    pub sType: VkStructureType,
22817    pub pNext: *const ::std::os::raw::c_void,
22818    pub pStdSequenceHeader: *const StdVideoAV1SequenceHeader,
22819}
22820#[repr(C)]
22821#[derive(Debug, Copy, Clone)]
22822pub struct VkVideoDecodeAV1PictureInfoKHR {
22823    pub sType: VkStructureType,
22824    pub pNext: *const ::std::os::raw::c_void,
22825    pub pStdPictureInfo: *const StdVideoDecodeAV1PictureInfo,
22826    pub referenceNameSlotIndices: [i32; 7usize],
22827    pub frameHeaderOffset: u32,
22828    pub tileCount: u32,
22829    pub pTileOffsets: *const u32,
22830    pub pTileSizes: *const u32,
22831}
22832#[repr(C)]
22833#[derive(Debug, Copy, Clone)]
22834pub struct VkVideoDecodeAV1DpbSlotInfoKHR {
22835    pub sType: VkStructureType,
22836    pub pNext: *const ::std::os::raw::c_void,
22837    pub pStdReferenceInfo: *const StdVideoDecodeAV1ReferenceInfo,
22838}
22839#[repr(C)]
22840#[derive(Debug, Copy, Clone)]
22841pub struct StdVideoEncodeAV1DecoderModelInfo {
22842    pub buffer_delay_length_minus_1: u8,
22843    pub buffer_removal_time_length_minus_1: u8,
22844    pub frame_presentation_time_length_minus_1: u8,
22845    pub reserved1: u8,
22846    pub num_units_in_decoding_tick: u32,
22847}
22848#[repr(C)]
22849#[derive(Debug, Copy, Clone)]
22850pub struct StdVideoEncodeAV1ExtensionHeader {
22851    pub temporal_id: u8,
22852    pub spatial_id: u8,
22853}
22854#[repr(C)]
22855#[derive(Debug, Copy, Clone)]
22856pub struct StdVideoEncodeAV1OperatingPointInfoFlags {
22857    pub _bitfield_align_1: [u32; 0],
22858    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
22859}
22860impl StdVideoEncodeAV1OperatingPointInfoFlags {
22861    #[inline]
22862    pub fn decoder_model_present_for_this_op(&self) -> u32 {
22863        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
22864    }
22865    #[inline]
22866    pub fn set_decoder_model_present_for_this_op(&mut self, val: u32) {
22867        unsafe {
22868            let val: u32 = ::std::mem::transmute(val);
22869            self._bitfield_1.set(0usize, 1u8, val as u64)
22870        }
22871    }
22872    #[inline]
22873    pub fn low_delay_mode_flag(&self) -> u32 {
22874        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
22875    }
22876    #[inline]
22877    pub fn set_low_delay_mode_flag(&mut self, val: u32) {
22878        unsafe {
22879            let val: u32 = ::std::mem::transmute(val);
22880            self._bitfield_1.set(1usize, 1u8, val as u64)
22881        }
22882    }
22883    #[inline]
22884    pub fn initial_display_delay_present_for_this_op(&self) -> u32 {
22885        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
22886    }
22887    #[inline]
22888    pub fn set_initial_display_delay_present_for_this_op(&mut self, val: u32) {
22889        unsafe {
22890            let val: u32 = ::std::mem::transmute(val);
22891            self._bitfield_1.set(2usize, 1u8, val as u64)
22892        }
22893    }
22894    #[inline]
22895    pub fn reserved(&self) -> u32 {
22896        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
22897    }
22898    #[inline]
22899    pub fn set_reserved(&mut self, val: u32) {
22900        unsafe {
22901            let val: u32 = ::std::mem::transmute(val);
22902            self._bitfield_1.set(3usize, 29u8, val as u64)
22903        }
22904    }
22905    #[inline]
22906    pub fn new_bitfield_1(
22907        decoder_model_present_for_this_op: u32,
22908        low_delay_mode_flag: u32,
22909        initial_display_delay_present_for_this_op: u32,
22910        reserved: u32,
22911    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
22912        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
22913        __bindgen_bitfield_unit.set(0usize, 1u8, {
22914            let decoder_model_present_for_this_op: u32 =
22915                unsafe { ::std::mem::transmute(decoder_model_present_for_this_op) };
22916            decoder_model_present_for_this_op as u64
22917        });
22918        __bindgen_bitfield_unit.set(1usize, 1u8, {
22919            let low_delay_mode_flag: u32 = unsafe { ::std::mem::transmute(low_delay_mode_flag) };
22920            low_delay_mode_flag as u64
22921        });
22922        __bindgen_bitfield_unit.set(2usize, 1u8, {
22923            let initial_display_delay_present_for_this_op: u32 =
22924                unsafe { ::std::mem::transmute(initial_display_delay_present_for_this_op) };
22925            initial_display_delay_present_for_this_op as u64
22926        });
22927        __bindgen_bitfield_unit.set(3usize, 29u8, {
22928            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
22929            reserved as u64
22930        });
22931        __bindgen_bitfield_unit
22932    }
22933}
22934#[repr(C)]
22935#[derive(Debug, Copy, Clone)]
22936pub struct StdVideoEncodeAV1OperatingPointInfo {
22937    pub flags: StdVideoEncodeAV1OperatingPointInfoFlags,
22938    pub operating_point_idc: u16,
22939    pub seq_level_idx: u8,
22940    pub seq_tier: u8,
22941    pub decoder_buffer_delay: u32,
22942    pub encoder_buffer_delay: u32,
22943    pub initial_display_delay_minus_1: u8,
22944}
22945#[repr(C)]
22946#[repr(align(4))]
22947#[derive(Debug, Copy, Clone)]
22948pub struct StdVideoEncodeAV1PictureInfoFlags {
22949    pub _bitfield_align_1: [u8; 0],
22950    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
22951}
22952impl StdVideoEncodeAV1PictureInfoFlags {
22953    #[inline]
22954    pub fn error_resilient_mode(&self) -> u32 {
22955        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
22956    }
22957    #[inline]
22958    pub fn set_error_resilient_mode(&mut self, val: u32) {
22959        unsafe {
22960            let val: u32 = ::std::mem::transmute(val);
22961            self._bitfield_1.set(0usize, 1u8, val as u64)
22962        }
22963    }
22964    #[inline]
22965    pub fn disable_cdf_update(&self) -> u32 {
22966        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
22967    }
22968    #[inline]
22969    pub fn set_disable_cdf_update(&mut self, val: u32) {
22970        unsafe {
22971            let val: u32 = ::std::mem::transmute(val);
22972            self._bitfield_1.set(1usize, 1u8, val as u64)
22973        }
22974    }
22975    #[inline]
22976    pub fn use_superres(&self) -> u32 {
22977        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
22978    }
22979    #[inline]
22980    pub fn set_use_superres(&mut self, val: u32) {
22981        unsafe {
22982            let val: u32 = ::std::mem::transmute(val);
22983            self._bitfield_1.set(2usize, 1u8, val as u64)
22984        }
22985    }
22986    #[inline]
22987    pub fn render_and_frame_size_different(&self) -> u32 {
22988        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
22989    }
22990    #[inline]
22991    pub fn set_render_and_frame_size_different(&mut self, val: u32) {
22992        unsafe {
22993            let val: u32 = ::std::mem::transmute(val);
22994            self._bitfield_1.set(3usize, 1u8, val as u64)
22995        }
22996    }
22997    #[inline]
22998    pub fn allow_screen_content_tools(&self) -> u32 {
22999        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
23000    }
23001    #[inline]
23002    pub fn set_allow_screen_content_tools(&mut self, val: u32) {
23003        unsafe {
23004            let val: u32 = ::std::mem::transmute(val);
23005            self._bitfield_1.set(4usize, 1u8, val as u64)
23006        }
23007    }
23008    #[inline]
23009    pub fn is_filter_switchable(&self) -> u32 {
23010        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
23011    }
23012    #[inline]
23013    pub fn set_is_filter_switchable(&mut self, val: u32) {
23014        unsafe {
23015            let val: u32 = ::std::mem::transmute(val);
23016            self._bitfield_1.set(5usize, 1u8, val as u64)
23017        }
23018    }
23019    #[inline]
23020    pub fn force_integer_mv(&self) -> u32 {
23021        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
23022    }
23023    #[inline]
23024    pub fn set_force_integer_mv(&mut self, val: u32) {
23025        unsafe {
23026            let val: u32 = ::std::mem::transmute(val);
23027            self._bitfield_1.set(6usize, 1u8, val as u64)
23028        }
23029    }
23030    #[inline]
23031    pub fn frame_size_override_flag(&self) -> u32 {
23032        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
23033    }
23034    #[inline]
23035    pub fn set_frame_size_override_flag(&mut self, val: u32) {
23036        unsafe {
23037            let val: u32 = ::std::mem::transmute(val);
23038            self._bitfield_1.set(7usize, 1u8, val as u64)
23039        }
23040    }
23041    #[inline]
23042    pub fn buffer_removal_time_present_flag(&self) -> u32 {
23043        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
23044    }
23045    #[inline]
23046    pub fn set_buffer_removal_time_present_flag(&mut self, val: u32) {
23047        unsafe {
23048            let val: u32 = ::std::mem::transmute(val);
23049            self._bitfield_1.set(8usize, 1u8, val as u64)
23050        }
23051    }
23052    #[inline]
23053    pub fn allow_intrabc(&self) -> u32 {
23054        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
23055    }
23056    #[inline]
23057    pub fn set_allow_intrabc(&mut self, val: u32) {
23058        unsafe {
23059            let val: u32 = ::std::mem::transmute(val);
23060            self._bitfield_1.set(9usize, 1u8, val as u64)
23061        }
23062    }
23063    #[inline]
23064    pub fn frame_refs_short_signaling(&self) -> u32 {
23065        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
23066    }
23067    #[inline]
23068    pub fn set_frame_refs_short_signaling(&mut self, val: u32) {
23069        unsafe {
23070            let val: u32 = ::std::mem::transmute(val);
23071            self._bitfield_1.set(10usize, 1u8, val as u64)
23072        }
23073    }
23074    #[inline]
23075    pub fn allow_high_precision_mv(&self) -> u32 {
23076        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
23077    }
23078    #[inline]
23079    pub fn set_allow_high_precision_mv(&mut self, val: u32) {
23080        unsafe {
23081            let val: u32 = ::std::mem::transmute(val);
23082            self._bitfield_1.set(11usize, 1u8, val as u64)
23083        }
23084    }
23085    #[inline]
23086    pub fn is_motion_mode_switchable(&self) -> u32 {
23087        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
23088    }
23089    #[inline]
23090    pub fn set_is_motion_mode_switchable(&mut self, val: u32) {
23091        unsafe {
23092            let val: u32 = ::std::mem::transmute(val);
23093            self._bitfield_1.set(12usize, 1u8, val as u64)
23094        }
23095    }
23096    #[inline]
23097    pub fn use_ref_frame_mvs(&self) -> u32 {
23098        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
23099    }
23100    #[inline]
23101    pub fn set_use_ref_frame_mvs(&mut self, val: u32) {
23102        unsafe {
23103            let val: u32 = ::std::mem::transmute(val);
23104            self._bitfield_1.set(13usize, 1u8, val as u64)
23105        }
23106    }
23107    #[inline]
23108    pub fn disable_frame_end_update_cdf(&self) -> u32 {
23109        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
23110    }
23111    #[inline]
23112    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
23113        unsafe {
23114            let val: u32 = ::std::mem::transmute(val);
23115            self._bitfield_1.set(14usize, 1u8, val as u64)
23116        }
23117    }
23118    #[inline]
23119    pub fn allow_warped_motion(&self) -> u32 {
23120        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
23121    }
23122    #[inline]
23123    pub fn set_allow_warped_motion(&mut self, val: u32) {
23124        unsafe {
23125            let val: u32 = ::std::mem::transmute(val);
23126            self._bitfield_1.set(15usize, 1u8, val as u64)
23127        }
23128    }
23129    #[inline]
23130    pub fn reduced_tx_set(&self) -> u32 {
23131        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
23132    }
23133    #[inline]
23134    pub fn set_reduced_tx_set(&mut self, val: u32) {
23135        unsafe {
23136            let val: u32 = ::std::mem::transmute(val);
23137            self._bitfield_1.set(16usize, 1u8, val as u64)
23138        }
23139    }
23140    #[inline]
23141    pub fn skip_mode_present(&self) -> u32 {
23142        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
23143    }
23144    #[inline]
23145    pub fn set_skip_mode_present(&mut self, val: u32) {
23146        unsafe {
23147            let val: u32 = ::std::mem::transmute(val);
23148            self._bitfield_1.set(17usize, 1u8, val as u64)
23149        }
23150    }
23151    #[inline]
23152    pub fn delta_q_present(&self) -> u32 {
23153        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
23154    }
23155    #[inline]
23156    pub fn set_delta_q_present(&mut self, val: u32) {
23157        unsafe {
23158            let val: u32 = ::std::mem::transmute(val);
23159            self._bitfield_1.set(18usize, 1u8, val as u64)
23160        }
23161    }
23162    #[inline]
23163    pub fn delta_lf_present(&self) -> u32 {
23164        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
23165    }
23166    #[inline]
23167    pub fn set_delta_lf_present(&mut self, val: u32) {
23168        unsafe {
23169            let val: u32 = ::std::mem::transmute(val);
23170            self._bitfield_1.set(19usize, 1u8, val as u64)
23171        }
23172    }
23173    #[inline]
23174    pub fn delta_lf_multi(&self) -> u32 {
23175        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
23176    }
23177    #[inline]
23178    pub fn set_delta_lf_multi(&mut self, val: u32) {
23179        unsafe {
23180            let val: u32 = ::std::mem::transmute(val);
23181            self._bitfield_1.set(20usize, 1u8, val as u64)
23182        }
23183    }
23184    #[inline]
23185    pub fn segmentation_enabled(&self) -> u32 {
23186        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
23187    }
23188    #[inline]
23189    pub fn set_segmentation_enabled(&mut self, val: u32) {
23190        unsafe {
23191            let val: u32 = ::std::mem::transmute(val);
23192            self._bitfield_1.set(21usize, 1u8, val as u64)
23193        }
23194    }
23195    #[inline]
23196    pub fn segmentation_update_map(&self) -> u32 {
23197        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
23198    }
23199    #[inline]
23200    pub fn set_segmentation_update_map(&mut self, val: u32) {
23201        unsafe {
23202            let val: u32 = ::std::mem::transmute(val);
23203            self._bitfield_1.set(22usize, 1u8, val as u64)
23204        }
23205    }
23206    #[inline]
23207    pub fn segmentation_temporal_update(&self) -> u32 {
23208        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
23209    }
23210    #[inline]
23211    pub fn set_segmentation_temporal_update(&mut self, val: u32) {
23212        unsafe {
23213            let val: u32 = ::std::mem::transmute(val);
23214            self._bitfield_1.set(23usize, 1u8, val as u64)
23215        }
23216    }
23217    #[inline]
23218    pub fn segmentation_update_data(&self) -> u32 {
23219        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
23220    }
23221    #[inline]
23222    pub fn set_segmentation_update_data(&mut self, val: u32) {
23223        unsafe {
23224            let val: u32 = ::std::mem::transmute(val);
23225            self._bitfield_1.set(24usize, 1u8, val as u64)
23226        }
23227    }
23228    #[inline]
23229    pub fn UsesLr(&self) -> u32 {
23230        unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
23231    }
23232    #[inline]
23233    pub fn set_UsesLr(&mut self, val: u32) {
23234        unsafe {
23235            let val: u32 = ::std::mem::transmute(val);
23236            self._bitfield_1.set(25usize, 1u8, val as u64)
23237        }
23238    }
23239    #[inline]
23240    pub fn usesChromaLr(&self) -> u32 {
23241        unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
23242    }
23243    #[inline]
23244    pub fn set_usesChromaLr(&mut self, val: u32) {
23245        unsafe {
23246            let val: u32 = ::std::mem::transmute(val);
23247            self._bitfield_1.set(26usize, 1u8, val as u64)
23248        }
23249    }
23250    #[inline]
23251    pub fn show_frame(&self) -> u32 {
23252        unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
23253    }
23254    #[inline]
23255    pub fn set_show_frame(&mut self, val: u32) {
23256        unsafe {
23257            let val: u32 = ::std::mem::transmute(val);
23258            self._bitfield_1.set(27usize, 1u8, val as u64)
23259        }
23260    }
23261    #[inline]
23262    pub fn showable_frame(&self) -> u32 {
23263        unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
23264    }
23265    #[inline]
23266    pub fn set_showable_frame(&mut self, val: u32) {
23267        unsafe {
23268            let val: u32 = ::std::mem::transmute(val);
23269            self._bitfield_1.set(28usize, 1u8, val as u64)
23270        }
23271    }
23272    #[inline]
23273    pub fn reserved(&self) -> u32 {
23274        unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 3u8) as u32) }
23275    }
23276    #[inline]
23277    pub fn set_reserved(&mut self, val: u32) {
23278        unsafe {
23279            let val: u32 = ::std::mem::transmute(val);
23280            self._bitfield_1.set(29usize, 3u8, val as u64)
23281        }
23282    }
23283    #[inline]
23284    pub fn new_bitfield_1(
23285        error_resilient_mode: u32,
23286        disable_cdf_update: u32,
23287        use_superres: u32,
23288        render_and_frame_size_different: u32,
23289        allow_screen_content_tools: u32,
23290        is_filter_switchable: u32,
23291        force_integer_mv: u32,
23292        frame_size_override_flag: u32,
23293        buffer_removal_time_present_flag: u32,
23294        allow_intrabc: u32,
23295        frame_refs_short_signaling: u32,
23296        allow_high_precision_mv: u32,
23297        is_motion_mode_switchable: u32,
23298        use_ref_frame_mvs: u32,
23299        disable_frame_end_update_cdf: u32,
23300        allow_warped_motion: u32,
23301        reduced_tx_set: u32,
23302        skip_mode_present: u32,
23303        delta_q_present: u32,
23304        delta_lf_present: u32,
23305        delta_lf_multi: u32,
23306        segmentation_enabled: u32,
23307        segmentation_update_map: u32,
23308        segmentation_temporal_update: u32,
23309        segmentation_update_data: u32,
23310        UsesLr: u32,
23311        usesChromaLr: u32,
23312        show_frame: u32,
23313        showable_frame: u32,
23314        reserved: u32,
23315    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
23316        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
23317        __bindgen_bitfield_unit.set(0usize, 1u8, {
23318            let error_resilient_mode: u32 = unsafe { ::std::mem::transmute(error_resilient_mode) };
23319            error_resilient_mode as u64
23320        });
23321        __bindgen_bitfield_unit.set(1usize, 1u8, {
23322            let disable_cdf_update: u32 = unsafe { ::std::mem::transmute(disable_cdf_update) };
23323            disable_cdf_update as u64
23324        });
23325        __bindgen_bitfield_unit.set(2usize, 1u8, {
23326            let use_superres: u32 = unsafe { ::std::mem::transmute(use_superres) };
23327            use_superres as u64
23328        });
23329        __bindgen_bitfield_unit.set(3usize, 1u8, {
23330            let render_and_frame_size_different: u32 =
23331                unsafe { ::std::mem::transmute(render_and_frame_size_different) };
23332            render_and_frame_size_different as u64
23333        });
23334        __bindgen_bitfield_unit.set(4usize, 1u8, {
23335            let allow_screen_content_tools: u32 =
23336                unsafe { ::std::mem::transmute(allow_screen_content_tools) };
23337            allow_screen_content_tools as u64
23338        });
23339        __bindgen_bitfield_unit.set(5usize, 1u8, {
23340            let is_filter_switchable: u32 = unsafe { ::std::mem::transmute(is_filter_switchable) };
23341            is_filter_switchable as u64
23342        });
23343        __bindgen_bitfield_unit.set(6usize, 1u8, {
23344            let force_integer_mv: u32 = unsafe { ::std::mem::transmute(force_integer_mv) };
23345            force_integer_mv as u64
23346        });
23347        __bindgen_bitfield_unit.set(7usize, 1u8, {
23348            let frame_size_override_flag: u32 =
23349                unsafe { ::std::mem::transmute(frame_size_override_flag) };
23350            frame_size_override_flag as u64
23351        });
23352        __bindgen_bitfield_unit.set(8usize, 1u8, {
23353            let buffer_removal_time_present_flag: u32 =
23354                unsafe { ::std::mem::transmute(buffer_removal_time_present_flag) };
23355            buffer_removal_time_present_flag as u64
23356        });
23357        __bindgen_bitfield_unit.set(9usize, 1u8, {
23358            let allow_intrabc: u32 = unsafe { ::std::mem::transmute(allow_intrabc) };
23359            allow_intrabc as u64
23360        });
23361        __bindgen_bitfield_unit.set(10usize, 1u8, {
23362            let frame_refs_short_signaling: u32 =
23363                unsafe { ::std::mem::transmute(frame_refs_short_signaling) };
23364            frame_refs_short_signaling as u64
23365        });
23366        __bindgen_bitfield_unit.set(11usize, 1u8, {
23367            let allow_high_precision_mv: u32 =
23368                unsafe { ::std::mem::transmute(allow_high_precision_mv) };
23369            allow_high_precision_mv as u64
23370        });
23371        __bindgen_bitfield_unit.set(12usize, 1u8, {
23372            let is_motion_mode_switchable: u32 =
23373                unsafe { ::std::mem::transmute(is_motion_mode_switchable) };
23374            is_motion_mode_switchable as u64
23375        });
23376        __bindgen_bitfield_unit.set(13usize, 1u8, {
23377            let use_ref_frame_mvs: u32 = unsafe { ::std::mem::transmute(use_ref_frame_mvs) };
23378            use_ref_frame_mvs as u64
23379        });
23380        __bindgen_bitfield_unit.set(14usize, 1u8, {
23381            let disable_frame_end_update_cdf: u32 =
23382                unsafe { ::std::mem::transmute(disable_frame_end_update_cdf) };
23383            disable_frame_end_update_cdf as u64
23384        });
23385        __bindgen_bitfield_unit.set(15usize, 1u8, {
23386            let allow_warped_motion: u32 = unsafe { ::std::mem::transmute(allow_warped_motion) };
23387            allow_warped_motion as u64
23388        });
23389        __bindgen_bitfield_unit.set(16usize, 1u8, {
23390            let reduced_tx_set: u32 = unsafe { ::std::mem::transmute(reduced_tx_set) };
23391            reduced_tx_set as u64
23392        });
23393        __bindgen_bitfield_unit.set(17usize, 1u8, {
23394            let skip_mode_present: u32 = unsafe { ::std::mem::transmute(skip_mode_present) };
23395            skip_mode_present as u64
23396        });
23397        __bindgen_bitfield_unit.set(18usize, 1u8, {
23398            let delta_q_present: u32 = unsafe { ::std::mem::transmute(delta_q_present) };
23399            delta_q_present as u64
23400        });
23401        __bindgen_bitfield_unit.set(19usize, 1u8, {
23402            let delta_lf_present: u32 = unsafe { ::std::mem::transmute(delta_lf_present) };
23403            delta_lf_present as u64
23404        });
23405        __bindgen_bitfield_unit.set(20usize, 1u8, {
23406            let delta_lf_multi: u32 = unsafe { ::std::mem::transmute(delta_lf_multi) };
23407            delta_lf_multi as u64
23408        });
23409        __bindgen_bitfield_unit.set(21usize, 1u8, {
23410            let segmentation_enabled: u32 = unsafe { ::std::mem::transmute(segmentation_enabled) };
23411            segmentation_enabled as u64
23412        });
23413        __bindgen_bitfield_unit.set(22usize, 1u8, {
23414            let segmentation_update_map: u32 =
23415                unsafe { ::std::mem::transmute(segmentation_update_map) };
23416            segmentation_update_map as u64
23417        });
23418        __bindgen_bitfield_unit.set(23usize, 1u8, {
23419            let segmentation_temporal_update: u32 =
23420                unsafe { ::std::mem::transmute(segmentation_temporal_update) };
23421            segmentation_temporal_update as u64
23422        });
23423        __bindgen_bitfield_unit.set(24usize, 1u8, {
23424            let segmentation_update_data: u32 =
23425                unsafe { ::std::mem::transmute(segmentation_update_data) };
23426            segmentation_update_data as u64
23427        });
23428        __bindgen_bitfield_unit.set(25usize, 1u8, {
23429            let UsesLr: u32 = unsafe { ::std::mem::transmute(UsesLr) };
23430            UsesLr as u64
23431        });
23432        __bindgen_bitfield_unit.set(26usize, 1u8, {
23433            let usesChromaLr: u32 = unsafe { ::std::mem::transmute(usesChromaLr) };
23434            usesChromaLr as u64
23435        });
23436        __bindgen_bitfield_unit.set(27usize, 1u8, {
23437            let show_frame: u32 = unsafe { ::std::mem::transmute(show_frame) };
23438            show_frame as u64
23439        });
23440        __bindgen_bitfield_unit.set(28usize, 1u8, {
23441            let showable_frame: u32 = unsafe { ::std::mem::transmute(showable_frame) };
23442            showable_frame as u64
23443        });
23444        __bindgen_bitfield_unit.set(29usize, 3u8, {
23445            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
23446            reserved as u64
23447        });
23448        __bindgen_bitfield_unit
23449    }
23450}
23451#[repr(C)]
23452#[derive(Debug, Copy, Clone)]
23453pub struct StdVideoEncodeAV1PictureInfo {
23454    pub flags: StdVideoEncodeAV1PictureInfoFlags,
23455    pub frame_type: StdVideoAV1FrameType,
23456    pub frame_presentation_time: u32,
23457    pub current_frame_id: u32,
23458    pub order_hint: u8,
23459    pub primary_ref_frame: u8,
23460    pub refresh_frame_flags: u8,
23461    pub coded_denom: u8,
23462    pub render_width_minus_1: u16,
23463    pub render_height_minus_1: u16,
23464    pub interpolation_filter: StdVideoAV1InterpolationFilter,
23465    pub TxMode: StdVideoAV1TxMode,
23466    pub delta_q_res: u8,
23467    pub delta_lf_res: u8,
23468    pub ref_order_hint: [u8; 8usize],
23469    pub ref_frame_idx: [i8; 7usize],
23470    pub reserved1: [u8; 3usize],
23471    pub delta_frame_id_minus_1: [u32; 7usize],
23472    pub pTileInfo: *const StdVideoAV1TileInfo,
23473    pub pQuantization: *const StdVideoAV1Quantization,
23474    pub pSegmentation: *const StdVideoAV1Segmentation,
23475    pub pLoopFilter: *const StdVideoAV1LoopFilter,
23476    pub pCDEF: *const StdVideoAV1CDEF,
23477    pub pLoopRestoration: *const StdVideoAV1LoopRestoration,
23478    pub pGlobalMotion: *const StdVideoAV1GlobalMotion,
23479    pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
23480    pub pBufferRemovalTimes: *const u32,
23481}
23482#[repr(C)]
23483#[derive(Debug, Copy, Clone)]
23484pub struct StdVideoEncodeAV1ReferenceInfoFlags {
23485    pub _bitfield_align_1: [u32; 0],
23486    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
23487}
23488impl StdVideoEncodeAV1ReferenceInfoFlags {
23489    #[inline]
23490    pub fn disable_frame_end_update_cdf(&self) -> u32 {
23491        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
23492    }
23493    #[inline]
23494    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
23495        unsafe {
23496            let val: u32 = ::std::mem::transmute(val);
23497            self._bitfield_1.set(0usize, 1u8, val as u64)
23498        }
23499    }
23500    #[inline]
23501    pub fn segmentation_enabled(&self) -> u32 {
23502        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
23503    }
23504    #[inline]
23505    pub fn set_segmentation_enabled(&mut self, val: u32) {
23506        unsafe {
23507            let val: u32 = ::std::mem::transmute(val);
23508            self._bitfield_1.set(1usize, 1u8, val as u64)
23509        }
23510    }
23511    #[inline]
23512    pub fn reserved(&self) -> u32 {
23513        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
23514    }
23515    #[inline]
23516    pub fn set_reserved(&mut self, val: u32) {
23517        unsafe {
23518            let val: u32 = ::std::mem::transmute(val);
23519            self._bitfield_1.set(2usize, 30u8, val as u64)
23520        }
23521    }
23522    #[inline]
23523    pub fn new_bitfield_1(
23524        disable_frame_end_update_cdf: u32,
23525        segmentation_enabled: u32,
23526        reserved: u32,
23527    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
23528        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
23529        __bindgen_bitfield_unit.set(0usize, 1u8, {
23530            let disable_frame_end_update_cdf: u32 =
23531                unsafe { ::std::mem::transmute(disable_frame_end_update_cdf) };
23532            disable_frame_end_update_cdf as u64
23533        });
23534        __bindgen_bitfield_unit.set(1usize, 1u8, {
23535            let segmentation_enabled: u32 = unsafe { ::std::mem::transmute(segmentation_enabled) };
23536            segmentation_enabled as u64
23537        });
23538        __bindgen_bitfield_unit.set(2usize, 30u8, {
23539            let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
23540            reserved as u64
23541        });
23542        __bindgen_bitfield_unit
23543    }
23544}
23545#[repr(C)]
23546#[derive(Debug, Copy, Clone)]
23547pub struct StdVideoEncodeAV1ReferenceInfo {
23548    pub flags: StdVideoEncodeAV1ReferenceInfoFlags,
23549    pub RefFrameId: u32,
23550    pub frame_type: StdVideoAV1FrameType,
23551    pub OrderHint: u8,
23552    pub reserved1: [u8; 3usize],
23553    pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
23554}
23555pub const VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR:
23556    VkVideoEncodeAV1PredictionModeKHR = 0;
23557pub const VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR : VkVideoEncodeAV1PredictionModeKHR = 1 ;
23558pub const VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR : VkVideoEncodeAV1PredictionModeKHR = 2 ;
23559pub const VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR : VkVideoEncodeAV1PredictionModeKHR = 3 ;
23560pub const VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_MAX_ENUM_KHR:
23561    VkVideoEncodeAV1PredictionModeKHR = 2147483647;
23562pub type VkVideoEncodeAV1PredictionModeKHR = ::std::os::raw::c_uint;
23563pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR:
23564    VkVideoEncodeAV1RateControlGroupKHR = 0;
23565pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR : VkVideoEncodeAV1RateControlGroupKHR = 1 ;
23566pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR : VkVideoEncodeAV1RateControlGroupKHR = 2 ;
23567pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_MAX_ENUM_KHR : VkVideoEncodeAV1RateControlGroupKHR = 2147483647 ;
23568pub type VkVideoEncodeAV1RateControlGroupKHR = ::std::os::raw::c_uint;
23569pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 1 ;
23570pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 2 ;
23571pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 4 ;
23572pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 8 ;
23573pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 16 ;
23574pub const VK_VIDEO_ENCODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeAV1CapabilityFlagBitsKHR = 2147483647 ;
23575pub type VkVideoEncodeAV1CapabilityFlagBitsKHR = ::std::os::raw::c_uint;
23576pub type VkVideoEncodeAV1CapabilityFlagsKHR = VkFlags;
23577pub const VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR : VkVideoEncodeAV1StdFlagBitsKHR = 1 ;
23578pub const VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR:
23579    VkVideoEncodeAV1StdFlagBitsKHR = 2;
23580pub const VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR:
23581    VkVideoEncodeAV1StdFlagBitsKHR = 4;
23582pub const VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR:
23583    VkVideoEncodeAV1StdFlagBitsKHR = 8;
23584pub const VK_VIDEO_ENCODE_AV1_STD_FLAG_BITS_MAX_ENUM_KHR:
23585    VkVideoEncodeAV1StdFlagBitsKHR = 2147483647;
23586pub type VkVideoEncodeAV1StdFlagBitsKHR = ::std::os::raw::c_uint;
23587pub type VkVideoEncodeAV1StdFlagsKHR = VkFlags;
23588pub const VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR : VkVideoEncodeAV1SuperblockSizeFlagBitsKHR = 1 ;
23589pub const VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR : VkVideoEncodeAV1SuperblockSizeFlagBitsKHR = 2 ;
23590pub const VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeAV1SuperblockSizeFlagBitsKHR = 2147483647 ;
23591pub type VkVideoEncodeAV1SuperblockSizeFlagBitsKHR = ::std::os::raw::c_uint;
23592pub type VkVideoEncodeAV1SuperblockSizeFlagsKHR = VkFlags;
23593pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR : VkVideoEncodeAV1RateControlFlagBitsKHR = 1 ;
23594pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeAV1RateControlFlagBitsKHR = 2 ;
23595pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR : VkVideoEncodeAV1RateControlFlagBitsKHR = 4 ;
23596pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR : VkVideoEncodeAV1RateControlFlagBitsKHR = 8 ;
23597pub const VK_VIDEO_ENCODE_AV1_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR : VkVideoEncodeAV1RateControlFlagBitsKHR = 2147483647 ;
23598pub type VkVideoEncodeAV1RateControlFlagBitsKHR = ::std::os::raw::c_uint;
23599pub type VkVideoEncodeAV1RateControlFlagsKHR = VkFlags;
23600#[repr(C)]
23601#[derive(Debug, Copy, Clone)]
23602pub struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR {
23603    pub sType: VkStructureType,
23604    pub pNext: *mut ::std::os::raw::c_void,
23605    pub videoEncodeAV1: VkBool32,
23606}
23607#[repr(C)]
23608#[derive(Debug, Copy, Clone)]
23609pub struct VkVideoEncodeAV1CapabilitiesKHR {
23610    pub sType: VkStructureType,
23611    pub pNext: *mut ::std::os::raw::c_void,
23612    pub flags: VkVideoEncodeAV1CapabilityFlagsKHR,
23613    pub maxLevel: StdVideoAV1Level,
23614    pub codedPictureAlignment: VkExtent2D,
23615    pub maxTiles: VkExtent2D,
23616    pub minTileSize: VkExtent2D,
23617    pub maxTileSize: VkExtent2D,
23618    pub superblockSizes: VkVideoEncodeAV1SuperblockSizeFlagsKHR,
23619    pub maxSingleReferenceCount: u32,
23620    pub singleReferenceNameMask: u32,
23621    pub maxUnidirectionalCompoundReferenceCount: u32,
23622    pub maxUnidirectionalCompoundGroup1ReferenceCount: u32,
23623    pub unidirectionalCompoundReferenceNameMask: u32,
23624    pub maxBidirectionalCompoundReferenceCount: u32,
23625    pub maxBidirectionalCompoundGroup1ReferenceCount: u32,
23626    pub maxBidirectionalCompoundGroup2ReferenceCount: u32,
23627    pub bidirectionalCompoundReferenceNameMask: u32,
23628    pub maxTemporalLayerCount: u32,
23629    pub maxSpatialLayerCount: u32,
23630    pub maxOperatingPoints: u32,
23631    pub minQIndex: u32,
23632    pub maxQIndex: u32,
23633    pub prefersGopRemainingFrames: VkBool32,
23634    pub requiresGopRemainingFrames: VkBool32,
23635    pub stdSyntaxFlags: VkVideoEncodeAV1StdFlagsKHR,
23636}
23637#[repr(C)]
23638#[derive(Debug, Copy, Clone)]
23639pub struct VkVideoEncodeAV1QIndexKHR {
23640    pub intraQIndex: u32,
23641    pub predictiveQIndex: u32,
23642    pub bipredictiveQIndex: u32,
23643}
23644#[repr(C)]
23645#[derive(Debug, Copy, Clone)]
23646pub struct VkVideoEncodeAV1QualityLevelPropertiesKHR {
23647    pub sType: VkStructureType,
23648    pub pNext: *mut ::std::os::raw::c_void,
23649    pub preferredRateControlFlags: VkVideoEncodeAV1RateControlFlagsKHR,
23650    pub preferredGopFrameCount: u32,
23651    pub preferredKeyFramePeriod: u32,
23652    pub preferredConsecutiveBipredictiveFrameCount: u32,
23653    pub preferredTemporalLayerCount: u32,
23654    pub preferredConstantQIndex: VkVideoEncodeAV1QIndexKHR,
23655    pub preferredMaxSingleReferenceCount: u32,
23656    pub preferredSingleReferenceNameMask: u32,
23657    pub preferredMaxUnidirectionalCompoundReferenceCount: u32,
23658    pub preferredMaxUnidirectionalCompoundGroup1ReferenceCount: u32,
23659    pub preferredUnidirectionalCompoundReferenceNameMask: u32,
23660    pub preferredMaxBidirectionalCompoundReferenceCount: u32,
23661    pub preferredMaxBidirectionalCompoundGroup1ReferenceCount: u32,
23662    pub preferredMaxBidirectionalCompoundGroup2ReferenceCount: u32,
23663    pub preferredBidirectionalCompoundReferenceNameMask: u32,
23664}
23665#[repr(C)]
23666#[derive(Debug, Copy, Clone)]
23667pub struct VkVideoEncodeAV1SessionCreateInfoKHR {
23668    pub sType: VkStructureType,
23669    pub pNext: *const ::std::os::raw::c_void,
23670    pub useMaxLevel: VkBool32,
23671    pub maxLevel: StdVideoAV1Level,
23672}
23673#[repr(C)]
23674#[derive(Debug, Copy, Clone)]
23675pub struct VkVideoEncodeAV1SessionParametersCreateInfoKHR {
23676    pub sType: VkStructureType,
23677    pub pNext: *const ::std::os::raw::c_void,
23678    pub pStdSequenceHeader: *const StdVideoAV1SequenceHeader,
23679    pub pStdDecoderModelInfo: *const StdVideoEncodeAV1DecoderModelInfo,
23680    pub stdOperatingPointCount: u32,
23681    pub pStdOperatingPoints: *const StdVideoEncodeAV1OperatingPointInfo,
23682}
23683#[repr(C)]
23684#[derive(Debug, Copy, Clone)]
23685pub struct VkVideoEncodeAV1PictureInfoKHR {
23686    pub sType: VkStructureType,
23687    pub pNext: *const ::std::os::raw::c_void,
23688    pub predictionMode: VkVideoEncodeAV1PredictionModeKHR,
23689    pub rateControlGroup: VkVideoEncodeAV1RateControlGroupKHR,
23690    pub constantQIndex: u32,
23691    pub pStdPictureInfo: *const StdVideoEncodeAV1PictureInfo,
23692    pub referenceNameSlotIndices: [i32; 7usize],
23693    pub primaryReferenceCdfOnly: VkBool32,
23694    pub generateObuExtensionHeader: VkBool32,
23695}
23696#[repr(C)]
23697#[derive(Debug, Copy, Clone)]
23698pub struct VkVideoEncodeAV1DpbSlotInfoKHR {
23699    pub sType: VkStructureType,
23700    pub pNext: *const ::std::os::raw::c_void,
23701    pub pStdReferenceInfo: *const StdVideoEncodeAV1ReferenceInfo,
23702}
23703#[repr(C)]
23704#[derive(Debug, Copy, Clone)]
23705pub struct VkVideoEncodeAV1ProfileInfoKHR {
23706    pub sType: VkStructureType,
23707    pub pNext: *const ::std::os::raw::c_void,
23708    pub stdProfile: StdVideoAV1Profile,
23709}
23710#[repr(C)]
23711#[derive(Debug, Copy, Clone)]
23712pub struct VkVideoEncodeAV1FrameSizeKHR {
23713    pub intraFrameSize: u32,
23714    pub predictiveFrameSize: u32,
23715    pub bipredictiveFrameSize: u32,
23716}
23717#[repr(C)]
23718#[derive(Debug, Copy, Clone)]
23719pub struct VkVideoEncodeAV1GopRemainingFrameInfoKHR {
23720    pub sType: VkStructureType,
23721    pub pNext: *const ::std::os::raw::c_void,
23722    pub useGopRemainingFrames: VkBool32,
23723    pub gopRemainingIntra: u32,
23724    pub gopRemainingPredictive: u32,
23725    pub gopRemainingBipredictive: u32,
23726}
23727#[repr(C)]
23728#[derive(Debug, Copy, Clone)]
23729pub struct VkVideoEncodeAV1RateControlInfoKHR {
23730    pub sType: VkStructureType,
23731    pub pNext: *const ::std::os::raw::c_void,
23732    pub flags: VkVideoEncodeAV1RateControlFlagsKHR,
23733    pub gopFrameCount: u32,
23734    pub keyFramePeriod: u32,
23735    pub consecutiveBipredictiveFrameCount: u32,
23736    pub temporalLayerCount: u32,
23737}
23738#[repr(C)]
23739#[derive(Debug, Copy, Clone)]
23740pub struct VkVideoEncodeAV1RateControlLayerInfoKHR {
23741    pub sType: VkStructureType,
23742    pub pNext: *const ::std::os::raw::c_void,
23743    pub useMinQIndex: VkBool32,
23744    pub minQIndex: VkVideoEncodeAV1QIndexKHR,
23745    pub useMaxQIndex: VkBool32,
23746    pub maxQIndex: VkVideoEncodeAV1QIndexKHR,
23747    pub useMaxFrameSize: VkBool32,
23748    pub maxFrameSize: VkVideoEncodeAV1FrameSizeKHR,
23749}
23750#[repr(C)]
23751#[derive(Debug, Copy, Clone)]
23752pub struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR {
23753    pub sType: VkStructureType,
23754    pub pNext: *mut ::std::os::raw::c_void,
23755    pub videoMaintenance1: VkBool32,
23756}
23757#[repr(C)]
23758#[derive(Debug, Copy, Clone)]
23759pub struct VkVideoInlineQueryInfoKHR {
23760    pub sType: VkStructureType,
23761    pub pNext: *const ::std::os::raw::c_void,
23762    pub queryPool: VkQueryPool,
23763    pub firstQuery: u32,
23764    pub queryCount: u32,
23765}
23766#[repr(C)]
23767#[derive(Debug, Copy, Clone)]
23768pub struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR {
23769    pub sType: VkStructureType,
23770    pub pNext: *mut ::std::os::raw::c_void,
23771    pub maxVertexAttribDivisor: u32,
23772    pub supportsNonZeroFirstInstance: VkBool32,
23773}
23774#[repr(C)]
23775#[derive(Debug, Copy, Clone)]
23776pub struct VkVertexInputBindingDivisorDescriptionKHR {
23777    pub binding: u32,
23778    pub divisor: u32,
23779}
23780#[repr(C)]
23781#[derive(Debug, Copy, Clone)]
23782pub struct VkPipelineVertexInputDivisorStateCreateInfoKHR {
23783    pub sType: VkStructureType,
23784    pub pNext: *const ::std::os::raw::c_void,
23785    pub vertexBindingDivisorCount: u32,
23786    pub pVertexBindingDivisors: *const VkVertexInputBindingDivisorDescriptionKHR,
23787}
23788#[repr(C)]
23789#[derive(Debug, Copy, Clone)]
23790pub struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR {
23791    pub sType: VkStructureType,
23792    pub pNext: *mut ::std::os::raw::c_void,
23793    pub vertexAttributeInstanceRateDivisor: VkBool32,
23794    pub vertexAttributeInstanceRateZeroDivisor: VkBool32,
23795}
23796#[repr(C)]
23797#[derive(Debug, Copy, Clone)]
23798pub struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR {
23799    pub sType: VkStructureType,
23800    pub pNext: *mut ::std::os::raw::c_void,
23801    pub shaderFloatControls2: VkBool32,
23802}
23803#[repr(C)]
23804#[derive(Debug, Copy, Clone)]
23805pub struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR {
23806    pub sType: VkStructureType,
23807    pub pNext: *mut ::std::os::raw::c_void,
23808    pub indexTypeUint8: VkBool32,
23809}
23810pub const VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR:
23811    VkLineRasterizationModeKHR = 0;
23812pub const VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR:
23813    VkLineRasterizationModeKHR = 1;
23814pub const VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR:
23815    VkLineRasterizationModeKHR = 2;
23816pub const VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR:
23817    VkLineRasterizationModeKHR = 3;
23818pub const VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT:
23819    VkLineRasterizationModeKHR = 0;
23820pub const VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT:
23821    VkLineRasterizationModeKHR = 1;
23822pub const VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT:
23823    VkLineRasterizationModeKHR = 2;
23824pub const VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT:
23825    VkLineRasterizationModeKHR = 3;
23826pub const VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR:
23827    VkLineRasterizationModeKHR = 2147483647;
23828pub type VkLineRasterizationModeKHR = ::std::os::raw::c_uint;
23829#[repr(C)]
23830#[derive(Debug, Copy, Clone)]
23831pub struct VkPhysicalDeviceLineRasterizationFeaturesKHR {
23832    pub sType: VkStructureType,
23833    pub pNext: *mut ::std::os::raw::c_void,
23834    pub rectangularLines: VkBool32,
23835    pub bresenhamLines: VkBool32,
23836    pub smoothLines: VkBool32,
23837    pub stippledRectangularLines: VkBool32,
23838    pub stippledBresenhamLines: VkBool32,
23839    pub stippledSmoothLines: VkBool32,
23840}
23841#[repr(C)]
23842#[derive(Debug, Copy, Clone)]
23843pub struct VkPhysicalDeviceLineRasterizationPropertiesKHR {
23844    pub sType: VkStructureType,
23845    pub pNext: *mut ::std::os::raw::c_void,
23846    pub lineSubPixelPrecisionBits: u32,
23847}
23848#[repr(C)]
23849#[derive(Debug, Copy, Clone)]
23850pub struct VkPipelineRasterizationLineStateCreateInfoKHR {
23851    pub sType: VkStructureType,
23852    pub pNext: *const ::std::os::raw::c_void,
23853    pub lineRasterizationMode: VkLineRasterizationModeKHR,
23854    pub stippledLineEnable: VkBool32,
23855    pub lineStippleFactor: u32,
23856    pub lineStipplePattern: u16,
23857}
23858pub type PFN_vkCmdSetLineStippleKHR = 
23859    unsafe extern "C" fn(
23860        commandBuffer: VkCommandBuffer,
23861        lineStippleFactor: u32,
23862        lineStipplePattern: u16,
23863    );
23864
23865extern "C" {
23866    pub fn vkCmdSetLineStippleKHR(
23867        commandBuffer: VkCommandBuffer,
23868        lineStippleFactor: u32,
23869        lineStipplePattern: u16,
23870    );
23871}
23872pub const VK_TIME_DOMAIN_DEVICE_KHR: VkTimeDomainKHR = 0;
23873pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR: VkTimeDomainKHR = 1;
23874pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR: VkTimeDomainKHR = 2;
23875pub const VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR: VkTimeDomainKHR = 3;
23876pub const VK_TIME_DOMAIN_DEVICE_EXT: VkTimeDomainKHR = 0;
23877pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT: VkTimeDomainKHR = 1;
23878pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: VkTimeDomainKHR = 2;
23879pub const VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: VkTimeDomainKHR = 3;
23880pub const VK_TIME_DOMAIN_MAX_ENUM_KHR: VkTimeDomainKHR = 2147483647;
23881pub type VkTimeDomainKHR = ::std::os::raw::c_uint;
23882#[repr(C)]
23883#[derive(Debug, Copy, Clone)]
23884pub struct VkCalibratedTimestampInfoKHR {
23885    pub sType: VkStructureType,
23886    pub pNext: *const ::std::os::raw::c_void,
23887    pub timeDomain: VkTimeDomainKHR,
23888}
23889pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 
23890    unsafe extern "C" fn(
23891        physicalDevice: VkPhysicalDevice,
23892        pTimeDomainCount: *mut u32,
23893        pTimeDomains: *mut VkTimeDomainKHR,
23894    ) -> VkResult;
23895
23896pub type PFN_vkGetCalibratedTimestampsKHR = 
23897    unsafe extern "C" fn(
23898        device: VkDevice,
23899        timestampCount: u32,
23900        pTimestampInfos: *const VkCalibratedTimestampInfoKHR,
23901        pTimestamps: *mut u64,
23902        pMaxDeviation: *mut u64,
23903    ) -> VkResult;
23904
23905extern "C" {
23906    pub fn vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(
23907        physicalDevice: VkPhysicalDevice,
23908        pTimeDomainCount: *mut u32,
23909        pTimeDomains: *mut VkTimeDomainKHR,
23910    ) -> VkResult;
23911}
23912extern "C" {
23913    pub fn vkGetCalibratedTimestampsKHR(
23914        device: VkDevice,
23915        timestampCount: u32,
23916        pTimestampInfos: *const VkCalibratedTimestampInfoKHR,
23917        pTimestamps: *mut u64,
23918        pMaxDeviation: *mut u64,
23919    ) -> VkResult;
23920}
23921#[repr(C)]
23922#[derive(Debug, Copy, Clone)]
23923pub struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR {
23924    pub sType: VkStructureType,
23925    pub pNext: *mut ::std::os::raw::c_void,
23926    pub shaderExpectAssume: VkBool32,
23927}
23928#[repr(C)]
23929#[derive(Debug, Copy, Clone)]
23930pub struct VkPhysicalDeviceMaintenance6FeaturesKHR {
23931    pub sType: VkStructureType,
23932    pub pNext: *mut ::std::os::raw::c_void,
23933    pub maintenance6: VkBool32,
23934}
23935#[repr(C)]
23936#[derive(Debug, Copy, Clone)]
23937pub struct VkPhysicalDeviceMaintenance6PropertiesKHR {
23938    pub sType: VkStructureType,
23939    pub pNext: *mut ::std::os::raw::c_void,
23940    pub blockTexelViewCompatibleMultipleLayers: VkBool32,
23941    pub maxCombinedImageSamplerDescriptorCount: u32,
23942    pub fragmentShadingRateClampCombinerInputs: VkBool32,
23943}
23944#[repr(C)]
23945#[derive(Debug, Copy, Clone)]
23946pub struct VkBindMemoryStatusKHR {
23947    pub sType: VkStructureType,
23948    pub pNext: *const ::std::os::raw::c_void,
23949    pub pResult: *mut VkResult,
23950}
23951#[repr(C)]
23952#[derive(Debug, Copy, Clone)]
23953pub struct VkBindDescriptorSetsInfoKHR {
23954    pub sType: VkStructureType,
23955    pub pNext: *const ::std::os::raw::c_void,
23956    pub stageFlags: VkShaderStageFlags,
23957    pub layout: VkPipelineLayout,
23958    pub firstSet: u32,
23959    pub descriptorSetCount: u32,
23960    pub pDescriptorSets: *const VkDescriptorSet,
23961    pub dynamicOffsetCount: u32,
23962    pub pDynamicOffsets: *const u32,
23963}
23964#[repr(C)]
23965#[derive(Debug, Copy, Clone)]
23966pub struct VkPushConstantsInfoKHR {
23967    pub sType: VkStructureType,
23968    pub pNext: *const ::std::os::raw::c_void,
23969    pub layout: VkPipelineLayout,
23970    pub stageFlags: VkShaderStageFlags,
23971    pub offset: u32,
23972    pub size: u32,
23973    pub pValues: *const ::std::os::raw::c_void,
23974}
23975#[repr(C)]
23976#[derive(Debug, Copy, Clone)]
23977pub struct VkPushDescriptorSetInfoKHR {
23978    pub sType: VkStructureType,
23979    pub pNext: *const ::std::os::raw::c_void,
23980    pub stageFlags: VkShaderStageFlags,
23981    pub layout: VkPipelineLayout,
23982    pub set: u32,
23983    pub descriptorWriteCount: u32,
23984    pub pDescriptorWrites: *const VkWriteDescriptorSet,
23985}
23986#[repr(C)]
23987#[derive(Debug, Copy, Clone)]
23988pub struct VkPushDescriptorSetWithTemplateInfoKHR {
23989    pub sType: VkStructureType,
23990    pub pNext: *const ::std::os::raw::c_void,
23991    pub descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
23992    pub layout: VkPipelineLayout,
23993    pub set: u32,
23994    pub pData: *const ::std::os::raw::c_void,
23995}
23996#[repr(C)]
23997#[derive(Debug, Copy, Clone)]
23998pub struct VkSetDescriptorBufferOffsetsInfoEXT {
23999    pub sType: VkStructureType,
24000    pub pNext: *const ::std::os::raw::c_void,
24001    pub stageFlags: VkShaderStageFlags,
24002    pub layout: VkPipelineLayout,
24003    pub firstSet: u32,
24004    pub setCount: u32,
24005    pub pBufferIndices: *const u32,
24006    pub pOffsets: *const VkDeviceSize,
24007}
24008#[repr(C)]
24009#[derive(Debug, Copy, Clone)]
24010pub struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
24011    pub sType: VkStructureType,
24012    pub pNext: *const ::std::os::raw::c_void,
24013    pub stageFlags: VkShaderStageFlags,
24014    pub layout: VkPipelineLayout,
24015    pub set: u32,
24016}
24017pub type PFN_vkCmdBindDescriptorSets2KHR = 
24018    unsafe extern "C" fn(
24019        commandBuffer: VkCommandBuffer,
24020        pBindDescriptorSetsInfo: *const VkBindDescriptorSetsInfoKHR,
24021    );
24022
24023pub type PFN_vkCmdPushConstants2KHR = 
24024    unsafe extern "C" fn(
24025        commandBuffer: VkCommandBuffer,
24026        pPushConstantsInfo: *const VkPushConstantsInfoKHR,
24027    );
24028
24029pub type PFN_vkCmdPushDescriptorSet2KHR = 
24030    unsafe extern "C" fn(
24031        commandBuffer: VkCommandBuffer,
24032        pPushDescriptorSetInfo: *const VkPushDescriptorSetInfoKHR,
24033    );
24034
24035pub type PFN_vkCmdPushDescriptorSetWithTemplate2KHR = 
24036    unsafe extern "C" fn(
24037        commandBuffer: VkCommandBuffer,
24038        pPushDescriptorSetWithTemplateInfo: *const VkPushDescriptorSetWithTemplateInfoKHR,
24039    );
24040
24041pub type PFN_vkCmdSetDescriptorBufferOffsets2EXT = 
24042    unsafe extern "C" fn(
24043        commandBuffer: VkCommandBuffer,
24044        pSetDescriptorBufferOffsetsInfo: *const VkSetDescriptorBufferOffsetsInfoEXT,
24045    );
24046
24047pub type PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = :: std :: option :: Option < unsafe extern "C" fn (commandBuffer : VkCommandBuffer , pBindDescriptorBufferEmbeddedSamplersInfo : * const VkBindDescriptorBufferEmbeddedSamplersInfoEXT) > ;
24048extern "C" {
24049    pub fn vkCmdBindDescriptorSets2KHR(
24050        commandBuffer: VkCommandBuffer,
24051        pBindDescriptorSetsInfo: *const VkBindDescriptorSetsInfoKHR,
24052    );
24053}
24054extern "C" {
24055    pub fn vkCmdPushConstants2KHR(
24056        commandBuffer: VkCommandBuffer,
24057        pPushConstantsInfo: *const VkPushConstantsInfoKHR,
24058    );
24059}
24060extern "C" {
24061    pub fn vkCmdPushDescriptorSet2KHR(
24062        commandBuffer: VkCommandBuffer,
24063        pPushDescriptorSetInfo: *const VkPushDescriptorSetInfoKHR,
24064    );
24065}
24066extern "C" {
24067    pub fn vkCmdPushDescriptorSetWithTemplate2KHR(
24068        commandBuffer: VkCommandBuffer,
24069        pPushDescriptorSetWithTemplateInfo: *const VkPushDescriptorSetWithTemplateInfoKHR,
24070    );
24071}
24072extern "C" {
24073    pub fn vkCmdSetDescriptorBufferOffsets2EXT(
24074        commandBuffer: VkCommandBuffer,
24075        pSetDescriptorBufferOffsetsInfo: *const VkSetDescriptorBufferOffsetsInfoEXT,
24076    );
24077}
24078extern "C" {
24079    pub fn vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
24080        commandBuffer: VkCommandBuffer,
24081        pBindDescriptorBufferEmbeddedSamplersInfo : * const VkBindDescriptorBufferEmbeddedSamplersInfoEXT,
24082    );
24083}
24084#[repr(C)]
24085#[derive(Debug, Copy, Clone)]
24086pub struct VkVideoEncodeQuantizationMapCapabilitiesKHR {
24087    pub sType: VkStructureType,
24088    pub pNext: *mut ::std::os::raw::c_void,
24089    pub maxQuantizationMapExtent: VkExtent2D,
24090}
24091#[repr(C)]
24092#[derive(Debug, Copy, Clone)]
24093pub struct VkVideoFormatQuantizationMapPropertiesKHR {
24094    pub sType: VkStructureType,
24095    pub pNext: *mut ::std::os::raw::c_void,
24096    pub quantizationMapTexelSize: VkExtent2D,
24097}
24098#[repr(C)]
24099#[derive(Debug, Copy, Clone)]
24100pub struct VkVideoEncodeQuantizationMapInfoKHR {
24101    pub sType: VkStructureType,
24102    pub pNext: *const ::std::os::raw::c_void,
24103    pub quantizationMap: VkImageView,
24104    pub quantizationMapExtent: VkExtent2D,
24105}
24106#[repr(C)]
24107#[derive(Debug, Copy, Clone)]
24108pub struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
24109    pub sType: VkStructureType,
24110    pub pNext: *const ::std::os::raw::c_void,
24111    pub quantizationMapTexelSize: VkExtent2D,
24112}
24113#[repr(C)]
24114#[derive(Debug, Copy, Clone)]
24115pub struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
24116    pub sType: VkStructureType,
24117    pub pNext: *mut ::std::os::raw::c_void,
24118    pub videoEncodeQuantizationMap: VkBool32,
24119}
24120#[repr(C)]
24121#[derive(Debug, Copy, Clone)]
24122pub struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR {
24123    pub sType: VkStructureType,
24124    pub pNext: *mut ::std::os::raw::c_void,
24125    pub minQpDelta: i32,
24126    pub maxQpDelta: i32,
24127}
24128#[repr(C)]
24129#[derive(Debug, Copy, Clone)]
24130pub struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR {
24131    pub sType: VkStructureType,
24132    pub pNext: *mut ::std::os::raw::c_void,
24133    pub minQpDelta: i32,
24134    pub maxQpDelta: i32,
24135}
24136#[repr(C)]
24137#[derive(Debug, Copy, Clone)]
24138pub struct VkVideoFormatH265QuantizationMapPropertiesKHR {
24139    pub sType: VkStructureType,
24140    pub pNext: *mut ::std::os::raw::c_void,
24141    pub compatibleCtbSizes: VkVideoEncodeH265CtbSizeFlagsKHR,
24142}
24143#[repr(C)]
24144#[derive(Debug, Copy, Clone)]
24145pub struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR {
24146    pub sType: VkStructureType,
24147    pub pNext: *mut ::std::os::raw::c_void,
24148    pub minQIndexDelta: i32,
24149    pub maxQIndexDelta: i32,
24150}
24151#[repr(C)]
24152#[derive(Debug, Copy, Clone)]
24153pub struct VkVideoFormatAV1QuantizationMapPropertiesKHR {
24154    pub sType: VkStructureType,
24155    pub pNext: *mut ::std::os::raw::c_void,
24156    pub compatibleSuperblockSizes: VkVideoEncodeAV1SuperblockSizeFlagsKHR,
24157}
24158#[repr(C)]
24159#[derive(Debug, Copy, Clone)]
24160pub struct VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
24161    pub sType: VkStructureType,
24162    pub pNext: *mut ::std::os::raw::c_void,
24163    pub shaderRelaxedExtendedInstruction: VkBool32,
24164}
24165pub const VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR:
24166    VkPhysicalDeviceLayeredApiKHR = 0;
24167pub const VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR:
24168    VkPhysicalDeviceLayeredApiKHR = 1;
24169pub const VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR:
24170    VkPhysicalDeviceLayeredApiKHR = 2;
24171pub const VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR:
24172    VkPhysicalDeviceLayeredApiKHR = 3;
24173pub const VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR:
24174    VkPhysicalDeviceLayeredApiKHR = 4;
24175pub const VK_PHYSICAL_DEVICE_LAYERED_API_MAX_ENUM_KHR:
24176    VkPhysicalDeviceLayeredApiKHR = 2147483647;
24177pub type VkPhysicalDeviceLayeredApiKHR = ::std::os::raw::c_uint;
24178#[repr(C)]
24179#[derive(Debug, Copy, Clone)]
24180pub struct VkPhysicalDeviceMaintenance7FeaturesKHR {
24181    pub sType: VkStructureType,
24182    pub pNext: *mut ::std::os::raw::c_void,
24183    pub maintenance7: VkBool32,
24184}
24185#[repr(C)]
24186#[derive(Debug, Copy, Clone)]
24187pub struct VkPhysicalDeviceMaintenance7PropertiesKHR {
24188    pub sType: VkStructureType,
24189    pub pNext: *mut ::std::os::raw::c_void,
24190    pub robustFragmentShadingRateAttachmentAccess: VkBool32,
24191    pub separateDepthStencilAttachmentAccess: VkBool32,
24192    pub maxDescriptorSetTotalUniformBuffersDynamic: u32,
24193    pub maxDescriptorSetTotalStorageBuffersDynamic: u32,
24194    pub maxDescriptorSetTotalBuffersDynamic: u32,
24195    pub maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic: u32,
24196    pub maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic: u32,
24197    pub maxDescriptorSetUpdateAfterBindTotalBuffersDynamic: u32,
24198}
24199#[repr(C)]
24200#[derive(Debug, Copy, Clone)]
24201pub struct VkPhysicalDeviceLayeredApiPropertiesKHR {
24202    pub sType: VkStructureType,
24203    pub pNext: *mut ::std::os::raw::c_void,
24204    pub vendorID: u32,
24205    pub deviceID: u32,
24206    pub layeredAPI: VkPhysicalDeviceLayeredApiKHR,
24207    pub deviceName: [::std::os::raw::c_char; 256usize],
24208}
24209#[repr(C)]
24210#[derive(Debug, Copy, Clone)]
24211pub struct VkPhysicalDeviceLayeredApiPropertiesListKHR {
24212    pub sType: VkStructureType,
24213    pub pNext: *mut ::std::os::raw::c_void,
24214    pub layeredApiCount: u32,
24215    pub pLayeredApis: *mut VkPhysicalDeviceLayeredApiPropertiesKHR,
24216}
24217#[repr(C)]
24218#[derive(Debug, Copy, Clone)]
24219pub struct VkPhysicalDeviceLayeredApiVulkanPropertiesKHR {
24220    pub sType: VkStructureType,
24221    pub pNext: *mut ::std::os::raw::c_void,
24222    pub properties: VkPhysicalDeviceProperties2,
24223}
24224#[repr(C)]
24225#[derive(Debug, Copy, Clone)]
24226pub struct VkDebugReportCallbackEXT_T {
24227    _unused: [u8; 0],
24228}
24229pub type VkDebugReportCallbackEXT = *mut VkDebugReportCallbackEXT_T;
24230pub const VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT:
24231    VkDebugReportObjectTypeEXT = 0;
24232pub const VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT:
24233    VkDebugReportObjectTypeEXT = 1;
24234pub const VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT:
24235    VkDebugReportObjectTypeEXT = 2;
24236pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT:
24237    VkDebugReportObjectTypeEXT = 3;
24238pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT:
24239    VkDebugReportObjectTypeEXT = 4;
24240pub const VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT:
24241    VkDebugReportObjectTypeEXT = 5;
24242pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT:
24243    VkDebugReportObjectTypeEXT = 6;
24244pub const VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT:
24245    VkDebugReportObjectTypeEXT = 7;
24246pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT:
24247    VkDebugReportObjectTypeEXT = 8;
24248pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT:
24249    VkDebugReportObjectTypeEXT = 9;
24250pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT:
24251    VkDebugReportObjectTypeEXT = 10;
24252pub const VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT:
24253    VkDebugReportObjectTypeEXT = 11;
24254pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT:
24255    VkDebugReportObjectTypeEXT = 12;
24256pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT:
24257    VkDebugReportObjectTypeEXT = 13;
24258pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT:
24259    VkDebugReportObjectTypeEXT = 14;
24260pub const VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT:
24261    VkDebugReportObjectTypeEXT = 15;
24262pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT:
24263    VkDebugReportObjectTypeEXT = 16;
24264pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT:
24265    VkDebugReportObjectTypeEXT = 17;
24266pub const VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT:
24267    VkDebugReportObjectTypeEXT = 18;
24268pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT:
24269    VkDebugReportObjectTypeEXT = 19;
24270pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT:
24271    VkDebugReportObjectTypeEXT = 20;
24272pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT:
24273    VkDebugReportObjectTypeEXT = 21;
24274pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT:
24275    VkDebugReportObjectTypeEXT = 22;
24276pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT:
24277    VkDebugReportObjectTypeEXT = 23;
24278pub const VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT:
24279    VkDebugReportObjectTypeEXT = 24;
24280pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT:
24281    VkDebugReportObjectTypeEXT = 25;
24282pub const VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT:
24283    VkDebugReportObjectTypeEXT = 26;
24284pub const VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT:
24285    VkDebugReportObjectTypeEXT = 27;
24286pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT:
24287    VkDebugReportObjectTypeEXT = 28;
24288pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT:
24289    VkDebugReportObjectTypeEXT = 29;
24290pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT:
24291    VkDebugReportObjectTypeEXT = 30;
24292pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT:
24293    VkDebugReportObjectTypeEXT = 33;
24294pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT:
24295    VkDebugReportObjectTypeEXT = 1000156000;
24296pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT:
24297    VkDebugReportObjectTypeEXT = 1000085000;
24298pub const VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT:
24299    VkDebugReportObjectTypeEXT = 1000029000;
24300pub const VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT:
24301    VkDebugReportObjectTypeEXT = 1000029001;
24302pub const VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT:
24303    VkDebugReportObjectTypeEXT = 1000150000;
24304pub const VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT:
24305    VkDebugReportObjectTypeEXT = 1000165000;
24306pub const VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT:
24307    VkDebugReportObjectTypeEXT = 1000307000;
24308pub const VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT:
24309    VkDebugReportObjectTypeEXT = 1000307001;
24310pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT:
24311    VkDebugReportObjectTypeEXT = 1000366000;
24312pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT:
24313    VkDebugReportObjectTypeEXT = 28;
24314pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT:
24315    VkDebugReportObjectTypeEXT = 33;
24316pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT : VkDebugReportObjectTypeEXT = 1000085000 ;
24317pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT : VkDebugReportObjectTypeEXT = 1000156000 ;
24318pub const VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT:
24319    VkDebugReportObjectTypeEXT = 2147483647;
24320pub type VkDebugReportObjectTypeEXT = ::std::os::raw::c_uint;
24321pub const VK_DEBUG_REPORT_INFORMATION_BIT_EXT: VkDebugReportFlagBitsEXT =
24322    1;
24323pub const VK_DEBUG_REPORT_WARNING_BIT_EXT: VkDebugReportFlagBitsEXT = 2;
24324pub const VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT:
24325    VkDebugReportFlagBitsEXT = 4;
24326pub const VK_DEBUG_REPORT_ERROR_BIT_EXT: VkDebugReportFlagBitsEXT = 8;
24327pub const VK_DEBUG_REPORT_DEBUG_BIT_EXT: VkDebugReportFlagBitsEXT = 16;
24328pub const VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT:
24329    VkDebugReportFlagBitsEXT = 2147483647;
24330pub type VkDebugReportFlagBitsEXT = ::std::os::raw::c_uint;
24331pub type VkDebugReportFlagsEXT = VkFlags;
24332pub type PFN_vkDebugReportCallbackEXT = 
24333    unsafe extern "C" fn(
24334        flags: VkDebugReportFlagsEXT,
24335        objectType: VkDebugReportObjectTypeEXT,
24336        object: u64,
24337        location: usize,
24338        messageCode: i32,
24339        pLayerPrefix: *const ::std::os::raw::c_char,
24340        pMessage: *const ::std::os::raw::c_char,
24341        pUserData: *mut ::std::os::raw::c_void,
24342    ) -> VkBool32;
24343
24344#[repr(C)]
24345#[derive(Debug, Copy, Clone)]
24346pub struct VkDebugReportCallbackCreateInfoEXT {
24347    pub sType: VkStructureType,
24348    pub pNext: *const ::std::os::raw::c_void,
24349    pub flags: VkDebugReportFlagsEXT,
24350    pub pfnCallback: PFN_vkDebugReportCallbackEXT,
24351    pub pUserData: *mut ::std::os::raw::c_void,
24352}
24353pub type PFN_vkCreateDebugReportCallbackEXT = 
24354    unsafe extern "C" fn(
24355        instance: VkInstance,
24356        pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
24357        pAllocator: *const VkAllocationCallbacks,
24358        pCallback: *mut VkDebugReportCallbackEXT,
24359    ) -> VkResult;
24360
24361pub type PFN_vkDestroyDebugReportCallbackEXT = 
24362    unsafe extern "C" fn(
24363        instance: VkInstance,
24364        callback: VkDebugReportCallbackEXT,
24365        pAllocator: *const VkAllocationCallbacks,
24366    );
24367
24368pub type PFN_vkDebugReportMessageEXT = 
24369    unsafe extern "C" fn(
24370        instance: VkInstance,
24371        flags: VkDebugReportFlagsEXT,
24372        objectType: VkDebugReportObjectTypeEXT,
24373        object: u64,
24374        location: usize,
24375        messageCode: i32,
24376        pLayerPrefix: *const ::std::os::raw::c_char,
24377        pMessage: *const ::std::os::raw::c_char,
24378    );
24379
24380extern "C" {
24381    pub fn vkCreateDebugReportCallbackEXT(
24382        instance: VkInstance,
24383        pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
24384        pAllocator: *const VkAllocationCallbacks,
24385        pCallback: *mut VkDebugReportCallbackEXT,
24386    ) -> VkResult;
24387}
24388extern "C" {
24389    pub fn vkDestroyDebugReportCallbackEXT(
24390        instance: VkInstance,
24391        callback: VkDebugReportCallbackEXT,
24392        pAllocator: *const VkAllocationCallbacks,
24393    );
24394}
24395extern "C" {
24396    pub fn vkDebugReportMessageEXT(
24397        instance: VkInstance,
24398        flags: VkDebugReportFlagsEXT,
24399        objectType: VkDebugReportObjectTypeEXT,
24400        object: u64,
24401        location: usize,
24402        messageCode: i32,
24403        pLayerPrefix: *const ::std::os::raw::c_char,
24404        pMessage: *const ::std::os::raw::c_char,
24405    );
24406}
24407pub const VK_RASTERIZATION_ORDER_STRICT_AMD: VkRasterizationOrderAMD = 0;
24408pub const VK_RASTERIZATION_ORDER_RELAXED_AMD: VkRasterizationOrderAMD = 1;
24409pub const VK_RASTERIZATION_ORDER_MAX_ENUM_AMD: VkRasterizationOrderAMD =
24410    2147483647;
24411pub type VkRasterizationOrderAMD = ::std::os::raw::c_uint;
24412#[repr(C)]
24413#[derive(Debug, Copy, Clone)]
24414pub struct VkPipelineRasterizationStateRasterizationOrderAMD {
24415    pub sType: VkStructureType,
24416    pub pNext: *const ::std::os::raw::c_void,
24417    pub rasterizationOrder: VkRasterizationOrderAMD,
24418}
24419#[repr(C)]
24420#[derive(Debug, Copy, Clone)]
24421pub struct VkDebugMarkerObjectNameInfoEXT {
24422    pub sType: VkStructureType,
24423    pub pNext: *const ::std::os::raw::c_void,
24424    pub objectType: VkDebugReportObjectTypeEXT,
24425    pub object: u64,
24426    pub pObjectName: *const ::std::os::raw::c_char,
24427}
24428#[repr(C)]
24429#[derive(Debug, Copy, Clone)]
24430pub struct VkDebugMarkerObjectTagInfoEXT {
24431    pub sType: VkStructureType,
24432    pub pNext: *const ::std::os::raw::c_void,
24433    pub objectType: VkDebugReportObjectTypeEXT,
24434    pub object: u64,
24435    pub tagName: u64,
24436    pub tagSize: usize,
24437    pub pTag: *const ::std::os::raw::c_void,
24438}
24439#[repr(C)]
24440#[derive(Debug, Copy, Clone)]
24441pub struct VkDebugMarkerMarkerInfoEXT {
24442    pub sType: VkStructureType,
24443    pub pNext: *const ::std::os::raw::c_void,
24444    pub pMarkerName: *const ::std::os::raw::c_char,
24445    pub color: [f32; 4usize],
24446}
24447pub type PFN_vkDebugMarkerSetObjectTagEXT = 
24448    unsafe extern "C" fn(
24449        device: VkDevice,
24450        pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
24451    ) -> VkResult;
24452
24453pub type PFN_vkDebugMarkerSetObjectNameEXT = 
24454    unsafe extern "C" fn(
24455        device: VkDevice,
24456        pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
24457    ) -> VkResult;
24458
24459pub type PFN_vkCmdDebugMarkerBeginEXT = 
24460    unsafe extern "C" fn(
24461        commandBuffer: VkCommandBuffer,
24462        pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
24463    );
24464
24465pub type PFN_vkCmdDebugMarkerEndEXT =
24466    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
24467pub type PFN_vkCmdDebugMarkerInsertEXT = 
24468    unsafe extern "C" fn(
24469        commandBuffer: VkCommandBuffer,
24470        pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
24471    );
24472
24473extern "C" {
24474    pub fn vkDebugMarkerSetObjectTagEXT(
24475        device: VkDevice,
24476        pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
24477    ) -> VkResult;
24478}
24479extern "C" {
24480    pub fn vkDebugMarkerSetObjectNameEXT(
24481        device: VkDevice,
24482        pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
24483    ) -> VkResult;
24484}
24485extern "C" {
24486    pub fn vkCmdDebugMarkerBeginEXT(
24487        commandBuffer: VkCommandBuffer,
24488        pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
24489    );
24490}
24491extern "C" {
24492    pub fn vkCmdDebugMarkerEndEXT(commandBuffer: VkCommandBuffer);
24493}
24494extern "C" {
24495    pub fn vkCmdDebugMarkerInsertEXT(
24496        commandBuffer: VkCommandBuffer,
24497        pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
24498    );
24499}
24500#[repr(C)]
24501#[derive(Debug, Copy, Clone)]
24502pub struct VkDedicatedAllocationImageCreateInfoNV {
24503    pub sType: VkStructureType,
24504    pub pNext: *const ::std::os::raw::c_void,
24505    pub dedicatedAllocation: VkBool32,
24506}
24507#[repr(C)]
24508#[derive(Debug, Copy, Clone)]
24509pub struct VkDedicatedAllocationBufferCreateInfoNV {
24510    pub sType: VkStructureType,
24511    pub pNext: *const ::std::os::raw::c_void,
24512    pub dedicatedAllocation: VkBool32,
24513}
24514#[repr(C)]
24515#[derive(Debug, Copy, Clone)]
24516pub struct VkDedicatedAllocationMemoryAllocateInfoNV {
24517    pub sType: VkStructureType,
24518    pub pNext: *const ::std::os::raw::c_void,
24519    pub image: VkImage,
24520    pub buffer: VkBuffer,
24521}
24522pub type VkPipelineRasterizationStateStreamCreateFlagsEXT = VkFlags;
24523#[repr(C)]
24524#[derive(Debug, Copy, Clone)]
24525pub struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
24526    pub sType: VkStructureType,
24527    pub pNext: *mut ::std::os::raw::c_void,
24528    pub transformFeedback: VkBool32,
24529    pub geometryStreams: VkBool32,
24530}
24531#[repr(C)]
24532#[derive(Debug, Copy, Clone)]
24533pub struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
24534    pub sType: VkStructureType,
24535    pub pNext: *mut ::std::os::raw::c_void,
24536    pub maxTransformFeedbackStreams: u32,
24537    pub maxTransformFeedbackBuffers: u32,
24538    pub maxTransformFeedbackBufferSize: VkDeviceSize,
24539    pub maxTransformFeedbackStreamDataSize: u32,
24540    pub maxTransformFeedbackBufferDataSize: u32,
24541    pub maxTransformFeedbackBufferDataStride: u32,
24542    pub transformFeedbackQueries: VkBool32,
24543    pub transformFeedbackStreamsLinesTriangles: VkBool32,
24544    pub transformFeedbackRasterizationStreamSelect: VkBool32,
24545    pub transformFeedbackDraw: VkBool32,
24546}
24547#[repr(C)]
24548#[derive(Debug, Copy, Clone)]
24549pub struct VkPipelineRasterizationStateStreamCreateInfoEXT {
24550    pub sType: VkStructureType,
24551    pub pNext: *const ::std::os::raw::c_void,
24552    pub flags: VkPipelineRasterizationStateStreamCreateFlagsEXT,
24553    pub rasterizationStream: u32,
24554}
24555pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = 
24556    unsafe extern "C" fn(
24557        commandBuffer: VkCommandBuffer,
24558        firstBinding: u32,
24559        bindingCount: u32,
24560        pBuffers: *const VkBuffer,
24561        pOffsets: *const VkDeviceSize,
24562        pSizes: *const VkDeviceSize,
24563    );
24564
24565pub type PFN_vkCmdBeginTransformFeedbackEXT = 
24566    unsafe extern "C" fn(
24567        commandBuffer: VkCommandBuffer,
24568        firstCounterBuffer: u32,
24569        counterBufferCount: u32,
24570        pCounterBuffers: *const VkBuffer,
24571        pCounterBufferOffsets: *const VkDeviceSize,
24572    );
24573
24574pub type PFN_vkCmdEndTransformFeedbackEXT = 
24575    unsafe extern "C" fn(
24576        commandBuffer: VkCommandBuffer,
24577        firstCounterBuffer: u32,
24578        counterBufferCount: u32,
24579        pCounterBuffers: *const VkBuffer,
24580        pCounterBufferOffsets: *const VkDeviceSize,
24581    );
24582
24583pub type PFN_vkCmdBeginQueryIndexedEXT = 
24584    unsafe extern "C" fn(
24585        commandBuffer: VkCommandBuffer,
24586        queryPool: VkQueryPool,
24587        query: u32,
24588        flags: VkQueryControlFlags,
24589        index: u32,
24590    );
24591
24592pub type PFN_vkCmdEndQueryIndexedEXT = 
24593    unsafe extern "C" fn(
24594        commandBuffer: VkCommandBuffer,
24595        queryPool: VkQueryPool,
24596        query: u32,
24597        index: u32,
24598    );
24599
24600pub type PFN_vkCmdDrawIndirectByteCountEXT = 
24601    unsafe extern "C" fn(
24602        commandBuffer: VkCommandBuffer,
24603        instanceCount: u32,
24604        firstInstance: u32,
24605        counterBuffer: VkBuffer,
24606        counterBufferOffset: VkDeviceSize,
24607        counterOffset: u32,
24608        vertexStride: u32,
24609    );
24610
24611extern "C" {
24612    pub fn vkCmdBindTransformFeedbackBuffersEXT(
24613        commandBuffer: VkCommandBuffer,
24614        firstBinding: u32,
24615        bindingCount: u32,
24616        pBuffers: *const VkBuffer,
24617        pOffsets: *const VkDeviceSize,
24618        pSizes: *const VkDeviceSize,
24619    );
24620}
24621extern "C" {
24622    pub fn vkCmdBeginTransformFeedbackEXT(
24623        commandBuffer: VkCommandBuffer,
24624        firstCounterBuffer: u32,
24625        counterBufferCount: u32,
24626        pCounterBuffers: *const VkBuffer,
24627        pCounterBufferOffsets: *const VkDeviceSize,
24628    );
24629}
24630extern "C" {
24631    pub fn vkCmdEndTransformFeedbackEXT(
24632        commandBuffer: VkCommandBuffer,
24633        firstCounterBuffer: u32,
24634        counterBufferCount: u32,
24635        pCounterBuffers: *const VkBuffer,
24636        pCounterBufferOffsets: *const VkDeviceSize,
24637    );
24638}
24639extern "C" {
24640    pub fn vkCmdBeginQueryIndexedEXT(
24641        commandBuffer: VkCommandBuffer,
24642        queryPool: VkQueryPool,
24643        query: u32,
24644        flags: VkQueryControlFlags,
24645        index: u32,
24646    );
24647}
24648extern "C" {
24649    pub fn vkCmdEndQueryIndexedEXT(
24650        commandBuffer: VkCommandBuffer,
24651        queryPool: VkQueryPool,
24652        query: u32,
24653        index: u32,
24654    );
24655}
24656extern "C" {
24657    pub fn vkCmdDrawIndirectByteCountEXT(
24658        commandBuffer: VkCommandBuffer,
24659        instanceCount: u32,
24660        firstInstance: u32,
24661        counterBuffer: VkBuffer,
24662        counterBufferOffset: VkDeviceSize,
24663        counterOffset: u32,
24664        vertexStride: u32,
24665    );
24666}
24667#[repr(C)]
24668#[derive(Debug, Copy, Clone)]
24669pub struct VkCuModuleNVX_T {
24670    _unused: [u8; 0],
24671}
24672pub type VkCuModuleNVX = *mut VkCuModuleNVX_T;
24673#[repr(C)]
24674#[derive(Debug, Copy, Clone)]
24675pub struct VkCuFunctionNVX_T {
24676    _unused: [u8; 0],
24677}
24678pub type VkCuFunctionNVX = *mut VkCuFunctionNVX_T;
24679#[repr(C)]
24680#[derive(Debug, Copy, Clone)]
24681pub struct VkCuModuleCreateInfoNVX {
24682    pub sType: VkStructureType,
24683    pub pNext: *const ::std::os::raw::c_void,
24684    pub dataSize: usize,
24685    pub pData: *const ::std::os::raw::c_void,
24686}
24687#[repr(C)]
24688#[derive(Debug, Copy, Clone)]
24689pub struct VkCuModuleTexturingModeCreateInfoNVX {
24690    pub sType: VkStructureType,
24691    pub pNext: *const ::std::os::raw::c_void,
24692    pub use64bitTexturing: VkBool32,
24693}
24694#[repr(C)]
24695#[derive(Debug, Copy, Clone)]
24696pub struct VkCuFunctionCreateInfoNVX {
24697    pub sType: VkStructureType,
24698    pub pNext: *const ::std::os::raw::c_void,
24699    pub module: VkCuModuleNVX,
24700    pub pName: *const ::std::os::raw::c_char,
24701}
24702#[repr(C)]
24703#[derive(Debug, Copy, Clone)]
24704pub struct VkCuLaunchInfoNVX {
24705    pub sType: VkStructureType,
24706    pub pNext: *const ::std::os::raw::c_void,
24707    pub function: VkCuFunctionNVX,
24708    pub gridDimX: u32,
24709    pub gridDimY: u32,
24710    pub gridDimZ: u32,
24711    pub blockDimX: u32,
24712    pub blockDimY: u32,
24713    pub blockDimZ: u32,
24714    pub sharedMemBytes: u32,
24715    pub paramCount: usize,
24716    pub pParams: *const *const ::std::os::raw::c_void,
24717    pub extraCount: usize,
24718    pub pExtras: *const *const ::std::os::raw::c_void,
24719}
24720pub type PFN_vkCreateCuModuleNVX = 
24721    unsafe extern "C" fn(
24722        device: VkDevice,
24723        pCreateInfo: *const VkCuModuleCreateInfoNVX,
24724        pAllocator: *const VkAllocationCallbacks,
24725        pModule: *mut VkCuModuleNVX,
24726    ) -> VkResult;
24727
24728pub type PFN_vkCreateCuFunctionNVX = 
24729    unsafe extern "C" fn(
24730        device: VkDevice,
24731        pCreateInfo: *const VkCuFunctionCreateInfoNVX,
24732        pAllocator: *const VkAllocationCallbacks,
24733        pFunction: *mut VkCuFunctionNVX,
24734    ) -> VkResult;
24735
24736pub type PFN_vkDestroyCuModuleNVX = 
24737    unsafe extern "C" fn(
24738        device: VkDevice,
24739        module: VkCuModuleNVX,
24740        pAllocator: *const VkAllocationCallbacks,
24741    );
24742
24743pub type PFN_vkDestroyCuFunctionNVX = 
24744    unsafe extern "C" fn(
24745        device: VkDevice,
24746        function: VkCuFunctionNVX,
24747        pAllocator: *const VkAllocationCallbacks,
24748    );
24749
24750pub type PFN_vkCmdCuLaunchKernelNVX = 
24751    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pLaunchInfo: *const VkCuLaunchInfoNVX);
24752
24753extern "C" {
24754    pub fn vkCreateCuModuleNVX(
24755        device: VkDevice,
24756        pCreateInfo: *const VkCuModuleCreateInfoNVX,
24757        pAllocator: *const VkAllocationCallbacks,
24758        pModule: *mut VkCuModuleNVX,
24759    ) -> VkResult;
24760}
24761extern "C" {
24762    pub fn vkCreateCuFunctionNVX(
24763        device: VkDevice,
24764        pCreateInfo: *const VkCuFunctionCreateInfoNVX,
24765        pAllocator: *const VkAllocationCallbacks,
24766        pFunction: *mut VkCuFunctionNVX,
24767    ) -> VkResult;
24768}
24769extern "C" {
24770    pub fn vkDestroyCuModuleNVX(
24771        device: VkDevice,
24772        module: VkCuModuleNVX,
24773        pAllocator: *const VkAllocationCallbacks,
24774    );
24775}
24776extern "C" {
24777    pub fn vkDestroyCuFunctionNVX(
24778        device: VkDevice,
24779        function: VkCuFunctionNVX,
24780        pAllocator: *const VkAllocationCallbacks,
24781    );
24782}
24783extern "C" {
24784    pub fn vkCmdCuLaunchKernelNVX(
24785        commandBuffer: VkCommandBuffer,
24786        pLaunchInfo: *const VkCuLaunchInfoNVX,
24787    );
24788}
24789#[repr(C)]
24790#[derive(Debug, Copy, Clone)]
24791pub struct VkImageViewHandleInfoNVX {
24792    pub sType: VkStructureType,
24793    pub pNext: *const ::std::os::raw::c_void,
24794    pub imageView: VkImageView,
24795    pub descriptorType: VkDescriptorType,
24796    pub sampler: VkSampler,
24797}
24798#[repr(C)]
24799#[derive(Debug, Copy, Clone)]
24800pub struct VkImageViewAddressPropertiesNVX {
24801    pub sType: VkStructureType,
24802    pub pNext: *mut ::std::os::raw::c_void,
24803    pub deviceAddress: VkDeviceAddress,
24804    pub size: VkDeviceSize,
24805}
24806pub type PFN_vkGetImageViewHandleNVX = 
24807    unsafe extern "C" fn(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX) -> u32;
24808
24809pub type PFN_vkGetImageViewHandle64NVX = 
24810    unsafe extern "C" fn(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX) -> u64;
24811
24812pub type PFN_vkGetImageViewAddressNVX = 
24813    unsafe extern "C" fn(
24814        device: VkDevice,
24815        imageView: VkImageView,
24816        pProperties: *mut VkImageViewAddressPropertiesNVX,
24817    ) -> VkResult;
24818
24819extern "C" {
24820    pub fn vkGetImageViewHandleNVX(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX)
24821        -> u32;
24822}
24823extern "C" {
24824    pub fn vkGetImageViewHandle64NVX(
24825        device: VkDevice,
24826        pInfo: *const VkImageViewHandleInfoNVX,
24827    ) -> u64;
24828}
24829extern "C" {
24830    pub fn vkGetImageViewAddressNVX(
24831        device: VkDevice,
24832        imageView: VkImageView,
24833        pProperties: *mut VkImageViewAddressPropertiesNVX,
24834    ) -> VkResult;
24835}
24836pub type PFN_vkCmdDrawIndirectCountAMD = 
24837    unsafe extern "C" fn(
24838        commandBuffer: VkCommandBuffer,
24839        buffer: VkBuffer,
24840        offset: VkDeviceSize,
24841        countBuffer: VkBuffer,
24842        countBufferOffset: VkDeviceSize,
24843        maxDrawCount: u32,
24844        stride: u32,
24845    );
24846
24847pub type PFN_vkCmdDrawIndexedIndirectCountAMD = 
24848    unsafe extern "C" fn(
24849        commandBuffer: VkCommandBuffer,
24850        buffer: VkBuffer,
24851        offset: VkDeviceSize,
24852        countBuffer: VkBuffer,
24853        countBufferOffset: VkDeviceSize,
24854        maxDrawCount: u32,
24855        stride: u32,
24856    );
24857
24858extern "C" {
24859    pub fn vkCmdDrawIndirectCountAMD(
24860        commandBuffer: VkCommandBuffer,
24861        buffer: VkBuffer,
24862        offset: VkDeviceSize,
24863        countBuffer: VkBuffer,
24864        countBufferOffset: VkDeviceSize,
24865        maxDrawCount: u32,
24866        stride: u32,
24867    );
24868}
24869extern "C" {
24870    pub fn vkCmdDrawIndexedIndirectCountAMD(
24871        commandBuffer: VkCommandBuffer,
24872        buffer: VkBuffer,
24873        offset: VkDeviceSize,
24874        countBuffer: VkBuffer,
24875        countBufferOffset: VkDeviceSize,
24876        maxDrawCount: u32,
24877        stride: u32,
24878    );
24879}
24880#[repr(C)]
24881#[derive(Debug, Copy, Clone)]
24882pub struct VkTextureLODGatherFormatPropertiesAMD {
24883    pub sType: VkStructureType,
24884    pub pNext: *mut ::std::os::raw::c_void,
24885    pub supportsTextureGatherLODBiasAMD: VkBool32,
24886}
24887pub const VK_SHADER_INFO_TYPE_STATISTICS_AMD: VkShaderInfoTypeAMD = 0;
24888pub const VK_SHADER_INFO_TYPE_BINARY_AMD: VkShaderInfoTypeAMD = 1;
24889pub const VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: VkShaderInfoTypeAMD = 2;
24890pub const VK_SHADER_INFO_TYPE_MAX_ENUM_AMD: VkShaderInfoTypeAMD = 2147483647;
24891pub type VkShaderInfoTypeAMD = ::std::os::raw::c_uint;
24892#[repr(C)]
24893#[derive(Debug, Copy, Clone)]
24894pub struct VkShaderResourceUsageAMD {
24895    pub numUsedVgprs: u32,
24896    pub numUsedSgprs: u32,
24897    pub ldsSizePerLocalWorkGroup: u32,
24898    pub ldsUsageSizeInBytes: usize,
24899    pub scratchMemUsageInBytes: usize,
24900}
24901#[repr(C)]
24902#[derive(Debug, Copy, Clone)]
24903pub struct VkShaderStatisticsInfoAMD {
24904    pub shaderStageMask: VkShaderStageFlags,
24905    pub resourceUsage: VkShaderResourceUsageAMD,
24906    pub numPhysicalVgprs: u32,
24907    pub numPhysicalSgprs: u32,
24908    pub numAvailableVgprs: u32,
24909    pub numAvailableSgprs: u32,
24910    pub computeWorkGroupSize: [u32; 3usize],
24911}
24912pub type PFN_vkGetShaderInfoAMD = 
24913    unsafe extern "C" fn(
24914        device: VkDevice,
24915        pipeline: VkPipeline,
24916        shaderStage: VkShaderStageFlagBits,
24917        infoType: VkShaderInfoTypeAMD,
24918        pInfoSize: *mut usize,
24919        pInfo: *mut ::std::os::raw::c_void,
24920    ) -> VkResult;
24921
24922extern "C" {
24923    pub fn vkGetShaderInfoAMD(
24924        device: VkDevice,
24925        pipeline: VkPipeline,
24926        shaderStage: VkShaderStageFlagBits,
24927        infoType: VkShaderInfoTypeAMD,
24928        pInfoSize: *mut usize,
24929        pInfo: *mut ::std::os::raw::c_void,
24930    ) -> VkResult;
24931}
24932#[repr(C)]
24933#[derive(Debug, Copy, Clone)]
24934pub struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
24935    pub sType: VkStructureType,
24936    pub pNext: *mut ::std::os::raw::c_void,
24937    pub cornerSampledImage: VkBool32,
24938}
24939pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV : VkExternalMemoryHandleTypeFlagBitsNV = 1 ;
24940pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV : VkExternalMemoryHandleTypeFlagBitsNV = 2 ;
24941pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV:
24942    VkExternalMemoryHandleTypeFlagBitsNV = 4;
24943pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV : VkExternalMemoryHandleTypeFlagBitsNV = 8 ;
24944pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV : VkExternalMemoryHandleTypeFlagBitsNV = 2147483647 ;
24945pub type VkExternalMemoryHandleTypeFlagBitsNV = ::std::os::raw::c_uint;
24946pub type VkExternalMemoryHandleTypeFlagsNV = VkFlags;
24947pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV:
24948    VkExternalMemoryFeatureFlagBitsNV = 1;
24949pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV:
24950    VkExternalMemoryFeatureFlagBitsNV = 2;
24951pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV:
24952    VkExternalMemoryFeatureFlagBitsNV = 4;
24953pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV:
24954    VkExternalMemoryFeatureFlagBitsNV = 2147483647;
24955pub type VkExternalMemoryFeatureFlagBitsNV = ::std::os::raw::c_uint;
24956pub type VkExternalMemoryFeatureFlagsNV = VkFlags;
24957#[repr(C)]
24958#[derive(Debug, Copy, Clone)]
24959pub struct VkExternalImageFormatPropertiesNV {
24960    pub imageFormatProperties: VkImageFormatProperties,
24961    pub externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV,
24962    pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
24963    pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
24964}
24965pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 
24966    unsafe extern "C" fn(
24967        physicalDevice: VkPhysicalDevice,
24968        format: VkFormat,
24969        type_: VkImageType,
24970        tiling: VkImageTiling,
24971        usage: VkImageUsageFlags,
24972        flags: VkImageCreateFlags,
24973        externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
24974        pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
24975    ) -> VkResult;
24976
24977extern "C" {
24978    pub fn vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
24979        physicalDevice: VkPhysicalDevice,
24980        format: VkFormat,
24981        type_: VkImageType,
24982        tiling: VkImageTiling,
24983        usage: VkImageUsageFlags,
24984        flags: VkImageCreateFlags,
24985        externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
24986        pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
24987    ) -> VkResult;
24988}
24989#[repr(C)]
24990#[derive(Debug, Copy, Clone)]
24991pub struct VkExternalMemoryImageCreateInfoNV {
24992    pub sType: VkStructureType,
24993    pub pNext: *const ::std::os::raw::c_void,
24994    pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
24995}
24996#[repr(C)]
24997#[derive(Debug, Copy, Clone)]
24998pub struct VkExportMemoryAllocateInfoNV {
24999    pub sType: VkStructureType,
25000    pub pNext: *const ::std::os::raw::c_void,
25001    pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
25002}
25003pub const VK_VALIDATION_CHECK_ALL_EXT: VkValidationCheckEXT = 0;
25004pub const VK_VALIDATION_CHECK_SHADERS_EXT: VkValidationCheckEXT = 1;
25005pub const VK_VALIDATION_CHECK_MAX_ENUM_EXT: VkValidationCheckEXT = 2147483647;
25006pub type VkValidationCheckEXT = ::std::os::raw::c_uint;
25007#[repr(C)]
25008#[derive(Debug, Copy, Clone)]
25009pub struct VkValidationFlagsEXT {
25010    pub sType: VkStructureType,
25011    pub pNext: *const ::std::os::raw::c_void,
25012    pub disabledValidationCheckCount: u32,
25013    pub pDisabledValidationChecks: *const VkValidationCheckEXT,
25014}
25015pub type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
25016    VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
25017#[repr(C)]
25018#[derive(Debug, Copy, Clone)]
25019pub struct VkImageViewASTCDecodeModeEXT {
25020    pub sType: VkStructureType,
25021    pub pNext: *const ::std::os::raw::c_void,
25022    pub decodeMode: VkFormat,
25023}
25024#[repr(C)]
25025#[derive(Debug, Copy, Clone)]
25026pub struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
25027    pub sType: VkStructureType,
25028    pub pNext: *mut ::std::os::raw::c_void,
25029    pub decodeModeSharedExponent: VkBool32,
25030}
25031pub const VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT : VkPipelineRobustnessBufferBehaviorEXT = 0 ;
25032pub const VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT : VkPipelineRobustnessBufferBehaviorEXT = 1 ;
25033pub const VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT : VkPipelineRobustnessBufferBehaviorEXT = 2 ;
25034pub const VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT : VkPipelineRobustnessBufferBehaviorEXT = 3 ;
25035pub const VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT : VkPipelineRobustnessBufferBehaviorEXT = 2147483647 ;
25036pub type VkPipelineRobustnessBufferBehaviorEXT = ::std::os::raw::c_uint;
25037pub const VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT : VkPipelineRobustnessImageBehaviorEXT = 0 ;
25038pub const VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT : VkPipelineRobustnessImageBehaviorEXT = 1 ;
25039pub const VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT : VkPipelineRobustnessImageBehaviorEXT = 2 ;
25040pub const VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT : VkPipelineRobustnessImageBehaviorEXT = 3 ;
25041pub const VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT : VkPipelineRobustnessImageBehaviorEXT = 2147483647 ;
25042pub type VkPipelineRobustnessImageBehaviorEXT = ::std::os::raw::c_uint;
25043#[repr(C)]
25044#[derive(Debug, Copy, Clone)]
25045pub struct VkPhysicalDevicePipelineRobustnessFeaturesEXT {
25046    pub sType: VkStructureType,
25047    pub pNext: *mut ::std::os::raw::c_void,
25048    pub pipelineRobustness: VkBool32,
25049}
25050#[repr(C)]
25051#[derive(Debug, Copy, Clone)]
25052pub struct VkPhysicalDevicePipelineRobustnessPropertiesEXT {
25053    pub sType: VkStructureType,
25054    pub pNext: *mut ::std::os::raw::c_void,
25055    pub defaultRobustnessStorageBuffers: VkPipelineRobustnessBufferBehaviorEXT,
25056    pub defaultRobustnessUniformBuffers: VkPipelineRobustnessBufferBehaviorEXT,
25057    pub defaultRobustnessVertexInputs: VkPipelineRobustnessBufferBehaviorEXT,
25058    pub defaultRobustnessImages: VkPipelineRobustnessImageBehaviorEXT,
25059}
25060#[repr(C)]
25061#[derive(Debug, Copy, Clone)]
25062pub struct VkPipelineRobustnessCreateInfoEXT {
25063    pub sType: VkStructureType,
25064    pub pNext: *const ::std::os::raw::c_void,
25065    pub storageBuffers: VkPipelineRobustnessBufferBehaviorEXT,
25066    pub uniformBuffers: VkPipelineRobustnessBufferBehaviorEXT,
25067    pub vertexInputs: VkPipelineRobustnessBufferBehaviorEXT,
25068    pub images: VkPipelineRobustnessImageBehaviorEXT,
25069}
25070pub const VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT:
25071    VkConditionalRenderingFlagBitsEXT = 1;
25072pub const VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT:
25073    VkConditionalRenderingFlagBitsEXT = 2147483647;
25074pub type VkConditionalRenderingFlagBitsEXT = ::std::os::raw::c_uint;
25075pub type VkConditionalRenderingFlagsEXT = VkFlags;
25076#[repr(C)]
25077#[derive(Debug, Copy, Clone)]
25078pub struct VkConditionalRenderingBeginInfoEXT {
25079    pub sType: VkStructureType,
25080    pub pNext: *const ::std::os::raw::c_void,
25081    pub buffer: VkBuffer,
25082    pub offset: VkDeviceSize,
25083    pub flags: VkConditionalRenderingFlagsEXT,
25084}
25085#[repr(C)]
25086#[derive(Debug, Copy, Clone)]
25087pub struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
25088    pub sType: VkStructureType,
25089    pub pNext: *mut ::std::os::raw::c_void,
25090    pub conditionalRendering: VkBool32,
25091    pub inheritedConditionalRendering: VkBool32,
25092}
25093#[repr(C)]
25094#[derive(Debug, Copy, Clone)]
25095pub struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
25096    pub sType: VkStructureType,
25097    pub pNext: *const ::std::os::raw::c_void,
25098    pub conditionalRenderingEnable: VkBool32,
25099}
25100pub type PFN_vkCmdBeginConditionalRenderingEXT = 
25101    unsafe extern "C" fn(
25102        commandBuffer: VkCommandBuffer,
25103        pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
25104    );
25105
25106pub type PFN_vkCmdEndConditionalRenderingEXT =
25107    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
25108extern "C" {
25109    pub fn vkCmdBeginConditionalRenderingEXT(
25110        commandBuffer: VkCommandBuffer,
25111        pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
25112    );
25113}
25114extern "C" {
25115    pub fn vkCmdEndConditionalRenderingEXT(commandBuffer: VkCommandBuffer);
25116}
25117#[repr(C)]
25118#[derive(Debug, Copy, Clone)]
25119pub struct VkViewportWScalingNV {
25120    pub xcoeff: f32,
25121    pub ycoeff: f32,
25122}
25123#[repr(C)]
25124#[derive(Debug, Copy, Clone)]
25125pub struct VkPipelineViewportWScalingStateCreateInfoNV {
25126    pub sType: VkStructureType,
25127    pub pNext: *const ::std::os::raw::c_void,
25128    pub viewportWScalingEnable: VkBool32,
25129    pub viewportCount: u32,
25130    pub pViewportWScalings: *const VkViewportWScalingNV,
25131}
25132pub type PFN_vkCmdSetViewportWScalingNV = 
25133    unsafe extern "C" fn(
25134        commandBuffer: VkCommandBuffer,
25135        firstViewport: u32,
25136        viewportCount: u32,
25137        pViewportWScalings: *const VkViewportWScalingNV,
25138    );
25139
25140extern "C" {
25141    pub fn vkCmdSetViewportWScalingNV(
25142        commandBuffer: VkCommandBuffer,
25143        firstViewport: u32,
25144        viewportCount: u32,
25145        pViewportWScalings: *const VkViewportWScalingNV,
25146    );
25147}
25148pub type PFN_vkReleaseDisplayEXT = 
25149    unsafe extern "C" fn(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR) -> VkResult;
25150
25151extern "C" {
25152    pub fn vkReleaseDisplayEXT(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR)
25153        -> VkResult;
25154}
25155pub const VK_SURFACE_COUNTER_VBLANK_BIT_EXT:
25156    VkSurfaceCounterFlagBitsEXT = 1;
25157pub const VK_SURFACE_COUNTER_VBLANK_EXT: VkSurfaceCounterFlagBitsEXT =
25158    1;
25159pub const VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT:
25160    VkSurfaceCounterFlagBitsEXT = 2147483647;
25161pub type VkSurfaceCounterFlagBitsEXT = ::std::os::raw::c_uint;
25162pub type VkSurfaceCounterFlagsEXT = VkFlags;
25163#[repr(C)]
25164#[derive(Debug, Copy, Clone)]
25165pub struct VkSurfaceCapabilities2EXT {
25166    pub sType: VkStructureType,
25167    pub pNext: *mut ::std::os::raw::c_void,
25168    pub minImageCount: u32,
25169    pub maxImageCount: u32,
25170    pub currentExtent: VkExtent2D,
25171    pub minImageExtent: VkExtent2D,
25172    pub maxImageExtent: VkExtent2D,
25173    pub maxImageArrayLayers: u32,
25174    pub supportedTransforms: VkSurfaceTransformFlagsKHR,
25175    pub currentTransform: VkSurfaceTransformFlagBitsKHR,
25176    pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
25177    pub supportedUsageFlags: VkImageUsageFlags,
25178    pub supportedSurfaceCounters: VkSurfaceCounterFlagsEXT,
25179}
25180pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = 
25181    unsafe extern "C" fn(
25182        physicalDevice: VkPhysicalDevice,
25183        surface: VkSurfaceKHR,
25184        pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
25185    ) -> VkResult;
25186
25187extern "C" {
25188    pub fn vkGetPhysicalDeviceSurfaceCapabilities2EXT(
25189        physicalDevice: VkPhysicalDevice,
25190        surface: VkSurfaceKHR,
25191        pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
25192    ) -> VkResult;
25193}
25194pub const VK_DISPLAY_POWER_STATE_OFF_EXT: VkDisplayPowerStateEXT = 0;
25195pub const VK_DISPLAY_POWER_STATE_SUSPEND_EXT: VkDisplayPowerStateEXT = 1;
25196pub const VK_DISPLAY_POWER_STATE_ON_EXT: VkDisplayPowerStateEXT = 2;
25197pub const VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT: VkDisplayPowerStateEXT =
25198    2147483647;
25199pub type VkDisplayPowerStateEXT = ::std::os::raw::c_uint;
25200pub const VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: VkDeviceEventTypeEXT = 0;
25201pub const VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT: VkDeviceEventTypeEXT = 2147483647;
25202pub type VkDeviceEventTypeEXT = ::std::os::raw::c_uint;
25203pub const VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: VkDisplayEventTypeEXT =
25204    0;
25205pub const VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT: VkDisplayEventTypeEXT =
25206    2147483647;
25207pub type VkDisplayEventTypeEXT = ::std::os::raw::c_uint;
25208#[repr(C)]
25209#[derive(Debug, Copy, Clone)]
25210pub struct VkDisplayPowerInfoEXT {
25211    pub sType: VkStructureType,
25212    pub pNext: *const ::std::os::raw::c_void,
25213    pub powerState: VkDisplayPowerStateEXT,
25214}
25215#[repr(C)]
25216#[derive(Debug, Copy, Clone)]
25217pub struct VkDeviceEventInfoEXT {
25218    pub sType: VkStructureType,
25219    pub pNext: *const ::std::os::raw::c_void,
25220    pub deviceEvent: VkDeviceEventTypeEXT,
25221}
25222#[repr(C)]
25223#[derive(Debug, Copy, Clone)]
25224pub struct VkDisplayEventInfoEXT {
25225    pub sType: VkStructureType,
25226    pub pNext: *const ::std::os::raw::c_void,
25227    pub displayEvent: VkDisplayEventTypeEXT,
25228}
25229#[repr(C)]
25230#[derive(Debug, Copy, Clone)]
25231pub struct VkSwapchainCounterCreateInfoEXT {
25232    pub sType: VkStructureType,
25233    pub pNext: *const ::std::os::raw::c_void,
25234    pub surfaceCounters: VkSurfaceCounterFlagsEXT,
25235}
25236pub type PFN_vkDisplayPowerControlEXT = 
25237    unsafe extern "C" fn(
25238        device: VkDevice,
25239        display: VkDisplayKHR,
25240        pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
25241    ) -> VkResult;
25242
25243pub type PFN_vkRegisterDeviceEventEXT = 
25244    unsafe extern "C" fn(
25245        device: VkDevice,
25246        pDeviceEventInfo: *const VkDeviceEventInfoEXT,
25247        pAllocator: *const VkAllocationCallbacks,
25248        pFence: *mut VkFence,
25249    ) -> VkResult;
25250
25251pub type PFN_vkRegisterDisplayEventEXT = 
25252    unsafe extern "C" fn(
25253        device: VkDevice,
25254        display: VkDisplayKHR,
25255        pDisplayEventInfo: *const VkDisplayEventInfoEXT,
25256        pAllocator: *const VkAllocationCallbacks,
25257        pFence: *mut VkFence,
25258    ) -> VkResult;
25259
25260pub type PFN_vkGetSwapchainCounterEXT = 
25261    unsafe extern "C" fn(
25262        device: VkDevice,
25263        swapchain: VkSwapchainKHR,
25264        counter: VkSurfaceCounterFlagBitsEXT,
25265        pCounterValue: *mut u64,
25266    ) -> VkResult;
25267
25268extern "C" {
25269    pub fn vkDisplayPowerControlEXT(
25270        device: VkDevice,
25271        display: VkDisplayKHR,
25272        pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
25273    ) -> VkResult;
25274}
25275extern "C" {
25276    pub fn vkRegisterDeviceEventEXT(
25277        device: VkDevice,
25278        pDeviceEventInfo: *const VkDeviceEventInfoEXT,
25279        pAllocator: *const VkAllocationCallbacks,
25280        pFence: *mut VkFence,
25281    ) -> VkResult;
25282}
25283extern "C" {
25284    pub fn vkRegisterDisplayEventEXT(
25285        device: VkDevice,
25286        display: VkDisplayKHR,
25287        pDisplayEventInfo: *const VkDisplayEventInfoEXT,
25288        pAllocator: *const VkAllocationCallbacks,
25289        pFence: *mut VkFence,
25290    ) -> VkResult;
25291}
25292extern "C" {
25293    pub fn vkGetSwapchainCounterEXT(
25294        device: VkDevice,
25295        swapchain: VkSwapchainKHR,
25296        counter: VkSurfaceCounterFlagBitsEXT,
25297        pCounterValue: *mut u64,
25298    ) -> VkResult;
25299}
25300#[repr(C)]
25301#[derive(Debug, Copy, Clone)]
25302pub struct VkRefreshCycleDurationGOOGLE {
25303    pub refreshDuration: u64,
25304}
25305#[repr(C)]
25306#[derive(Debug, Copy, Clone)]
25307pub struct VkPastPresentationTimingGOOGLE {
25308    pub presentID: u32,
25309    pub desiredPresentTime: u64,
25310    pub actualPresentTime: u64,
25311    pub earliestPresentTime: u64,
25312    pub presentMargin: u64,
25313}
25314#[repr(C)]
25315#[derive(Debug, Copy, Clone)]
25316pub struct VkPresentTimeGOOGLE {
25317    pub presentID: u32,
25318    pub desiredPresentTime: u64,
25319}
25320#[repr(C)]
25321#[derive(Debug, Copy, Clone)]
25322pub struct VkPresentTimesInfoGOOGLE {
25323    pub sType: VkStructureType,
25324    pub pNext: *const ::std::os::raw::c_void,
25325    pub swapchainCount: u32,
25326    pub pTimes: *const VkPresentTimeGOOGLE,
25327}
25328pub type PFN_vkGetRefreshCycleDurationGOOGLE = 
25329    unsafe extern "C" fn(
25330        device: VkDevice,
25331        swapchain: VkSwapchainKHR,
25332        pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
25333    ) -> VkResult;
25334
25335pub type PFN_vkGetPastPresentationTimingGOOGLE = 
25336    unsafe extern "C" fn(
25337        device: VkDevice,
25338        swapchain: VkSwapchainKHR,
25339        pPresentationTimingCount: *mut u32,
25340        pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
25341    ) -> VkResult;
25342
25343extern "C" {
25344    pub fn vkGetRefreshCycleDurationGOOGLE(
25345        device: VkDevice,
25346        swapchain: VkSwapchainKHR,
25347        pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
25348    ) -> VkResult;
25349}
25350extern "C" {
25351    pub fn vkGetPastPresentationTimingGOOGLE(
25352        device: VkDevice,
25353        swapchain: VkSwapchainKHR,
25354        pPresentationTimingCount: *mut u32,
25355        pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
25356    ) -> VkResult;
25357}
25358#[repr(C)]
25359#[derive(Debug, Copy, Clone)]
25360pub struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
25361    pub sType: VkStructureType,
25362    pub pNext: *mut ::std::os::raw::c_void,
25363    pub perViewPositionAllComponents: VkBool32,
25364}
25365#[repr(C)]
25366#[derive(Debug, Copy, Clone)]
25367pub struct VkMultiviewPerViewAttributesInfoNVX {
25368    pub sType: VkStructureType,
25369    pub pNext: *const ::std::os::raw::c_void,
25370    pub perViewAttributes: VkBool32,
25371    pub perViewAttributesPositionXOnly: VkBool32,
25372}
25373pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV:
25374    VkViewportCoordinateSwizzleNV = 0;
25375pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV:
25376    VkViewportCoordinateSwizzleNV = 1;
25377pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV:
25378    VkViewportCoordinateSwizzleNV = 2;
25379pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV:
25380    VkViewportCoordinateSwizzleNV = 3;
25381pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV:
25382    VkViewportCoordinateSwizzleNV = 4;
25383pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV:
25384    VkViewportCoordinateSwizzleNV = 5;
25385pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV:
25386    VkViewportCoordinateSwizzleNV = 6;
25387pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV:
25388    VkViewportCoordinateSwizzleNV = 7;
25389pub const VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV:
25390    VkViewportCoordinateSwizzleNV = 2147483647;
25391pub type VkViewportCoordinateSwizzleNV = ::std::os::raw::c_uint;
25392pub type VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
25393#[repr(C)]
25394#[derive(Debug, Copy, Clone)]
25395pub struct VkViewportSwizzleNV {
25396    pub x: VkViewportCoordinateSwizzleNV,
25397    pub y: VkViewportCoordinateSwizzleNV,
25398    pub z: VkViewportCoordinateSwizzleNV,
25399    pub w: VkViewportCoordinateSwizzleNV,
25400}
25401#[repr(C)]
25402#[derive(Debug, Copy, Clone)]
25403pub struct VkPipelineViewportSwizzleStateCreateInfoNV {
25404    pub sType: VkStructureType,
25405    pub pNext: *const ::std::os::raw::c_void,
25406    pub flags: VkPipelineViewportSwizzleStateCreateFlagsNV,
25407    pub viewportCount: u32,
25408    pub pViewportSwizzles: *const VkViewportSwizzleNV,
25409}
25410pub const VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT:
25411    VkDiscardRectangleModeEXT = 0;
25412pub const VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT:
25413    VkDiscardRectangleModeEXT = 1;
25414pub const VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT:
25415    VkDiscardRectangleModeEXT = 2147483647;
25416pub type VkDiscardRectangleModeEXT = ::std::os::raw::c_uint;
25417pub type VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
25418#[repr(C)]
25419#[derive(Debug, Copy, Clone)]
25420pub struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
25421    pub sType: VkStructureType,
25422    pub pNext: *mut ::std::os::raw::c_void,
25423    pub maxDiscardRectangles: u32,
25424}
25425#[repr(C)]
25426#[derive(Debug, Copy, Clone)]
25427pub struct VkPipelineDiscardRectangleStateCreateInfoEXT {
25428    pub sType: VkStructureType,
25429    pub pNext: *const ::std::os::raw::c_void,
25430    pub flags: VkPipelineDiscardRectangleStateCreateFlagsEXT,
25431    pub discardRectangleMode: VkDiscardRectangleModeEXT,
25432    pub discardRectangleCount: u32,
25433    pub pDiscardRectangles: *const VkRect2D,
25434}
25435pub type PFN_vkCmdSetDiscardRectangleEXT = 
25436    unsafe extern "C" fn(
25437        commandBuffer: VkCommandBuffer,
25438        firstDiscardRectangle: u32,
25439        discardRectangleCount: u32,
25440        pDiscardRectangles: *const VkRect2D,
25441    );
25442
25443pub type PFN_vkCmdSetDiscardRectangleEnableEXT = 
25444    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, discardRectangleEnable: VkBool32);
25445
25446pub type PFN_vkCmdSetDiscardRectangleModeEXT = 
25447    unsafe extern "C" fn(
25448        commandBuffer: VkCommandBuffer,
25449        discardRectangleMode: VkDiscardRectangleModeEXT,
25450    );
25451
25452extern "C" {
25453    pub fn vkCmdSetDiscardRectangleEXT(
25454        commandBuffer: VkCommandBuffer,
25455        firstDiscardRectangle: u32,
25456        discardRectangleCount: u32,
25457        pDiscardRectangles: *const VkRect2D,
25458    );
25459}
25460extern "C" {
25461    pub fn vkCmdSetDiscardRectangleEnableEXT(
25462        commandBuffer: VkCommandBuffer,
25463        discardRectangleEnable: VkBool32,
25464    );
25465}
25466extern "C" {
25467    pub fn vkCmdSetDiscardRectangleModeEXT(
25468        commandBuffer: VkCommandBuffer,
25469        discardRectangleMode: VkDiscardRectangleModeEXT,
25470    );
25471}
25472pub const VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT:
25473    VkConservativeRasterizationModeEXT = 0;
25474pub const VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT:
25475    VkConservativeRasterizationModeEXT = 1;
25476pub const VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT : VkConservativeRasterizationModeEXT = 2 ;
25477pub const VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT:
25478    VkConservativeRasterizationModeEXT = 2147483647;
25479pub type VkConservativeRasterizationModeEXT = ::std::os::raw::c_uint;
25480pub type VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkFlags;
25481#[repr(C)]
25482#[derive(Debug, Copy, Clone)]
25483pub struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
25484    pub sType: VkStructureType,
25485    pub pNext: *mut ::std::os::raw::c_void,
25486    pub primitiveOverestimationSize: f32,
25487    pub maxExtraPrimitiveOverestimationSize: f32,
25488    pub extraPrimitiveOverestimationSizeGranularity: f32,
25489    pub primitiveUnderestimation: VkBool32,
25490    pub conservativePointAndLineRasterization: VkBool32,
25491    pub degenerateTrianglesRasterized: VkBool32,
25492    pub degenerateLinesRasterized: VkBool32,
25493    pub fullyCoveredFragmentShaderInputVariable: VkBool32,
25494    pub conservativeRasterizationPostDepthCoverage: VkBool32,
25495}
25496#[repr(C)]
25497#[derive(Debug, Copy, Clone)]
25498pub struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
25499    pub sType: VkStructureType,
25500    pub pNext: *const ::std::os::raw::c_void,
25501    pub flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT,
25502    pub conservativeRasterizationMode: VkConservativeRasterizationModeEXT,
25503    pub extraPrimitiveOverestimationSize: f32,
25504}
25505pub type VkPipelineRasterizationDepthClipStateCreateFlagsEXT = VkFlags;
25506#[repr(C)]
25507#[derive(Debug, Copy, Clone)]
25508pub struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
25509    pub sType: VkStructureType,
25510    pub pNext: *mut ::std::os::raw::c_void,
25511    pub depthClipEnable: VkBool32,
25512}
25513#[repr(C)]
25514#[derive(Debug, Copy, Clone)]
25515pub struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
25516    pub sType: VkStructureType,
25517    pub pNext: *const ::std::os::raw::c_void,
25518    pub flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT,
25519    pub depthClipEnable: VkBool32,
25520}
25521#[repr(C)]
25522#[derive(Debug, Copy, Clone)]
25523pub struct VkXYColorEXT {
25524    pub x: f32,
25525    pub y: f32,
25526}
25527#[repr(C)]
25528#[derive(Debug, Copy, Clone)]
25529pub struct VkHdrMetadataEXT {
25530    pub sType: VkStructureType,
25531    pub pNext: *const ::std::os::raw::c_void,
25532    pub displayPrimaryRed: VkXYColorEXT,
25533    pub displayPrimaryGreen: VkXYColorEXT,
25534    pub displayPrimaryBlue: VkXYColorEXT,
25535    pub whitePoint: VkXYColorEXT,
25536    pub maxLuminance: f32,
25537    pub minLuminance: f32,
25538    pub maxContentLightLevel: f32,
25539    pub maxFrameAverageLightLevel: f32,
25540}
25541pub type PFN_vkSetHdrMetadataEXT = 
25542    unsafe extern "C" fn(
25543        device: VkDevice,
25544        swapchainCount: u32,
25545        pSwapchains: *const VkSwapchainKHR,
25546        pMetadata: *const VkHdrMetadataEXT,
25547    );
25548
25549extern "C" {
25550    pub fn vkSetHdrMetadataEXT(
25551        device: VkDevice,
25552        swapchainCount: u32,
25553        pSwapchains: *const VkSwapchainKHR,
25554        pMetadata: *const VkHdrMetadataEXT,
25555    );
25556}
25557#[repr(C)]
25558#[derive(Debug, Copy, Clone)]
25559pub struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
25560    pub sType: VkStructureType,
25561    pub pNext: *mut ::std::os::raw::c_void,
25562    pub relaxedLineRasterization: VkBool32,
25563}
25564#[repr(C)]
25565#[derive(Debug, Copy, Clone)]
25566pub struct VkDebugUtilsMessengerEXT_T {
25567    _unused: [u8; 0],
25568}
25569pub type VkDebugUtilsMessengerEXT = *mut VkDebugUtilsMessengerEXT_T;
25570pub type VkDebugUtilsMessengerCallbackDataFlagsEXT = VkFlags;
25571pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT:
25572    VkDebugUtilsMessageSeverityFlagBitsEXT = 1;
25573pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT:
25574    VkDebugUtilsMessageSeverityFlagBitsEXT = 16;
25575pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT:
25576    VkDebugUtilsMessageSeverityFlagBitsEXT = 256;
25577pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
25578    VkDebugUtilsMessageSeverityFlagBitsEXT = 4096;
25579pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT : VkDebugUtilsMessageSeverityFlagBitsEXT = 2147483647 ;
25580pub type VkDebugUtilsMessageSeverityFlagBitsEXT = ::std::os::raw::c_uint;
25581pub const VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT:
25582    VkDebugUtilsMessageTypeFlagBitsEXT = 1;
25583pub const VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT:
25584    VkDebugUtilsMessageTypeFlagBitsEXT = 2;
25585pub const VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT:
25586    VkDebugUtilsMessageTypeFlagBitsEXT = 4;
25587pub const VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT : VkDebugUtilsMessageTypeFlagBitsEXT = 8 ;
25588pub const VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT:
25589    VkDebugUtilsMessageTypeFlagBitsEXT = 2147483647;
25590pub type VkDebugUtilsMessageTypeFlagBitsEXT = ::std::os::raw::c_uint;
25591pub type VkDebugUtilsMessageTypeFlagsEXT = VkFlags;
25592pub type VkDebugUtilsMessageSeverityFlagsEXT = VkFlags;
25593pub type VkDebugUtilsMessengerCreateFlagsEXT = VkFlags;
25594#[repr(C)]
25595#[derive(Debug, Copy, Clone)]
25596pub struct VkDebugUtilsLabelEXT {
25597    pub sType: VkStructureType,
25598    pub pNext: *const ::std::os::raw::c_void,
25599    pub pLabelName: *const ::std::os::raw::c_char,
25600    pub color: [f32; 4usize],
25601}
25602#[repr(C)]
25603#[derive(Debug, Copy, Clone)]
25604pub struct VkDebugUtilsObjectNameInfoEXT {
25605    pub sType: VkStructureType,
25606    pub pNext: *const ::std::os::raw::c_void,
25607    pub objectType: VkObjectType,
25608    pub objectHandle: u64,
25609    pub pObjectName: *const ::std::os::raw::c_char,
25610}
25611#[repr(C)]
25612#[derive(Debug, Copy, Clone)]
25613pub struct VkDebugUtilsMessengerCallbackDataEXT {
25614    pub sType: VkStructureType,
25615    pub pNext: *const ::std::os::raw::c_void,
25616    pub flags: VkDebugUtilsMessengerCallbackDataFlagsEXT,
25617    pub pMessageIdName: *const ::std::os::raw::c_char,
25618    pub messageIdNumber: i32,
25619    pub pMessage: *const ::std::os::raw::c_char,
25620    pub queueLabelCount: u32,
25621    pub pQueueLabels: *const VkDebugUtilsLabelEXT,
25622    pub cmdBufLabelCount: u32,
25623    pub pCmdBufLabels: *const VkDebugUtilsLabelEXT,
25624    pub objectCount: u32,
25625    pub pObjects: *const VkDebugUtilsObjectNameInfoEXT,
25626}
25627pub type PFN_vkDebugUtilsMessengerCallbackEXT = 
25628    unsafe extern "C" fn(
25629        messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
25630        messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
25631        pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
25632        pUserData: *mut ::std::os::raw::c_void,
25633    ) -> VkBool32;
25634
25635#[repr(C)]
25636#[derive(Debug, Copy, Clone)]
25637pub struct VkDebugUtilsMessengerCreateInfoEXT {
25638    pub sType: VkStructureType,
25639    pub pNext: *const ::std::os::raw::c_void,
25640    pub flags: VkDebugUtilsMessengerCreateFlagsEXT,
25641    pub messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT,
25642    pub messageType: VkDebugUtilsMessageTypeFlagsEXT,
25643    pub pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT,
25644    pub pUserData: *mut ::std::os::raw::c_void,
25645}
25646#[repr(C)]
25647#[derive(Debug, Copy, Clone)]
25648pub struct VkDebugUtilsObjectTagInfoEXT {
25649    pub sType: VkStructureType,
25650    pub pNext: *const ::std::os::raw::c_void,
25651    pub objectType: VkObjectType,
25652    pub objectHandle: u64,
25653    pub tagName: u64,
25654    pub tagSize: usize,
25655    pub pTag: *const ::std::os::raw::c_void,
25656}
25657pub type PFN_vkSetDebugUtilsObjectNameEXT = 
25658    unsafe extern "C" fn(
25659        device: VkDevice,
25660        pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
25661    ) -> VkResult;
25662
25663pub type PFN_vkSetDebugUtilsObjectTagEXT = 
25664    unsafe extern "C" fn(
25665        device: VkDevice,
25666        pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
25667    ) -> VkResult;
25668
25669pub type PFN_vkQueueBeginDebugUtilsLabelEXT = 
25670    unsafe extern "C" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
25671
25672pub type PFN_vkQueueEndDebugUtilsLabelEXT =
25673    unsafe extern "C" fn(queue: VkQueue);
25674pub type PFN_vkQueueInsertDebugUtilsLabelEXT = 
25675    unsafe extern "C" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
25676
25677pub type PFN_vkCmdBeginDebugUtilsLabelEXT = 
25678    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pLabelInfo: *const VkDebugUtilsLabelEXT);
25679
25680pub type PFN_vkCmdEndDebugUtilsLabelEXT =
25681    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
25682pub type PFN_vkCmdInsertDebugUtilsLabelEXT = 
25683    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pLabelInfo: *const VkDebugUtilsLabelEXT);
25684
25685pub type PFN_vkCreateDebugUtilsMessengerEXT = 
25686    unsafe extern "C" fn(
25687        instance: VkInstance,
25688        pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
25689        pAllocator: *const VkAllocationCallbacks,
25690        pMessenger: *mut VkDebugUtilsMessengerEXT,
25691    ) -> VkResult;
25692
25693pub type PFN_vkDestroyDebugUtilsMessengerEXT = 
25694    unsafe extern "C" fn(
25695        instance: VkInstance,
25696        messenger: VkDebugUtilsMessengerEXT,
25697        pAllocator: *const VkAllocationCallbacks,
25698    );
25699
25700pub type PFN_vkSubmitDebugUtilsMessageEXT = 
25701    unsafe extern "C" fn(
25702        instance: VkInstance,
25703        messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
25704        messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
25705        pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
25706    );
25707
25708extern "C" {
25709    pub fn vkSetDebugUtilsObjectNameEXT(
25710        device: VkDevice,
25711        pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
25712    ) -> VkResult;
25713}
25714extern "C" {
25715    pub fn vkSetDebugUtilsObjectTagEXT(
25716        device: VkDevice,
25717        pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
25718    ) -> VkResult;
25719}
25720extern "C" {
25721    pub fn vkQueueBeginDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
25722}
25723extern "C" {
25724    pub fn vkQueueEndDebugUtilsLabelEXT(queue: VkQueue);
25725}
25726extern "C" {
25727    pub fn vkQueueInsertDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
25728}
25729extern "C" {
25730    pub fn vkCmdBeginDebugUtilsLabelEXT(
25731        commandBuffer: VkCommandBuffer,
25732        pLabelInfo: *const VkDebugUtilsLabelEXT,
25733    );
25734}
25735extern "C" {
25736    pub fn vkCmdEndDebugUtilsLabelEXT(commandBuffer: VkCommandBuffer);
25737}
25738extern "C" {
25739    pub fn vkCmdInsertDebugUtilsLabelEXT(
25740        commandBuffer: VkCommandBuffer,
25741        pLabelInfo: *const VkDebugUtilsLabelEXT,
25742    );
25743}
25744extern "C" {
25745    pub fn vkCreateDebugUtilsMessengerEXT(
25746        instance: VkInstance,
25747        pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
25748        pAllocator: *const VkAllocationCallbacks,
25749        pMessenger: *mut VkDebugUtilsMessengerEXT,
25750    ) -> VkResult;
25751}
25752extern "C" {
25753    pub fn vkDestroyDebugUtilsMessengerEXT(
25754        instance: VkInstance,
25755        messenger: VkDebugUtilsMessengerEXT,
25756        pAllocator: *const VkAllocationCallbacks,
25757    );
25758}
25759extern "C" {
25760    pub fn vkSubmitDebugUtilsMessageEXT(
25761        instance: VkInstance,
25762        messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
25763        messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
25764        pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
25765    );
25766}
25767pub use self::VkSamplerReductionMode as VkSamplerReductionModeEXT;
25768pub type VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo;
25769pub type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
25770    VkPhysicalDeviceSamplerFilterMinmaxProperties;
25771#[repr(C)]
25772#[derive(Debug, Copy, Clone)]
25773pub struct VkAttachmentSampleCountInfoAMD {
25774    pub sType: VkStructureType,
25775    pub pNext: *const ::std::os::raw::c_void,
25776    pub colorAttachmentCount: u32,
25777    pub pColorAttachmentSamples: *const VkSampleCountFlagBits,
25778    pub depthStencilAttachmentSamples: VkSampleCountFlagBits,
25779}
25780pub type VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures;
25781pub type VkPhysicalDeviceInlineUniformBlockPropertiesEXT =
25782    VkPhysicalDeviceInlineUniformBlockProperties;
25783pub type VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock;
25784pub type VkDescriptorPoolInlineUniformBlockCreateInfoEXT =
25785    VkDescriptorPoolInlineUniformBlockCreateInfo;
25786#[repr(C)]
25787#[derive(Debug, Copy, Clone)]
25788pub struct VkSampleLocationEXT {
25789    pub x: f32,
25790    pub y: f32,
25791}
25792#[repr(C)]
25793#[derive(Debug, Copy, Clone)]
25794pub struct VkSampleLocationsInfoEXT {
25795    pub sType: VkStructureType,
25796    pub pNext: *const ::std::os::raw::c_void,
25797    pub sampleLocationsPerPixel: VkSampleCountFlagBits,
25798    pub sampleLocationGridSize: VkExtent2D,
25799    pub sampleLocationsCount: u32,
25800    pub pSampleLocations: *const VkSampleLocationEXT,
25801}
25802#[repr(C)]
25803#[derive(Debug, Copy, Clone)]
25804pub struct VkAttachmentSampleLocationsEXT {
25805    pub attachmentIndex: u32,
25806    pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
25807}
25808#[repr(C)]
25809#[derive(Debug, Copy, Clone)]
25810pub struct VkSubpassSampleLocationsEXT {
25811    pub subpassIndex: u32,
25812    pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
25813}
25814#[repr(C)]
25815#[derive(Debug, Copy, Clone)]
25816pub struct VkRenderPassSampleLocationsBeginInfoEXT {
25817    pub sType: VkStructureType,
25818    pub pNext: *const ::std::os::raw::c_void,
25819    pub attachmentInitialSampleLocationsCount: u32,
25820    pub pAttachmentInitialSampleLocations: *const VkAttachmentSampleLocationsEXT,
25821    pub postSubpassSampleLocationsCount: u32,
25822    pub pPostSubpassSampleLocations: *const VkSubpassSampleLocationsEXT,
25823}
25824#[repr(C)]
25825#[derive(Debug, Copy, Clone)]
25826pub struct VkPipelineSampleLocationsStateCreateInfoEXT {
25827    pub sType: VkStructureType,
25828    pub pNext: *const ::std::os::raw::c_void,
25829    pub sampleLocationsEnable: VkBool32,
25830    pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
25831}
25832#[repr(C)]
25833#[derive(Debug, Copy, Clone)]
25834pub struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
25835    pub sType: VkStructureType,
25836    pub pNext: *mut ::std::os::raw::c_void,
25837    pub sampleLocationSampleCounts: VkSampleCountFlags,
25838    pub maxSampleLocationGridSize: VkExtent2D,
25839    pub sampleLocationCoordinateRange: [f32; 2usize],
25840    pub sampleLocationSubPixelBits: u32,
25841    pub variableSampleLocations: VkBool32,
25842}
25843#[repr(C)]
25844#[derive(Debug, Copy, Clone)]
25845pub struct VkMultisamplePropertiesEXT {
25846    pub sType: VkStructureType,
25847    pub pNext: *mut ::std::os::raw::c_void,
25848    pub maxSampleLocationGridSize: VkExtent2D,
25849}
25850pub type PFN_vkCmdSetSampleLocationsEXT = 
25851    unsafe extern "C" fn(
25852        commandBuffer: VkCommandBuffer,
25853        pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
25854    );
25855
25856pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = 
25857    unsafe extern "C" fn(
25858        physicalDevice: VkPhysicalDevice,
25859        samples: VkSampleCountFlagBits,
25860        pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
25861    );
25862
25863extern "C" {
25864    pub fn vkCmdSetSampleLocationsEXT(
25865        commandBuffer: VkCommandBuffer,
25866        pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
25867    );
25868}
25869extern "C" {
25870    pub fn vkGetPhysicalDeviceMultisamplePropertiesEXT(
25871        physicalDevice: VkPhysicalDevice,
25872        samples: VkSampleCountFlagBits,
25873        pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
25874    );
25875}
25876pub const VK_BLEND_OVERLAP_UNCORRELATED_EXT: VkBlendOverlapEXT = 0;
25877pub const VK_BLEND_OVERLAP_DISJOINT_EXT: VkBlendOverlapEXT = 1;
25878pub const VK_BLEND_OVERLAP_CONJOINT_EXT: VkBlendOverlapEXT = 2;
25879pub const VK_BLEND_OVERLAP_MAX_ENUM_EXT: VkBlendOverlapEXT = 2147483647;
25880pub type VkBlendOverlapEXT = ::std::os::raw::c_uint;
25881#[repr(C)]
25882#[derive(Debug, Copy, Clone)]
25883pub struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
25884    pub sType: VkStructureType,
25885    pub pNext: *mut ::std::os::raw::c_void,
25886    pub advancedBlendCoherentOperations: VkBool32,
25887}
25888#[repr(C)]
25889#[derive(Debug, Copy, Clone)]
25890pub struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
25891    pub sType: VkStructureType,
25892    pub pNext: *mut ::std::os::raw::c_void,
25893    pub advancedBlendMaxColorAttachments: u32,
25894    pub advancedBlendIndependentBlend: VkBool32,
25895    pub advancedBlendNonPremultipliedSrcColor: VkBool32,
25896    pub advancedBlendNonPremultipliedDstColor: VkBool32,
25897    pub advancedBlendCorrelatedOverlap: VkBool32,
25898    pub advancedBlendAllOperations: VkBool32,
25899}
25900#[repr(C)]
25901#[derive(Debug, Copy, Clone)]
25902pub struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
25903    pub sType: VkStructureType,
25904    pub pNext: *const ::std::os::raw::c_void,
25905    pub srcPremultiplied: VkBool32,
25906    pub dstPremultiplied: VkBool32,
25907    pub blendOverlap: VkBlendOverlapEXT,
25908}
25909pub type VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
25910#[repr(C)]
25911#[derive(Debug, Copy, Clone)]
25912pub struct VkPipelineCoverageToColorStateCreateInfoNV {
25913    pub sType: VkStructureType,
25914    pub pNext: *const ::std::os::raw::c_void,
25915    pub flags: VkPipelineCoverageToColorStateCreateFlagsNV,
25916    pub coverageToColorEnable: VkBool32,
25917    pub coverageToColorLocation: u32,
25918}
25919pub const VK_COVERAGE_MODULATION_MODE_NONE_NV:
25920    VkCoverageModulationModeNV = 0;
25921pub const VK_COVERAGE_MODULATION_MODE_RGB_NV:
25922    VkCoverageModulationModeNV = 1;
25923pub const VK_COVERAGE_MODULATION_MODE_ALPHA_NV:
25924    VkCoverageModulationModeNV = 2;
25925pub const VK_COVERAGE_MODULATION_MODE_RGBA_NV:
25926    VkCoverageModulationModeNV = 3;
25927pub const VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV:
25928    VkCoverageModulationModeNV = 2147483647;
25929pub type VkCoverageModulationModeNV = ::std::os::raw::c_uint;
25930pub type VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
25931#[repr(C)]
25932#[derive(Debug, Copy, Clone)]
25933pub struct VkPipelineCoverageModulationStateCreateInfoNV {
25934    pub sType: VkStructureType,
25935    pub pNext: *const ::std::os::raw::c_void,
25936    pub flags: VkPipelineCoverageModulationStateCreateFlagsNV,
25937    pub coverageModulationMode: VkCoverageModulationModeNV,
25938    pub coverageModulationTableEnable: VkBool32,
25939    pub coverageModulationTableCount: u32,
25940    pub pCoverageModulationTable: *const f32,
25941}
25942pub type VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD;
25943#[repr(C)]
25944#[derive(Debug, Copy, Clone)]
25945pub struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
25946    pub sType: VkStructureType,
25947    pub pNext: *mut ::std::os::raw::c_void,
25948    pub shaderSMCount: u32,
25949    pub shaderWarpsPerSM: u32,
25950}
25951#[repr(C)]
25952#[derive(Debug, Copy, Clone)]
25953pub struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
25954    pub sType: VkStructureType,
25955    pub pNext: *mut ::std::os::raw::c_void,
25956    pub shaderSMBuiltins: VkBool32,
25957}
25958#[repr(C)]
25959#[derive(Debug, Copy, Clone)]
25960pub struct VkDrmFormatModifierPropertiesEXT {
25961    pub drmFormatModifier: u64,
25962    pub drmFormatModifierPlaneCount: u32,
25963    pub drmFormatModifierTilingFeatures: VkFormatFeatureFlags,
25964}
25965#[repr(C)]
25966#[derive(Debug, Copy, Clone)]
25967pub struct VkDrmFormatModifierPropertiesListEXT {
25968    pub sType: VkStructureType,
25969    pub pNext: *mut ::std::os::raw::c_void,
25970    pub drmFormatModifierCount: u32,
25971    pub pDrmFormatModifierProperties: *mut VkDrmFormatModifierPropertiesEXT,
25972}
25973#[repr(C)]
25974#[derive(Debug, Copy, Clone)]
25975pub struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
25976    pub sType: VkStructureType,
25977    pub pNext: *const ::std::os::raw::c_void,
25978    pub drmFormatModifier: u64,
25979    pub sharingMode: VkSharingMode,
25980    pub queueFamilyIndexCount: u32,
25981    pub pQueueFamilyIndices: *const u32,
25982}
25983#[repr(C)]
25984#[derive(Debug, Copy, Clone)]
25985pub struct VkImageDrmFormatModifierListCreateInfoEXT {
25986    pub sType: VkStructureType,
25987    pub pNext: *const ::std::os::raw::c_void,
25988    pub drmFormatModifierCount: u32,
25989    pub pDrmFormatModifiers: *const u64,
25990}
25991#[repr(C)]
25992#[derive(Debug, Copy, Clone)]
25993pub struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
25994    pub sType: VkStructureType,
25995    pub pNext: *const ::std::os::raw::c_void,
25996    pub drmFormatModifier: u64,
25997    pub drmFormatModifierPlaneCount: u32,
25998    pub pPlaneLayouts: *const VkSubresourceLayout,
25999}
26000#[repr(C)]
26001#[derive(Debug, Copy, Clone)]
26002pub struct VkImageDrmFormatModifierPropertiesEXT {
26003    pub sType: VkStructureType,
26004    pub pNext: *mut ::std::os::raw::c_void,
26005    pub drmFormatModifier: u64,
26006}
26007#[repr(C)]
26008#[derive(Debug, Copy, Clone)]
26009pub struct VkDrmFormatModifierProperties2EXT {
26010    pub drmFormatModifier: u64,
26011    pub drmFormatModifierPlaneCount: u32,
26012    pub drmFormatModifierTilingFeatures: VkFormatFeatureFlags2,
26013}
26014#[repr(C)]
26015#[derive(Debug, Copy, Clone)]
26016pub struct VkDrmFormatModifierPropertiesList2EXT {
26017    pub sType: VkStructureType,
26018    pub pNext: *mut ::std::os::raw::c_void,
26019    pub drmFormatModifierCount: u32,
26020    pub pDrmFormatModifierProperties: *mut VkDrmFormatModifierProperties2EXT,
26021}
26022pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = 
26023    unsafe extern "C" fn(
26024        device: VkDevice,
26025        image: VkImage,
26026        pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
26027    ) -> VkResult;
26028
26029extern "C" {
26030    pub fn vkGetImageDrmFormatModifierPropertiesEXT(
26031        device: VkDevice,
26032        image: VkImage,
26033        pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
26034    ) -> VkResult;
26035}
26036#[repr(C)]
26037#[derive(Debug, Copy, Clone)]
26038pub struct VkValidationCacheEXT_T {
26039    _unused: [u8; 0],
26040}
26041pub type VkValidationCacheEXT = *mut VkValidationCacheEXT_T;
26042pub const VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT:
26043    VkValidationCacheHeaderVersionEXT = 1;
26044pub const VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT:
26045    VkValidationCacheHeaderVersionEXT = 2147483647;
26046pub type VkValidationCacheHeaderVersionEXT = ::std::os::raw::c_uint;
26047pub type VkValidationCacheCreateFlagsEXT = VkFlags;
26048#[repr(C)]
26049#[derive(Debug, Copy, Clone)]
26050pub struct VkValidationCacheCreateInfoEXT {
26051    pub sType: VkStructureType,
26052    pub pNext: *const ::std::os::raw::c_void,
26053    pub flags: VkValidationCacheCreateFlagsEXT,
26054    pub initialDataSize: usize,
26055    pub pInitialData: *const ::std::os::raw::c_void,
26056}
26057#[repr(C)]
26058#[derive(Debug, Copy, Clone)]
26059pub struct VkShaderModuleValidationCacheCreateInfoEXT {
26060    pub sType: VkStructureType,
26061    pub pNext: *const ::std::os::raw::c_void,
26062    pub validationCache: VkValidationCacheEXT,
26063}
26064pub type PFN_vkCreateValidationCacheEXT = 
26065    unsafe extern "C" fn(
26066        device: VkDevice,
26067        pCreateInfo: *const VkValidationCacheCreateInfoEXT,
26068        pAllocator: *const VkAllocationCallbacks,
26069        pValidationCache: *mut VkValidationCacheEXT,
26070    ) -> VkResult;
26071
26072pub type PFN_vkDestroyValidationCacheEXT = 
26073    unsafe extern "C" fn(
26074        device: VkDevice,
26075        validationCache: VkValidationCacheEXT,
26076        pAllocator: *const VkAllocationCallbacks,
26077    );
26078
26079pub type PFN_vkMergeValidationCachesEXT = 
26080    unsafe extern "C" fn(
26081        device: VkDevice,
26082        dstCache: VkValidationCacheEXT,
26083        srcCacheCount: u32,
26084        pSrcCaches: *const VkValidationCacheEXT,
26085    ) -> VkResult;
26086
26087pub type PFN_vkGetValidationCacheDataEXT = 
26088    unsafe extern "C" fn(
26089        device: VkDevice,
26090        validationCache: VkValidationCacheEXT,
26091        pDataSize: *mut usize,
26092        pData: *mut ::std::os::raw::c_void,
26093    ) -> VkResult;
26094
26095extern "C" {
26096    pub fn vkCreateValidationCacheEXT(
26097        device: VkDevice,
26098        pCreateInfo: *const VkValidationCacheCreateInfoEXT,
26099        pAllocator: *const VkAllocationCallbacks,
26100        pValidationCache: *mut VkValidationCacheEXT,
26101    ) -> VkResult;
26102}
26103extern "C" {
26104    pub fn vkDestroyValidationCacheEXT(
26105        device: VkDevice,
26106        validationCache: VkValidationCacheEXT,
26107        pAllocator: *const VkAllocationCallbacks,
26108    );
26109}
26110extern "C" {
26111    pub fn vkMergeValidationCachesEXT(
26112        device: VkDevice,
26113        dstCache: VkValidationCacheEXT,
26114        srcCacheCount: u32,
26115        pSrcCaches: *const VkValidationCacheEXT,
26116    ) -> VkResult;
26117}
26118extern "C" {
26119    pub fn vkGetValidationCacheDataEXT(
26120        device: VkDevice,
26121        validationCache: VkValidationCacheEXT,
26122        pDataSize: *mut usize,
26123        pData: *mut ::std::os::raw::c_void,
26124    ) -> VkResult;
26125}
26126pub use self::VkDescriptorBindingFlagBits as VkDescriptorBindingFlagBitsEXT;
26127pub type VkDescriptorBindingFlagsEXT = VkDescriptorBindingFlags;
26128pub type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =
26129    VkDescriptorSetLayoutBindingFlagsCreateInfo;
26130pub type VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeatures;
26131pub type VkPhysicalDeviceDescriptorIndexingPropertiesEXT =
26132    VkPhysicalDeviceDescriptorIndexingProperties;
26133pub type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT =
26134    VkDescriptorSetVariableDescriptorCountAllocateInfo;
26135pub type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT =
26136    VkDescriptorSetVariableDescriptorCountLayoutSupport;
26137pub const VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV:
26138    VkShadingRatePaletteEntryNV = 0;
26139pub const VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV:
26140    VkShadingRatePaletteEntryNV = 1;
26141pub const VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV:
26142    VkShadingRatePaletteEntryNV = 2;
26143pub const VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV:
26144    VkShadingRatePaletteEntryNV = 3;
26145pub const VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV:
26146    VkShadingRatePaletteEntryNV = 4;
26147pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV:
26148    VkShadingRatePaletteEntryNV = 5;
26149pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV : VkShadingRatePaletteEntryNV = 6 ;
26150pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV : VkShadingRatePaletteEntryNV = 7 ;
26151pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV : VkShadingRatePaletteEntryNV = 8 ;
26152pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV : VkShadingRatePaletteEntryNV = 9 ;
26153pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV : VkShadingRatePaletteEntryNV = 10 ;
26154pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV : VkShadingRatePaletteEntryNV = 11 ;
26155pub const VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV:
26156    VkShadingRatePaletteEntryNV = 2147483647;
26157pub type VkShadingRatePaletteEntryNV = ::std::os::raw::c_uint;
26158pub const VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV:
26159    VkCoarseSampleOrderTypeNV = 0;
26160pub const VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV:
26161    VkCoarseSampleOrderTypeNV = 1;
26162pub const VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV:
26163    VkCoarseSampleOrderTypeNV = 2;
26164pub const VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV:
26165    VkCoarseSampleOrderTypeNV = 3;
26166pub const VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV:
26167    VkCoarseSampleOrderTypeNV = 2147483647;
26168pub type VkCoarseSampleOrderTypeNV = ::std::os::raw::c_uint;
26169#[repr(C)]
26170#[derive(Debug, Copy, Clone)]
26171pub struct VkShadingRatePaletteNV {
26172    pub shadingRatePaletteEntryCount: u32,
26173    pub pShadingRatePaletteEntries: *const VkShadingRatePaletteEntryNV,
26174}
26175#[repr(C)]
26176#[derive(Debug, Copy, Clone)]
26177pub struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
26178    pub sType: VkStructureType,
26179    pub pNext: *const ::std::os::raw::c_void,
26180    pub shadingRateImageEnable: VkBool32,
26181    pub viewportCount: u32,
26182    pub pShadingRatePalettes: *const VkShadingRatePaletteNV,
26183}
26184#[repr(C)]
26185#[derive(Debug, Copy, Clone)]
26186pub struct VkPhysicalDeviceShadingRateImageFeaturesNV {
26187    pub sType: VkStructureType,
26188    pub pNext: *mut ::std::os::raw::c_void,
26189    pub shadingRateImage: VkBool32,
26190    pub shadingRateCoarseSampleOrder: VkBool32,
26191}
26192#[repr(C)]
26193#[derive(Debug, Copy, Clone)]
26194pub struct VkPhysicalDeviceShadingRateImagePropertiesNV {
26195    pub sType: VkStructureType,
26196    pub pNext: *mut ::std::os::raw::c_void,
26197    pub shadingRateTexelSize: VkExtent2D,
26198    pub shadingRatePaletteSize: u32,
26199    pub shadingRateMaxCoarseSamples: u32,
26200}
26201#[repr(C)]
26202#[derive(Debug, Copy, Clone)]
26203pub struct VkCoarseSampleLocationNV {
26204    pub pixelX: u32,
26205    pub pixelY: u32,
26206    pub sample: u32,
26207}
26208#[repr(C)]
26209#[derive(Debug, Copy, Clone)]
26210pub struct VkCoarseSampleOrderCustomNV {
26211    pub shadingRate: VkShadingRatePaletteEntryNV,
26212    pub sampleCount: u32,
26213    pub sampleLocationCount: u32,
26214    pub pSampleLocations: *const VkCoarseSampleLocationNV,
26215}
26216#[repr(C)]
26217#[derive(Debug, Copy, Clone)]
26218pub struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
26219    pub sType: VkStructureType,
26220    pub pNext: *const ::std::os::raw::c_void,
26221    pub sampleOrderType: VkCoarseSampleOrderTypeNV,
26222    pub customSampleOrderCount: u32,
26223    pub pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
26224}
26225pub type PFN_vkCmdBindShadingRateImageNV = 
26226    unsafe extern "C" fn(
26227        commandBuffer: VkCommandBuffer,
26228        imageView: VkImageView,
26229        imageLayout: VkImageLayout,
26230    );
26231
26232pub type PFN_vkCmdSetViewportShadingRatePaletteNV = 
26233    unsafe extern "C" fn(
26234        commandBuffer: VkCommandBuffer,
26235        firstViewport: u32,
26236        viewportCount: u32,
26237        pShadingRatePalettes: *const VkShadingRatePaletteNV,
26238    );
26239
26240pub type PFN_vkCmdSetCoarseSampleOrderNV = 
26241    unsafe extern "C" fn(
26242        commandBuffer: VkCommandBuffer,
26243        sampleOrderType: VkCoarseSampleOrderTypeNV,
26244        customSampleOrderCount: u32,
26245        pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
26246    );
26247
26248extern "C" {
26249    pub fn vkCmdBindShadingRateImageNV(
26250        commandBuffer: VkCommandBuffer,
26251        imageView: VkImageView,
26252        imageLayout: VkImageLayout,
26253    );
26254}
26255extern "C" {
26256    pub fn vkCmdSetViewportShadingRatePaletteNV(
26257        commandBuffer: VkCommandBuffer,
26258        firstViewport: u32,
26259        viewportCount: u32,
26260        pShadingRatePalettes: *const VkShadingRatePaletteNV,
26261    );
26262}
26263extern "C" {
26264    pub fn vkCmdSetCoarseSampleOrderNV(
26265        commandBuffer: VkCommandBuffer,
26266        sampleOrderType: VkCoarseSampleOrderTypeNV,
26267        customSampleOrderCount: u32,
26268        pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
26269    );
26270}
26271#[repr(C)]
26272#[derive(Debug, Copy, Clone)]
26273pub struct VkAccelerationStructureNV_T {
26274    _unused: [u8; 0],
26275}
26276pub type VkAccelerationStructureNV = *mut VkAccelerationStructureNV_T;
26277pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR:
26278    VkRayTracingShaderGroupTypeKHR = 0;
26279pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR : VkRayTracingShaderGroupTypeKHR = 1 ;
26280pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR : VkRayTracingShaderGroupTypeKHR = 2 ;
26281pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV:
26282    VkRayTracingShaderGroupTypeKHR = 0;
26283pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV:
26284    VkRayTracingShaderGroupTypeKHR = 1;
26285pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV : VkRayTracingShaderGroupTypeKHR = 2 ;
26286pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR:
26287    VkRayTracingShaderGroupTypeKHR = 2147483647;
26288pub type VkRayTracingShaderGroupTypeKHR = ::std::os::raw::c_uint;
26289pub use self::VkRayTracingShaderGroupTypeKHR as VkRayTracingShaderGroupTypeNV;
26290pub const VK_GEOMETRY_TYPE_TRIANGLES_KHR: VkGeometryTypeKHR = 0;
26291pub const VK_GEOMETRY_TYPE_AABBS_KHR: VkGeometryTypeKHR = 1;
26292pub const VK_GEOMETRY_TYPE_INSTANCES_KHR: VkGeometryTypeKHR = 2;
26293pub const VK_GEOMETRY_TYPE_TRIANGLES_NV: VkGeometryTypeKHR = 0;
26294pub const VK_GEOMETRY_TYPE_AABBS_NV: VkGeometryTypeKHR = 1;
26295pub const VK_GEOMETRY_TYPE_MAX_ENUM_KHR: VkGeometryTypeKHR = 2147483647;
26296pub type VkGeometryTypeKHR = ::std::os::raw::c_uint;
26297pub use self::VkGeometryTypeKHR as VkGeometryTypeNV;
26298pub const VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR:
26299    VkAccelerationStructureTypeKHR = 0;
26300pub const VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR:
26301    VkAccelerationStructureTypeKHR = 1;
26302pub const VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR:
26303    VkAccelerationStructureTypeKHR = 2;
26304pub const VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV:
26305    VkAccelerationStructureTypeKHR = 0;
26306pub const VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV:
26307    VkAccelerationStructureTypeKHR = 1;
26308pub const VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR:
26309    VkAccelerationStructureTypeKHR = 2147483647;
26310pub type VkAccelerationStructureTypeKHR = ::std::os::raw::c_uint;
26311pub use self::VkAccelerationStructureTypeKHR as VkAccelerationStructureTypeNV;
26312pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR:
26313    VkCopyAccelerationStructureModeKHR = 0;
26314pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR:
26315    VkCopyAccelerationStructureModeKHR = 1;
26316pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR:
26317    VkCopyAccelerationStructureModeKHR = 2;
26318pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR:
26319    VkCopyAccelerationStructureModeKHR = 3;
26320pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV:
26321    VkCopyAccelerationStructureModeKHR = 0;
26322pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV:
26323    VkCopyAccelerationStructureModeKHR = 1;
26324pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR:
26325    VkCopyAccelerationStructureModeKHR = 2147483647;
26326pub type VkCopyAccelerationStructureModeKHR = ::std::os::raw::c_uint;
26327pub use self::VkCopyAccelerationStructureModeKHR as VkCopyAccelerationStructureModeNV;
26328pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV : VkAccelerationStructureMemoryRequirementsTypeNV = 0 ;
26329pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV : VkAccelerationStructureMemoryRequirementsTypeNV = 1 ;
26330pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV : VkAccelerationStructureMemoryRequirementsTypeNV = 2 ;
26331pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV : VkAccelerationStructureMemoryRequirementsTypeNV = 2147483647 ;
26332pub type VkAccelerationStructureMemoryRequirementsTypeNV = ::std::os::raw::c_uint;
26333pub const VK_GEOMETRY_OPAQUE_BIT_KHR: VkGeometryFlagBitsKHR = 1;
26334pub const VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR:
26335    VkGeometryFlagBitsKHR = 2;
26336pub const VK_GEOMETRY_OPAQUE_BIT_NV: VkGeometryFlagBitsKHR = 1;
26337pub const VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV:
26338    VkGeometryFlagBitsKHR = 2;
26339pub const VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR: VkGeometryFlagBitsKHR =
26340    2147483647;
26341pub type VkGeometryFlagBitsKHR = ::std::os::raw::c_uint;
26342pub type VkGeometryFlagsKHR = VkFlags;
26343pub type VkGeometryFlagsNV = VkGeometryFlagsKHR;
26344pub use self::VkGeometryFlagBitsKHR as VkGeometryFlagBitsNV;
26345pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR : VkGeometryInstanceFlagBitsKHR = 1 ;
26346pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR:
26347    VkGeometryInstanceFlagBitsKHR = 2;
26348pub const VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR:
26349    VkGeometryInstanceFlagBitsKHR = 4;
26350pub const VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR:
26351    VkGeometryInstanceFlagBitsKHR = 8;
26352pub const VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT:
26353    VkGeometryInstanceFlagBitsKHR = 16;
26354pub const VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT:
26355    VkGeometryInstanceFlagBitsKHR = 32;
26356pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR : VkGeometryInstanceFlagBitsKHR = 2 ;
26357pub const VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV:
26358    VkGeometryInstanceFlagBitsKHR = 1;
26359pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV : VkGeometryInstanceFlagBitsKHR = 2 ;
26360pub const VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV:
26361    VkGeometryInstanceFlagBitsKHR = 4;
26362pub const VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV:
26363    VkGeometryInstanceFlagBitsKHR = 8;
26364pub const VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR:
26365    VkGeometryInstanceFlagBitsKHR = 2147483647;
26366pub type VkGeometryInstanceFlagBitsKHR = ::std::os::raw::c_uint;
26367pub type VkGeometryInstanceFlagsKHR = VkFlags;
26368pub type VkGeometryInstanceFlagsNV = VkGeometryInstanceFlagsKHR;
26369pub use self::VkGeometryInstanceFlagBitsKHR as VkGeometryInstanceFlagBitsNV;
26370pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR : VkBuildAccelerationStructureFlagBitsKHR = 1 ;
26371pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR : VkBuildAccelerationStructureFlagBitsKHR = 2 ;
26372pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR : VkBuildAccelerationStructureFlagBitsKHR = 4 ;
26373pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR : VkBuildAccelerationStructureFlagBitsKHR = 8 ;
26374pub const VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR : VkBuildAccelerationStructureFlagBitsKHR = 16 ;
26375pub const VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV:
26376    VkBuildAccelerationStructureFlagBitsKHR = 32;
26377pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT : VkBuildAccelerationStructureFlagBitsKHR = 64 ;
26378pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT : VkBuildAccelerationStructureFlagBitsKHR = 128 ;
26379pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT : VkBuildAccelerationStructureFlagBitsKHR = 256 ;
26380pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV : VkBuildAccelerationStructureFlagBitsKHR = 512 ;
26381pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR : VkBuildAccelerationStructureFlagBitsKHR = 2048 ;
26382pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV : VkBuildAccelerationStructureFlagBitsKHR = 1 ;
26383pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV : VkBuildAccelerationStructureFlagBitsKHR = 2 ;
26384pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV : VkBuildAccelerationStructureFlagBitsKHR = 4 ;
26385pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV : VkBuildAccelerationStructureFlagBitsKHR = 8 ;
26386pub const VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV : VkBuildAccelerationStructureFlagBitsKHR = 16 ;
26387pub const VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR : VkBuildAccelerationStructureFlagBitsKHR = 2147483647 ;
26388pub type VkBuildAccelerationStructureFlagBitsKHR = ::std::os::raw::c_uint;
26389pub type VkBuildAccelerationStructureFlagsKHR = VkFlags;
26390pub type VkBuildAccelerationStructureFlagsNV = VkBuildAccelerationStructureFlagsKHR;
26391pub use self::VkBuildAccelerationStructureFlagBitsKHR as VkBuildAccelerationStructureFlagBitsNV;
26392#[repr(C)]
26393#[derive(Debug, Copy, Clone)]
26394pub struct VkRayTracingShaderGroupCreateInfoNV {
26395    pub sType: VkStructureType,
26396    pub pNext: *const ::std::os::raw::c_void,
26397    pub type_: VkRayTracingShaderGroupTypeKHR,
26398    pub generalShader: u32,
26399    pub closestHitShader: u32,
26400    pub anyHitShader: u32,
26401    pub intersectionShader: u32,
26402}
26403#[repr(C)]
26404#[derive(Debug, Copy, Clone)]
26405pub struct VkRayTracingPipelineCreateInfoNV {
26406    pub sType: VkStructureType,
26407    pub pNext: *const ::std::os::raw::c_void,
26408    pub flags: VkPipelineCreateFlags,
26409    pub stageCount: u32,
26410    pub pStages: *const VkPipelineShaderStageCreateInfo,
26411    pub groupCount: u32,
26412    pub pGroups: *const VkRayTracingShaderGroupCreateInfoNV,
26413    pub maxRecursionDepth: u32,
26414    pub layout: VkPipelineLayout,
26415    pub basePipelineHandle: VkPipeline,
26416    pub basePipelineIndex: i32,
26417}
26418#[repr(C)]
26419#[derive(Debug, Copy, Clone)]
26420pub struct VkGeometryTrianglesNV {
26421    pub sType: VkStructureType,
26422    pub pNext: *const ::std::os::raw::c_void,
26423    pub vertexData: VkBuffer,
26424    pub vertexOffset: VkDeviceSize,
26425    pub vertexCount: u32,
26426    pub vertexStride: VkDeviceSize,
26427    pub vertexFormat: VkFormat,
26428    pub indexData: VkBuffer,
26429    pub indexOffset: VkDeviceSize,
26430    pub indexCount: u32,
26431    pub indexType: VkIndexType,
26432    pub transformData: VkBuffer,
26433    pub transformOffset: VkDeviceSize,
26434}
26435#[repr(C)]
26436#[derive(Debug, Copy, Clone)]
26437pub struct VkGeometryAABBNV {
26438    pub sType: VkStructureType,
26439    pub pNext: *const ::std::os::raw::c_void,
26440    pub aabbData: VkBuffer,
26441    pub numAABBs: u32,
26442    pub stride: u32,
26443    pub offset: VkDeviceSize,
26444}
26445#[repr(C)]
26446#[derive(Debug, Copy, Clone)]
26447pub struct VkGeometryDataNV {
26448    pub triangles: VkGeometryTrianglesNV,
26449    pub aabbs: VkGeometryAABBNV,
26450}
26451#[repr(C)]
26452#[derive(Debug, Copy, Clone)]
26453pub struct VkGeometryNV {
26454    pub sType: VkStructureType,
26455    pub pNext: *const ::std::os::raw::c_void,
26456    pub geometryType: VkGeometryTypeKHR,
26457    pub geometry: VkGeometryDataNV,
26458    pub flags: VkGeometryFlagsKHR,
26459}
26460#[repr(C)]
26461#[derive(Debug, Copy, Clone)]
26462pub struct VkAccelerationStructureInfoNV {
26463    pub sType: VkStructureType,
26464    pub pNext: *const ::std::os::raw::c_void,
26465    pub type_: VkAccelerationStructureTypeNV,
26466    pub flags: VkBuildAccelerationStructureFlagsNV,
26467    pub instanceCount: u32,
26468    pub geometryCount: u32,
26469    pub pGeometries: *const VkGeometryNV,
26470}
26471#[repr(C)]
26472#[derive(Debug, Copy, Clone)]
26473pub struct VkAccelerationStructureCreateInfoNV {
26474    pub sType: VkStructureType,
26475    pub pNext: *const ::std::os::raw::c_void,
26476    pub compactedSize: VkDeviceSize,
26477    pub info: VkAccelerationStructureInfoNV,
26478}
26479#[repr(C)]
26480#[derive(Debug, Copy, Clone)]
26481pub struct VkBindAccelerationStructureMemoryInfoNV {
26482    pub sType: VkStructureType,
26483    pub pNext: *const ::std::os::raw::c_void,
26484    pub accelerationStructure: VkAccelerationStructureNV,
26485    pub memory: VkDeviceMemory,
26486    pub memoryOffset: VkDeviceSize,
26487    pub deviceIndexCount: u32,
26488    pub pDeviceIndices: *const u32,
26489}
26490#[repr(C)]
26491#[derive(Debug, Copy, Clone)]
26492pub struct VkWriteDescriptorSetAccelerationStructureNV {
26493    pub sType: VkStructureType,
26494    pub pNext: *const ::std::os::raw::c_void,
26495    pub accelerationStructureCount: u32,
26496    pub pAccelerationStructures: *const VkAccelerationStructureNV,
26497}
26498#[repr(C)]
26499#[derive(Debug, Copy, Clone)]
26500pub struct VkAccelerationStructureMemoryRequirementsInfoNV {
26501    pub sType: VkStructureType,
26502    pub pNext: *const ::std::os::raw::c_void,
26503    pub type_: VkAccelerationStructureMemoryRequirementsTypeNV,
26504    pub accelerationStructure: VkAccelerationStructureNV,
26505}
26506#[repr(C)]
26507#[derive(Debug, Copy, Clone)]
26508pub struct VkPhysicalDeviceRayTracingPropertiesNV {
26509    pub sType: VkStructureType,
26510    pub pNext: *mut ::std::os::raw::c_void,
26511    pub shaderGroupHandleSize: u32,
26512    pub maxRecursionDepth: u32,
26513    pub maxShaderGroupStride: u32,
26514    pub shaderGroupBaseAlignment: u32,
26515    pub maxGeometryCount: u64,
26516    pub maxInstanceCount: u64,
26517    pub maxTriangleCount: u64,
26518    pub maxDescriptorSetAccelerationStructures: u32,
26519}
26520#[repr(C)]
26521#[derive(Debug, Copy, Clone)]
26522pub struct VkTransformMatrixKHR {
26523    pub matrix: [[f32; 4usize]; 3usize],
26524}
26525pub type VkTransformMatrixNV = VkTransformMatrixKHR;
26526#[repr(C)]
26527#[derive(Debug, Copy, Clone)]
26528pub struct VkAabbPositionsKHR {
26529    pub minX: f32,
26530    pub minY: f32,
26531    pub minZ: f32,
26532    pub maxX: f32,
26533    pub maxY: f32,
26534    pub maxZ: f32,
26535}
26536pub type VkAabbPositionsNV = VkAabbPositionsKHR;
26537#[repr(C)]
26538#[derive(Debug, Copy, Clone)]
26539pub struct VkAccelerationStructureInstanceKHR {
26540    pub transform: VkTransformMatrixKHR,
26541    pub _bitfield_align_1: [u32; 0],
26542    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
26543    pub accelerationStructureReference: u64,
26544}
26545impl VkAccelerationStructureInstanceKHR {
26546    #[inline]
26547    pub fn instanceCustomIndex(&self) -> u32 {
26548        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) }
26549    }
26550    #[inline]
26551    pub fn set_instanceCustomIndex(&mut self, val: u32) {
26552        unsafe {
26553            let val: u32 = ::std::mem::transmute(val);
26554            self._bitfield_1.set(0usize, 24u8, val as u64)
26555        }
26556    }
26557    #[inline]
26558    pub fn mask(&self) -> u32 {
26559        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
26560    }
26561    #[inline]
26562    pub fn set_mask(&mut self, val: u32) {
26563        unsafe {
26564            let val: u32 = ::std::mem::transmute(val);
26565            self._bitfield_1.set(24usize, 8u8, val as u64)
26566        }
26567    }
26568    #[inline]
26569    pub fn instanceShaderBindingTableRecordOffset(&self) -> u32 {
26570        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 24u8) as u32) }
26571    }
26572    #[inline]
26573    pub fn set_instanceShaderBindingTableRecordOffset(&mut self, val: u32) {
26574        unsafe {
26575            let val: u32 = ::std::mem::transmute(val);
26576            self._bitfield_1.set(32usize, 24u8, val as u64)
26577        }
26578    }
26579    #[inline]
26580    pub fn flags(&self) -> VkGeometryInstanceFlagsKHR {
26581        unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 8u8) as u32) }
26582    }
26583    #[inline]
26584    pub fn set_flags(&mut self, val: VkGeometryInstanceFlagsKHR) {
26585        unsafe {
26586            let val: u32 = ::std::mem::transmute(val);
26587            self._bitfield_1.set(56usize, 8u8, val as u64)
26588        }
26589    }
26590    #[inline]
26591    pub fn new_bitfield_1(
26592        instanceCustomIndex: u32,
26593        mask: u32,
26594        instanceShaderBindingTableRecordOffset: u32,
26595        flags: VkGeometryInstanceFlagsKHR,
26596    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
26597        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
26598        __bindgen_bitfield_unit.set(0usize, 24u8, {
26599            let instanceCustomIndex: u32 = unsafe { ::std::mem::transmute(instanceCustomIndex) };
26600            instanceCustomIndex as u64
26601        });
26602        __bindgen_bitfield_unit.set(24usize, 8u8, {
26603            let mask: u32 = unsafe { ::std::mem::transmute(mask) };
26604            mask as u64
26605        });
26606        __bindgen_bitfield_unit.set(32usize, 24u8, {
26607            let instanceShaderBindingTableRecordOffset: u32 =
26608                unsafe { ::std::mem::transmute(instanceShaderBindingTableRecordOffset) };
26609            instanceShaderBindingTableRecordOffset as u64
26610        });
26611        __bindgen_bitfield_unit.set(56usize, 8u8, {
26612            let flags: u32 = unsafe { ::std::mem::transmute(flags) };
26613            flags as u64
26614        });
26615        __bindgen_bitfield_unit
26616    }
26617}
26618pub type VkAccelerationStructureInstanceNV = VkAccelerationStructureInstanceKHR;
26619pub type PFN_vkCreateAccelerationStructureNV = 
26620    unsafe extern "C" fn(
26621        device: VkDevice,
26622        pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
26623        pAllocator: *const VkAllocationCallbacks,
26624        pAccelerationStructure: *mut VkAccelerationStructureNV,
26625    ) -> VkResult;
26626
26627pub type PFN_vkDestroyAccelerationStructureNV = 
26628    unsafe extern "C" fn(
26629        device: VkDevice,
26630        accelerationStructure: VkAccelerationStructureNV,
26631        pAllocator: *const VkAllocationCallbacks,
26632    );
26633
26634pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = 
26635    unsafe extern "C" fn(
26636        device: VkDevice,
26637        pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
26638        pMemoryRequirements: *mut VkMemoryRequirements2KHR,
26639    );
26640
26641pub type PFN_vkBindAccelerationStructureMemoryNV = 
26642    unsafe extern "C" fn(
26643        device: VkDevice,
26644        bindInfoCount: u32,
26645        pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
26646    ) -> VkResult;
26647
26648pub type PFN_vkCmdBuildAccelerationStructureNV = 
26649    unsafe extern "C" fn(
26650        commandBuffer: VkCommandBuffer,
26651        pInfo: *const VkAccelerationStructureInfoNV,
26652        instanceData: VkBuffer,
26653        instanceOffset: VkDeviceSize,
26654        update: VkBool32,
26655        dst: VkAccelerationStructureNV,
26656        src: VkAccelerationStructureNV,
26657        scratch: VkBuffer,
26658        scratchOffset: VkDeviceSize,
26659    );
26660
26661pub type PFN_vkCmdCopyAccelerationStructureNV = 
26662    unsafe extern "C" fn(
26663        commandBuffer: VkCommandBuffer,
26664        dst: VkAccelerationStructureNV,
26665        src: VkAccelerationStructureNV,
26666        mode: VkCopyAccelerationStructureModeKHR,
26667    );
26668
26669pub type PFN_vkCmdTraceRaysNV = 
26670    unsafe extern "C" fn(
26671        commandBuffer: VkCommandBuffer,
26672        raygenShaderBindingTableBuffer: VkBuffer,
26673        raygenShaderBindingOffset: VkDeviceSize,
26674        missShaderBindingTableBuffer: VkBuffer,
26675        missShaderBindingOffset: VkDeviceSize,
26676        missShaderBindingStride: VkDeviceSize,
26677        hitShaderBindingTableBuffer: VkBuffer,
26678        hitShaderBindingOffset: VkDeviceSize,
26679        hitShaderBindingStride: VkDeviceSize,
26680        callableShaderBindingTableBuffer: VkBuffer,
26681        callableShaderBindingOffset: VkDeviceSize,
26682        callableShaderBindingStride: VkDeviceSize,
26683        width: u32,
26684        height: u32,
26685        depth: u32,
26686    );
26687
26688pub type PFN_vkCreateRayTracingPipelinesNV = 
26689    unsafe extern "C" fn(
26690        device: VkDevice,
26691        pipelineCache: VkPipelineCache,
26692        createInfoCount: u32,
26693        pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
26694        pAllocator: *const VkAllocationCallbacks,
26695        pPipelines: *mut VkPipeline,
26696    ) -> VkResult;
26697
26698pub type PFN_vkGetRayTracingShaderGroupHandlesKHR = 
26699    unsafe extern "C" fn(
26700        device: VkDevice,
26701        pipeline: VkPipeline,
26702        firstGroup: u32,
26703        groupCount: u32,
26704        dataSize: usize,
26705        pData: *mut ::std::os::raw::c_void,
26706    ) -> VkResult;
26707
26708pub type PFN_vkGetRayTracingShaderGroupHandlesNV = 
26709    unsafe extern "C" fn(
26710        device: VkDevice,
26711        pipeline: VkPipeline,
26712        firstGroup: u32,
26713        groupCount: u32,
26714        dataSize: usize,
26715        pData: *mut ::std::os::raw::c_void,
26716    ) -> VkResult;
26717
26718pub type PFN_vkGetAccelerationStructureHandleNV = 
26719    unsafe extern "C" fn(
26720        device: VkDevice,
26721        accelerationStructure: VkAccelerationStructureNV,
26722        dataSize: usize,
26723        pData: *mut ::std::os::raw::c_void,
26724    ) -> VkResult;
26725
26726pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = 
26727    unsafe extern "C" fn(
26728        commandBuffer: VkCommandBuffer,
26729        accelerationStructureCount: u32,
26730        pAccelerationStructures: *const VkAccelerationStructureNV,
26731        queryType: VkQueryType,
26732        queryPool: VkQueryPool,
26733        firstQuery: u32,
26734    );
26735
26736pub type PFN_vkCompileDeferredNV = 
26737    unsafe extern "C" fn(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult;
26738
26739extern "C" {
26740    pub fn vkCreateAccelerationStructureNV(
26741        device: VkDevice,
26742        pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
26743        pAllocator: *const VkAllocationCallbacks,
26744        pAccelerationStructure: *mut VkAccelerationStructureNV,
26745    ) -> VkResult;
26746}
26747extern "C" {
26748    pub fn vkDestroyAccelerationStructureNV(
26749        device: VkDevice,
26750        accelerationStructure: VkAccelerationStructureNV,
26751        pAllocator: *const VkAllocationCallbacks,
26752    );
26753}
26754extern "C" {
26755    pub fn vkGetAccelerationStructureMemoryRequirementsNV(
26756        device: VkDevice,
26757        pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
26758        pMemoryRequirements: *mut VkMemoryRequirements2KHR,
26759    );
26760}
26761extern "C" {
26762    pub fn vkBindAccelerationStructureMemoryNV(
26763        device: VkDevice,
26764        bindInfoCount: u32,
26765        pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
26766    ) -> VkResult;
26767}
26768extern "C" {
26769    pub fn vkCmdBuildAccelerationStructureNV(
26770        commandBuffer: VkCommandBuffer,
26771        pInfo: *const VkAccelerationStructureInfoNV,
26772        instanceData: VkBuffer,
26773        instanceOffset: VkDeviceSize,
26774        update: VkBool32,
26775        dst: VkAccelerationStructureNV,
26776        src: VkAccelerationStructureNV,
26777        scratch: VkBuffer,
26778        scratchOffset: VkDeviceSize,
26779    );
26780}
26781extern "C" {
26782    pub fn vkCmdCopyAccelerationStructureNV(
26783        commandBuffer: VkCommandBuffer,
26784        dst: VkAccelerationStructureNV,
26785        src: VkAccelerationStructureNV,
26786        mode: VkCopyAccelerationStructureModeKHR,
26787    );
26788}
26789extern "C" {
26790    pub fn vkCmdTraceRaysNV(
26791        commandBuffer: VkCommandBuffer,
26792        raygenShaderBindingTableBuffer: VkBuffer,
26793        raygenShaderBindingOffset: VkDeviceSize,
26794        missShaderBindingTableBuffer: VkBuffer,
26795        missShaderBindingOffset: VkDeviceSize,
26796        missShaderBindingStride: VkDeviceSize,
26797        hitShaderBindingTableBuffer: VkBuffer,
26798        hitShaderBindingOffset: VkDeviceSize,
26799        hitShaderBindingStride: VkDeviceSize,
26800        callableShaderBindingTableBuffer: VkBuffer,
26801        callableShaderBindingOffset: VkDeviceSize,
26802        callableShaderBindingStride: VkDeviceSize,
26803        width: u32,
26804        height: u32,
26805        depth: u32,
26806    );
26807}
26808extern "C" {
26809    pub fn vkCreateRayTracingPipelinesNV(
26810        device: VkDevice,
26811        pipelineCache: VkPipelineCache,
26812        createInfoCount: u32,
26813        pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
26814        pAllocator: *const VkAllocationCallbacks,
26815        pPipelines: *mut VkPipeline,
26816    ) -> VkResult;
26817}
26818extern "C" {
26819    pub fn vkGetRayTracingShaderGroupHandlesKHR(
26820        device: VkDevice,
26821        pipeline: VkPipeline,
26822        firstGroup: u32,
26823        groupCount: u32,
26824        dataSize: usize,
26825        pData: *mut ::std::os::raw::c_void,
26826    ) -> VkResult;
26827}
26828extern "C" {
26829    pub fn vkGetRayTracingShaderGroupHandlesNV(
26830        device: VkDevice,
26831        pipeline: VkPipeline,
26832        firstGroup: u32,
26833        groupCount: u32,
26834        dataSize: usize,
26835        pData: *mut ::std::os::raw::c_void,
26836    ) -> VkResult;
26837}
26838extern "C" {
26839    pub fn vkGetAccelerationStructureHandleNV(
26840        device: VkDevice,
26841        accelerationStructure: VkAccelerationStructureNV,
26842        dataSize: usize,
26843        pData: *mut ::std::os::raw::c_void,
26844    ) -> VkResult;
26845}
26846extern "C" {
26847    pub fn vkCmdWriteAccelerationStructuresPropertiesNV(
26848        commandBuffer: VkCommandBuffer,
26849        accelerationStructureCount: u32,
26850        pAccelerationStructures: *const VkAccelerationStructureNV,
26851        queryType: VkQueryType,
26852        queryPool: VkQueryPool,
26853        firstQuery: u32,
26854    );
26855}
26856extern "C" {
26857    pub fn vkCompileDeferredNV(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult;
26858}
26859#[repr(C)]
26860#[derive(Debug, Copy, Clone)]
26861pub struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
26862    pub sType: VkStructureType,
26863    pub pNext: *mut ::std::os::raw::c_void,
26864    pub representativeFragmentTest: VkBool32,
26865}
26866#[repr(C)]
26867#[derive(Debug, Copy, Clone)]
26868pub struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
26869    pub sType: VkStructureType,
26870    pub pNext: *const ::std::os::raw::c_void,
26871    pub representativeFragmentTestEnable: VkBool32,
26872}
26873#[repr(C)]
26874#[derive(Debug, Copy, Clone)]
26875pub struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
26876    pub sType: VkStructureType,
26877    pub pNext: *mut ::std::os::raw::c_void,
26878    pub imageViewType: VkImageViewType,
26879}
26880#[repr(C)]
26881#[derive(Debug, Copy, Clone)]
26882pub struct VkFilterCubicImageViewImageFormatPropertiesEXT {
26883    pub sType: VkStructureType,
26884    pub pNext: *mut ::std::os::raw::c_void,
26885    pub filterCubic: VkBool32,
26886    pub filterCubicMinmax: VkBool32,
26887}
26888pub use self::VkQueueGlobalPriorityKHR as VkQueueGlobalPriorityEXT;
26889pub type VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR;
26890#[repr(C)]
26891#[derive(Debug, Copy, Clone)]
26892pub struct VkImportMemoryHostPointerInfoEXT {
26893    pub sType: VkStructureType,
26894    pub pNext: *const ::std::os::raw::c_void,
26895    pub handleType: VkExternalMemoryHandleTypeFlagBits,
26896    pub pHostPointer: *mut ::std::os::raw::c_void,
26897}
26898#[repr(C)]
26899#[derive(Debug, Copy, Clone)]
26900pub struct VkMemoryHostPointerPropertiesEXT {
26901    pub sType: VkStructureType,
26902    pub pNext: *mut ::std::os::raw::c_void,
26903    pub memoryTypeBits: u32,
26904}
26905#[repr(C)]
26906#[derive(Debug, Copy, Clone)]
26907pub struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
26908    pub sType: VkStructureType,
26909    pub pNext: *mut ::std::os::raw::c_void,
26910    pub minImportedHostPointerAlignment: VkDeviceSize,
26911}
26912pub type PFN_vkGetMemoryHostPointerPropertiesEXT = 
26913    unsafe extern "C" fn(
26914        device: VkDevice,
26915        handleType: VkExternalMemoryHandleTypeFlagBits,
26916        pHostPointer: *const ::std::os::raw::c_void,
26917        pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
26918    ) -> VkResult;
26919
26920extern "C" {
26921    pub fn vkGetMemoryHostPointerPropertiesEXT(
26922        device: VkDevice,
26923        handleType: VkExternalMemoryHandleTypeFlagBits,
26924        pHostPointer: *const ::std::os::raw::c_void,
26925        pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
26926    ) -> VkResult;
26927}
26928pub type PFN_vkCmdWriteBufferMarkerAMD = 
26929    unsafe extern "C" fn(
26930        commandBuffer: VkCommandBuffer,
26931        pipelineStage: VkPipelineStageFlagBits,
26932        dstBuffer: VkBuffer,
26933        dstOffset: VkDeviceSize,
26934        marker: u32,
26935    );
26936
26937pub type PFN_vkCmdWriteBufferMarker2AMD = 
26938    unsafe extern "C" fn(
26939        commandBuffer: VkCommandBuffer,
26940        stage: VkPipelineStageFlags2,
26941        dstBuffer: VkBuffer,
26942        dstOffset: VkDeviceSize,
26943        marker: u32,
26944    );
26945
26946extern "C" {
26947    pub fn vkCmdWriteBufferMarkerAMD(
26948        commandBuffer: VkCommandBuffer,
26949        pipelineStage: VkPipelineStageFlagBits,
26950        dstBuffer: VkBuffer,
26951        dstOffset: VkDeviceSize,
26952        marker: u32,
26953    );
26954}
26955extern "C" {
26956    pub fn vkCmdWriteBufferMarker2AMD(
26957        commandBuffer: VkCommandBuffer,
26958        stage: VkPipelineStageFlags2,
26959        dstBuffer: VkBuffer,
26960        dstOffset: VkDeviceSize,
26961        marker: u32,
26962    );
26963}
26964pub const VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD : VkPipelineCompilerControlFlagBitsAMD = 2147483647 ;
26965pub type VkPipelineCompilerControlFlagBitsAMD = ::std::os::raw::c_uint;
26966pub type VkPipelineCompilerControlFlagsAMD = VkFlags;
26967#[repr(C)]
26968#[derive(Debug, Copy, Clone)]
26969pub struct VkPipelineCompilerControlCreateInfoAMD {
26970    pub sType: VkStructureType,
26971    pub pNext: *const ::std::os::raw::c_void,
26972    pub compilerControlFlags: VkPipelineCompilerControlFlagsAMD,
26973}
26974pub use self::VkTimeDomainKHR as VkTimeDomainEXT;
26975pub type VkCalibratedTimestampInfoEXT = VkCalibratedTimestampInfoKHR;
26976pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 
26977    unsafe extern "C" fn(
26978        physicalDevice: VkPhysicalDevice,
26979        pTimeDomainCount: *mut u32,
26980        pTimeDomains: *mut VkTimeDomainKHR,
26981    ) -> VkResult;
26982
26983pub type PFN_vkGetCalibratedTimestampsEXT = 
26984    unsafe extern "C" fn(
26985        device: VkDevice,
26986        timestampCount: u32,
26987        pTimestampInfos: *const VkCalibratedTimestampInfoKHR,
26988        pTimestamps: *mut u64,
26989        pMaxDeviation: *mut u64,
26990    ) -> VkResult;
26991
26992extern "C" {
26993    pub fn vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
26994        physicalDevice: VkPhysicalDevice,
26995        pTimeDomainCount: *mut u32,
26996        pTimeDomains: *mut VkTimeDomainKHR,
26997    ) -> VkResult;
26998}
26999extern "C" {
27000    pub fn vkGetCalibratedTimestampsEXT(
27001        device: VkDevice,
27002        timestampCount: u32,
27003        pTimestampInfos: *const VkCalibratedTimestampInfoKHR,
27004        pTimestamps: *mut u64,
27005        pMaxDeviation: *mut u64,
27006    ) -> VkResult;
27007}
27008#[repr(C)]
27009#[derive(Debug, Copy, Clone)]
27010pub struct VkPhysicalDeviceShaderCorePropertiesAMD {
27011    pub sType: VkStructureType,
27012    pub pNext: *mut ::std::os::raw::c_void,
27013    pub shaderEngineCount: u32,
27014    pub shaderArraysPerEngineCount: u32,
27015    pub computeUnitsPerShaderArray: u32,
27016    pub simdPerComputeUnit: u32,
27017    pub wavefrontsPerSimd: u32,
27018    pub wavefrontSize: u32,
27019    pub sgprsPerSimd: u32,
27020    pub minSgprAllocation: u32,
27021    pub maxSgprAllocation: u32,
27022    pub sgprAllocationGranularity: u32,
27023    pub vgprsPerSimd: u32,
27024    pub minVgprAllocation: u32,
27025    pub maxVgprAllocation: u32,
27026    pub vgprAllocationGranularity: u32,
27027}
27028pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD:
27029    VkMemoryOverallocationBehaviorAMD = 0;
27030pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD:
27031    VkMemoryOverallocationBehaviorAMD = 1;
27032pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD:
27033    VkMemoryOverallocationBehaviorAMD = 2;
27034pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD:
27035    VkMemoryOverallocationBehaviorAMD = 2147483647;
27036pub type VkMemoryOverallocationBehaviorAMD = ::std::os::raw::c_uint;
27037#[repr(C)]
27038#[derive(Debug, Copy, Clone)]
27039pub struct VkDeviceMemoryOverallocationCreateInfoAMD {
27040    pub sType: VkStructureType,
27041    pub pNext: *const ::std::os::raw::c_void,
27042    pub overallocationBehavior: VkMemoryOverallocationBehaviorAMD,
27043}
27044#[repr(C)]
27045#[derive(Debug, Copy, Clone)]
27046pub struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
27047    pub sType: VkStructureType,
27048    pub pNext: *mut ::std::os::raw::c_void,
27049    pub maxVertexAttribDivisor: u32,
27050}
27051pub type VkVertexInputBindingDivisorDescriptionEXT = VkVertexInputBindingDivisorDescriptionKHR;
27052pub type VkPipelineVertexInputDivisorStateCreateInfoEXT =
27053    VkPipelineVertexInputDivisorStateCreateInfoKHR;
27054pub type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT =
27055    VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR;
27056pub use self::VkPipelineCreationFeedbackFlagBits as VkPipelineCreationFeedbackFlagBitsEXT;
27057pub type VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags;
27058pub type VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo;
27059pub type VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback;
27060pub type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV =
27061    VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR;
27062#[repr(C)]
27063#[derive(Debug, Copy, Clone)]
27064pub struct VkPhysicalDeviceMeshShaderFeaturesNV {
27065    pub sType: VkStructureType,
27066    pub pNext: *mut ::std::os::raw::c_void,
27067    pub taskShader: VkBool32,
27068    pub meshShader: VkBool32,
27069}
27070#[repr(C)]
27071#[derive(Debug, Copy, Clone)]
27072pub struct VkPhysicalDeviceMeshShaderPropertiesNV {
27073    pub sType: VkStructureType,
27074    pub pNext: *mut ::std::os::raw::c_void,
27075    pub maxDrawMeshTasksCount: u32,
27076    pub maxTaskWorkGroupInvocations: u32,
27077    pub maxTaskWorkGroupSize: [u32; 3usize],
27078    pub maxTaskTotalMemorySize: u32,
27079    pub maxTaskOutputCount: u32,
27080    pub maxMeshWorkGroupInvocations: u32,
27081    pub maxMeshWorkGroupSize: [u32; 3usize],
27082    pub maxMeshTotalMemorySize: u32,
27083    pub maxMeshOutputVertices: u32,
27084    pub maxMeshOutputPrimitives: u32,
27085    pub maxMeshMultiviewViewCount: u32,
27086    pub meshOutputPerVertexGranularity: u32,
27087    pub meshOutputPerPrimitiveGranularity: u32,
27088}
27089#[repr(C)]
27090#[derive(Debug, Copy, Clone)]
27091pub struct VkDrawMeshTasksIndirectCommandNV {
27092    pub taskCount: u32,
27093    pub firstTask: u32,
27094}
27095pub type PFN_vkCmdDrawMeshTasksNV = 
27096    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32);
27097
27098pub type PFN_vkCmdDrawMeshTasksIndirectNV = 
27099    unsafe extern "C" fn(
27100        commandBuffer: VkCommandBuffer,
27101        buffer: VkBuffer,
27102        offset: VkDeviceSize,
27103        drawCount: u32,
27104        stride: u32,
27105    );
27106
27107pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = 
27108    unsafe extern "C" fn(
27109        commandBuffer: VkCommandBuffer,
27110        buffer: VkBuffer,
27111        offset: VkDeviceSize,
27112        countBuffer: VkBuffer,
27113        countBufferOffset: VkDeviceSize,
27114        maxDrawCount: u32,
27115        stride: u32,
27116    );
27117
27118extern "C" {
27119    pub fn vkCmdDrawMeshTasksNV(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32);
27120}
27121extern "C" {
27122    pub fn vkCmdDrawMeshTasksIndirectNV(
27123        commandBuffer: VkCommandBuffer,
27124        buffer: VkBuffer,
27125        offset: VkDeviceSize,
27126        drawCount: u32,
27127        stride: u32,
27128    );
27129}
27130extern "C" {
27131    pub fn vkCmdDrawMeshTasksIndirectCountNV(
27132        commandBuffer: VkCommandBuffer,
27133        buffer: VkBuffer,
27134        offset: VkDeviceSize,
27135        countBuffer: VkBuffer,
27136        countBufferOffset: VkDeviceSize,
27137        maxDrawCount: u32,
27138        stride: u32,
27139    );
27140}
27141pub type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV =
27142    VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
27143#[repr(C)]
27144#[derive(Debug, Copy, Clone)]
27145pub struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
27146    pub sType: VkStructureType,
27147    pub pNext: *mut ::std::os::raw::c_void,
27148    pub imageFootprint: VkBool32,
27149}
27150#[repr(C)]
27151#[derive(Debug, Copy, Clone)]
27152pub struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
27153    pub sType: VkStructureType,
27154    pub pNext: *const ::std::os::raw::c_void,
27155    pub exclusiveScissorCount: u32,
27156    pub pExclusiveScissors: *const VkRect2D,
27157}
27158#[repr(C)]
27159#[derive(Debug, Copy, Clone)]
27160pub struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
27161    pub sType: VkStructureType,
27162    pub pNext: *mut ::std::os::raw::c_void,
27163    pub exclusiveScissor: VkBool32,
27164}
27165pub type PFN_vkCmdSetExclusiveScissorEnableNV = 
27166    unsafe extern "C" fn(
27167        commandBuffer: VkCommandBuffer,
27168        firstExclusiveScissor: u32,
27169        exclusiveScissorCount: u32,
27170        pExclusiveScissorEnables: *const VkBool32,
27171    );
27172
27173pub type PFN_vkCmdSetExclusiveScissorNV = 
27174    unsafe extern "C" fn(
27175        commandBuffer: VkCommandBuffer,
27176        firstExclusiveScissor: u32,
27177        exclusiveScissorCount: u32,
27178        pExclusiveScissors: *const VkRect2D,
27179    );
27180
27181extern "C" {
27182    pub fn vkCmdSetExclusiveScissorEnableNV(
27183        commandBuffer: VkCommandBuffer,
27184        firstExclusiveScissor: u32,
27185        exclusiveScissorCount: u32,
27186        pExclusiveScissorEnables: *const VkBool32,
27187    );
27188}
27189extern "C" {
27190    pub fn vkCmdSetExclusiveScissorNV(
27191        commandBuffer: VkCommandBuffer,
27192        firstExclusiveScissor: u32,
27193        exclusiveScissorCount: u32,
27194        pExclusiveScissors: *const VkRect2D,
27195    );
27196}
27197#[repr(C)]
27198#[derive(Debug, Copy, Clone)]
27199pub struct VkQueueFamilyCheckpointPropertiesNV {
27200    pub sType: VkStructureType,
27201    pub pNext: *mut ::std::os::raw::c_void,
27202    pub checkpointExecutionStageMask: VkPipelineStageFlags,
27203}
27204#[repr(C)]
27205#[derive(Debug, Copy, Clone)]
27206pub struct VkCheckpointDataNV {
27207    pub sType: VkStructureType,
27208    pub pNext: *mut ::std::os::raw::c_void,
27209    pub stage: VkPipelineStageFlagBits,
27210    pub pCheckpointMarker: *mut ::std::os::raw::c_void,
27211}
27212#[repr(C)]
27213#[derive(Debug, Copy, Clone)]
27214pub struct VkQueueFamilyCheckpointProperties2NV {
27215    pub sType: VkStructureType,
27216    pub pNext: *mut ::std::os::raw::c_void,
27217    pub checkpointExecutionStageMask: VkPipelineStageFlags2,
27218}
27219#[repr(C)]
27220#[derive(Debug, Copy, Clone)]
27221pub struct VkCheckpointData2NV {
27222    pub sType: VkStructureType,
27223    pub pNext: *mut ::std::os::raw::c_void,
27224    pub stage: VkPipelineStageFlags2,
27225    pub pCheckpointMarker: *mut ::std::os::raw::c_void,
27226}
27227pub type PFN_vkCmdSetCheckpointNV = 
27228    unsafe extern "C" fn(
27229        commandBuffer: VkCommandBuffer,
27230        pCheckpointMarker: *const ::std::os::raw::c_void,
27231    );
27232
27233pub type PFN_vkGetQueueCheckpointDataNV = 
27234    unsafe extern "C" fn(
27235        queue: VkQueue,
27236        pCheckpointDataCount: *mut u32,
27237        pCheckpointData: *mut VkCheckpointDataNV,
27238    );
27239
27240pub type PFN_vkGetQueueCheckpointData2NV = 
27241    unsafe extern "C" fn(
27242        queue: VkQueue,
27243        pCheckpointDataCount: *mut u32,
27244        pCheckpointData: *mut VkCheckpointData2NV,
27245    );
27246
27247extern "C" {
27248    pub fn vkCmdSetCheckpointNV(
27249        commandBuffer: VkCommandBuffer,
27250        pCheckpointMarker: *const ::std::os::raw::c_void,
27251    );
27252}
27253extern "C" {
27254    pub fn vkGetQueueCheckpointDataNV(
27255        queue: VkQueue,
27256        pCheckpointDataCount: *mut u32,
27257        pCheckpointData: *mut VkCheckpointDataNV,
27258    );
27259}
27260extern "C" {
27261    pub fn vkGetQueueCheckpointData2NV(
27262        queue: VkQueue,
27263        pCheckpointDataCount: *mut u32,
27264        pCheckpointData: *mut VkCheckpointData2NV,
27265    );
27266}
27267#[repr(C)]
27268#[derive(Debug, Copy, Clone)]
27269pub struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
27270    pub sType: VkStructureType,
27271    pub pNext: *mut ::std::os::raw::c_void,
27272    pub shaderIntegerFunctions2: VkBool32,
27273}
27274#[repr(C)]
27275#[derive(Debug, Copy, Clone)]
27276pub struct VkPerformanceConfigurationINTEL_T {
27277    _unused: [u8; 0],
27278}
27279pub type VkPerformanceConfigurationINTEL = *mut VkPerformanceConfigurationINTEL_T;
27280pub const VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL : VkPerformanceConfigurationTypeINTEL = 0 ;
27281pub const VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL:
27282    VkPerformanceConfigurationTypeINTEL = 2147483647;
27283pub type VkPerformanceConfigurationTypeINTEL = ::std::os::raw::c_uint;
27284pub const VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL:
27285    VkQueryPoolSamplingModeINTEL = 0;
27286pub const VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL:
27287    VkQueryPoolSamplingModeINTEL = 2147483647;
27288pub type VkQueryPoolSamplingModeINTEL = ::std::os::raw::c_uint;
27289pub const VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL:
27290    VkPerformanceOverrideTypeINTEL = 0;
27291pub const VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL:
27292    VkPerformanceOverrideTypeINTEL = 1;
27293pub const VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL:
27294    VkPerformanceOverrideTypeINTEL = 2147483647;
27295pub type VkPerformanceOverrideTypeINTEL = ::std::os::raw::c_uint;
27296pub const VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL : VkPerformanceParameterTypeINTEL = 0 ;
27297pub const VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL : VkPerformanceParameterTypeINTEL = 1 ;
27298pub const VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL:
27299    VkPerformanceParameterTypeINTEL = 2147483647;
27300pub type VkPerformanceParameterTypeINTEL = ::std::os::raw::c_uint;
27301pub const VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL:
27302    VkPerformanceValueTypeINTEL = 0;
27303pub const VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL:
27304    VkPerformanceValueTypeINTEL = 1;
27305pub const VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL:
27306    VkPerformanceValueTypeINTEL = 2;
27307pub const VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL:
27308    VkPerformanceValueTypeINTEL = 3;
27309pub const VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL:
27310    VkPerformanceValueTypeINTEL = 4;
27311pub const VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL:
27312    VkPerformanceValueTypeINTEL = 2147483647;
27313pub type VkPerformanceValueTypeINTEL = ::std::os::raw::c_uint;
27314#[repr(C)]
27315#[derive(Copy, Clone)]
27316pub union VkPerformanceValueDataINTEL {
27317    pub value32: u32,
27318    pub value64: u64,
27319    pub valueFloat: f32,
27320    pub valueBool: VkBool32,
27321    pub valueString: *const ::std::os::raw::c_char,
27322}
27323#[repr(C)]
27324#[derive(Copy, Clone)]
27325pub struct VkPerformanceValueINTEL {
27326    pub type_: VkPerformanceValueTypeINTEL,
27327    pub data: VkPerformanceValueDataINTEL,
27328}
27329#[repr(C)]
27330#[derive(Debug, Copy, Clone)]
27331pub struct VkInitializePerformanceApiInfoINTEL {
27332    pub sType: VkStructureType,
27333    pub pNext: *const ::std::os::raw::c_void,
27334    pub pUserData: *mut ::std::os::raw::c_void,
27335}
27336#[repr(C)]
27337#[derive(Debug, Copy, Clone)]
27338pub struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
27339    pub sType: VkStructureType,
27340    pub pNext: *const ::std::os::raw::c_void,
27341    pub performanceCountersSampling: VkQueryPoolSamplingModeINTEL,
27342}
27343pub type VkQueryPoolCreateInfoINTEL = VkQueryPoolPerformanceQueryCreateInfoINTEL;
27344#[repr(C)]
27345#[derive(Debug, Copy, Clone)]
27346pub struct VkPerformanceMarkerInfoINTEL {
27347    pub sType: VkStructureType,
27348    pub pNext: *const ::std::os::raw::c_void,
27349    pub marker: u64,
27350}
27351#[repr(C)]
27352#[derive(Debug, Copy, Clone)]
27353pub struct VkPerformanceStreamMarkerInfoINTEL {
27354    pub sType: VkStructureType,
27355    pub pNext: *const ::std::os::raw::c_void,
27356    pub marker: u32,
27357}
27358#[repr(C)]
27359#[derive(Debug, Copy, Clone)]
27360pub struct VkPerformanceOverrideInfoINTEL {
27361    pub sType: VkStructureType,
27362    pub pNext: *const ::std::os::raw::c_void,
27363    pub type_: VkPerformanceOverrideTypeINTEL,
27364    pub enable: VkBool32,
27365    pub parameter: u64,
27366}
27367#[repr(C)]
27368#[derive(Debug, Copy, Clone)]
27369pub struct VkPerformanceConfigurationAcquireInfoINTEL {
27370    pub sType: VkStructureType,
27371    pub pNext: *const ::std::os::raw::c_void,
27372    pub type_: VkPerformanceConfigurationTypeINTEL,
27373}
27374pub type PFN_vkInitializePerformanceApiINTEL = 
27375    unsafe extern "C" fn(
27376        device: VkDevice,
27377        pInitializeInfo: *const VkInitializePerformanceApiInfoINTEL,
27378    ) -> VkResult;
27379
27380pub type PFN_vkUninitializePerformanceApiINTEL =
27381    unsafe extern "C" fn(device: VkDevice);
27382pub type PFN_vkCmdSetPerformanceMarkerINTEL = 
27383    unsafe extern "C" fn(
27384        commandBuffer: VkCommandBuffer,
27385        pMarkerInfo: *const VkPerformanceMarkerInfoINTEL,
27386    ) -> VkResult;
27387
27388pub type PFN_vkCmdSetPerformanceStreamMarkerINTEL = 
27389    unsafe extern "C" fn(
27390        commandBuffer: VkCommandBuffer,
27391        pMarkerInfo: *const VkPerformanceStreamMarkerInfoINTEL,
27392    ) -> VkResult;
27393
27394pub type PFN_vkCmdSetPerformanceOverrideINTEL = 
27395    unsafe extern "C" fn(
27396        commandBuffer: VkCommandBuffer,
27397        pOverrideInfo: *const VkPerformanceOverrideInfoINTEL,
27398    ) -> VkResult;
27399
27400pub type PFN_vkAcquirePerformanceConfigurationINTEL = 
27401    unsafe extern "C" fn(
27402        device: VkDevice,
27403        pAcquireInfo: *const VkPerformanceConfigurationAcquireInfoINTEL,
27404        pConfiguration: *mut VkPerformanceConfigurationINTEL,
27405    ) -> VkResult;
27406
27407pub type PFN_vkReleasePerformanceConfigurationINTEL = 
27408    unsafe extern "C" fn(
27409        device: VkDevice,
27410        configuration: VkPerformanceConfigurationINTEL,
27411    ) -> VkResult;
27412
27413pub type PFN_vkQueueSetPerformanceConfigurationINTEL = 
27414    unsafe extern "C" fn(
27415        queue: VkQueue,
27416        configuration: VkPerformanceConfigurationINTEL,
27417    ) -> VkResult;
27418
27419pub type PFN_vkGetPerformanceParameterINTEL = 
27420    unsafe extern "C" fn(
27421        device: VkDevice,
27422        parameter: VkPerformanceParameterTypeINTEL,
27423        pValue: *mut VkPerformanceValueINTEL,
27424    ) -> VkResult;
27425
27426extern "C" {
27427    pub fn vkInitializePerformanceApiINTEL(
27428        device: VkDevice,
27429        pInitializeInfo: *const VkInitializePerformanceApiInfoINTEL,
27430    ) -> VkResult;
27431}
27432extern "C" {
27433    pub fn vkUninitializePerformanceApiINTEL(device: VkDevice);
27434}
27435extern "C" {
27436    pub fn vkCmdSetPerformanceMarkerINTEL(
27437        commandBuffer: VkCommandBuffer,
27438        pMarkerInfo: *const VkPerformanceMarkerInfoINTEL,
27439    ) -> VkResult;
27440}
27441extern "C" {
27442    pub fn vkCmdSetPerformanceStreamMarkerINTEL(
27443        commandBuffer: VkCommandBuffer,
27444        pMarkerInfo: *const VkPerformanceStreamMarkerInfoINTEL,
27445    ) -> VkResult;
27446}
27447extern "C" {
27448    pub fn vkCmdSetPerformanceOverrideINTEL(
27449        commandBuffer: VkCommandBuffer,
27450        pOverrideInfo: *const VkPerformanceOverrideInfoINTEL,
27451    ) -> VkResult;
27452}
27453extern "C" {
27454    pub fn vkAcquirePerformanceConfigurationINTEL(
27455        device: VkDevice,
27456        pAcquireInfo: *const VkPerformanceConfigurationAcquireInfoINTEL,
27457        pConfiguration: *mut VkPerformanceConfigurationINTEL,
27458    ) -> VkResult;
27459}
27460extern "C" {
27461    pub fn vkReleasePerformanceConfigurationINTEL(
27462        device: VkDevice,
27463        configuration: VkPerformanceConfigurationINTEL,
27464    ) -> VkResult;
27465}
27466extern "C" {
27467    pub fn vkQueueSetPerformanceConfigurationINTEL(
27468        queue: VkQueue,
27469        configuration: VkPerformanceConfigurationINTEL,
27470    ) -> VkResult;
27471}
27472extern "C" {
27473    pub fn vkGetPerformanceParameterINTEL(
27474        device: VkDevice,
27475        parameter: VkPerformanceParameterTypeINTEL,
27476        pValue: *mut VkPerformanceValueINTEL,
27477    ) -> VkResult;
27478}
27479#[repr(C)]
27480#[derive(Debug, Copy, Clone)]
27481pub struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
27482    pub sType: VkStructureType,
27483    pub pNext: *mut ::std::os::raw::c_void,
27484    pub pciDomain: u32,
27485    pub pciBus: u32,
27486    pub pciDevice: u32,
27487    pub pciFunction: u32,
27488}
27489#[repr(C)]
27490#[derive(Debug, Copy, Clone)]
27491pub struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
27492    pub sType: VkStructureType,
27493    pub pNext: *mut ::std::os::raw::c_void,
27494    pub localDimmingSupport: VkBool32,
27495}
27496#[repr(C)]
27497#[derive(Debug, Copy, Clone)]
27498pub struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
27499    pub sType: VkStructureType,
27500    pub pNext: *const ::std::os::raw::c_void,
27501    pub localDimmingEnable: VkBool32,
27502}
27503pub type PFN_vkSetLocalDimmingAMD = 
27504    unsafe extern "C" fn(device: VkDevice, swapChain: VkSwapchainKHR, localDimmingEnable: VkBool32);
27505
27506extern "C" {
27507    pub fn vkSetLocalDimmingAMD(
27508        device: VkDevice,
27509        swapChain: VkSwapchainKHR,
27510        localDimmingEnable: VkBool32,
27511    );
27512}
27513#[repr(C)]
27514#[derive(Debug, Copy, Clone)]
27515pub struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
27516    pub sType: VkStructureType,
27517    pub pNext: *mut ::std::os::raw::c_void,
27518    pub fragmentDensityMap: VkBool32,
27519    pub fragmentDensityMapDynamic: VkBool32,
27520    pub fragmentDensityMapNonSubsampledImages: VkBool32,
27521}
27522#[repr(C)]
27523#[derive(Debug, Copy, Clone)]
27524pub struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
27525    pub sType: VkStructureType,
27526    pub pNext: *mut ::std::os::raw::c_void,
27527    pub minFragmentDensityTexelSize: VkExtent2D,
27528    pub maxFragmentDensityTexelSize: VkExtent2D,
27529    pub fragmentDensityInvocations: VkBool32,
27530}
27531#[repr(C)]
27532#[derive(Debug, Copy, Clone)]
27533pub struct VkRenderPassFragmentDensityMapCreateInfoEXT {
27534    pub sType: VkStructureType,
27535    pub pNext: *const ::std::os::raw::c_void,
27536    pub fragmentDensityMapAttachment: VkAttachmentReference,
27537}
27538#[repr(C)]
27539#[derive(Debug, Copy, Clone)]
27540pub struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
27541    pub sType: VkStructureType,
27542    pub pNext: *const ::std::os::raw::c_void,
27543    pub imageView: VkImageView,
27544    pub imageLayout: VkImageLayout,
27545}
27546pub type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures;
27547pub type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT =
27548    VkPhysicalDeviceSubgroupSizeControlFeatures;
27549pub type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT =
27550    VkPhysicalDeviceSubgroupSizeControlProperties;
27551pub type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
27552    VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
27553pub const VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD:
27554    VkShaderCorePropertiesFlagBitsAMD = 2147483647;
27555pub type VkShaderCorePropertiesFlagBitsAMD = ::std::os::raw::c_uint;
27556pub type VkShaderCorePropertiesFlagsAMD = VkFlags;
27557#[repr(C)]
27558#[derive(Debug, Copy, Clone)]
27559pub struct VkPhysicalDeviceShaderCoreProperties2AMD {
27560    pub sType: VkStructureType,
27561    pub pNext: *mut ::std::os::raw::c_void,
27562    pub shaderCoreFeatures: VkShaderCorePropertiesFlagsAMD,
27563    pub activeComputeUnitCount: u32,
27564}
27565#[repr(C)]
27566#[derive(Debug, Copy, Clone)]
27567pub struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
27568    pub sType: VkStructureType,
27569    pub pNext: *mut ::std::os::raw::c_void,
27570    pub deviceCoherentMemory: VkBool32,
27571}
27572#[repr(C)]
27573#[derive(Debug, Copy, Clone)]
27574pub struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
27575    pub sType: VkStructureType,
27576    pub pNext: *mut ::std::os::raw::c_void,
27577    pub shaderImageInt64Atomics: VkBool32,
27578    pub sparseImageInt64Atomics: VkBool32,
27579}
27580#[repr(C)]
27581#[derive(Debug, Copy, Clone)]
27582pub struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
27583    pub sType: VkStructureType,
27584    pub pNext: *mut ::std::os::raw::c_void,
27585    pub heapBudget: [VkDeviceSize; 16usize],
27586    pub heapUsage: [VkDeviceSize; 16usize],
27587}
27588#[repr(C)]
27589#[derive(Debug, Copy, Clone)]
27590pub struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
27591    pub sType: VkStructureType,
27592    pub pNext: *mut ::std::os::raw::c_void,
27593    pub memoryPriority: VkBool32,
27594}
27595#[repr(C)]
27596#[derive(Debug, Copy, Clone)]
27597pub struct VkMemoryPriorityAllocateInfoEXT {
27598    pub sType: VkStructureType,
27599    pub pNext: *const ::std::os::raw::c_void,
27600    pub priority: f32,
27601}
27602#[repr(C)]
27603#[derive(Debug, Copy, Clone)]
27604pub struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
27605    pub sType: VkStructureType,
27606    pub pNext: *mut ::std::os::raw::c_void,
27607    pub dedicatedAllocationImageAliasing: VkBool32,
27608}
27609#[repr(C)]
27610#[derive(Debug, Copy, Clone)]
27611pub struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
27612    pub sType: VkStructureType,
27613    pub pNext: *mut ::std::os::raw::c_void,
27614    pub bufferDeviceAddress: VkBool32,
27615    pub bufferDeviceAddressCaptureReplay: VkBool32,
27616    pub bufferDeviceAddressMultiDevice: VkBool32,
27617}
27618pub type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
27619pub type VkBufferDeviceAddressInfoEXT = VkBufferDeviceAddressInfo;
27620#[repr(C)]
27621#[derive(Debug, Copy, Clone)]
27622pub struct VkBufferDeviceAddressCreateInfoEXT {
27623    pub sType: VkStructureType,
27624    pub pNext: *const ::std::os::raw::c_void,
27625    pub deviceAddress: VkDeviceAddress,
27626}
27627pub type PFN_vkGetBufferDeviceAddressEXT = 
27628    unsafe extern "C" fn(
27629        device: VkDevice,
27630        pInfo: *const VkBufferDeviceAddressInfo,
27631    ) -> VkDeviceAddress;
27632
27633extern "C" {
27634    pub fn vkGetBufferDeviceAddressEXT(
27635        device: VkDevice,
27636        pInfo: *const VkBufferDeviceAddressInfo,
27637    ) -> VkDeviceAddress;
27638}
27639pub use self::VkToolPurposeFlagBits as VkToolPurposeFlagBitsEXT;
27640pub type VkToolPurposeFlagsEXT = VkToolPurposeFlags;
27641pub type VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties;
27642pub type PFN_vkGetPhysicalDeviceToolPropertiesEXT = 
27643    unsafe extern "C" fn(
27644        physicalDevice: VkPhysicalDevice,
27645        pToolCount: *mut u32,
27646        pToolProperties: *mut VkPhysicalDeviceToolProperties,
27647    ) -> VkResult;
27648
27649extern "C" {
27650    pub fn vkGetPhysicalDeviceToolPropertiesEXT(
27651        physicalDevice: VkPhysicalDevice,
27652        pToolCount: *mut u32,
27653        pToolProperties: *mut VkPhysicalDeviceToolProperties,
27654    ) -> VkResult;
27655}
27656pub type VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo;
27657pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT:
27658    VkValidationFeatureEnableEXT = 0;
27659pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT : VkValidationFeatureEnableEXT = 1 ;
27660pub const VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT:
27661    VkValidationFeatureEnableEXT = 2;
27662pub const VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT:
27663    VkValidationFeatureEnableEXT = 3;
27664pub const VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT : VkValidationFeatureEnableEXT = 4 ;
27665pub const VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT:
27666    VkValidationFeatureEnableEXT = 2147483647;
27667pub type VkValidationFeatureEnableEXT = ::std::os::raw::c_uint;
27668pub const VK_VALIDATION_FEATURE_DISABLE_ALL_EXT:
27669    VkValidationFeatureDisableEXT = 0;
27670pub const VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT:
27671    VkValidationFeatureDisableEXT = 1;
27672pub const VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT:
27673    VkValidationFeatureDisableEXT = 2;
27674pub const VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT:
27675    VkValidationFeatureDisableEXT = 3;
27676pub const VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT:
27677    VkValidationFeatureDisableEXT = 4;
27678pub const VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT:
27679    VkValidationFeatureDisableEXT = 5;
27680pub const VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT:
27681    VkValidationFeatureDisableEXT = 6;
27682pub const VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT : VkValidationFeatureDisableEXT = 7 ;
27683pub const VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT:
27684    VkValidationFeatureDisableEXT = 2147483647;
27685pub type VkValidationFeatureDisableEXT = ::std::os::raw::c_uint;
27686#[repr(C)]
27687#[derive(Debug, Copy, Clone)]
27688pub struct VkValidationFeaturesEXT {
27689    pub sType: VkStructureType,
27690    pub pNext: *const ::std::os::raw::c_void,
27691    pub enabledValidationFeatureCount: u32,
27692    pub pEnabledValidationFeatures: *const VkValidationFeatureEnableEXT,
27693    pub disabledValidationFeatureCount: u32,
27694    pub pDisabledValidationFeatures: *const VkValidationFeatureDisableEXT,
27695}
27696pub use self::VkComponentTypeKHR as VkComponentTypeNV;
27697pub use self::VkScopeKHR as VkScopeNV;
27698#[repr(C)]
27699#[derive(Debug, Copy, Clone)]
27700pub struct VkCooperativeMatrixPropertiesNV {
27701    pub sType: VkStructureType,
27702    pub pNext: *mut ::std::os::raw::c_void,
27703    pub MSize: u32,
27704    pub NSize: u32,
27705    pub KSize: u32,
27706    pub AType: VkComponentTypeNV,
27707    pub BType: VkComponentTypeNV,
27708    pub CType: VkComponentTypeNV,
27709    pub DType: VkComponentTypeNV,
27710    pub scope: VkScopeNV,
27711}
27712#[repr(C)]
27713#[derive(Debug, Copy, Clone)]
27714pub struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
27715    pub sType: VkStructureType,
27716    pub pNext: *mut ::std::os::raw::c_void,
27717    pub cooperativeMatrix: VkBool32,
27718    pub cooperativeMatrixRobustBufferAccess: VkBool32,
27719}
27720#[repr(C)]
27721#[derive(Debug, Copy, Clone)]
27722pub struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
27723    pub sType: VkStructureType,
27724    pub pNext: *mut ::std::os::raw::c_void,
27725    pub cooperativeMatrixSupportedStages: VkShaderStageFlags,
27726}
27727pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 
27728    unsafe extern "C" fn(
27729        physicalDevice: VkPhysicalDevice,
27730        pPropertyCount: *mut u32,
27731        pProperties: *mut VkCooperativeMatrixPropertiesNV,
27732    ) -> VkResult;
27733
27734extern "C" {
27735    pub fn vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
27736        physicalDevice: VkPhysicalDevice,
27737        pPropertyCount: *mut u32,
27738        pProperties: *mut VkCooperativeMatrixPropertiesNV,
27739    ) -> VkResult;
27740}
27741pub const VK_COVERAGE_REDUCTION_MODE_MERGE_NV: VkCoverageReductionModeNV =
27742    0;
27743pub const VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV:
27744    VkCoverageReductionModeNV = 1;
27745pub const VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV:
27746    VkCoverageReductionModeNV = 2147483647;
27747pub type VkCoverageReductionModeNV = ::std::os::raw::c_uint;
27748pub type VkPipelineCoverageReductionStateCreateFlagsNV = VkFlags;
27749#[repr(C)]
27750#[derive(Debug, Copy, Clone)]
27751pub struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
27752    pub sType: VkStructureType,
27753    pub pNext: *mut ::std::os::raw::c_void,
27754    pub coverageReductionMode: VkBool32,
27755}
27756#[repr(C)]
27757#[derive(Debug, Copy, Clone)]
27758pub struct VkPipelineCoverageReductionStateCreateInfoNV {
27759    pub sType: VkStructureType,
27760    pub pNext: *const ::std::os::raw::c_void,
27761    pub flags: VkPipelineCoverageReductionStateCreateFlagsNV,
27762    pub coverageReductionMode: VkCoverageReductionModeNV,
27763}
27764#[repr(C)]
27765#[derive(Debug, Copy, Clone)]
27766pub struct VkFramebufferMixedSamplesCombinationNV {
27767    pub sType: VkStructureType,
27768    pub pNext: *mut ::std::os::raw::c_void,
27769    pub coverageReductionMode: VkCoverageReductionModeNV,
27770    pub rasterizationSamples: VkSampleCountFlagBits,
27771    pub depthStencilSamples: VkSampleCountFlags,
27772    pub colorSamples: VkSampleCountFlags,
27773}
27774pub type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
27775    
27776        unsafe extern "C" fn(
27777            physicalDevice: VkPhysicalDevice,
27778            pCombinationCount: *mut u32,
27779            pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
27780        ) -> VkResult;
27781    
27782extern "C" {
27783    pub fn vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
27784        physicalDevice: VkPhysicalDevice,
27785        pCombinationCount: *mut u32,
27786        pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
27787    ) -> VkResult;
27788}
27789#[repr(C)]
27790#[derive(Debug, Copy, Clone)]
27791pub struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
27792    pub sType: VkStructureType,
27793    pub pNext: *mut ::std::os::raw::c_void,
27794    pub fragmentShaderSampleInterlock: VkBool32,
27795    pub fragmentShaderPixelInterlock: VkBool32,
27796    pub fragmentShaderShadingRateInterlock: VkBool32,
27797}
27798#[repr(C)]
27799#[derive(Debug, Copy, Clone)]
27800pub struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
27801    pub sType: VkStructureType,
27802    pub pNext: *mut ::std::os::raw::c_void,
27803    pub ycbcrImageArrays: VkBool32,
27804}
27805pub const VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT:
27806    VkProvokingVertexModeEXT = 0;
27807pub const VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT:
27808    VkProvokingVertexModeEXT = 1;
27809pub const VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT: VkProvokingVertexModeEXT =
27810    2147483647;
27811pub type VkProvokingVertexModeEXT = ::std::os::raw::c_uint;
27812#[repr(C)]
27813#[derive(Debug, Copy, Clone)]
27814pub struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
27815    pub sType: VkStructureType,
27816    pub pNext: *mut ::std::os::raw::c_void,
27817    pub provokingVertexLast: VkBool32,
27818    pub transformFeedbackPreservesProvokingVertex: VkBool32,
27819}
27820#[repr(C)]
27821#[derive(Debug, Copy, Clone)]
27822pub struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
27823    pub sType: VkStructureType,
27824    pub pNext: *mut ::std::os::raw::c_void,
27825    pub provokingVertexModePerPipeline: VkBool32,
27826    pub transformFeedbackPreservesTriangleFanProvokingVertex: VkBool32,
27827}
27828#[repr(C)]
27829#[derive(Debug, Copy, Clone)]
27830pub struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
27831    pub sType: VkStructureType,
27832    pub pNext: *const ::std::os::raw::c_void,
27833    pub provokingVertexMode: VkProvokingVertexModeEXT,
27834}
27835pub type VkHeadlessSurfaceCreateFlagsEXT = VkFlags;
27836#[repr(C)]
27837#[derive(Debug, Copy, Clone)]
27838pub struct VkHeadlessSurfaceCreateInfoEXT {
27839    pub sType: VkStructureType,
27840    pub pNext: *const ::std::os::raw::c_void,
27841    pub flags: VkHeadlessSurfaceCreateFlagsEXT,
27842}
27843pub type PFN_vkCreateHeadlessSurfaceEXT = 
27844    unsafe extern "C" fn(
27845        instance: VkInstance,
27846        pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
27847        pAllocator: *const VkAllocationCallbacks,
27848        pSurface: *mut VkSurfaceKHR,
27849    ) -> VkResult;
27850
27851extern "C" {
27852    pub fn vkCreateHeadlessSurfaceEXT(
27853        instance: VkInstance,
27854        pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
27855        pAllocator: *const VkAllocationCallbacks,
27856        pSurface: *mut VkSurfaceKHR,
27857    ) -> VkResult;
27858}
27859pub use self::VkLineRasterizationModeKHR as VkLineRasterizationModeEXT;
27860pub type VkPhysicalDeviceLineRasterizationFeaturesEXT =
27861    VkPhysicalDeviceLineRasterizationFeaturesKHR;
27862pub type VkPhysicalDeviceLineRasterizationPropertiesEXT =
27863    VkPhysicalDeviceLineRasterizationPropertiesKHR;
27864pub type VkPipelineRasterizationLineStateCreateInfoEXT =
27865    VkPipelineRasterizationLineStateCreateInfoKHR;
27866pub type PFN_vkCmdSetLineStippleEXT = 
27867    unsafe extern "C" fn(
27868        commandBuffer: VkCommandBuffer,
27869        lineStippleFactor: u32,
27870        lineStipplePattern: u16,
27871    );
27872
27873extern "C" {
27874    pub fn vkCmdSetLineStippleEXT(
27875        commandBuffer: VkCommandBuffer,
27876        lineStippleFactor: u32,
27877        lineStipplePattern: u16,
27878    );
27879}
27880#[repr(C)]
27881#[derive(Debug, Copy, Clone)]
27882pub struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
27883    pub sType: VkStructureType,
27884    pub pNext: *mut ::std::os::raw::c_void,
27885    pub shaderBufferFloat32Atomics: VkBool32,
27886    pub shaderBufferFloat32AtomicAdd: VkBool32,
27887    pub shaderBufferFloat64Atomics: VkBool32,
27888    pub shaderBufferFloat64AtomicAdd: VkBool32,
27889    pub shaderSharedFloat32Atomics: VkBool32,
27890    pub shaderSharedFloat32AtomicAdd: VkBool32,
27891    pub shaderSharedFloat64Atomics: VkBool32,
27892    pub shaderSharedFloat64AtomicAdd: VkBool32,
27893    pub shaderImageFloat32Atomics: VkBool32,
27894    pub shaderImageFloat32AtomicAdd: VkBool32,
27895    pub sparseImageFloat32Atomics: VkBool32,
27896    pub sparseImageFloat32AtomicAdd: VkBool32,
27897}
27898pub type VkPhysicalDeviceHostQueryResetFeaturesEXT = VkPhysicalDeviceHostQueryResetFeatures;
27899pub type PFN_vkResetQueryPoolEXT = 
27900    unsafe extern "C" fn(
27901        device: VkDevice,
27902        queryPool: VkQueryPool,
27903        firstQuery: u32,
27904        queryCount: u32,
27905    );
27906
27907extern "C" {
27908    pub fn vkResetQueryPoolEXT(
27909        device: VkDevice,
27910        queryPool: VkQueryPool,
27911        firstQuery: u32,
27912        queryCount: u32,
27913    );
27914}
27915pub type VkPhysicalDeviceIndexTypeUint8FeaturesEXT = VkPhysicalDeviceIndexTypeUint8FeaturesKHR;
27916#[repr(C)]
27917#[derive(Debug, Copy, Clone)]
27918pub struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
27919    pub sType: VkStructureType,
27920    pub pNext: *mut ::std::os::raw::c_void,
27921    pub extendedDynamicState: VkBool32,
27922}
27923pub type PFN_vkCmdSetCullModeEXT = 
27924    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags);
27925
27926pub type PFN_vkCmdSetFrontFaceEXT = 
27927    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace);
27928
27929pub type PFN_vkCmdSetPrimitiveTopologyEXT = 
27930    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology);
27931
27932pub type PFN_vkCmdSetViewportWithCountEXT = 
27933    unsafe extern "C" fn(
27934        commandBuffer: VkCommandBuffer,
27935        viewportCount: u32,
27936        pViewports: *const VkViewport,
27937    );
27938
27939pub type PFN_vkCmdSetScissorWithCountEXT = 
27940    unsafe extern "C" fn(
27941        commandBuffer: VkCommandBuffer,
27942        scissorCount: u32,
27943        pScissors: *const VkRect2D,
27944    );
27945
27946pub type PFN_vkCmdBindVertexBuffers2EXT = 
27947    unsafe extern "C" fn(
27948        commandBuffer: VkCommandBuffer,
27949        firstBinding: u32,
27950        bindingCount: u32,
27951        pBuffers: *const VkBuffer,
27952        pOffsets: *const VkDeviceSize,
27953        pSizes: *const VkDeviceSize,
27954        pStrides: *const VkDeviceSize,
27955    );
27956
27957pub type PFN_vkCmdSetDepthTestEnableEXT = 
27958    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32);
27959
27960pub type PFN_vkCmdSetDepthWriteEnableEXT = 
27961    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32);
27962
27963pub type PFN_vkCmdSetDepthCompareOpEXT = 
27964    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp);
27965
27966pub type PFN_vkCmdSetDepthBoundsTestEnableEXT = 
27967    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32);
27968
27969pub type PFN_vkCmdSetStencilTestEnableEXT = 
27970    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32);
27971
27972pub type PFN_vkCmdSetStencilOpEXT = 
27973    unsafe extern "C" fn(
27974        commandBuffer: VkCommandBuffer,
27975        faceMask: VkStencilFaceFlags,
27976        failOp: VkStencilOp,
27977        passOp: VkStencilOp,
27978        depthFailOp: VkStencilOp,
27979        compareOp: VkCompareOp,
27980    );
27981
27982extern "C" {
27983    pub fn vkCmdSetCullModeEXT(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags);
27984}
27985extern "C" {
27986    pub fn vkCmdSetFrontFaceEXT(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace);
27987}
27988extern "C" {
27989    pub fn vkCmdSetPrimitiveTopologyEXT(
27990        commandBuffer: VkCommandBuffer,
27991        primitiveTopology: VkPrimitiveTopology,
27992    );
27993}
27994extern "C" {
27995    pub fn vkCmdSetViewportWithCountEXT(
27996        commandBuffer: VkCommandBuffer,
27997        viewportCount: u32,
27998        pViewports: *const VkViewport,
27999    );
28000}
28001extern "C" {
28002    pub fn vkCmdSetScissorWithCountEXT(
28003        commandBuffer: VkCommandBuffer,
28004        scissorCount: u32,
28005        pScissors: *const VkRect2D,
28006    );
28007}
28008extern "C" {
28009    pub fn vkCmdBindVertexBuffers2EXT(
28010        commandBuffer: VkCommandBuffer,
28011        firstBinding: u32,
28012        bindingCount: u32,
28013        pBuffers: *const VkBuffer,
28014        pOffsets: *const VkDeviceSize,
28015        pSizes: *const VkDeviceSize,
28016        pStrides: *const VkDeviceSize,
28017    );
28018}
28019extern "C" {
28020    pub fn vkCmdSetDepthTestEnableEXT(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32);
28021}
28022extern "C" {
28023    pub fn vkCmdSetDepthWriteEnableEXT(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32);
28024}
28025extern "C" {
28026    pub fn vkCmdSetDepthCompareOpEXT(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp);
28027}
28028extern "C" {
28029    pub fn vkCmdSetDepthBoundsTestEnableEXT(
28030        commandBuffer: VkCommandBuffer,
28031        depthBoundsTestEnable: VkBool32,
28032    );
28033}
28034extern "C" {
28035    pub fn vkCmdSetStencilTestEnableEXT(
28036        commandBuffer: VkCommandBuffer,
28037        stencilTestEnable: VkBool32,
28038    );
28039}
28040extern "C" {
28041    pub fn vkCmdSetStencilOpEXT(
28042        commandBuffer: VkCommandBuffer,
28043        faceMask: VkStencilFaceFlags,
28044        failOp: VkStencilOp,
28045        passOp: VkStencilOp,
28046        depthFailOp: VkStencilOp,
28047        compareOp: VkCompareOp,
28048    );
28049}
28050pub const VK_HOST_IMAGE_COPY_MEMCPY_EXT: VkHostImageCopyFlagBitsEXT = 1;
28051pub const VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT:
28052    VkHostImageCopyFlagBitsEXT = 2147483647;
28053pub type VkHostImageCopyFlagBitsEXT = ::std::os::raw::c_uint;
28054pub type VkHostImageCopyFlagsEXT = VkFlags;
28055#[repr(C)]
28056#[derive(Debug, Copy, Clone)]
28057pub struct VkPhysicalDeviceHostImageCopyFeaturesEXT {
28058    pub sType: VkStructureType,
28059    pub pNext: *mut ::std::os::raw::c_void,
28060    pub hostImageCopy: VkBool32,
28061}
28062#[repr(C)]
28063#[derive(Debug, Copy, Clone)]
28064pub struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
28065    pub sType: VkStructureType,
28066    pub pNext: *mut ::std::os::raw::c_void,
28067    pub copySrcLayoutCount: u32,
28068    pub pCopySrcLayouts: *mut VkImageLayout,
28069    pub copyDstLayoutCount: u32,
28070    pub pCopyDstLayouts: *mut VkImageLayout,
28071    pub optimalTilingLayoutUUID: [u8; 16usize],
28072    pub identicalMemoryTypeRequirements: VkBool32,
28073}
28074#[repr(C)]
28075#[derive(Debug, Copy, Clone)]
28076pub struct VkMemoryToImageCopyEXT {
28077    pub sType: VkStructureType,
28078    pub pNext: *const ::std::os::raw::c_void,
28079    pub pHostPointer: *const ::std::os::raw::c_void,
28080    pub memoryRowLength: u32,
28081    pub memoryImageHeight: u32,
28082    pub imageSubresource: VkImageSubresourceLayers,
28083    pub imageOffset: VkOffset3D,
28084    pub imageExtent: VkExtent3D,
28085}
28086#[repr(C)]
28087#[derive(Debug, Copy, Clone)]
28088pub struct VkImageToMemoryCopyEXT {
28089    pub sType: VkStructureType,
28090    pub pNext: *const ::std::os::raw::c_void,
28091    pub pHostPointer: *mut ::std::os::raw::c_void,
28092    pub memoryRowLength: u32,
28093    pub memoryImageHeight: u32,
28094    pub imageSubresource: VkImageSubresourceLayers,
28095    pub imageOffset: VkOffset3D,
28096    pub imageExtent: VkExtent3D,
28097}
28098#[repr(C)]
28099#[derive(Debug, Copy, Clone)]
28100pub struct VkCopyMemoryToImageInfoEXT {
28101    pub sType: VkStructureType,
28102    pub pNext: *const ::std::os::raw::c_void,
28103    pub flags: VkHostImageCopyFlagsEXT,
28104    pub dstImage: VkImage,
28105    pub dstImageLayout: VkImageLayout,
28106    pub regionCount: u32,
28107    pub pRegions: *const VkMemoryToImageCopyEXT,
28108}
28109#[repr(C)]
28110#[derive(Debug, Copy, Clone)]
28111pub struct VkCopyImageToMemoryInfoEXT {
28112    pub sType: VkStructureType,
28113    pub pNext: *const ::std::os::raw::c_void,
28114    pub flags: VkHostImageCopyFlagsEXT,
28115    pub srcImage: VkImage,
28116    pub srcImageLayout: VkImageLayout,
28117    pub regionCount: u32,
28118    pub pRegions: *const VkImageToMemoryCopyEXT,
28119}
28120#[repr(C)]
28121#[derive(Debug, Copy, Clone)]
28122pub struct VkCopyImageToImageInfoEXT {
28123    pub sType: VkStructureType,
28124    pub pNext: *const ::std::os::raw::c_void,
28125    pub flags: VkHostImageCopyFlagsEXT,
28126    pub srcImage: VkImage,
28127    pub srcImageLayout: VkImageLayout,
28128    pub dstImage: VkImage,
28129    pub dstImageLayout: VkImageLayout,
28130    pub regionCount: u32,
28131    pub pRegions: *const VkImageCopy2,
28132}
28133#[repr(C)]
28134#[derive(Debug, Copy, Clone)]
28135pub struct VkHostImageLayoutTransitionInfoEXT {
28136    pub sType: VkStructureType,
28137    pub pNext: *const ::std::os::raw::c_void,
28138    pub image: VkImage,
28139    pub oldLayout: VkImageLayout,
28140    pub newLayout: VkImageLayout,
28141    pub subresourceRange: VkImageSubresourceRange,
28142}
28143#[repr(C)]
28144#[derive(Debug, Copy, Clone)]
28145pub struct VkSubresourceHostMemcpySizeEXT {
28146    pub sType: VkStructureType,
28147    pub pNext: *mut ::std::os::raw::c_void,
28148    pub size: VkDeviceSize,
28149}
28150#[repr(C)]
28151#[derive(Debug, Copy, Clone)]
28152pub struct VkHostImageCopyDevicePerformanceQueryEXT {
28153    pub sType: VkStructureType,
28154    pub pNext: *mut ::std::os::raw::c_void,
28155    pub optimalDeviceAccess: VkBool32,
28156    pub identicalMemoryLayout: VkBool32,
28157}
28158pub type VkSubresourceLayout2EXT = VkSubresourceLayout2KHR;
28159pub type VkImageSubresource2EXT = VkImageSubresource2KHR;
28160pub type PFN_vkCopyMemoryToImageEXT = 
28161    unsafe extern "C" fn(
28162        device: VkDevice,
28163        pCopyMemoryToImageInfo: *const VkCopyMemoryToImageInfoEXT,
28164    ) -> VkResult;
28165
28166pub type PFN_vkCopyImageToMemoryEXT = 
28167    unsafe extern "C" fn(
28168        device: VkDevice,
28169        pCopyImageToMemoryInfo: *const VkCopyImageToMemoryInfoEXT,
28170    ) -> VkResult;
28171
28172pub type PFN_vkCopyImageToImageEXT = 
28173    unsafe extern "C" fn(
28174        device: VkDevice,
28175        pCopyImageToImageInfo: *const VkCopyImageToImageInfoEXT,
28176    ) -> VkResult;
28177
28178pub type PFN_vkTransitionImageLayoutEXT = 
28179    unsafe extern "C" fn(
28180        device: VkDevice,
28181        transitionCount: u32,
28182        pTransitions: *const VkHostImageLayoutTransitionInfoEXT,
28183    ) -> VkResult;
28184
28185pub type PFN_vkGetImageSubresourceLayout2EXT = 
28186    unsafe extern "C" fn(
28187        device: VkDevice,
28188        image: VkImage,
28189        pSubresource: *const VkImageSubresource2KHR,
28190        pLayout: *mut VkSubresourceLayout2KHR,
28191    );
28192
28193extern "C" {
28194    pub fn vkCopyMemoryToImageEXT(
28195        device: VkDevice,
28196        pCopyMemoryToImageInfo: *const VkCopyMemoryToImageInfoEXT,
28197    ) -> VkResult;
28198}
28199extern "C" {
28200    pub fn vkCopyImageToMemoryEXT(
28201        device: VkDevice,
28202        pCopyImageToMemoryInfo: *const VkCopyImageToMemoryInfoEXT,
28203    ) -> VkResult;
28204}
28205extern "C" {
28206    pub fn vkCopyImageToImageEXT(
28207        device: VkDevice,
28208        pCopyImageToImageInfo: *const VkCopyImageToImageInfoEXT,
28209    ) -> VkResult;
28210}
28211extern "C" {
28212    pub fn vkTransitionImageLayoutEXT(
28213        device: VkDevice,
28214        transitionCount: u32,
28215        pTransitions: *const VkHostImageLayoutTransitionInfoEXT,
28216    ) -> VkResult;
28217}
28218extern "C" {
28219    pub fn vkGetImageSubresourceLayout2EXT(
28220        device: VkDevice,
28221        image: VkImage,
28222        pSubresource: *const VkImageSubresource2KHR,
28223        pLayout: *mut VkSubresourceLayout2KHR,
28224    );
28225}
28226#[repr(C)]
28227#[derive(Debug, Copy, Clone)]
28228pub struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT {
28229    pub sType: VkStructureType,
28230    pub pNext: *mut ::std::os::raw::c_void,
28231    pub memoryMapPlaced: VkBool32,
28232    pub memoryMapRangePlaced: VkBool32,
28233    pub memoryUnmapReserve: VkBool32,
28234}
28235#[repr(C)]
28236#[derive(Debug, Copy, Clone)]
28237pub struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT {
28238    pub sType: VkStructureType,
28239    pub pNext: *mut ::std::os::raw::c_void,
28240    pub minPlacedMemoryMapAlignment: VkDeviceSize,
28241}
28242#[repr(C)]
28243#[derive(Debug, Copy, Clone)]
28244pub struct VkMemoryMapPlacedInfoEXT {
28245    pub sType: VkStructureType,
28246    pub pNext: *const ::std::os::raw::c_void,
28247    pub pPlacedAddress: *mut ::std::os::raw::c_void,
28248}
28249#[repr(C)]
28250#[derive(Debug, Copy, Clone)]
28251pub struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
28252    pub sType: VkStructureType,
28253    pub pNext: *mut ::std::os::raw::c_void,
28254    pub shaderBufferFloat16Atomics: VkBool32,
28255    pub shaderBufferFloat16AtomicAdd: VkBool32,
28256    pub shaderBufferFloat16AtomicMinMax: VkBool32,
28257    pub shaderBufferFloat32AtomicMinMax: VkBool32,
28258    pub shaderBufferFloat64AtomicMinMax: VkBool32,
28259    pub shaderSharedFloat16Atomics: VkBool32,
28260    pub shaderSharedFloat16AtomicAdd: VkBool32,
28261    pub shaderSharedFloat16AtomicMinMax: VkBool32,
28262    pub shaderSharedFloat32AtomicMinMax: VkBool32,
28263    pub shaderSharedFloat64AtomicMinMax: VkBool32,
28264    pub shaderImageFloat32AtomicMinMax: VkBool32,
28265    pub sparseImageFloat32AtomicMinMax: VkBool32,
28266}
28267pub const VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT:
28268    VkPresentScalingFlagBitsEXT = 1;
28269pub const VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT:
28270    VkPresentScalingFlagBitsEXT = 2;
28271pub const VK_PRESENT_SCALING_STRETCH_BIT_EXT:
28272    VkPresentScalingFlagBitsEXT = 4;
28273pub const VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT:
28274    VkPresentScalingFlagBitsEXT = 2147483647;
28275pub type VkPresentScalingFlagBitsEXT = ::std::os::raw::c_uint;
28276pub type VkPresentScalingFlagsEXT = VkFlags;
28277pub const VK_PRESENT_GRAVITY_MIN_BIT_EXT: VkPresentGravityFlagBitsEXT =
28278    1;
28279pub const VK_PRESENT_GRAVITY_MAX_BIT_EXT: VkPresentGravityFlagBitsEXT =
28280    2;
28281pub const VK_PRESENT_GRAVITY_CENTERED_BIT_EXT:
28282    VkPresentGravityFlagBitsEXT = 4;
28283pub const VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT:
28284    VkPresentGravityFlagBitsEXT = 2147483647;
28285pub type VkPresentGravityFlagBitsEXT = ::std::os::raw::c_uint;
28286pub type VkPresentGravityFlagsEXT = VkFlags;
28287#[repr(C)]
28288#[derive(Debug, Copy, Clone)]
28289pub struct VkSurfacePresentModeEXT {
28290    pub sType: VkStructureType,
28291    pub pNext: *mut ::std::os::raw::c_void,
28292    pub presentMode: VkPresentModeKHR,
28293}
28294#[repr(C)]
28295#[derive(Debug, Copy, Clone)]
28296pub struct VkSurfacePresentScalingCapabilitiesEXT {
28297    pub sType: VkStructureType,
28298    pub pNext: *mut ::std::os::raw::c_void,
28299    pub supportedPresentScaling: VkPresentScalingFlagsEXT,
28300    pub supportedPresentGravityX: VkPresentGravityFlagsEXT,
28301    pub supportedPresentGravityY: VkPresentGravityFlagsEXT,
28302    pub minScaledImageExtent: VkExtent2D,
28303    pub maxScaledImageExtent: VkExtent2D,
28304}
28305#[repr(C)]
28306#[derive(Debug, Copy, Clone)]
28307pub struct VkSurfacePresentModeCompatibilityEXT {
28308    pub sType: VkStructureType,
28309    pub pNext: *mut ::std::os::raw::c_void,
28310    pub presentModeCount: u32,
28311    pub pPresentModes: *mut VkPresentModeKHR,
28312}
28313#[repr(C)]
28314#[derive(Debug, Copy, Clone)]
28315pub struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT {
28316    pub sType: VkStructureType,
28317    pub pNext: *mut ::std::os::raw::c_void,
28318    pub swapchainMaintenance1: VkBool32,
28319}
28320#[repr(C)]
28321#[derive(Debug, Copy, Clone)]
28322pub struct VkSwapchainPresentFenceInfoEXT {
28323    pub sType: VkStructureType,
28324    pub pNext: *const ::std::os::raw::c_void,
28325    pub swapchainCount: u32,
28326    pub pFences: *const VkFence,
28327}
28328#[repr(C)]
28329#[derive(Debug, Copy, Clone)]
28330pub struct VkSwapchainPresentModesCreateInfoEXT {
28331    pub sType: VkStructureType,
28332    pub pNext: *const ::std::os::raw::c_void,
28333    pub presentModeCount: u32,
28334    pub pPresentModes: *const VkPresentModeKHR,
28335}
28336#[repr(C)]
28337#[derive(Debug, Copy, Clone)]
28338pub struct VkSwapchainPresentModeInfoEXT {
28339    pub sType: VkStructureType,
28340    pub pNext: *const ::std::os::raw::c_void,
28341    pub swapchainCount: u32,
28342    pub pPresentModes: *const VkPresentModeKHR,
28343}
28344#[repr(C)]
28345#[derive(Debug, Copy, Clone)]
28346pub struct VkSwapchainPresentScalingCreateInfoEXT {
28347    pub sType: VkStructureType,
28348    pub pNext: *const ::std::os::raw::c_void,
28349    pub scalingBehavior: VkPresentScalingFlagsEXT,
28350    pub presentGravityX: VkPresentGravityFlagsEXT,
28351    pub presentGravityY: VkPresentGravityFlagsEXT,
28352}
28353#[repr(C)]
28354#[derive(Debug, Copy, Clone)]
28355pub struct VkReleaseSwapchainImagesInfoEXT {
28356    pub sType: VkStructureType,
28357    pub pNext: *const ::std::os::raw::c_void,
28358    pub swapchain: VkSwapchainKHR,
28359    pub imageIndexCount: u32,
28360    pub pImageIndices: *const u32,
28361}
28362pub type PFN_vkReleaseSwapchainImagesEXT = 
28363    unsafe extern "C" fn(
28364        device: VkDevice,
28365        pReleaseInfo: *const VkReleaseSwapchainImagesInfoEXT,
28366    ) -> VkResult;
28367
28368extern "C" {
28369    pub fn vkReleaseSwapchainImagesEXT(
28370        device: VkDevice,
28371        pReleaseInfo: *const VkReleaseSwapchainImagesInfoEXT,
28372    ) -> VkResult;
28373}
28374pub type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
28375    VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
28376#[repr(C)]
28377#[derive(Debug, Copy, Clone)]
28378pub struct VkIndirectCommandsLayoutNV_T {
28379    _unused: [u8; 0],
28380}
28381pub type VkIndirectCommandsLayoutNV = *mut VkIndirectCommandsLayoutNV_T;
28382pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV:
28383    VkIndirectCommandsTokenTypeNV = 0;
28384pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV:
28385    VkIndirectCommandsTokenTypeNV = 1;
28386pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV:
28387    VkIndirectCommandsTokenTypeNV = 2;
28388pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV:
28389    VkIndirectCommandsTokenTypeNV = 3;
28390pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV:
28391    VkIndirectCommandsTokenTypeNV = 4;
28392pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV:
28393    VkIndirectCommandsTokenTypeNV = 5;
28394pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV:
28395    VkIndirectCommandsTokenTypeNV = 6;
28396pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV:
28397    VkIndirectCommandsTokenTypeNV = 7;
28398pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV:
28399    VkIndirectCommandsTokenTypeNV = 1000328000;
28400pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV:
28401    VkIndirectCommandsTokenTypeNV = 1000428003;
28402pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV:
28403    VkIndirectCommandsTokenTypeNV = 1000428004;
28404pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV:
28405    VkIndirectCommandsTokenTypeNV = 2147483647;
28406pub type VkIndirectCommandsTokenTypeNV = ::std::os::raw::c_uint;
28407pub const VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV:
28408    VkIndirectStateFlagBitsNV = 1;
28409pub const VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV:
28410    VkIndirectStateFlagBitsNV = 2147483647;
28411pub type VkIndirectStateFlagBitsNV = ::std::os::raw::c_uint;
28412pub type VkIndirectStateFlagsNV = VkFlags;
28413pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV : VkIndirectCommandsLayoutUsageFlagBitsNV = 1 ;
28414pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV : VkIndirectCommandsLayoutUsageFlagBitsNV = 2 ;
28415pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV : VkIndirectCommandsLayoutUsageFlagBitsNV = 4 ;
28416pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV : VkIndirectCommandsLayoutUsageFlagBitsNV = 2147483647 ;
28417pub type VkIndirectCommandsLayoutUsageFlagBitsNV = ::std::os::raw::c_uint;
28418pub type VkIndirectCommandsLayoutUsageFlagsNV = VkFlags;
28419#[repr(C)]
28420#[derive(Debug, Copy, Clone)]
28421pub struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
28422    pub sType: VkStructureType,
28423    pub pNext: *mut ::std::os::raw::c_void,
28424    pub maxGraphicsShaderGroupCount: u32,
28425    pub maxIndirectSequenceCount: u32,
28426    pub maxIndirectCommandsTokenCount: u32,
28427    pub maxIndirectCommandsStreamCount: u32,
28428    pub maxIndirectCommandsTokenOffset: u32,
28429    pub maxIndirectCommandsStreamStride: u32,
28430    pub minSequencesCountBufferOffsetAlignment: u32,
28431    pub minSequencesIndexBufferOffsetAlignment: u32,
28432    pub minIndirectCommandsBufferOffsetAlignment: u32,
28433}
28434#[repr(C)]
28435#[derive(Debug, Copy, Clone)]
28436pub struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
28437    pub sType: VkStructureType,
28438    pub pNext: *mut ::std::os::raw::c_void,
28439    pub deviceGeneratedCommands: VkBool32,
28440}
28441#[repr(C)]
28442#[derive(Debug, Copy, Clone)]
28443pub struct VkGraphicsShaderGroupCreateInfoNV {
28444    pub sType: VkStructureType,
28445    pub pNext: *const ::std::os::raw::c_void,
28446    pub stageCount: u32,
28447    pub pStages: *const VkPipelineShaderStageCreateInfo,
28448    pub pVertexInputState: *const VkPipelineVertexInputStateCreateInfo,
28449    pub pTessellationState: *const VkPipelineTessellationStateCreateInfo,
28450}
28451#[repr(C)]
28452#[derive(Debug, Copy, Clone)]
28453pub struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
28454    pub sType: VkStructureType,
28455    pub pNext: *const ::std::os::raw::c_void,
28456    pub groupCount: u32,
28457    pub pGroups: *const VkGraphicsShaderGroupCreateInfoNV,
28458    pub pipelineCount: u32,
28459    pub pPipelines: *const VkPipeline,
28460}
28461#[repr(C)]
28462#[derive(Debug, Copy, Clone)]
28463pub struct VkBindShaderGroupIndirectCommandNV {
28464    pub groupIndex: u32,
28465}
28466#[repr(C)]
28467#[derive(Debug, Copy, Clone)]
28468pub struct VkBindIndexBufferIndirectCommandNV {
28469    pub bufferAddress: VkDeviceAddress,
28470    pub size: u32,
28471    pub indexType: VkIndexType,
28472}
28473#[repr(C)]
28474#[derive(Debug, Copy, Clone)]
28475pub struct VkBindVertexBufferIndirectCommandNV {
28476    pub bufferAddress: VkDeviceAddress,
28477    pub size: u32,
28478    pub stride: u32,
28479}
28480#[repr(C)]
28481#[derive(Debug, Copy, Clone)]
28482pub struct VkSetStateFlagsIndirectCommandNV {
28483    pub data: u32,
28484}
28485#[repr(C)]
28486#[derive(Debug, Copy, Clone)]
28487pub struct VkIndirectCommandsStreamNV {
28488    pub buffer: VkBuffer,
28489    pub offset: VkDeviceSize,
28490}
28491#[repr(C)]
28492#[derive(Debug, Copy, Clone)]
28493pub struct VkIndirectCommandsLayoutTokenNV {
28494    pub sType: VkStructureType,
28495    pub pNext: *const ::std::os::raw::c_void,
28496    pub tokenType: VkIndirectCommandsTokenTypeNV,
28497    pub stream: u32,
28498    pub offset: u32,
28499    pub vertexBindingUnit: u32,
28500    pub vertexDynamicStride: VkBool32,
28501    pub pushconstantPipelineLayout: VkPipelineLayout,
28502    pub pushconstantShaderStageFlags: VkShaderStageFlags,
28503    pub pushconstantOffset: u32,
28504    pub pushconstantSize: u32,
28505    pub indirectStateFlags: VkIndirectStateFlagsNV,
28506    pub indexTypeCount: u32,
28507    pub pIndexTypes: *const VkIndexType,
28508    pub pIndexTypeValues: *const u32,
28509}
28510#[repr(C)]
28511#[derive(Debug, Copy, Clone)]
28512pub struct VkIndirectCommandsLayoutCreateInfoNV {
28513    pub sType: VkStructureType,
28514    pub pNext: *const ::std::os::raw::c_void,
28515    pub flags: VkIndirectCommandsLayoutUsageFlagsNV,
28516    pub pipelineBindPoint: VkPipelineBindPoint,
28517    pub tokenCount: u32,
28518    pub pTokens: *const VkIndirectCommandsLayoutTokenNV,
28519    pub streamCount: u32,
28520    pub pStreamStrides: *const u32,
28521}
28522#[repr(C)]
28523#[derive(Debug, Copy, Clone)]
28524pub struct VkGeneratedCommandsInfoNV {
28525    pub sType: VkStructureType,
28526    pub pNext: *const ::std::os::raw::c_void,
28527    pub pipelineBindPoint: VkPipelineBindPoint,
28528    pub pipeline: VkPipeline,
28529    pub indirectCommandsLayout: VkIndirectCommandsLayoutNV,
28530    pub streamCount: u32,
28531    pub pStreams: *const VkIndirectCommandsStreamNV,
28532    pub sequencesCount: u32,
28533    pub preprocessBuffer: VkBuffer,
28534    pub preprocessOffset: VkDeviceSize,
28535    pub preprocessSize: VkDeviceSize,
28536    pub sequencesCountBuffer: VkBuffer,
28537    pub sequencesCountOffset: VkDeviceSize,
28538    pub sequencesIndexBuffer: VkBuffer,
28539    pub sequencesIndexOffset: VkDeviceSize,
28540}
28541#[repr(C)]
28542#[derive(Debug, Copy, Clone)]
28543pub struct VkGeneratedCommandsMemoryRequirementsInfoNV {
28544    pub sType: VkStructureType,
28545    pub pNext: *const ::std::os::raw::c_void,
28546    pub pipelineBindPoint: VkPipelineBindPoint,
28547    pub pipeline: VkPipeline,
28548    pub indirectCommandsLayout: VkIndirectCommandsLayoutNV,
28549    pub maxSequencesCount: u32,
28550}
28551pub type PFN_vkGetGeneratedCommandsMemoryRequirementsNV = 
28552    unsafe extern "C" fn(
28553        device: VkDevice,
28554        pInfo: *const VkGeneratedCommandsMemoryRequirementsInfoNV,
28555        pMemoryRequirements: *mut VkMemoryRequirements2,
28556    );
28557
28558pub type PFN_vkCmdPreprocessGeneratedCommandsNV = 
28559    unsafe extern "C" fn(
28560        commandBuffer: VkCommandBuffer,
28561        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoNV,
28562    );
28563
28564pub type PFN_vkCmdExecuteGeneratedCommandsNV = 
28565    unsafe extern "C" fn(
28566        commandBuffer: VkCommandBuffer,
28567        isPreprocessed: VkBool32,
28568        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoNV,
28569    );
28570
28571pub type PFN_vkCmdBindPipelineShaderGroupNV = 
28572    unsafe extern "C" fn(
28573        commandBuffer: VkCommandBuffer,
28574        pipelineBindPoint: VkPipelineBindPoint,
28575        pipeline: VkPipeline,
28576        groupIndex: u32,
28577    );
28578
28579pub type PFN_vkCreateIndirectCommandsLayoutNV = 
28580    unsafe extern "C" fn(
28581        device: VkDevice,
28582        pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNV,
28583        pAllocator: *const VkAllocationCallbacks,
28584        pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNV,
28585    ) -> VkResult;
28586
28587pub type PFN_vkDestroyIndirectCommandsLayoutNV = 
28588    unsafe extern "C" fn(
28589        device: VkDevice,
28590        indirectCommandsLayout: VkIndirectCommandsLayoutNV,
28591        pAllocator: *const VkAllocationCallbacks,
28592    );
28593
28594extern "C" {
28595    pub fn vkGetGeneratedCommandsMemoryRequirementsNV(
28596        device: VkDevice,
28597        pInfo: *const VkGeneratedCommandsMemoryRequirementsInfoNV,
28598        pMemoryRequirements: *mut VkMemoryRequirements2,
28599    );
28600}
28601extern "C" {
28602    pub fn vkCmdPreprocessGeneratedCommandsNV(
28603        commandBuffer: VkCommandBuffer,
28604        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoNV,
28605    );
28606}
28607extern "C" {
28608    pub fn vkCmdExecuteGeneratedCommandsNV(
28609        commandBuffer: VkCommandBuffer,
28610        isPreprocessed: VkBool32,
28611        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoNV,
28612    );
28613}
28614extern "C" {
28615    pub fn vkCmdBindPipelineShaderGroupNV(
28616        commandBuffer: VkCommandBuffer,
28617        pipelineBindPoint: VkPipelineBindPoint,
28618        pipeline: VkPipeline,
28619        groupIndex: u32,
28620    );
28621}
28622extern "C" {
28623    pub fn vkCreateIndirectCommandsLayoutNV(
28624        device: VkDevice,
28625        pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNV,
28626        pAllocator: *const VkAllocationCallbacks,
28627        pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNV,
28628    ) -> VkResult;
28629}
28630extern "C" {
28631    pub fn vkDestroyIndirectCommandsLayoutNV(
28632        device: VkDevice,
28633        indirectCommandsLayout: VkIndirectCommandsLayoutNV,
28634        pAllocator: *const VkAllocationCallbacks,
28635    );
28636}
28637#[repr(C)]
28638#[derive(Debug, Copy, Clone)]
28639pub struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
28640    pub sType: VkStructureType,
28641    pub pNext: *mut ::std::os::raw::c_void,
28642    pub inheritedViewportScissor2D: VkBool32,
28643}
28644#[repr(C)]
28645#[derive(Debug, Copy, Clone)]
28646pub struct VkCommandBufferInheritanceViewportScissorInfoNV {
28647    pub sType: VkStructureType,
28648    pub pNext: *const ::std::os::raw::c_void,
28649    pub viewportScissor2D: VkBool32,
28650    pub viewportDepthCount: u32,
28651    pub pViewportDepths: *const VkViewport,
28652}
28653#[repr(C)]
28654#[derive(Debug, Copy, Clone)]
28655pub struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
28656    pub sType: VkStructureType,
28657    pub pNext: *mut ::std::os::raw::c_void,
28658    pub texelBufferAlignment: VkBool32,
28659}
28660pub type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT =
28661    VkPhysicalDeviceTexelBufferAlignmentProperties;
28662#[repr(C)]
28663#[derive(Debug, Copy, Clone)]
28664pub struct VkRenderPassTransformBeginInfoQCOM {
28665    pub sType: VkStructureType,
28666    pub pNext: *mut ::std::os::raw::c_void,
28667    pub transform: VkSurfaceTransformFlagBitsKHR,
28668}
28669#[repr(C)]
28670#[derive(Debug, Copy, Clone)]
28671pub struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
28672    pub sType: VkStructureType,
28673    pub pNext: *mut ::std::os::raw::c_void,
28674    pub transform: VkSurfaceTransformFlagBitsKHR,
28675    pub renderArea: VkRect2D,
28676}
28677pub const VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT : VkDepthBiasRepresentationEXT = 0 ;
28678pub const VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT : VkDepthBiasRepresentationEXT = 1 ;
28679pub const VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT:
28680    VkDepthBiasRepresentationEXT = 2;
28681pub const VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT:
28682    VkDepthBiasRepresentationEXT = 2147483647;
28683pub type VkDepthBiasRepresentationEXT = ::std::os::raw::c_uint;
28684#[repr(C)]
28685#[derive(Debug, Copy, Clone)]
28686pub struct VkPhysicalDeviceDepthBiasControlFeaturesEXT {
28687    pub sType: VkStructureType,
28688    pub pNext: *mut ::std::os::raw::c_void,
28689    pub depthBiasControl: VkBool32,
28690    pub leastRepresentableValueForceUnormRepresentation: VkBool32,
28691    pub floatRepresentation: VkBool32,
28692    pub depthBiasExact: VkBool32,
28693}
28694#[repr(C)]
28695#[derive(Debug, Copy, Clone)]
28696pub struct VkDepthBiasInfoEXT {
28697    pub sType: VkStructureType,
28698    pub pNext: *const ::std::os::raw::c_void,
28699    pub depthBiasConstantFactor: f32,
28700    pub depthBiasClamp: f32,
28701    pub depthBiasSlopeFactor: f32,
28702}
28703#[repr(C)]
28704#[derive(Debug, Copy, Clone)]
28705pub struct VkDepthBiasRepresentationInfoEXT {
28706    pub sType: VkStructureType,
28707    pub pNext: *const ::std::os::raw::c_void,
28708    pub depthBiasRepresentation: VkDepthBiasRepresentationEXT,
28709    pub depthBiasExact: VkBool32,
28710}
28711pub type PFN_vkCmdSetDepthBias2EXT = 
28712    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pDepthBiasInfo: *const VkDepthBiasInfoEXT);
28713
28714extern "C" {
28715    pub fn vkCmdSetDepthBias2EXT(
28716        commandBuffer: VkCommandBuffer,
28717        pDepthBiasInfo: *const VkDepthBiasInfoEXT,
28718    );
28719}
28720pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT:
28721    VkDeviceMemoryReportEventTypeEXT = 0;
28722pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT:
28723    VkDeviceMemoryReportEventTypeEXT = 1;
28724pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT:
28725    VkDeviceMemoryReportEventTypeEXT = 2;
28726pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT:
28727    VkDeviceMemoryReportEventTypeEXT = 3;
28728pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT : VkDeviceMemoryReportEventTypeEXT = 4 ;
28729pub const VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT:
28730    VkDeviceMemoryReportEventTypeEXT = 2147483647;
28731pub type VkDeviceMemoryReportEventTypeEXT = ::std::os::raw::c_uint;
28732pub type VkDeviceMemoryReportFlagsEXT = VkFlags;
28733#[repr(C)]
28734#[derive(Debug, Copy, Clone)]
28735pub struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
28736    pub sType: VkStructureType,
28737    pub pNext: *mut ::std::os::raw::c_void,
28738    pub deviceMemoryReport: VkBool32,
28739}
28740#[repr(C)]
28741#[derive(Debug, Copy, Clone)]
28742pub struct VkDeviceMemoryReportCallbackDataEXT {
28743    pub sType: VkStructureType,
28744    pub pNext: *mut ::std::os::raw::c_void,
28745    pub flags: VkDeviceMemoryReportFlagsEXT,
28746    pub type_: VkDeviceMemoryReportEventTypeEXT,
28747    pub memoryObjectId: u64,
28748    pub size: VkDeviceSize,
28749    pub objectType: VkObjectType,
28750    pub objectHandle: u64,
28751    pub heapIndex: u32,
28752}
28753pub type PFN_vkDeviceMemoryReportCallbackEXT = 
28754    unsafe extern "C" fn(
28755        pCallbackData: *const VkDeviceMemoryReportCallbackDataEXT,
28756        pUserData: *mut ::std::os::raw::c_void,
28757    );
28758
28759#[repr(C)]
28760#[derive(Debug, Copy, Clone)]
28761pub struct VkDeviceDeviceMemoryReportCreateInfoEXT {
28762    pub sType: VkStructureType,
28763    pub pNext: *const ::std::os::raw::c_void,
28764    pub flags: VkDeviceMemoryReportFlagsEXT,
28765    pub pfnUserCallback: PFN_vkDeviceMemoryReportCallbackEXT,
28766    pub pUserData: *mut ::std::os::raw::c_void,
28767}
28768pub type PFN_vkAcquireDrmDisplayEXT = 
28769    unsafe extern "C" fn(
28770        physicalDevice: VkPhysicalDevice,
28771        drmFd: i32,
28772        display: VkDisplayKHR,
28773    ) -> VkResult;
28774
28775pub type PFN_vkGetDrmDisplayEXT = 
28776    unsafe extern "C" fn(
28777        physicalDevice: VkPhysicalDevice,
28778        drmFd: i32,
28779        connectorId: u32,
28780        display: *mut VkDisplayKHR,
28781    ) -> VkResult;
28782
28783extern "C" {
28784    pub fn vkAcquireDrmDisplayEXT(
28785        physicalDevice: VkPhysicalDevice,
28786        drmFd: i32,
28787        display: VkDisplayKHR,
28788    ) -> VkResult;
28789}
28790extern "C" {
28791    pub fn vkGetDrmDisplayEXT(
28792        physicalDevice: VkPhysicalDevice,
28793        drmFd: i32,
28794        connectorId: u32,
28795        display: *mut VkDisplayKHR,
28796    ) -> VkResult;
28797}
28798#[repr(C)]
28799#[derive(Debug, Copy, Clone)]
28800pub struct VkPhysicalDeviceRobustness2FeaturesEXT {
28801    pub sType: VkStructureType,
28802    pub pNext: *mut ::std::os::raw::c_void,
28803    pub robustBufferAccess2: VkBool32,
28804    pub robustImageAccess2: VkBool32,
28805    pub nullDescriptor: VkBool32,
28806}
28807#[repr(C)]
28808#[derive(Debug, Copy, Clone)]
28809pub struct VkPhysicalDeviceRobustness2PropertiesEXT {
28810    pub sType: VkStructureType,
28811    pub pNext: *mut ::std::os::raw::c_void,
28812    pub robustStorageBufferAccessSizeAlignment: VkDeviceSize,
28813    pub robustUniformBufferAccessSizeAlignment: VkDeviceSize,
28814}
28815#[repr(C)]
28816#[derive(Copy, Clone)]
28817pub struct VkSamplerCustomBorderColorCreateInfoEXT {
28818    pub sType: VkStructureType,
28819    pub pNext: *const ::std::os::raw::c_void,
28820    pub customBorderColor: VkClearColorValue,
28821    pub format: VkFormat,
28822}
28823#[repr(C)]
28824#[derive(Debug, Copy, Clone)]
28825pub struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
28826    pub sType: VkStructureType,
28827    pub pNext: *mut ::std::os::raw::c_void,
28828    pub maxCustomBorderColorSamplers: u32,
28829}
28830#[repr(C)]
28831#[derive(Debug, Copy, Clone)]
28832pub struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
28833    pub sType: VkStructureType,
28834    pub pNext: *mut ::std::os::raw::c_void,
28835    pub customBorderColors: VkBool32,
28836    pub customBorderColorWithoutFormat: VkBool32,
28837}
28838#[repr(C)]
28839#[derive(Debug, Copy, Clone)]
28840pub struct VkPhysicalDevicePresentBarrierFeaturesNV {
28841    pub sType: VkStructureType,
28842    pub pNext: *mut ::std::os::raw::c_void,
28843    pub presentBarrier: VkBool32,
28844}
28845#[repr(C)]
28846#[derive(Debug, Copy, Clone)]
28847pub struct VkSurfaceCapabilitiesPresentBarrierNV {
28848    pub sType: VkStructureType,
28849    pub pNext: *mut ::std::os::raw::c_void,
28850    pub presentBarrierSupported: VkBool32,
28851}
28852#[repr(C)]
28853#[derive(Debug, Copy, Clone)]
28854pub struct VkSwapchainPresentBarrierCreateInfoNV {
28855    pub sType: VkStructureType,
28856    pub pNext: *mut ::std::os::raw::c_void,
28857    pub presentBarrierEnable: VkBool32,
28858}
28859pub type VkPrivateDataSlotEXT = VkPrivateDataSlot;
28860pub type VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags;
28861pub type VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures;
28862pub type VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo;
28863pub type VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo;
28864pub type PFN_vkCreatePrivateDataSlotEXT = 
28865    unsafe extern "C" fn(
28866        device: VkDevice,
28867        pCreateInfo: *const VkPrivateDataSlotCreateInfo,
28868        pAllocator: *const VkAllocationCallbacks,
28869        pPrivateDataSlot: *mut VkPrivateDataSlot,
28870    ) -> VkResult;
28871
28872pub type PFN_vkDestroyPrivateDataSlotEXT = 
28873    unsafe extern "C" fn(
28874        device: VkDevice,
28875        privateDataSlot: VkPrivateDataSlot,
28876        pAllocator: *const VkAllocationCallbacks,
28877    );
28878
28879pub type PFN_vkSetPrivateDataEXT = 
28880    unsafe extern "C" fn(
28881        device: VkDevice,
28882        objectType: VkObjectType,
28883        objectHandle: u64,
28884        privateDataSlot: VkPrivateDataSlot,
28885        data: u64,
28886    ) -> VkResult;
28887
28888pub type PFN_vkGetPrivateDataEXT = 
28889    unsafe extern "C" fn(
28890        device: VkDevice,
28891        objectType: VkObjectType,
28892        objectHandle: u64,
28893        privateDataSlot: VkPrivateDataSlot,
28894        pData: *mut u64,
28895    );
28896
28897extern "C" {
28898    pub fn vkCreatePrivateDataSlotEXT(
28899        device: VkDevice,
28900        pCreateInfo: *const VkPrivateDataSlotCreateInfo,
28901        pAllocator: *const VkAllocationCallbacks,
28902        pPrivateDataSlot: *mut VkPrivateDataSlot,
28903    ) -> VkResult;
28904}
28905extern "C" {
28906    pub fn vkDestroyPrivateDataSlotEXT(
28907        device: VkDevice,
28908        privateDataSlot: VkPrivateDataSlot,
28909        pAllocator: *const VkAllocationCallbacks,
28910    );
28911}
28912extern "C" {
28913    pub fn vkSetPrivateDataEXT(
28914        device: VkDevice,
28915        objectType: VkObjectType,
28916        objectHandle: u64,
28917        privateDataSlot: VkPrivateDataSlot,
28918        data: u64,
28919    ) -> VkResult;
28920}
28921extern "C" {
28922    pub fn vkGetPrivateDataEXT(
28923        device: VkDevice,
28924        objectType: VkObjectType,
28925        objectHandle: u64,
28926        privateDataSlot: VkPrivateDataSlot,
28927        pData: *mut u64,
28928    );
28929}
28930pub type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT =
28931    VkPhysicalDevicePipelineCreationCacheControlFeatures;
28932pub const VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV : VkDeviceDiagnosticsConfigFlagBitsNV = 1 ;
28933pub const VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV : VkDeviceDiagnosticsConfigFlagBitsNV = 2 ;
28934pub const VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV : VkDeviceDiagnosticsConfigFlagBitsNV = 4 ;
28935pub const VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV : VkDeviceDiagnosticsConfigFlagBitsNV = 8 ;
28936pub const VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV:
28937    VkDeviceDiagnosticsConfigFlagBitsNV = 2147483647;
28938pub type VkDeviceDiagnosticsConfigFlagBitsNV = ::std::os::raw::c_uint;
28939pub type VkDeviceDiagnosticsConfigFlagsNV = VkFlags;
28940#[repr(C)]
28941#[derive(Debug, Copy, Clone)]
28942pub struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
28943    pub sType: VkStructureType,
28944    pub pNext: *mut ::std::os::raw::c_void,
28945    pub diagnosticsConfig: VkBool32,
28946}
28947#[repr(C)]
28948#[derive(Debug, Copy, Clone)]
28949pub struct VkDeviceDiagnosticsConfigCreateInfoNV {
28950    pub sType: VkStructureType,
28951    pub pNext: *const ::std::os::raw::c_void,
28952    pub flags: VkDeviceDiagnosticsConfigFlagsNV,
28953}
28954#[repr(C)]
28955#[derive(Debug, Copy, Clone)]
28956pub struct VkCudaModuleNV_T {
28957    _unused: [u8; 0],
28958}
28959pub type VkCudaModuleNV = *mut VkCudaModuleNV_T;
28960#[repr(C)]
28961#[derive(Debug, Copy, Clone)]
28962pub struct VkCudaFunctionNV_T {
28963    _unused: [u8; 0],
28964}
28965pub type VkCudaFunctionNV = *mut VkCudaFunctionNV_T;
28966#[repr(C)]
28967#[derive(Debug, Copy, Clone)]
28968pub struct VkCudaModuleCreateInfoNV {
28969    pub sType: VkStructureType,
28970    pub pNext: *const ::std::os::raw::c_void,
28971    pub dataSize: usize,
28972    pub pData: *const ::std::os::raw::c_void,
28973}
28974#[repr(C)]
28975#[derive(Debug, Copy, Clone)]
28976pub struct VkCudaFunctionCreateInfoNV {
28977    pub sType: VkStructureType,
28978    pub pNext: *const ::std::os::raw::c_void,
28979    pub module: VkCudaModuleNV,
28980    pub pName: *const ::std::os::raw::c_char,
28981}
28982#[repr(C)]
28983#[derive(Debug, Copy, Clone)]
28984pub struct VkCudaLaunchInfoNV {
28985    pub sType: VkStructureType,
28986    pub pNext: *const ::std::os::raw::c_void,
28987    pub function: VkCudaFunctionNV,
28988    pub gridDimX: u32,
28989    pub gridDimY: u32,
28990    pub gridDimZ: u32,
28991    pub blockDimX: u32,
28992    pub blockDimY: u32,
28993    pub blockDimZ: u32,
28994    pub sharedMemBytes: u32,
28995    pub paramCount: usize,
28996    pub pParams: *const *const ::std::os::raw::c_void,
28997    pub extraCount: usize,
28998    pub pExtras: *const *const ::std::os::raw::c_void,
28999}
29000#[repr(C)]
29001#[derive(Debug, Copy, Clone)]
29002pub struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
29003    pub sType: VkStructureType,
29004    pub pNext: *mut ::std::os::raw::c_void,
29005    pub cudaKernelLaunchFeatures: VkBool32,
29006}
29007#[repr(C)]
29008#[derive(Debug, Copy, Clone)]
29009pub struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
29010    pub sType: VkStructureType,
29011    pub pNext: *mut ::std::os::raw::c_void,
29012    pub computeCapabilityMinor: u32,
29013    pub computeCapabilityMajor: u32,
29014}
29015pub type PFN_vkCreateCudaModuleNV = 
29016    unsafe extern "C" fn(
29017        device: VkDevice,
29018        pCreateInfo: *const VkCudaModuleCreateInfoNV,
29019        pAllocator: *const VkAllocationCallbacks,
29020        pModule: *mut VkCudaModuleNV,
29021    ) -> VkResult;
29022
29023pub type PFN_vkGetCudaModuleCacheNV = 
29024    unsafe extern "C" fn(
29025        device: VkDevice,
29026        module: VkCudaModuleNV,
29027        pCacheSize: *mut usize,
29028        pCacheData: *mut ::std::os::raw::c_void,
29029    ) -> VkResult;
29030
29031pub type PFN_vkCreateCudaFunctionNV = 
29032    unsafe extern "C" fn(
29033        device: VkDevice,
29034        pCreateInfo: *const VkCudaFunctionCreateInfoNV,
29035        pAllocator: *const VkAllocationCallbacks,
29036        pFunction: *mut VkCudaFunctionNV,
29037    ) -> VkResult;
29038
29039pub type PFN_vkDestroyCudaModuleNV = 
29040    unsafe extern "C" fn(
29041        device: VkDevice,
29042        module: VkCudaModuleNV,
29043        pAllocator: *const VkAllocationCallbacks,
29044    );
29045
29046pub type PFN_vkDestroyCudaFunctionNV = 
29047    unsafe extern "C" fn(
29048        device: VkDevice,
29049        function: VkCudaFunctionNV,
29050        pAllocator: *const VkAllocationCallbacks,
29051    );
29052
29053pub type PFN_vkCmdCudaLaunchKernelNV = 
29054    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pLaunchInfo: *const VkCudaLaunchInfoNV);
29055
29056extern "C" {
29057    pub fn vkCreateCudaModuleNV(
29058        device: VkDevice,
29059        pCreateInfo: *const VkCudaModuleCreateInfoNV,
29060        pAllocator: *const VkAllocationCallbacks,
29061        pModule: *mut VkCudaModuleNV,
29062    ) -> VkResult;
29063}
29064extern "C" {
29065    pub fn vkGetCudaModuleCacheNV(
29066        device: VkDevice,
29067        module: VkCudaModuleNV,
29068        pCacheSize: *mut usize,
29069        pCacheData: *mut ::std::os::raw::c_void,
29070    ) -> VkResult;
29071}
29072extern "C" {
29073    pub fn vkCreateCudaFunctionNV(
29074        device: VkDevice,
29075        pCreateInfo: *const VkCudaFunctionCreateInfoNV,
29076        pAllocator: *const VkAllocationCallbacks,
29077        pFunction: *mut VkCudaFunctionNV,
29078    ) -> VkResult;
29079}
29080extern "C" {
29081    pub fn vkDestroyCudaModuleNV(
29082        device: VkDevice,
29083        module: VkCudaModuleNV,
29084        pAllocator: *const VkAllocationCallbacks,
29085    );
29086}
29087extern "C" {
29088    pub fn vkDestroyCudaFunctionNV(
29089        device: VkDevice,
29090        function: VkCudaFunctionNV,
29091        pAllocator: *const VkAllocationCallbacks,
29092    );
29093}
29094extern "C" {
29095    pub fn vkCmdCudaLaunchKernelNV(
29096        commandBuffer: VkCommandBuffer,
29097        pLaunchInfo: *const VkCudaLaunchInfoNV,
29098    );
29099}
29100#[repr(C)]
29101#[derive(Debug, Copy, Clone)]
29102pub struct VkQueryLowLatencySupportNV {
29103    pub sType: VkStructureType,
29104    pub pNext: *const ::std::os::raw::c_void,
29105    pub pQueriedLowLatencyData: *mut ::std::os::raw::c_void,
29106}
29107#[repr(C)]
29108#[derive(Debug, Copy, Clone)]
29109pub struct VkAccelerationStructureKHR_T {
29110    _unused: [u8; 0],
29111}
29112pub type VkAccelerationStructureKHR = *mut VkAccelerationStructureKHR_T;
29113#[repr(C)]
29114#[derive(Debug, Copy, Clone)]
29115pub struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
29116    pub sType: VkStructureType,
29117    pub pNext: *mut ::std::os::raw::c_void,
29118    pub combinedImageSamplerDescriptorSingleArray: VkBool32,
29119    pub bufferlessPushDescriptors: VkBool32,
29120    pub allowSamplerImageViewPostSubmitCreation: VkBool32,
29121    pub descriptorBufferOffsetAlignment: VkDeviceSize,
29122    pub maxDescriptorBufferBindings: u32,
29123    pub maxResourceDescriptorBufferBindings: u32,
29124    pub maxSamplerDescriptorBufferBindings: u32,
29125    pub maxEmbeddedImmutableSamplerBindings: u32,
29126    pub maxEmbeddedImmutableSamplers: u32,
29127    pub bufferCaptureReplayDescriptorDataSize: usize,
29128    pub imageCaptureReplayDescriptorDataSize: usize,
29129    pub imageViewCaptureReplayDescriptorDataSize: usize,
29130    pub samplerCaptureReplayDescriptorDataSize: usize,
29131    pub accelerationStructureCaptureReplayDescriptorDataSize: usize,
29132    pub samplerDescriptorSize: usize,
29133    pub combinedImageSamplerDescriptorSize: usize,
29134    pub sampledImageDescriptorSize: usize,
29135    pub storageImageDescriptorSize: usize,
29136    pub uniformTexelBufferDescriptorSize: usize,
29137    pub robustUniformTexelBufferDescriptorSize: usize,
29138    pub storageTexelBufferDescriptorSize: usize,
29139    pub robustStorageTexelBufferDescriptorSize: usize,
29140    pub uniformBufferDescriptorSize: usize,
29141    pub robustUniformBufferDescriptorSize: usize,
29142    pub storageBufferDescriptorSize: usize,
29143    pub robustStorageBufferDescriptorSize: usize,
29144    pub inputAttachmentDescriptorSize: usize,
29145    pub accelerationStructureDescriptorSize: usize,
29146    pub maxSamplerDescriptorBufferRange: VkDeviceSize,
29147    pub maxResourceDescriptorBufferRange: VkDeviceSize,
29148    pub samplerDescriptorBufferAddressSpaceSize: VkDeviceSize,
29149    pub resourceDescriptorBufferAddressSpaceSize: VkDeviceSize,
29150    pub descriptorBufferAddressSpaceSize: VkDeviceSize,
29151}
29152#[repr(C)]
29153#[derive(Debug, Copy, Clone)]
29154pub struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
29155    pub sType: VkStructureType,
29156    pub pNext: *mut ::std::os::raw::c_void,
29157    pub combinedImageSamplerDensityMapDescriptorSize: usize,
29158}
29159#[repr(C)]
29160#[derive(Debug, Copy, Clone)]
29161pub struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
29162    pub sType: VkStructureType,
29163    pub pNext: *mut ::std::os::raw::c_void,
29164    pub descriptorBuffer: VkBool32,
29165    pub descriptorBufferCaptureReplay: VkBool32,
29166    pub descriptorBufferImageLayoutIgnored: VkBool32,
29167    pub descriptorBufferPushDescriptors: VkBool32,
29168}
29169#[repr(C)]
29170#[derive(Debug, Copy, Clone)]
29171pub struct VkDescriptorAddressInfoEXT {
29172    pub sType: VkStructureType,
29173    pub pNext: *mut ::std::os::raw::c_void,
29174    pub address: VkDeviceAddress,
29175    pub range: VkDeviceSize,
29176    pub format: VkFormat,
29177}
29178#[repr(C)]
29179#[derive(Debug, Copy, Clone)]
29180pub struct VkDescriptorBufferBindingInfoEXT {
29181    pub sType: VkStructureType,
29182    pub pNext: *const ::std::os::raw::c_void,
29183    pub address: VkDeviceAddress,
29184    pub usage: VkBufferUsageFlags,
29185}
29186#[repr(C)]
29187#[derive(Debug, Copy, Clone)]
29188pub struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
29189    pub sType: VkStructureType,
29190    pub pNext: *const ::std::os::raw::c_void,
29191    pub buffer: VkBuffer,
29192}
29193#[repr(C)]
29194#[derive(Copy, Clone)]
29195pub union VkDescriptorDataEXT {
29196    pub pSampler: *const VkSampler,
29197    pub pCombinedImageSampler: *const VkDescriptorImageInfo,
29198    pub pInputAttachmentImage: *const VkDescriptorImageInfo,
29199    pub pSampledImage: *const VkDescriptorImageInfo,
29200    pub pStorageImage: *const VkDescriptorImageInfo,
29201    pub pUniformTexelBuffer: *const VkDescriptorAddressInfoEXT,
29202    pub pStorageTexelBuffer: *const VkDescriptorAddressInfoEXT,
29203    pub pUniformBuffer: *const VkDescriptorAddressInfoEXT,
29204    pub pStorageBuffer: *const VkDescriptorAddressInfoEXT,
29205    pub accelerationStructure: VkDeviceAddress,
29206}
29207#[repr(C)]
29208#[derive(Copy, Clone)]
29209pub struct VkDescriptorGetInfoEXT {
29210    pub sType: VkStructureType,
29211    pub pNext: *const ::std::os::raw::c_void,
29212    pub type_: VkDescriptorType,
29213    pub data: VkDescriptorDataEXT,
29214}
29215#[repr(C)]
29216#[derive(Debug, Copy, Clone)]
29217pub struct VkBufferCaptureDescriptorDataInfoEXT {
29218    pub sType: VkStructureType,
29219    pub pNext: *const ::std::os::raw::c_void,
29220    pub buffer: VkBuffer,
29221}
29222#[repr(C)]
29223#[derive(Debug, Copy, Clone)]
29224pub struct VkImageCaptureDescriptorDataInfoEXT {
29225    pub sType: VkStructureType,
29226    pub pNext: *const ::std::os::raw::c_void,
29227    pub image: VkImage,
29228}
29229#[repr(C)]
29230#[derive(Debug, Copy, Clone)]
29231pub struct VkImageViewCaptureDescriptorDataInfoEXT {
29232    pub sType: VkStructureType,
29233    pub pNext: *const ::std::os::raw::c_void,
29234    pub imageView: VkImageView,
29235}
29236#[repr(C)]
29237#[derive(Debug, Copy, Clone)]
29238pub struct VkSamplerCaptureDescriptorDataInfoEXT {
29239    pub sType: VkStructureType,
29240    pub pNext: *const ::std::os::raw::c_void,
29241    pub sampler: VkSampler,
29242}
29243#[repr(C)]
29244#[derive(Debug, Copy, Clone)]
29245pub struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
29246    pub sType: VkStructureType,
29247    pub pNext: *const ::std::os::raw::c_void,
29248    pub opaqueCaptureDescriptorData: *const ::std::os::raw::c_void,
29249}
29250#[repr(C)]
29251#[derive(Debug, Copy, Clone)]
29252pub struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
29253    pub sType: VkStructureType,
29254    pub pNext: *const ::std::os::raw::c_void,
29255    pub accelerationStructure: VkAccelerationStructureKHR,
29256    pub accelerationStructureNV: VkAccelerationStructureNV,
29257}
29258pub type PFN_vkGetDescriptorSetLayoutSizeEXT = 
29259    unsafe extern "C" fn(
29260        device: VkDevice,
29261        layout: VkDescriptorSetLayout,
29262        pLayoutSizeInBytes: *mut VkDeviceSize,
29263    );
29264
29265pub type PFN_vkGetDescriptorSetLayoutBindingOffsetEXT = 
29266    unsafe extern "C" fn(
29267        device: VkDevice,
29268        layout: VkDescriptorSetLayout,
29269        binding: u32,
29270        pOffset: *mut VkDeviceSize,
29271    );
29272
29273pub type PFN_vkGetDescriptorEXT = 
29274    unsafe extern "C" fn(
29275        device: VkDevice,
29276        pDescriptorInfo: *const VkDescriptorGetInfoEXT,
29277        dataSize: usize,
29278        pDescriptor: *mut ::std::os::raw::c_void,
29279    );
29280
29281pub type PFN_vkCmdBindDescriptorBuffersEXT = 
29282    unsafe extern "C" fn(
29283        commandBuffer: VkCommandBuffer,
29284        bufferCount: u32,
29285        pBindingInfos: *const VkDescriptorBufferBindingInfoEXT,
29286    );
29287
29288pub type PFN_vkCmdSetDescriptorBufferOffsetsEXT = 
29289    unsafe extern "C" fn(
29290        commandBuffer: VkCommandBuffer,
29291        pipelineBindPoint: VkPipelineBindPoint,
29292        layout: VkPipelineLayout,
29293        firstSet: u32,
29294        setCount: u32,
29295        pBufferIndices: *const u32,
29296        pOffsets: *const VkDeviceSize,
29297    );
29298
29299pub type PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT = 
29300    unsafe extern "C" fn(
29301        commandBuffer: VkCommandBuffer,
29302        pipelineBindPoint: VkPipelineBindPoint,
29303        layout: VkPipelineLayout,
29304        set: u32,
29305    );
29306
29307pub type PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT = 
29308    unsafe extern "C" fn(
29309        device: VkDevice,
29310        pInfo: *const VkBufferCaptureDescriptorDataInfoEXT,
29311        pData: *mut ::std::os::raw::c_void,
29312    ) -> VkResult;
29313
29314pub type PFN_vkGetImageOpaqueCaptureDescriptorDataEXT = 
29315    unsafe extern "C" fn(
29316        device: VkDevice,
29317        pInfo: *const VkImageCaptureDescriptorDataInfoEXT,
29318        pData: *mut ::std::os::raw::c_void,
29319    ) -> VkResult;
29320
29321pub type PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT = 
29322    unsafe extern "C" fn(
29323        device: VkDevice,
29324        pInfo: *const VkImageViewCaptureDescriptorDataInfoEXT,
29325        pData: *mut ::std::os::raw::c_void,
29326    ) -> VkResult;
29327
29328pub type PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT = 
29329    unsafe extern "C" fn(
29330        device: VkDevice,
29331        pInfo: *const VkSamplerCaptureDescriptorDataInfoEXT,
29332        pData: *mut ::std::os::raw::c_void,
29333    ) -> VkResult;
29334
29335pub type PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 
29336    unsafe extern "C" fn(
29337        device: VkDevice,
29338        pInfo: *const VkAccelerationStructureCaptureDescriptorDataInfoEXT,
29339        pData: *mut ::std::os::raw::c_void,
29340    ) -> VkResult;
29341
29342extern "C" {
29343    pub fn vkGetDescriptorSetLayoutSizeEXT(
29344        device: VkDevice,
29345        layout: VkDescriptorSetLayout,
29346        pLayoutSizeInBytes: *mut VkDeviceSize,
29347    );
29348}
29349extern "C" {
29350    pub fn vkGetDescriptorSetLayoutBindingOffsetEXT(
29351        device: VkDevice,
29352        layout: VkDescriptorSetLayout,
29353        binding: u32,
29354        pOffset: *mut VkDeviceSize,
29355    );
29356}
29357extern "C" {
29358    pub fn vkGetDescriptorEXT(
29359        device: VkDevice,
29360        pDescriptorInfo: *const VkDescriptorGetInfoEXT,
29361        dataSize: usize,
29362        pDescriptor: *mut ::std::os::raw::c_void,
29363    );
29364}
29365extern "C" {
29366    pub fn vkCmdBindDescriptorBuffersEXT(
29367        commandBuffer: VkCommandBuffer,
29368        bufferCount: u32,
29369        pBindingInfos: *const VkDescriptorBufferBindingInfoEXT,
29370    );
29371}
29372extern "C" {
29373    pub fn vkCmdSetDescriptorBufferOffsetsEXT(
29374        commandBuffer: VkCommandBuffer,
29375        pipelineBindPoint: VkPipelineBindPoint,
29376        layout: VkPipelineLayout,
29377        firstSet: u32,
29378        setCount: u32,
29379        pBufferIndices: *const u32,
29380        pOffsets: *const VkDeviceSize,
29381    );
29382}
29383extern "C" {
29384    pub fn vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
29385        commandBuffer: VkCommandBuffer,
29386        pipelineBindPoint: VkPipelineBindPoint,
29387        layout: VkPipelineLayout,
29388        set: u32,
29389    );
29390}
29391extern "C" {
29392    pub fn vkGetBufferOpaqueCaptureDescriptorDataEXT(
29393        device: VkDevice,
29394        pInfo: *const VkBufferCaptureDescriptorDataInfoEXT,
29395        pData: *mut ::std::os::raw::c_void,
29396    ) -> VkResult;
29397}
29398extern "C" {
29399    pub fn vkGetImageOpaqueCaptureDescriptorDataEXT(
29400        device: VkDevice,
29401        pInfo: *const VkImageCaptureDescriptorDataInfoEXT,
29402        pData: *mut ::std::os::raw::c_void,
29403    ) -> VkResult;
29404}
29405extern "C" {
29406    pub fn vkGetImageViewOpaqueCaptureDescriptorDataEXT(
29407        device: VkDevice,
29408        pInfo: *const VkImageViewCaptureDescriptorDataInfoEXT,
29409        pData: *mut ::std::os::raw::c_void,
29410    ) -> VkResult;
29411}
29412extern "C" {
29413    pub fn vkGetSamplerOpaqueCaptureDescriptorDataEXT(
29414        device: VkDevice,
29415        pInfo: *const VkSamplerCaptureDescriptorDataInfoEXT,
29416        pData: *mut ::std::os::raw::c_void,
29417    ) -> VkResult;
29418}
29419extern "C" {
29420    pub fn vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
29421        device: VkDevice,
29422        pInfo: *const VkAccelerationStructureCaptureDescriptorDataInfoEXT,
29423        pData: *mut ::std::os::raw::c_void,
29424    ) -> VkResult;
29425}
29426pub const VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT : VkGraphicsPipelineLibraryFlagBitsEXT = 1 ;
29427pub const VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT : VkGraphicsPipelineLibraryFlagBitsEXT = 2 ;
29428pub const VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT : VkGraphicsPipelineLibraryFlagBitsEXT = 4 ;
29429pub const VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT : VkGraphicsPipelineLibraryFlagBitsEXT = 8 ;
29430pub const VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT : VkGraphicsPipelineLibraryFlagBitsEXT = 2147483647 ;
29431pub type VkGraphicsPipelineLibraryFlagBitsEXT = ::std::os::raw::c_uint;
29432pub type VkGraphicsPipelineLibraryFlagsEXT = VkFlags;
29433#[repr(C)]
29434#[derive(Debug, Copy, Clone)]
29435pub struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
29436    pub sType: VkStructureType,
29437    pub pNext: *mut ::std::os::raw::c_void,
29438    pub graphicsPipelineLibrary: VkBool32,
29439}
29440#[repr(C)]
29441#[derive(Debug, Copy, Clone)]
29442pub struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
29443    pub sType: VkStructureType,
29444    pub pNext: *mut ::std::os::raw::c_void,
29445    pub graphicsPipelineLibraryFastLinking: VkBool32,
29446    pub graphicsPipelineLibraryIndependentInterpolationDecoration: VkBool32,
29447}
29448#[repr(C)]
29449#[derive(Debug, Copy, Clone)]
29450pub struct VkGraphicsPipelineLibraryCreateInfoEXT {
29451    pub sType: VkStructureType,
29452    pub pNext: *const ::std::os::raw::c_void,
29453    pub flags: VkGraphicsPipelineLibraryFlagsEXT,
29454}
29455#[repr(C)]
29456#[derive(Debug, Copy, Clone)]
29457pub struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
29458    pub sType: VkStructureType,
29459    pub pNext: *mut ::std::os::raw::c_void,
29460    pub shaderEarlyAndLateFragmentTests: VkBool32,
29461}
29462pub const VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV:
29463    VkFragmentShadingRateTypeNV = 0;
29464pub const VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV:
29465    VkFragmentShadingRateTypeNV = 1;
29466pub const VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV:
29467    VkFragmentShadingRateTypeNV = 2147483647;
29468pub type VkFragmentShadingRateTypeNV = ::std::os::raw::c_uint;
29469pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV:
29470    VkFragmentShadingRateNV = 0;
29471pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV:
29472    VkFragmentShadingRateNV = 1;
29473pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV:
29474    VkFragmentShadingRateNV = 4;
29475pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV:
29476    VkFragmentShadingRateNV = 5;
29477pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV:
29478    VkFragmentShadingRateNV = 6;
29479pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV:
29480    VkFragmentShadingRateNV = 9;
29481pub const VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV:
29482    VkFragmentShadingRateNV = 10;
29483pub const VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV:
29484    VkFragmentShadingRateNV = 11;
29485pub const VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV:
29486    VkFragmentShadingRateNV = 12;
29487pub const VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV:
29488    VkFragmentShadingRateNV = 13;
29489pub const VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV:
29490    VkFragmentShadingRateNV = 14;
29491pub const VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV:
29492    VkFragmentShadingRateNV = 15;
29493pub const VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV: VkFragmentShadingRateNV =
29494    2147483647;
29495pub type VkFragmentShadingRateNV = ::std::os::raw::c_uint;
29496#[repr(C)]
29497#[derive(Debug, Copy, Clone)]
29498pub struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
29499    pub sType: VkStructureType,
29500    pub pNext: *mut ::std::os::raw::c_void,
29501    pub fragmentShadingRateEnums: VkBool32,
29502    pub supersampleFragmentShadingRates: VkBool32,
29503    pub noInvocationFragmentShadingRates: VkBool32,
29504}
29505#[repr(C)]
29506#[derive(Debug, Copy, Clone)]
29507pub struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
29508    pub sType: VkStructureType,
29509    pub pNext: *mut ::std::os::raw::c_void,
29510    pub maxFragmentShadingRateInvocationCount: VkSampleCountFlagBits,
29511}
29512#[repr(C)]
29513#[derive(Debug, Copy, Clone)]
29514pub struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
29515    pub sType: VkStructureType,
29516    pub pNext: *const ::std::os::raw::c_void,
29517    pub shadingRateType: VkFragmentShadingRateTypeNV,
29518    pub shadingRate: VkFragmentShadingRateNV,
29519    pub combinerOps: [VkFragmentShadingRateCombinerOpKHR; 2usize],
29520}
29521pub type PFN_vkCmdSetFragmentShadingRateEnumNV = 
29522    unsafe extern "C" fn(
29523        commandBuffer: VkCommandBuffer,
29524        shadingRate: VkFragmentShadingRateNV,
29525        combinerOps: *const VkFragmentShadingRateCombinerOpKHR,
29526    );
29527
29528extern "C" {
29529    pub fn vkCmdSetFragmentShadingRateEnumNV(
29530        commandBuffer: VkCommandBuffer,
29531        shadingRate: VkFragmentShadingRateNV,
29532        combinerOps: *const VkFragmentShadingRateCombinerOpKHR,
29533    );
29534}
29535pub const VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV : VkAccelerationStructureMotionInstanceTypeNV = 0 ;
29536pub const VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV : VkAccelerationStructureMotionInstanceTypeNV = 1 ;
29537pub const VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV : VkAccelerationStructureMotionInstanceTypeNV = 2 ;
29538pub const VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV : VkAccelerationStructureMotionInstanceTypeNV = 2147483647 ;
29539pub type VkAccelerationStructureMotionInstanceTypeNV = ::std::os::raw::c_uint;
29540pub type VkAccelerationStructureMotionInfoFlagsNV = VkFlags;
29541pub type VkAccelerationStructureMotionInstanceFlagsNV = VkFlags;
29542#[repr(C)]
29543#[derive(Copy, Clone)]
29544pub union VkDeviceOrHostAddressConstKHR {
29545    pub deviceAddress: VkDeviceAddress,
29546    pub hostAddress: *const ::std::os::raw::c_void,
29547}
29548#[repr(C)]
29549#[derive(Copy, Clone)]
29550pub struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
29551    pub sType: VkStructureType,
29552    pub pNext: *const ::std::os::raw::c_void,
29553    pub vertexData: VkDeviceOrHostAddressConstKHR,
29554}
29555#[repr(C)]
29556#[derive(Debug, Copy, Clone)]
29557pub struct VkAccelerationStructureMotionInfoNV {
29558    pub sType: VkStructureType,
29559    pub pNext: *const ::std::os::raw::c_void,
29560    pub maxInstances: u32,
29561    pub flags: VkAccelerationStructureMotionInfoFlagsNV,
29562}
29563#[repr(C)]
29564#[derive(Debug, Copy, Clone)]
29565pub struct VkAccelerationStructureMatrixMotionInstanceNV {
29566    pub transformT0: VkTransformMatrixKHR,
29567    pub transformT1: VkTransformMatrixKHR,
29568    pub _bitfield_align_1: [u32; 0],
29569    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
29570    pub accelerationStructureReference: u64,
29571}
29572impl VkAccelerationStructureMatrixMotionInstanceNV {
29573    #[inline]
29574    pub fn instanceCustomIndex(&self) -> u32 {
29575        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) }
29576    }
29577    #[inline]
29578    pub fn set_instanceCustomIndex(&mut self, val: u32) {
29579        unsafe {
29580            let val: u32 = ::std::mem::transmute(val);
29581            self._bitfield_1.set(0usize, 24u8, val as u64)
29582        }
29583    }
29584    #[inline]
29585    pub fn mask(&self) -> u32 {
29586        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
29587    }
29588    #[inline]
29589    pub fn set_mask(&mut self, val: u32) {
29590        unsafe {
29591            let val: u32 = ::std::mem::transmute(val);
29592            self._bitfield_1.set(24usize, 8u8, val as u64)
29593        }
29594    }
29595    #[inline]
29596    pub fn instanceShaderBindingTableRecordOffset(&self) -> u32 {
29597        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 24u8) as u32) }
29598    }
29599    #[inline]
29600    pub fn set_instanceShaderBindingTableRecordOffset(&mut self, val: u32) {
29601        unsafe {
29602            let val: u32 = ::std::mem::transmute(val);
29603            self._bitfield_1.set(32usize, 24u8, val as u64)
29604        }
29605    }
29606    #[inline]
29607    pub fn flags(&self) -> VkGeometryInstanceFlagsKHR {
29608        unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 8u8) as u32) }
29609    }
29610    #[inline]
29611    pub fn set_flags(&mut self, val: VkGeometryInstanceFlagsKHR) {
29612        unsafe {
29613            let val: u32 = ::std::mem::transmute(val);
29614            self._bitfield_1.set(56usize, 8u8, val as u64)
29615        }
29616    }
29617    #[inline]
29618    pub fn new_bitfield_1(
29619        instanceCustomIndex: u32,
29620        mask: u32,
29621        instanceShaderBindingTableRecordOffset: u32,
29622        flags: VkGeometryInstanceFlagsKHR,
29623    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
29624        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
29625        __bindgen_bitfield_unit.set(0usize, 24u8, {
29626            let instanceCustomIndex: u32 = unsafe { ::std::mem::transmute(instanceCustomIndex) };
29627            instanceCustomIndex as u64
29628        });
29629        __bindgen_bitfield_unit.set(24usize, 8u8, {
29630            let mask: u32 = unsafe { ::std::mem::transmute(mask) };
29631            mask as u64
29632        });
29633        __bindgen_bitfield_unit.set(32usize, 24u8, {
29634            let instanceShaderBindingTableRecordOffset: u32 =
29635                unsafe { ::std::mem::transmute(instanceShaderBindingTableRecordOffset) };
29636            instanceShaderBindingTableRecordOffset as u64
29637        });
29638        __bindgen_bitfield_unit.set(56usize, 8u8, {
29639            let flags: u32 = unsafe { ::std::mem::transmute(flags) };
29640            flags as u64
29641        });
29642        __bindgen_bitfield_unit
29643    }
29644}
29645#[repr(C)]
29646#[derive(Debug, Copy, Clone)]
29647pub struct VkSRTDataNV {
29648    pub sx: f32,
29649    pub a: f32,
29650    pub b: f32,
29651    pub pvx: f32,
29652    pub sy: f32,
29653    pub c: f32,
29654    pub pvy: f32,
29655    pub sz: f32,
29656    pub pvz: f32,
29657    pub qx: f32,
29658    pub qy: f32,
29659    pub qz: f32,
29660    pub qw: f32,
29661    pub tx: f32,
29662    pub ty: f32,
29663    pub tz: f32,
29664}
29665#[repr(C)]
29666#[derive(Debug, Copy, Clone)]
29667pub struct VkAccelerationStructureSRTMotionInstanceNV {
29668    pub transformT0: VkSRTDataNV,
29669    pub transformT1: VkSRTDataNV,
29670    pub _bitfield_align_1: [u32; 0],
29671    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
29672    pub accelerationStructureReference: u64,
29673}
29674impl VkAccelerationStructureSRTMotionInstanceNV {
29675    #[inline]
29676    pub fn instanceCustomIndex(&self) -> u32 {
29677        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) }
29678    }
29679    #[inline]
29680    pub fn set_instanceCustomIndex(&mut self, val: u32) {
29681        unsafe {
29682            let val: u32 = ::std::mem::transmute(val);
29683            self._bitfield_1.set(0usize, 24u8, val as u64)
29684        }
29685    }
29686    #[inline]
29687    pub fn mask(&self) -> u32 {
29688        unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
29689    }
29690    #[inline]
29691    pub fn set_mask(&mut self, val: u32) {
29692        unsafe {
29693            let val: u32 = ::std::mem::transmute(val);
29694            self._bitfield_1.set(24usize, 8u8, val as u64)
29695        }
29696    }
29697    #[inline]
29698    pub fn instanceShaderBindingTableRecordOffset(&self) -> u32 {
29699        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 24u8) as u32) }
29700    }
29701    #[inline]
29702    pub fn set_instanceShaderBindingTableRecordOffset(&mut self, val: u32) {
29703        unsafe {
29704            let val: u32 = ::std::mem::transmute(val);
29705            self._bitfield_1.set(32usize, 24u8, val as u64)
29706        }
29707    }
29708    #[inline]
29709    pub fn flags(&self) -> VkGeometryInstanceFlagsKHR {
29710        unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 8u8) as u32) }
29711    }
29712    #[inline]
29713    pub fn set_flags(&mut self, val: VkGeometryInstanceFlagsKHR) {
29714        unsafe {
29715            let val: u32 = ::std::mem::transmute(val);
29716            self._bitfield_1.set(56usize, 8u8, val as u64)
29717        }
29718    }
29719    #[inline]
29720    pub fn new_bitfield_1(
29721        instanceCustomIndex: u32,
29722        mask: u32,
29723        instanceShaderBindingTableRecordOffset: u32,
29724        flags: VkGeometryInstanceFlagsKHR,
29725    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
29726        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
29727        __bindgen_bitfield_unit.set(0usize, 24u8, {
29728            let instanceCustomIndex: u32 = unsafe { ::std::mem::transmute(instanceCustomIndex) };
29729            instanceCustomIndex as u64
29730        });
29731        __bindgen_bitfield_unit.set(24usize, 8u8, {
29732            let mask: u32 = unsafe { ::std::mem::transmute(mask) };
29733            mask as u64
29734        });
29735        __bindgen_bitfield_unit.set(32usize, 24u8, {
29736            let instanceShaderBindingTableRecordOffset: u32 =
29737                unsafe { ::std::mem::transmute(instanceShaderBindingTableRecordOffset) };
29738            instanceShaderBindingTableRecordOffset as u64
29739        });
29740        __bindgen_bitfield_unit.set(56usize, 8u8, {
29741            let flags: u32 = unsafe { ::std::mem::transmute(flags) };
29742            flags as u64
29743        });
29744        __bindgen_bitfield_unit
29745    }
29746}
29747#[repr(C)]
29748#[derive(Copy, Clone)]
29749pub union VkAccelerationStructureMotionInstanceDataNV {
29750    pub staticInstance: VkAccelerationStructureInstanceKHR,
29751    pub matrixMotionInstance: VkAccelerationStructureMatrixMotionInstanceNV,
29752    pub srtMotionInstance: VkAccelerationStructureSRTMotionInstanceNV,
29753}
29754#[repr(C)]
29755#[derive(Copy, Clone)]
29756pub struct VkAccelerationStructureMotionInstanceNV {
29757    pub type_: VkAccelerationStructureMotionInstanceTypeNV,
29758    pub flags: VkAccelerationStructureMotionInstanceFlagsNV,
29759    pub data: VkAccelerationStructureMotionInstanceDataNV,
29760}
29761#[repr(C)]
29762#[derive(Debug, Copy, Clone)]
29763pub struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
29764    pub sType: VkStructureType,
29765    pub pNext: *mut ::std::os::raw::c_void,
29766    pub rayTracingMotionBlur: VkBool32,
29767    pub rayTracingMotionBlurPipelineTraceRaysIndirect: VkBool32,
29768}
29769#[repr(C)]
29770#[derive(Debug, Copy, Clone)]
29771pub struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
29772    pub sType: VkStructureType,
29773    pub pNext: *mut ::std::os::raw::c_void,
29774    pub ycbcr2plane444Formats: VkBool32,
29775}
29776#[repr(C)]
29777#[derive(Debug, Copy, Clone)]
29778pub struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
29779    pub sType: VkStructureType,
29780    pub pNext: *mut ::std::os::raw::c_void,
29781    pub fragmentDensityMapDeferred: VkBool32,
29782}
29783#[repr(C)]
29784#[derive(Debug, Copy, Clone)]
29785pub struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
29786    pub sType: VkStructureType,
29787    pub pNext: *mut ::std::os::raw::c_void,
29788    pub subsampledLoads: VkBool32,
29789    pub subsampledCoarseReconstructionEarlyAccess: VkBool32,
29790    pub maxSubsampledArrayLayers: u32,
29791    pub maxDescriptorSetSubsampledSamplers: u32,
29792}
29793#[repr(C)]
29794#[derive(Debug, Copy, Clone)]
29795pub struct VkCopyCommandTransformInfoQCOM {
29796    pub sType: VkStructureType,
29797    pub pNext: *const ::std::os::raw::c_void,
29798    pub transform: VkSurfaceTransformFlagBitsKHR,
29799}
29800pub type VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures;
29801pub const VK_IMAGE_COMPRESSION_DEFAULT_EXT:
29802    VkImageCompressionFlagBitsEXT = 0;
29803pub const VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT:
29804    VkImageCompressionFlagBitsEXT = 1;
29805pub const VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT:
29806    VkImageCompressionFlagBitsEXT = 2;
29807pub const VK_IMAGE_COMPRESSION_DISABLED_EXT:
29808    VkImageCompressionFlagBitsEXT = 4;
29809pub const VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT:
29810    VkImageCompressionFlagBitsEXT = 2147483647;
29811pub type VkImageCompressionFlagBitsEXT = ::std::os::raw::c_uint;
29812pub type VkImageCompressionFlagsEXT = VkFlags;
29813pub const VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT:
29814    VkImageCompressionFixedRateFlagBitsEXT = 0;
29815pub const VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT:
29816    VkImageCompressionFixedRateFlagBitsEXT = 1;
29817pub const VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT:
29818    VkImageCompressionFixedRateFlagBitsEXT = 2;
29819pub const VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT:
29820    VkImageCompressionFixedRateFlagBitsEXT = 4;
29821pub const VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT:
29822    VkImageCompressionFixedRateFlagBitsEXT = 8;
29823pub const VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT:
29824    VkImageCompressionFixedRateFlagBitsEXT = 16;
29825pub const VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT:
29826    VkImageCompressionFixedRateFlagBitsEXT = 32;
29827pub const VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT:
29828    VkImageCompressionFixedRateFlagBitsEXT = 64;
29829pub const VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT:
29830    VkImageCompressionFixedRateFlagBitsEXT = 128;
29831pub const VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT:
29832    VkImageCompressionFixedRateFlagBitsEXT = 256;
29833pub const VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT:
29834    VkImageCompressionFixedRateFlagBitsEXT = 512;
29835pub const VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT:
29836    VkImageCompressionFixedRateFlagBitsEXT = 1024;
29837pub const VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT:
29838    VkImageCompressionFixedRateFlagBitsEXT = 2048;
29839pub const VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT:
29840    VkImageCompressionFixedRateFlagBitsEXT = 4096;
29841pub const VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT:
29842    VkImageCompressionFixedRateFlagBitsEXT = 8192;
29843pub const VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT:
29844    VkImageCompressionFixedRateFlagBitsEXT = 16384;
29845pub const VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT:
29846    VkImageCompressionFixedRateFlagBitsEXT = 32768;
29847pub const VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT:
29848    VkImageCompressionFixedRateFlagBitsEXT = 65536;
29849pub const VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT:
29850    VkImageCompressionFixedRateFlagBitsEXT = 131072;
29851pub const VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT:
29852    VkImageCompressionFixedRateFlagBitsEXT = 262144;
29853pub const VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT:
29854    VkImageCompressionFixedRateFlagBitsEXT = 524288;
29855pub const VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT:
29856    VkImageCompressionFixedRateFlagBitsEXT = 1048576;
29857pub const VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT:
29858    VkImageCompressionFixedRateFlagBitsEXT = 2097152;
29859pub const VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT:
29860    VkImageCompressionFixedRateFlagBitsEXT = 4194304;
29861pub const VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT:
29862    VkImageCompressionFixedRateFlagBitsEXT = 8388608;
29863pub const VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT : VkImageCompressionFixedRateFlagBitsEXT = 2147483647 ;
29864pub type VkImageCompressionFixedRateFlagBitsEXT = ::std::os::raw::c_uint;
29865pub type VkImageCompressionFixedRateFlagsEXT = VkFlags;
29866#[repr(C)]
29867#[derive(Debug, Copy, Clone)]
29868pub struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
29869    pub sType: VkStructureType,
29870    pub pNext: *mut ::std::os::raw::c_void,
29871    pub imageCompressionControl: VkBool32,
29872}
29873#[repr(C)]
29874#[derive(Debug, Copy, Clone)]
29875pub struct VkImageCompressionControlEXT {
29876    pub sType: VkStructureType,
29877    pub pNext: *const ::std::os::raw::c_void,
29878    pub flags: VkImageCompressionFlagsEXT,
29879    pub compressionControlPlaneCount: u32,
29880    pub pFixedRateFlags: *mut VkImageCompressionFixedRateFlagsEXT,
29881}
29882#[repr(C)]
29883#[derive(Debug, Copy, Clone)]
29884pub struct VkImageCompressionPropertiesEXT {
29885    pub sType: VkStructureType,
29886    pub pNext: *mut ::std::os::raw::c_void,
29887    pub imageCompressionFlags: VkImageCompressionFlagsEXT,
29888    pub imageCompressionFixedRateFlags: VkImageCompressionFixedRateFlagsEXT,
29889}
29890#[repr(C)]
29891#[derive(Debug, Copy, Clone)]
29892pub struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
29893    pub sType: VkStructureType,
29894    pub pNext: *mut ::std::os::raw::c_void,
29895    pub attachmentFeedbackLoopLayout: VkBool32,
29896}
29897#[repr(C)]
29898#[derive(Debug, Copy, Clone)]
29899pub struct VkPhysicalDevice4444FormatsFeaturesEXT {
29900    pub sType: VkStructureType,
29901    pub pNext: *mut ::std::os::raw::c_void,
29902    pub formatA4R4G4B4: VkBool32,
29903    pub formatA4B4G4R4: VkBool32,
29904}
29905pub const VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT:
29906    VkDeviceFaultAddressTypeEXT = 0;
29907pub const VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT:
29908    VkDeviceFaultAddressTypeEXT = 1;
29909pub const VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT:
29910    VkDeviceFaultAddressTypeEXT = 2;
29911pub const VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT:
29912    VkDeviceFaultAddressTypeEXT = 3;
29913pub const VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT : VkDeviceFaultAddressTypeEXT = 4 ;
29914pub const VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT : VkDeviceFaultAddressTypeEXT = 5 ;
29915pub const VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT:
29916    VkDeviceFaultAddressTypeEXT = 6;
29917pub const VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT:
29918    VkDeviceFaultAddressTypeEXT = 2147483647;
29919pub type VkDeviceFaultAddressTypeEXT = ::std::os::raw::c_uint;
29920pub const VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT : VkDeviceFaultVendorBinaryHeaderVersionEXT = 1 ;
29921pub const VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT : VkDeviceFaultVendorBinaryHeaderVersionEXT = 2147483647 ;
29922pub type VkDeviceFaultVendorBinaryHeaderVersionEXT = ::std::os::raw::c_uint;
29923#[repr(C)]
29924#[derive(Debug, Copy, Clone)]
29925pub struct VkPhysicalDeviceFaultFeaturesEXT {
29926    pub sType: VkStructureType,
29927    pub pNext: *mut ::std::os::raw::c_void,
29928    pub deviceFault: VkBool32,
29929    pub deviceFaultVendorBinary: VkBool32,
29930}
29931#[repr(C)]
29932#[derive(Debug, Copy, Clone)]
29933pub struct VkDeviceFaultCountsEXT {
29934    pub sType: VkStructureType,
29935    pub pNext: *mut ::std::os::raw::c_void,
29936    pub addressInfoCount: u32,
29937    pub vendorInfoCount: u32,
29938    pub vendorBinarySize: VkDeviceSize,
29939}
29940#[repr(C)]
29941#[derive(Debug, Copy, Clone)]
29942pub struct VkDeviceFaultAddressInfoEXT {
29943    pub addressType: VkDeviceFaultAddressTypeEXT,
29944    pub reportedAddress: VkDeviceAddress,
29945    pub addressPrecision: VkDeviceSize,
29946}
29947#[repr(C)]
29948#[derive(Debug, Copy, Clone)]
29949pub struct VkDeviceFaultVendorInfoEXT {
29950    pub description: [::std::os::raw::c_char; 256usize],
29951    pub vendorFaultCode: u64,
29952    pub vendorFaultData: u64,
29953}
29954#[repr(C)]
29955#[derive(Debug, Copy, Clone)]
29956pub struct VkDeviceFaultInfoEXT {
29957    pub sType: VkStructureType,
29958    pub pNext: *mut ::std::os::raw::c_void,
29959    pub description: [::std::os::raw::c_char; 256usize],
29960    pub pAddressInfos: *mut VkDeviceFaultAddressInfoEXT,
29961    pub pVendorInfos: *mut VkDeviceFaultVendorInfoEXT,
29962    pub pVendorBinaryData: *mut ::std::os::raw::c_void,
29963}
29964#[repr(C)]
29965#[derive(Debug, Copy, Clone)]
29966pub struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
29967    pub headerSize: u32,
29968    pub headerVersion: VkDeviceFaultVendorBinaryHeaderVersionEXT,
29969    pub vendorID: u32,
29970    pub deviceID: u32,
29971    pub driverVersion: u32,
29972    pub pipelineCacheUUID: [u8; 16usize],
29973    pub applicationNameOffset: u32,
29974    pub applicationVersion: u32,
29975    pub engineNameOffset: u32,
29976    pub engineVersion: u32,
29977    pub apiVersion: u32,
29978}
29979pub type PFN_vkGetDeviceFaultInfoEXT = 
29980    unsafe extern "C" fn(
29981        device: VkDevice,
29982        pFaultCounts: *mut VkDeviceFaultCountsEXT,
29983        pFaultInfo: *mut VkDeviceFaultInfoEXT,
29984    ) -> VkResult;
29985
29986extern "C" {
29987    pub fn vkGetDeviceFaultInfoEXT(
29988        device: VkDevice,
29989        pFaultCounts: *mut VkDeviceFaultCountsEXT,
29990        pFaultInfo: *mut VkDeviceFaultInfoEXT,
29991    ) -> VkResult;
29992}
29993#[repr(C)]
29994#[derive(Debug, Copy, Clone)]
29995pub struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
29996    pub sType: VkStructureType,
29997    pub pNext: *mut ::std::os::raw::c_void,
29998    pub rasterizationOrderColorAttachmentAccess: VkBool32,
29999    pub rasterizationOrderDepthAttachmentAccess: VkBool32,
30000    pub rasterizationOrderStencilAttachmentAccess: VkBool32,
30001}
30002pub type VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
30003    VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
30004#[repr(C)]
30005#[derive(Debug, Copy, Clone)]
30006pub struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
30007    pub sType: VkStructureType,
30008    pub pNext: *mut ::std::os::raw::c_void,
30009    pub formatRgba10x6WithoutYCbCrSampler: VkBool32,
30010}
30011#[repr(C)]
30012#[derive(Debug, Copy, Clone)]
30013pub struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
30014    pub sType: VkStructureType,
30015    pub pNext: *mut ::std::os::raw::c_void,
30016    pub mutableDescriptorType: VkBool32,
30017}
30018pub type VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
30019    VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;
30020#[repr(C)]
30021#[derive(Debug, Copy, Clone)]
30022pub struct VkMutableDescriptorTypeListEXT {
30023    pub descriptorTypeCount: u32,
30024    pub pDescriptorTypes: *const VkDescriptorType,
30025}
30026pub type VkMutableDescriptorTypeListVALVE = VkMutableDescriptorTypeListEXT;
30027#[repr(C)]
30028#[derive(Debug, Copy, Clone)]
30029pub struct VkMutableDescriptorTypeCreateInfoEXT {
30030    pub sType: VkStructureType,
30031    pub pNext: *const ::std::os::raw::c_void,
30032    pub mutableDescriptorTypeListCount: u32,
30033    pub pMutableDescriptorTypeLists: *const VkMutableDescriptorTypeListEXT,
30034}
30035pub type VkMutableDescriptorTypeCreateInfoVALVE = VkMutableDescriptorTypeCreateInfoEXT;
30036#[repr(C)]
30037#[derive(Debug, Copy, Clone)]
30038pub struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
30039    pub sType: VkStructureType,
30040    pub pNext: *mut ::std::os::raw::c_void,
30041    pub vertexInputDynamicState: VkBool32,
30042}
30043#[repr(C)]
30044#[derive(Debug, Copy, Clone)]
30045pub struct VkVertexInputBindingDescription2EXT {
30046    pub sType: VkStructureType,
30047    pub pNext: *mut ::std::os::raw::c_void,
30048    pub binding: u32,
30049    pub stride: u32,
30050    pub inputRate: VkVertexInputRate,
30051    pub divisor: u32,
30052}
30053#[repr(C)]
30054#[derive(Debug, Copy, Clone)]
30055pub struct VkVertexInputAttributeDescription2EXT {
30056    pub sType: VkStructureType,
30057    pub pNext: *mut ::std::os::raw::c_void,
30058    pub location: u32,
30059    pub binding: u32,
30060    pub format: VkFormat,
30061    pub offset: u32,
30062}
30063pub type PFN_vkCmdSetVertexInputEXT = 
30064    unsafe extern "C" fn(
30065        commandBuffer: VkCommandBuffer,
30066        vertexBindingDescriptionCount: u32,
30067        pVertexBindingDescriptions: *const VkVertexInputBindingDescription2EXT,
30068        vertexAttributeDescriptionCount: u32,
30069        pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription2EXT,
30070    );
30071
30072extern "C" {
30073    pub fn vkCmdSetVertexInputEXT(
30074        commandBuffer: VkCommandBuffer,
30075        vertexBindingDescriptionCount: u32,
30076        pVertexBindingDescriptions: *const VkVertexInputBindingDescription2EXT,
30077        vertexAttributeDescriptionCount: u32,
30078        pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription2EXT,
30079    );
30080}
30081#[repr(C)]
30082#[derive(Debug, Copy, Clone)]
30083pub struct VkPhysicalDeviceDrmPropertiesEXT {
30084    pub sType: VkStructureType,
30085    pub pNext: *mut ::std::os::raw::c_void,
30086    pub hasPrimary: VkBool32,
30087    pub hasRender: VkBool32,
30088    pub primaryMajor: i64,
30089    pub primaryMinor: i64,
30090    pub renderMajor: i64,
30091    pub renderMinor: i64,
30092}
30093pub const VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT:
30094    VkDeviceAddressBindingTypeEXT = 0;
30095pub const VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT:
30096    VkDeviceAddressBindingTypeEXT = 1;
30097pub const VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT:
30098    VkDeviceAddressBindingTypeEXT = 2147483647;
30099pub type VkDeviceAddressBindingTypeEXT = ::std::os::raw::c_uint;
30100pub const VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT:
30101    VkDeviceAddressBindingFlagBitsEXT = 1;
30102pub const VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT:
30103    VkDeviceAddressBindingFlagBitsEXT = 2147483647;
30104pub type VkDeviceAddressBindingFlagBitsEXT = ::std::os::raw::c_uint;
30105pub type VkDeviceAddressBindingFlagsEXT = VkFlags;
30106#[repr(C)]
30107#[derive(Debug, Copy, Clone)]
30108pub struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
30109    pub sType: VkStructureType,
30110    pub pNext: *mut ::std::os::raw::c_void,
30111    pub reportAddressBinding: VkBool32,
30112}
30113#[repr(C)]
30114#[derive(Debug, Copy, Clone)]
30115pub struct VkDeviceAddressBindingCallbackDataEXT {
30116    pub sType: VkStructureType,
30117    pub pNext: *mut ::std::os::raw::c_void,
30118    pub flags: VkDeviceAddressBindingFlagsEXT,
30119    pub baseAddress: VkDeviceAddress,
30120    pub size: VkDeviceSize,
30121    pub bindingType: VkDeviceAddressBindingTypeEXT,
30122}
30123#[repr(C)]
30124#[derive(Debug, Copy, Clone)]
30125pub struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
30126    pub sType: VkStructureType,
30127    pub pNext: *mut ::std::os::raw::c_void,
30128    pub depthClipControl: VkBool32,
30129}
30130#[repr(C)]
30131#[derive(Debug, Copy, Clone)]
30132pub struct VkPipelineViewportDepthClipControlCreateInfoEXT {
30133    pub sType: VkStructureType,
30134    pub pNext: *const ::std::os::raw::c_void,
30135    pub negativeOneToOne: VkBool32,
30136}
30137#[repr(C)]
30138#[derive(Debug, Copy, Clone)]
30139pub struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
30140    pub sType: VkStructureType,
30141    pub pNext: *mut ::std::os::raw::c_void,
30142    pub primitiveTopologyListRestart: VkBool32,
30143    pub primitiveTopologyPatchListRestart: VkBool32,
30144}
30145#[repr(C)]
30146#[derive(Debug, Copy, Clone)]
30147pub struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT {
30148    pub sType: VkStructureType,
30149    pub pNext: *mut ::std::os::raw::c_void,
30150    pub presentModeFifoLatestReady: VkBool32,
30151}
30152#[repr(C)]
30153#[derive(Debug, Copy, Clone)]
30154pub struct VkSubpassShadingPipelineCreateInfoHUAWEI {
30155    pub sType: VkStructureType,
30156    pub pNext: *mut ::std::os::raw::c_void,
30157    pub renderPass: VkRenderPass,
30158    pub subpass: u32,
30159}
30160#[repr(C)]
30161#[derive(Debug, Copy, Clone)]
30162pub struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
30163    pub sType: VkStructureType,
30164    pub pNext: *mut ::std::os::raw::c_void,
30165    pub subpassShading: VkBool32,
30166}
30167#[repr(C)]
30168#[derive(Debug, Copy, Clone)]
30169pub struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
30170    pub sType: VkStructureType,
30171    pub pNext: *mut ::std::os::raw::c_void,
30172    pub maxSubpassShadingWorkgroupSizeAspectRatio: u32,
30173}
30174pub type PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 
30175    unsafe extern "C" fn(
30176        device: VkDevice,
30177        renderpass: VkRenderPass,
30178        pMaxWorkgroupSize: *mut VkExtent2D,
30179    ) -> VkResult;
30180
30181pub type PFN_vkCmdSubpassShadingHUAWEI =
30182    unsafe extern "C" fn(commandBuffer: VkCommandBuffer);
30183extern "C" {
30184    pub fn vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
30185        device: VkDevice,
30186        renderpass: VkRenderPass,
30187        pMaxWorkgroupSize: *mut VkExtent2D,
30188    ) -> VkResult;
30189}
30190extern "C" {
30191    pub fn vkCmdSubpassShadingHUAWEI(commandBuffer: VkCommandBuffer);
30192}
30193#[repr(C)]
30194#[derive(Debug, Copy, Clone)]
30195pub struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
30196    pub sType: VkStructureType,
30197    pub pNext: *mut ::std::os::raw::c_void,
30198    pub invocationMask: VkBool32,
30199}
30200pub type PFN_vkCmdBindInvocationMaskHUAWEI = 
30201    unsafe extern "C" fn(
30202        commandBuffer: VkCommandBuffer,
30203        imageView: VkImageView,
30204        imageLayout: VkImageLayout,
30205    );
30206
30207extern "C" {
30208    pub fn vkCmdBindInvocationMaskHUAWEI(
30209        commandBuffer: VkCommandBuffer,
30210        imageView: VkImageView,
30211        imageLayout: VkImageLayout,
30212    );
30213}
30214pub type VkRemoteAddressNV = *mut ::std::os::raw::c_void;
30215#[repr(C)]
30216#[derive(Debug, Copy, Clone)]
30217pub struct VkMemoryGetRemoteAddressInfoNV {
30218    pub sType: VkStructureType,
30219    pub pNext: *const ::std::os::raw::c_void,
30220    pub memory: VkDeviceMemory,
30221    pub handleType: VkExternalMemoryHandleTypeFlagBits,
30222}
30223#[repr(C)]
30224#[derive(Debug, Copy, Clone)]
30225pub struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
30226    pub sType: VkStructureType,
30227    pub pNext: *mut ::std::os::raw::c_void,
30228    pub externalMemoryRDMA: VkBool32,
30229}
30230pub type PFN_vkGetMemoryRemoteAddressNV = 
30231    unsafe extern "C" fn(
30232        device: VkDevice,
30233        pMemoryGetRemoteAddressInfo: *const VkMemoryGetRemoteAddressInfoNV,
30234        pAddress: *mut VkRemoteAddressNV,
30235    ) -> VkResult;
30236
30237extern "C" {
30238    pub fn vkGetMemoryRemoteAddressNV(
30239        device: VkDevice,
30240        pMemoryGetRemoteAddressInfo: *const VkMemoryGetRemoteAddressInfoNV,
30241        pAddress: *mut VkRemoteAddressNV,
30242    ) -> VkResult;
30243}
30244pub type VkPipelineInfoEXT = VkPipelineInfoKHR;
30245#[repr(C)]
30246#[derive(Debug, Copy, Clone)]
30247pub struct VkPipelinePropertiesIdentifierEXT {
30248    pub sType: VkStructureType,
30249    pub pNext: *mut ::std::os::raw::c_void,
30250    pub pipelineIdentifier: [u8; 16usize],
30251}
30252#[repr(C)]
30253#[derive(Debug, Copy, Clone)]
30254pub struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
30255    pub sType: VkStructureType,
30256    pub pNext: *mut ::std::os::raw::c_void,
30257    pub pipelinePropertiesIdentifier: VkBool32,
30258}
30259pub type PFN_vkGetPipelinePropertiesEXT = 
30260    unsafe extern "C" fn(
30261        device: VkDevice,
30262        pPipelineInfo: *const VkPipelineInfoEXT,
30263        pPipelineProperties: *mut VkBaseOutStructure,
30264    ) -> VkResult;
30265
30266extern "C" {
30267    pub fn vkGetPipelinePropertiesEXT(
30268        device: VkDevice,
30269        pPipelineInfo: *const VkPipelineInfoEXT,
30270        pPipelineProperties: *mut VkBaseOutStructure,
30271    ) -> VkResult;
30272}
30273pub const VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT:
30274    VkFrameBoundaryFlagBitsEXT = 1;
30275pub const VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT:
30276    VkFrameBoundaryFlagBitsEXT = 2147483647;
30277pub type VkFrameBoundaryFlagBitsEXT = ::std::os::raw::c_uint;
30278pub type VkFrameBoundaryFlagsEXT = VkFlags;
30279#[repr(C)]
30280#[derive(Debug, Copy, Clone)]
30281pub struct VkPhysicalDeviceFrameBoundaryFeaturesEXT {
30282    pub sType: VkStructureType,
30283    pub pNext: *mut ::std::os::raw::c_void,
30284    pub frameBoundary: VkBool32,
30285}
30286#[repr(C)]
30287#[derive(Debug, Copy, Clone)]
30288pub struct VkFrameBoundaryEXT {
30289    pub sType: VkStructureType,
30290    pub pNext: *const ::std::os::raw::c_void,
30291    pub flags: VkFrameBoundaryFlagsEXT,
30292    pub frameID: u64,
30293    pub imageCount: u32,
30294    pub pImages: *const VkImage,
30295    pub bufferCount: u32,
30296    pub pBuffers: *const VkBuffer,
30297    pub tagName: u64,
30298    pub tagSize: usize,
30299    pub pTag: *const ::std::os::raw::c_void,
30300}
30301#[repr(C)]
30302#[derive(Debug, Copy, Clone)]
30303pub struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
30304    pub sType: VkStructureType,
30305    pub pNext: *mut ::std::os::raw::c_void,
30306    pub multisampledRenderToSingleSampled: VkBool32,
30307}
30308#[repr(C)]
30309#[derive(Debug, Copy, Clone)]
30310pub struct VkSubpassResolvePerformanceQueryEXT {
30311    pub sType: VkStructureType,
30312    pub pNext: *mut ::std::os::raw::c_void,
30313    pub optimal: VkBool32,
30314}
30315#[repr(C)]
30316#[derive(Debug, Copy, Clone)]
30317pub struct VkMultisampledRenderToSingleSampledInfoEXT {
30318    pub sType: VkStructureType,
30319    pub pNext: *const ::std::os::raw::c_void,
30320    pub multisampledRenderToSingleSampledEnable: VkBool32,
30321    pub rasterizationSamples: VkSampleCountFlagBits,
30322}
30323#[repr(C)]
30324#[derive(Debug, Copy, Clone)]
30325pub struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
30326    pub sType: VkStructureType,
30327    pub pNext: *mut ::std::os::raw::c_void,
30328    pub extendedDynamicState2: VkBool32,
30329    pub extendedDynamicState2LogicOp: VkBool32,
30330    pub extendedDynamicState2PatchControlPoints: VkBool32,
30331}
30332pub type PFN_vkCmdSetPatchControlPointsEXT = 
30333    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, patchControlPoints: u32);
30334
30335pub type PFN_vkCmdSetRasterizerDiscardEnableEXT = 
30336    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32);
30337
30338pub type PFN_vkCmdSetDepthBiasEnableEXT = 
30339    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32);
30340
30341pub type PFN_vkCmdSetLogicOpEXT =
30342    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, logicOp: VkLogicOp);
30343pub type PFN_vkCmdSetPrimitiveRestartEnableEXT = 
30344    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32);
30345
30346extern "C" {
30347    pub fn vkCmdSetPatchControlPointsEXT(commandBuffer: VkCommandBuffer, patchControlPoints: u32);
30348}
30349extern "C" {
30350    pub fn vkCmdSetRasterizerDiscardEnableEXT(
30351        commandBuffer: VkCommandBuffer,
30352        rasterizerDiscardEnable: VkBool32,
30353    );
30354}
30355extern "C" {
30356    pub fn vkCmdSetDepthBiasEnableEXT(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32);
30357}
30358extern "C" {
30359    pub fn vkCmdSetLogicOpEXT(commandBuffer: VkCommandBuffer, logicOp: VkLogicOp);
30360}
30361extern "C" {
30362    pub fn vkCmdSetPrimitiveRestartEnableEXT(
30363        commandBuffer: VkCommandBuffer,
30364        primitiveRestartEnable: VkBool32,
30365    );
30366}
30367#[repr(C)]
30368#[derive(Debug, Copy, Clone)]
30369pub struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
30370    pub sType: VkStructureType,
30371    pub pNext: *mut ::std::os::raw::c_void,
30372    pub colorWriteEnable: VkBool32,
30373}
30374#[repr(C)]
30375#[derive(Debug, Copy, Clone)]
30376pub struct VkPipelineColorWriteCreateInfoEXT {
30377    pub sType: VkStructureType,
30378    pub pNext: *const ::std::os::raw::c_void,
30379    pub attachmentCount: u32,
30380    pub pColorWriteEnables: *const VkBool32,
30381}
30382pub type PFN_vkCmdSetColorWriteEnableEXT = 
30383    unsafe extern "C" fn(
30384        commandBuffer: VkCommandBuffer,
30385        attachmentCount: u32,
30386        pColorWriteEnables: *const VkBool32,
30387    );
30388
30389extern "C" {
30390    pub fn vkCmdSetColorWriteEnableEXT(
30391        commandBuffer: VkCommandBuffer,
30392        attachmentCount: u32,
30393        pColorWriteEnables: *const VkBool32,
30394    );
30395}
30396#[repr(C)]
30397#[derive(Debug, Copy, Clone)]
30398pub struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
30399    pub sType: VkStructureType,
30400    pub pNext: *mut ::std::os::raw::c_void,
30401    pub primitivesGeneratedQuery: VkBool32,
30402    pub primitivesGeneratedQueryWithRasterizerDiscard: VkBool32,
30403    pub primitivesGeneratedQueryWithNonZeroStreams: VkBool32,
30404}
30405pub type VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT =
30406    VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
30407pub type VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR;
30408#[repr(C)]
30409#[derive(Debug, Copy, Clone)]
30410pub struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
30411    pub sType: VkStructureType,
30412    pub pNext: *mut ::std::os::raw::c_void,
30413    pub minLod: VkBool32,
30414}
30415#[repr(C)]
30416#[derive(Debug, Copy, Clone)]
30417pub struct VkImageViewMinLodCreateInfoEXT {
30418    pub sType: VkStructureType,
30419    pub pNext: *const ::std::os::raw::c_void,
30420    pub minLod: f32,
30421}
30422#[repr(C)]
30423#[derive(Debug, Copy, Clone)]
30424pub struct VkPhysicalDeviceMultiDrawFeaturesEXT {
30425    pub sType: VkStructureType,
30426    pub pNext: *mut ::std::os::raw::c_void,
30427    pub multiDraw: VkBool32,
30428}
30429#[repr(C)]
30430#[derive(Debug, Copy, Clone)]
30431pub struct VkPhysicalDeviceMultiDrawPropertiesEXT {
30432    pub sType: VkStructureType,
30433    pub pNext: *mut ::std::os::raw::c_void,
30434    pub maxMultiDrawCount: u32,
30435}
30436#[repr(C)]
30437#[derive(Debug, Copy, Clone)]
30438pub struct VkMultiDrawInfoEXT {
30439    pub firstVertex: u32,
30440    pub vertexCount: u32,
30441}
30442#[repr(C)]
30443#[derive(Debug, Copy, Clone)]
30444pub struct VkMultiDrawIndexedInfoEXT {
30445    pub firstIndex: u32,
30446    pub indexCount: u32,
30447    pub vertexOffset: i32,
30448}
30449pub type PFN_vkCmdDrawMultiEXT = 
30450    unsafe extern "C" fn(
30451        commandBuffer: VkCommandBuffer,
30452        drawCount: u32,
30453        pVertexInfo: *const VkMultiDrawInfoEXT,
30454        instanceCount: u32,
30455        firstInstance: u32,
30456        stride: u32,
30457    );
30458
30459pub type PFN_vkCmdDrawMultiIndexedEXT = 
30460    unsafe extern "C" fn(
30461        commandBuffer: VkCommandBuffer,
30462        drawCount: u32,
30463        pIndexInfo: *const VkMultiDrawIndexedInfoEXT,
30464        instanceCount: u32,
30465        firstInstance: u32,
30466        stride: u32,
30467        pVertexOffset: *const i32,
30468    );
30469
30470extern "C" {
30471    pub fn vkCmdDrawMultiEXT(
30472        commandBuffer: VkCommandBuffer,
30473        drawCount: u32,
30474        pVertexInfo: *const VkMultiDrawInfoEXT,
30475        instanceCount: u32,
30476        firstInstance: u32,
30477        stride: u32,
30478    );
30479}
30480extern "C" {
30481    pub fn vkCmdDrawMultiIndexedEXT(
30482        commandBuffer: VkCommandBuffer,
30483        drawCount: u32,
30484        pIndexInfo: *const VkMultiDrawIndexedInfoEXT,
30485        instanceCount: u32,
30486        firstInstance: u32,
30487        stride: u32,
30488        pVertexOffset: *const i32,
30489    );
30490}
30491#[repr(C)]
30492#[derive(Debug, Copy, Clone)]
30493pub struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
30494    pub sType: VkStructureType,
30495    pub pNext: *mut ::std::os::raw::c_void,
30496    pub image2DViewOf3D: VkBool32,
30497    pub sampler2DViewOf3D: VkBool32,
30498}
30499#[repr(C)]
30500#[derive(Debug, Copy, Clone)]
30501pub struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
30502    pub sType: VkStructureType,
30503    pub pNext: *mut ::std::os::raw::c_void,
30504    pub shaderTileImageColorReadAccess: VkBool32,
30505    pub shaderTileImageDepthReadAccess: VkBool32,
30506    pub shaderTileImageStencilReadAccess: VkBool32,
30507}
30508#[repr(C)]
30509#[derive(Debug, Copy, Clone)]
30510pub struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
30511    pub sType: VkStructureType,
30512    pub pNext: *mut ::std::os::raw::c_void,
30513    pub shaderTileImageCoherentReadAccelerated: VkBool32,
30514    pub shaderTileImageReadSampleFromPixelRateInvocation: VkBool32,
30515    pub shaderTileImageReadFromHelperInvocation: VkBool32,
30516}
30517#[repr(C)]
30518#[derive(Debug, Copy, Clone)]
30519pub struct VkMicromapEXT_T {
30520    _unused: [u8; 0],
30521}
30522pub type VkMicromapEXT = *mut VkMicromapEXT_T;
30523pub const VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT: VkMicromapTypeEXT = 0;
30524pub const VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV: VkMicromapTypeEXT =
30525    1000397000;
30526pub const VK_MICROMAP_TYPE_MAX_ENUM_EXT: VkMicromapTypeEXT = 2147483647;
30527pub type VkMicromapTypeEXT = ::std::os::raw::c_uint;
30528pub const VK_BUILD_MICROMAP_MODE_BUILD_EXT: VkBuildMicromapModeEXT = 0;
30529pub const VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT: VkBuildMicromapModeEXT =
30530    2147483647;
30531pub type VkBuildMicromapModeEXT = ::std::os::raw::c_uint;
30532pub const VK_COPY_MICROMAP_MODE_CLONE_EXT: VkCopyMicromapModeEXT = 0;
30533pub const VK_COPY_MICROMAP_MODE_SERIALIZE_EXT: VkCopyMicromapModeEXT = 1;
30534pub const VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT: VkCopyMicromapModeEXT = 2;
30535pub const VK_COPY_MICROMAP_MODE_COMPACT_EXT: VkCopyMicromapModeEXT = 3;
30536pub const VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT: VkCopyMicromapModeEXT =
30537    2147483647;
30538pub type VkCopyMicromapModeEXT = ::std::os::raw::c_uint;
30539pub const VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT:
30540    VkOpacityMicromapFormatEXT = 1;
30541pub const VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT:
30542    VkOpacityMicromapFormatEXT = 2;
30543pub const VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT:
30544    VkOpacityMicromapFormatEXT = 2147483647;
30545pub type VkOpacityMicromapFormatEXT = ::std::os::raw::c_uint;
30546pub const VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT : VkOpacityMicromapSpecialIndexEXT = - 1 ;
30547pub const VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT:
30548    VkOpacityMicromapSpecialIndexEXT = -2;
30549pub const VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT : VkOpacityMicromapSpecialIndexEXT = - 3 ;
30550pub const VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT : VkOpacityMicromapSpecialIndexEXT = - 4 ;
30551pub const VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT:
30552    VkOpacityMicromapSpecialIndexEXT = 2147483647;
30553pub type VkOpacityMicromapSpecialIndexEXT = ::std::os::raw::c_int;
30554pub const VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR : VkAccelerationStructureCompatibilityKHR = 0 ;
30555pub const VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR : VkAccelerationStructureCompatibilityKHR = 1 ;
30556pub const VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR : VkAccelerationStructureCompatibilityKHR = 2147483647 ;
30557pub type VkAccelerationStructureCompatibilityKHR = ::std::os::raw::c_uint;
30558pub const VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR:
30559    VkAccelerationStructureBuildTypeKHR = 0;
30560pub const VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR:
30561    VkAccelerationStructureBuildTypeKHR = 1;
30562pub const VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR : VkAccelerationStructureBuildTypeKHR = 2 ;
30563pub const VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR:
30564    VkAccelerationStructureBuildTypeKHR = 2147483647;
30565pub type VkAccelerationStructureBuildTypeKHR = ::std::os::raw::c_uint;
30566pub const VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT:
30567    VkBuildMicromapFlagBitsEXT = 1;
30568pub const VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT:
30569    VkBuildMicromapFlagBitsEXT = 2;
30570pub const VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT:
30571    VkBuildMicromapFlagBitsEXT = 4;
30572pub const VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT:
30573    VkBuildMicromapFlagBitsEXT = 2147483647;
30574pub type VkBuildMicromapFlagBitsEXT = ::std::os::raw::c_uint;
30575pub type VkBuildMicromapFlagsEXT = VkFlags;
30576pub const VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT:
30577    VkMicromapCreateFlagBitsEXT = 1;
30578pub const VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT:
30579    VkMicromapCreateFlagBitsEXT = 2147483647;
30580pub type VkMicromapCreateFlagBitsEXT = ::std::os::raw::c_uint;
30581pub type VkMicromapCreateFlagsEXT = VkFlags;
30582#[repr(C)]
30583#[derive(Debug, Copy, Clone)]
30584pub struct VkMicromapUsageEXT {
30585    pub count: u32,
30586    pub subdivisionLevel: u32,
30587    pub format: u32,
30588}
30589#[repr(C)]
30590#[derive(Copy, Clone)]
30591pub union VkDeviceOrHostAddressKHR {
30592    pub deviceAddress: VkDeviceAddress,
30593    pub hostAddress: *mut ::std::os::raw::c_void,
30594}
30595#[repr(C)]
30596#[derive(Copy, Clone)]
30597pub struct VkMicromapBuildInfoEXT {
30598    pub sType: VkStructureType,
30599    pub pNext: *const ::std::os::raw::c_void,
30600    pub type_: VkMicromapTypeEXT,
30601    pub flags: VkBuildMicromapFlagsEXT,
30602    pub mode: VkBuildMicromapModeEXT,
30603    pub dstMicromap: VkMicromapEXT,
30604    pub usageCountsCount: u32,
30605    pub pUsageCounts: *const VkMicromapUsageEXT,
30606    pub ppUsageCounts: *const *const VkMicromapUsageEXT,
30607    pub data: VkDeviceOrHostAddressConstKHR,
30608    pub scratchData: VkDeviceOrHostAddressKHR,
30609    pub triangleArray: VkDeviceOrHostAddressConstKHR,
30610    pub triangleArrayStride: VkDeviceSize,
30611}
30612#[repr(C)]
30613#[derive(Debug, Copy, Clone)]
30614pub struct VkMicromapCreateInfoEXT {
30615    pub sType: VkStructureType,
30616    pub pNext: *const ::std::os::raw::c_void,
30617    pub createFlags: VkMicromapCreateFlagsEXT,
30618    pub buffer: VkBuffer,
30619    pub offset: VkDeviceSize,
30620    pub size: VkDeviceSize,
30621    pub type_: VkMicromapTypeEXT,
30622    pub deviceAddress: VkDeviceAddress,
30623}
30624#[repr(C)]
30625#[derive(Debug, Copy, Clone)]
30626pub struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
30627    pub sType: VkStructureType,
30628    pub pNext: *mut ::std::os::raw::c_void,
30629    pub micromap: VkBool32,
30630    pub micromapCaptureReplay: VkBool32,
30631    pub micromapHostCommands: VkBool32,
30632}
30633#[repr(C)]
30634#[derive(Debug, Copy, Clone)]
30635pub struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
30636    pub sType: VkStructureType,
30637    pub pNext: *mut ::std::os::raw::c_void,
30638    pub maxOpacity2StateSubdivisionLevel: u32,
30639    pub maxOpacity4StateSubdivisionLevel: u32,
30640}
30641#[repr(C)]
30642#[derive(Debug, Copy, Clone)]
30643pub struct VkMicromapVersionInfoEXT {
30644    pub sType: VkStructureType,
30645    pub pNext: *const ::std::os::raw::c_void,
30646    pub pVersionData: *const u8,
30647}
30648#[repr(C)]
30649#[derive(Copy, Clone)]
30650pub struct VkCopyMicromapToMemoryInfoEXT {
30651    pub sType: VkStructureType,
30652    pub pNext: *const ::std::os::raw::c_void,
30653    pub src: VkMicromapEXT,
30654    pub dst: VkDeviceOrHostAddressKHR,
30655    pub mode: VkCopyMicromapModeEXT,
30656}
30657#[repr(C)]
30658#[derive(Copy, Clone)]
30659pub struct VkCopyMemoryToMicromapInfoEXT {
30660    pub sType: VkStructureType,
30661    pub pNext: *const ::std::os::raw::c_void,
30662    pub src: VkDeviceOrHostAddressConstKHR,
30663    pub dst: VkMicromapEXT,
30664    pub mode: VkCopyMicromapModeEXT,
30665}
30666#[repr(C)]
30667#[derive(Debug, Copy, Clone)]
30668pub struct VkCopyMicromapInfoEXT {
30669    pub sType: VkStructureType,
30670    pub pNext: *const ::std::os::raw::c_void,
30671    pub src: VkMicromapEXT,
30672    pub dst: VkMicromapEXT,
30673    pub mode: VkCopyMicromapModeEXT,
30674}
30675#[repr(C)]
30676#[derive(Debug, Copy, Clone)]
30677pub struct VkMicromapBuildSizesInfoEXT {
30678    pub sType: VkStructureType,
30679    pub pNext: *const ::std::os::raw::c_void,
30680    pub micromapSize: VkDeviceSize,
30681    pub buildScratchSize: VkDeviceSize,
30682    pub discardable: VkBool32,
30683}
30684#[repr(C)]
30685#[derive(Copy, Clone)]
30686pub struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
30687    pub sType: VkStructureType,
30688    pub pNext: *mut ::std::os::raw::c_void,
30689    pub indexType: VkIndexType,
30690    pub indexBuffer: VkDeviceOrHostAddressConstKHR,
30691    pub indexStride: VkDeviceSize,
30692    pub baseTriangle: u32,
30693    pub usageCountsCount: u32,
30694    pub pUsageCounts: *const VkMicromapUsageEXT,
30695    pub ppUsageCounts: *const *const VkMicromapUsageEXT,
30696    pub micromap: VkMicromapEXT,
30697}
30698#[repr(C)]
30699#[derive(Debug, Copy, Clone)]
30700pub struct VkMicromapTriangleEXT {
30701    pub dataOffset: u32,
30702    pub subdivisionLevel: u16,
30703    pub format: u16,
30704}
30705pub type PFN_vkCreateMicromapEXT = 
30706    unsafe extern "C" fn(
30707        device: VkDevice,
30708        pCreateInfo: *const VkMicromapCreateInfoEXT,
30709        pAllocator: *const VkAllocationCallbacks,
30710        pMicromap: *mut VkMicromapEXT,
30711    ) -> VkResult;
30712
30713pub type PFN_vkDestroyMicromapEXT = 
30714    unsafe extern "C" fn(
30715        device: VkDevice,
30716        micromap: VkMicromapEXT,
30717        pAllocator: *const VkAllocationCallbacks,
30718    );
30719
30720pub type PFN_vkCmdBuildMicromapsEXT = 
30721    unsafe extern "C" fn(
30722        commandBuffer: VkCommandBuffer,
30723        infoCount: u32,
30724        pInfos: *const VkMicromapBuildInfoEXT,
30725    );
30726
30727pub type PFN_vkBuildMicromapsEXT = 
30728    unsafe extern "C" fn(
30729        device: VkDevice,
30730        deferredOperation: VkDeferredOperationKHR,
30731        infoCount: u32,
30732        pInfos: *const VkMicromapBuildInfoEXT,
30733    ) -> VkResult;
30734
30735pub type PFN_vkCopyMicromapEXT = 
30736    unsafe extern "C" fn(
30737        device: VkDevice,
30738        deferredOperation: VkDeferredOperationKHR,
30739        pInfo: *const VkCopyMicromapInfoEXT,
30740    ) -> VkResult;
30741
30742pub type PFN_vkCopyMicromapToMemoryEXT = 
30743    unsafe extern "C" fn(
30744        device: VkDevice,
30745        deferredOperation: VkDeferredOperationKHR,
30746        pInfo: *const VkCopyMicromapToMemoryInfoEXT,
30747    ) -> VkResult;
30748
30749pub type PFN_vkCopyMemoryToMicromapEXT = 
30750    unsafe extern "C" fn(
30751        device: VkDevice,
30752        deferredOperation: VkDeferredOperationKHR,
30753        pInfo: *const VkCopyMemoryToMicromapInfoEXT,
30754    ) -> VkResult;
30755
30756pub type PFN_vkWriteMicromapsPropertiesEXT = 
30757    unsafe extern "C" fn(
30758        device: VkDevice,
30759        micromapCount: u32,
30760        pMicromaps: *const VkMicromapEXT,
30761        queryType: VkQueryType,
30762        dataSize: usize,
30763        pData: *mut ::std::os::raw::c_void,
30764        stride: usize,
30765    ) -> VkResult;
30766
30767pub type PFN_vkCmdCopyMicromapEXT = 
30768    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pInfo: *const VkCopyMicromapInfoEXT);
30769
30770pub type PFN_vkCmdCopyMicromapToMemoryEXT = 
30771    unsafe extern "C" fn(
30772        commandBuffer: VkCommandBuffer,
30773        pInfo: *const VkCopyMicromapToMemoryInfoEXT,
30774    );
30775
30776pub type PFN_vkCmdCopyMemoryToMicromapEXT = 
30777    unsafe extern "C" fn(
30778        commandBuffer: VkCommandBuffer,
30779        pInfo: *const VkCopyMemoryToMicromapInfoEXT,
30780    );
30781
30782pub type PFN_vkCmdWriteMicromapsPropertiesEXT = 
30783    unsafe extern "C" fn(
30784        commandBuffer: VkCommandBuffer,
30785        micromapCount: u32,
30786        pMicromaps: *const VkMicromapEXT,
30787        queryType: VkQueryType,
30788        queryPool: VkQueryPool,
30789        firstQuery: u32,
30790    );
30791
30792pub type PFN_vkGetDeviceMicromapCompatibilityEXT = 
30793    unsafe extern "C" fn(
30794        device: VkDevice,
30795        pVersionInfo: *const VkMicromapVersionInfoEXT,
30796        pCompatibility: *mut VkAccelerationStructureCompatibilityKHR,
30797    );
30798
30799pub type PFN_vkGetMicromapBuildSizesEXT = 
30800    unsafe extern "C" fn(
30801        device: VkDevice,
30802        buildType: VkAccelerationStructureBuildTypeKHR,
30803        pBuildInfo: *const VkMicromapBuildInfoEXT,
30804        pSizeInfo: *mut VkMicromapBuildSizesInfoEXT,
30805    );
30806
30807extern "C" {
30808    pub fn vkCreateMicromapEXT(
30809        device: VkDevice,
30810        pCreateInfo: *const VkMicromapCreateInfoEXT,
30811        pAllocator: *const VkAllocationCallbacks,
30812        pMicromap: *mut VkMicromapEXT,
30813    ) -> VkResult;
30814}
30815extern "C" {
30816    pub fn vkDestroyMicromapEXT(
30817        device: VkDevice,
30818        micromap: VkMicromapEXT,
30819        pAllocator: *const VkAllocationCallbacks,
30820    );
30821}
30822extern "C" {
30823    pub fn vkCmdBuildMicromapsEXT(
30824        commandBuffer: VkCommandBuffer,
30825        infoCount: u32,
30826        pInfos: *const VkMicromapBuildInfoEXT,
30827    );
30828}
30829extern "C" {
30830    pub fn vkBuildMicromapsEXT(
30831        device: VkDevice,
30832        deferredOperation: VkDeferredOperationKHR,
30833        infoCount: u32,
30834        pInfos: *const VkMicromapBuildInfoEXT,
30835    ) -> VkResult;
30836}
30837extern "C" {
30838    pub fn vkCopyMicromapEXT(
30839        device: VkDevice,
30840        deferredOperation: VkDeferredOperationKHR,
30841        pInfo: *const VkCopyMicromapInfoEXT,
30842    ) -> VkResult;
30843}
30844extern "C" {
30845    pub fn vkCopyMicromapToMemoryEXT(
30846        device: VkDevice,
30847        deferredOperation: VkDeferredOperationKHR,
30848        pInfo: *const VkCopyMicromapToMemoryInfoEXT,
30849    ) -> VkResult;
30850}
30851extern "C" {
30852    pub fn vkCopyMemoryToMicromapEXT(
30853        device: VkDevice,
30854        deferredOperation: VkDeferredOperationKHR,
30855        pInfo: *const VkCopyMemoryToMicromapInfoEXT,
30856    ) -> VkResult;
30857}
30858extern "C" {
30859    pub fn vkWriteMicromapsPropertiesEXT(
30860        device: VkDevice,
30861        micromapCount: u32,
30862        pMicromaps: *const VkMicromapEXT,
30863        queryType: VkQueryType,
30864        dataSize: usize,
30865        pData: *mut ::std::os::raw::c_void,
30866        stride: usize,
30867    ) -> VkResult;
30868}
30869extern "C" {
30870    pub fn vkCmdCopyMicromapEXT(
30871        commandBuffer: VkCommandBuffer,
30872        pInfo: *const VkCopyMicromapInfoEXT,
30873    );
30874}
30875extern "C" {
30876    pub fn vkCmdCopyMicromapToMemoryEXT(
30877        commandBuffer: VkCommandBuffer,
30878        pInfo: *const VkCopyMicromapToMemoryInfoEXT,
30879    );
30880}
30881extern "C" {
30882    pub fn vkCmdCopyMemoryToMicromapEXT(
30883        commandBuffer: VkCommandBuffer,
30884        pInfo: *const VkCopyMemoryToMicromapInfoEXT,
30885    );
30886}
30887extern "C" {
30888    pub fn vkCmdWriteMicromapsPropertiesEXT(
30889        commandBuffer: VkCommandBuffer,
30890        micromapCount: u32,
30891        pMicromaps: *const VkMicromapEXT,
30892        queryType: VkQueryType,
30893        queryPool: VkQueryPool,
30894        firstQuery: u32,
30895    );
30896}
30897extern "C" {
30898    pub fn vkGetDeviceMicromapCompatibilityEXT(
30899        device: VkDevice,
30900        pVersionInfo: *const VkMicromapVersionInfoEXT,
30901        pCompatibility: *mut VkAccelerationStructureCompatibilityKHR,
30902    );
30903}
30904extern "C" {
30905    pub fn vkGetMicromapBuildSizesEXT(
30906        device: VkDevice,
30907        buildType: VkAccelerationStructureBuildTypeKHR,
30908        pBuildInfo: *const VkMicromapBuildInfoEXT,
30909        pSizeInfo: *mut VkMicromapBuildSizesInfoEXT,
30910    );
30911}
30912#[repr(C)]
30913#[derive(Debug, Copy, Clone)]
30914pub struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
30915    pub sType: VkStructureType,
30916    pub pNext: *mut ::std::os::raw::c_void,
30917    pub clustercullingShader: VkBool32,
30918    pub multiviewClusterCullingShader: VkBool32,
30919}
30920#[repr(C)]
30921#[derive(Debug, Copy, Clone)]
30922pub struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
30923    pub sType: VkStructureType,
30924    pub pNext: *mut ::std::os::raw::c_void,
30925    pub maxWorkGroupCount: [u32; 3usize],
30926    pub maxWorkGroupSize: [u32; 3usize],
30927    pub maxOutputClusterCount: u32,
30928    pub indirectBufferOffsetAlignment: VkDeviceSize,
30929}
30930#[repr(C)]
30931#[derive(Debug, Copy, Clone)]
30932pub struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
30933    pub sType: VkStructureType,
30934    pub pNext: *mut ::std::os::raw::c_void,
30935    pub clusterShadingRate: VkBool32,
30936}
30937pub type PFN_vkCmdDrawClusterHUAWEI = 
30938    unsafe extern "C" fn(
30939        commandBuffer: VkCommandBuffer,
30940        groupCountX: u32,
30941        groupCountY: u32,
30942        groupCountZ: u32,
30943    );
30944
30945pub type PFN_vkCmdDrawClusterIndirectHUAWEI = 
30946    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize);
30947
30948extern "C" {
30949    pub fn vkCmdDrawClusterHUAWEI(
30950        commandBuffer: VkCommandBuffer,
30951        groupCountX: u32,
30952        groupCountY: u32,
30953        groupCountZ: u32,
30954    );
30955}
30956extern "C" {
30957    pub fn vkCmdDrawClusterIndirectHUAWEI(
30958        commandBuffer: VkCommandBuffer,
30959        buffer: VkBuffer,
30960        offset: VkDeviceSize,
30961    );
30962}
30963#[repr(C)]
30964#[derive(Debug, Copy, Clone)]
30965pub struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
30966    pub sType: VkStructureType,
30967    pub pNext: *mut ::std::os::raw::c_void,
30968    pub borderColorSwizzle: VkBool32,
30969    pub borderColorSwizzleFromImage: VkBool32,
30970}
30971#[repr(C)]
30972#[derive(Debug, Copy, Clone)]
30973pub struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
30974    pub sType: VkStructureType,
30975    pub pNext: *const ::std::os::raw::c_void,
30976    pub components: VkComponentMapping,
30977    pub srgb: VkBool32,
30978}
30979#[repr(C)]
30980#[derive(Debug, Copy, Clone)]
30981pub struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
30982    pub sType: VkStructureType,
30983    pub pNext: *mut ::std::os::raw::c_void,
30984    pub pageableDeviceLocalMemory: VkBool32,
30985}
30986pub type PFN_vkSetDeviceMemoryPriorityEXT = 
30987    unsafe extern "C" fn(device: VkDevice, memory: VkDeviceMemory, priority: f32);
30988
30989extern "C" {
30990    pub fn vkSetDeviceMemoryPriorityEXT(device: VkDevice, memory: VkDeviceMemory, priority: f32);
30991}
30992#[repr(C)]
30993#[derive(Debug, Copy, Clone)]
30994pub struct VkPhysicalDeviceShaderCorePropertiesARM {
30995    pub sType: VkStructureType,
30996    pub pNext: *mut ::std::os::raw::c_void,
30997    pub pixelRate: u32,
30998    pub texelRate: u32,
30999    pub fmaRate: u32,
31000}
31001pub type VkPhysicalDeviceSchedulingControlsFlagsARM = VkFlags64;
31002pub type VkPhysicalDeviceSchedulingControlsFlagBitsARM = VkFlags64;
31003pub const VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM:
31004    VkPhysicalDeviceSchedulingControlsFlagBitsARM = 1;
31005#[repr(C)]
31006#[derive(Debug, Copy, Clone)]
31007pub struct VkDeviceQueueShaderCoreControlCreateInfoARM {
31008    pub sType: VkStructureType,
31009    pub pNext: *mut ::std::os::raw::c_void,
31010    pub shaderCoreCount: u32,
31011}
31012#[repr(C)]
31013#[derive(Debug, Copy, Clone)]
31014pub struct VkPhysicalDeviceSchedulingControlsFeaturesARM {
31015    pub sType: VkStructureType,
31016    pub pNext: *mut ::std::os::raw::c_void,
31017    pub schedulingControls: VkBool32,
31018}
31019#[repr(C)]
31020#[derive(Debug, Copy, Clone)]
31021pub struct VkPhysicalDeviceSchedulingControlsPropertiesARM {
31022    pub sType: VkStructureType,
31023    pub pNext: *mut ::std::os::raw::c_void,
31024    pub schedulingControlsFlags: VkPhysicalDeviceSchedulingControlsFlagsARM,
31025}
31026#[repr(C)]
31027#[derive(Debug, Copy, Clone)]
31028pub struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
31029    pub sType: VkStructureType,
31030    pub pNext: *mut ::std::os::raw::c_void,
31031    pub imageSlicedViewOf3D: VkBool32,
31032}
31033#[repr(C)]
31034#[derive(Debug, Copy, Clone)]
31035pub struct VkImageViewSlicedCreateInfoEXT {
31036    pub sType: VkStructureType,
31037    pub pNext: *const ::std::os::raw::c_void,
31038    pub sliceOffset: u32,
31039    pub sliceCount: u32,
31040}
31041#[repr(C)]
31042#[derive(Debug, Copy, Clone)]
31043pub struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
31044    pub sType: VkStructureType,
31045    pub pNext: *mut ::std::os::raw::c_void,
31046    pub descriptorSetHostMapping: VkBool32,
31047}
31048#[repr(C)]
31049#[derive(Debug, Copy, Clone)]
31050pub struct VkDescriptorSetBindingReferenceVALVE {
31051    pub sType: VkStructureType,
31052    pub pNext: *const ::std::os::raw::c_void,
31053    pub descriptorSetLayout: VkDescriptorSetLayout,
31054    pub binding: u32,
31055}
31056#[repr(C)]
31057#[derive(Debug, Copy, Clone)]
31058pub struct VkDescriptorSetLayoutHostMappingInfoVALVE {
31059    pub sType: VkStructureType,
31060    pub pNext: *mut ::std::os::raw::c_void,
31061    pub descriptorOffset: usize,
31062    pub descriptorSize: u32,
31063}
31064pub type PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = 
31065    unsafe extern "C" fn(
31066        device: VkDevice,
31067        pBindingReference: *const VkDescriptorSetBindingReferenceVALVE,
31068        pHostMapping: *mut VkDescriptorSetLayoutHostMappingInfoVALVE,
31069    );
31070
31071pub type PFN_vkGetDescriptorSetHostMappingVALVE = 
31072    unsafe extern "C" fn(
31073        device: VkDevice,
31074        descriptorSet: VkDescriptorSet,
31075        ppData: *mut *mut ::std::os::raw::c_void,
31076    );
31077
31078extern "C" {
31079    pub fn vkGetDescriptorSetLayoutHostMappingInfoVALVE(
31080        device: VkDevice,
31081        pBindingReference: *const VkDescriptorSetBindingReferenceVALVE,
31082        pHostMapping: *mut VkDescriptorSetLayoutHostMappingInfoVALVE,
31083    );
31084}
31085extern "C" {
31086    pub fn vkGetDescriptorSetHostMappingVALVE(
31087        device: VkDevice,
31088        descriptorSet: VkDescriptorSet,
31089        ppData: *mut *mut ::std::os::raw::c_void,
31090    );
31091}
31092#[repr(C)]
31093#[derive(Debug, Copy, Clone)]
31094pub struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT {
31095    pub sType: VkStructureType,
31096    pub pNext: *mut ::std::os::raw::c_void,
31097    pub depthClampZeroOne: VkBool32,
31098}
31099#[repr(C)]
31100#[derive(Debug, Copy, Clone)]
31101pub struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
31102    pub sType: VkStructureType,
31103    pub pNext: *mut ::std::os::raw::c_void,
31104    pub nonSeamlessCubeMap: VkBool32,
31105}
31106#[repr(C)]
31107#[derive(Debug, Copy, Clone)]
31108pub struct VkPhysicalDeviceRenderPassStripedFeaturesARM {
31109    pub sType: VkStructureType,
31110    pub pNext: *mut ::std::os::raw::c_void,
31111    pub renderPassStriped: VkBool32,
31112}
31113#[repr(C)]
31114#[derive(Debug, Copy, Clone)]
31115pub struct VkPhysicalDeviceRenderPassStripedPropertiesARM {
31116    pub sType: VkStructureType,
31117    pub pNext: *mut ::std::os::raw::c_void,
31118    pub renderPassStripeGranularity: VkExtent2D,
31119    pub maxRenderPassStripes: u32,
31120}
31121#[repr(C)]
31122#[derive(Debug, Copy, Clone)]
31123pub struct VkRenderPassStripeInfoARM {
31124    pub sType: VkStructureType,
31125    pub pNext: *const ::std::os::raw::c_void,
31126    pub stripeArea: VkRect2D,
31127}
31128#[repr(C)]
31129#[derive(Debug, Copy, Clone)]
31130pub struct VkRenderPassStripeBeginInfoARM {
31131    pub sType: VkStructureType,
31132    pub pNext: *const ::std::os::raw::c_void,
31133    pub stripeInfoCount: u32,
31134    pub pStripeInfos: *const VkRenderPassStripeInfoARM,
31135}
31136#[repr(C)]
31137#[derive(Debug, Copy, Clone)]
31138pub struct VkRenderPassStripeSubmitInfoARM {
31139    pub sType: VkStructureType,
31140    pub pNext: *const ::std::os::raw::c_void,
31141    pub stripeSemaphoreInfoCount: u32,
31142    pub pStripeSemaphoreInfos: *const VkSemaphoreSubmitInfo,
31143}
31144#[repr(C)]
31145#[derive(Debug, Copy, Clone)]
31146pub struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
31147    pub sType: VkStructureType,
31148    pub pNext: *mut ::std::os::raw::c_void,
31149    pub fragmentDensityMapOffset: VkBool32,
31150}
31151#[repr(C)]
31152#[derive(Debug, Copy, Clone)]
31153pub struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
31154    pub sType: VkStructureType,
31155    pub pNext: *mut ::std::os::raw::c_void,
31156    pub fragmentDensityOffsetGranularity: VkExtent2D,
31157}
31158#[repr(C)]
31159#[derive(Debug, Copy, Clone)]
31160pub struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
31161    pub sType: VkStructureType,
31162    pub pNext: *const ::std::os::raw::c_void,
31163    pub fragmentDensityOffsetCount: u32,
31164    pub pFragmentDensityOffsets: *const VkOffset2D,
31165}
31166#[repr(C)]
31167#[derive(Debug, Copy, Clone)]
31168pub struct VkCopyMemoryIndirectCommandNV {
31169    pub srcAddress: VkDeviceAddress,
31170    pub dstAddress: VkDeviceAddress,
31171    pub size: VkDeviceSize,
31172}
31173#[repr(C)]
31174#[derive(Debug, Copy, Clone)]
31175pub struct VkCopyMemoryToImageIndirectCommandNV {
31176    pub srcAddress: VkDeviceAddress,
31177    pub bufferRowLength: u32,
31178    pub bufferImageHeight: u32,
31179    pub imageSubresource: VkImageSubresourceLayers,
31180    pub imageOffset: VkOffset3D,
31181    pub imageExtent: VkExtent3D,
31182}
31183#[repr(C)]
31184#[derive(Debug, Copy, Clone)]
31185pub struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV {
31186    pub sType: VkStructureType,
31187    pub pNext: *mut ::std::os::raw::c_void,
31188    pub indirectCopy: VkBool32,
31189}
31190#[repr(C)]
31191#[derive(Debug, Copy, Clone)]
31192pub struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV {
31193    pub sType: VkStructureType,
31194    pub pNext: *mut ::std::os::raw::c_void,
31195    pub supportedQueues: VkQueueFlags,
31196}
31197pub type PFN_vkCmdCopyMemoryIndirectNV = 
31198    unsafe extern "C" fn(
31199        commandBuffer: VkCommandBuffer,
31200        copyBufferAddress: VkDeviceAddress,
31201        copyCount: u32,
31202        stride: u32,
31203    );
31204
31205pub type PFN_vkCmdCopyMemoryToImageIndirectNV = 
31206    unsafe extern "C" fn(
31207        commandBuffer: VkCommandBuffer,
31208        copyBufferAddress: VkDeviceAddress,
31209        copyCount: u32,
31210        stride: u32,
31211        dstImage: VkImage,
31212        dstImageLayout: VkImageLayout,
31213        pImageSubresources: *const VkImageSubresourceLayers,
31214    );
31215
31216extern "C" {
31217    pub fn vkCmdCopyMemoryIndirectNV(
31218        commandBuffer: VkCommandBuffer,
31219        copyBufferAddress: VkDeviceAddress,
31220        copyCount: u32,
31221        stride: u32,
31222    );
31223}
31224extern "C" {
31225    pub fn vkCmdCopyMemoryToImageIndirectNV(
31226        commandBuffer: VkCommandBuffer,
31227        copyBufferAddress: VkDeviceAddress,
31228        copyCount: u32,
31229        stride: u32,
31230        dstImage: VkImage,
31231        dstImageLayout: VkImageLayout,
31232        pImageSubresources: *const VkImageSubresourceLayers,
31233    );
31234}
31235pub type VkMemoryDecompressionMethodFlagBitsNV = VkFlags64;
31236pub const VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV:
31237    VkMemoryDecompressionMethodFlagBitsNV = 1;
31238pub type VkMemoryDecompressionMethodFlagsNV = VkFlags64;
31239#[repr(C)]
31240#[derive(Debug, Copy, Clone)]
31241pub struct VkDecompressMemoryRegionNV {
31242    pub srcAddress: VkDeviceAddress,
31243    pub dstAddress: VkDeviceAddress,
31244    pub compressedSize: VkDeviceSize,
31245    pub decompressedSize: VkDeviceSize,
31246    pub decompressionMethod: VkMemoryDecompressionMethodFlagsNV,
31247}
31248#[repr(C)]
31249#[derive(Debug, Copy, Clone)]
31250pub struct VkPhysicalDeviceMemoryDecompressionFeaturesNV {
31251    pub sType: VkStructureType,
31252    pub pNext: *mut ::std::os::raw::c_void,
31253    pub memoryDecompression: VkBool32,
31254}
31255#[repr(C)]
31256#[derive(Debug, Copy, Clone)]
31257pub struct VkPhysicalDeviceMemoryDecompressionPropertiesNV {
31258    pub sType: VkStructureType,
31259    pub pNext: *mut ::std::os::raw::c_void,
31260    pub decompressionMethods: VkMemoryDecompressionMethodFlagsNV,
31261    pub maxDecompressionIndirectCount: u64,
31262}
31263pub type PFN_vkCmdDecompressMemoryNV = 
31264    unsafe extern "C" fn(
31265        commandBuffer: VkCommandBuffer,
31266        decompressRegionCount: u32,
31267        pDecompressMemoryRegions: *const VkDecompressMemoryRegionNV,
31268    );
31269
31270pub type PFN_vkCmdDecompressMemoryIndirectCountNV = 
31271    unsafe extern "C" fn(
31272        commandBuffer: VkCommandBuffer,
31273        indirectCommandsAddress: VkDeviceAddress,
31274        indirectCommandsCountAddress: VkDeviceAddress,
31275        stride: u32,
31276    );
31277
31278extern "C" {
31279    pub fn vkCmdDecompressMemoryNV(
31280        commandBuffer: VkCommandBuffer,
31281        decompressRegionCount: u32,
31282        pDecompressMemoryRegions: *const VkDecompressMemoryRegionNV,
31283    );
31284}
31285extern "C" {
31286    pub fn vkCmdDecompressMemoryIndirectCountNV(
31287        commandBuffer: VkCommandBuffer,
31288        indirectCommandsAddress: VkDeviceAddress,
31289        indirectCommandsCountAddress: VkDeviceAddress,
31290        stride: u32,
31291    );
31292}
31293#[repr(C)]
31294#[derive(Debug, Copy, Clone)]
31295pub struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
31296    pub sType: VkStructureType,
31297    pub pNext: *mut ::std::os::raw::c_void,
31298    pub deviceGeneratedCompute: VkBool32,
31299    pub deviceGeneratedComputePipelines: VkBool32,
31300    pub deviceGeneratedComputeCaptureReplay: VkBool32,
31301}
31302#[repr(C)]
31303#[derive(Debug, Copy, Clone)]
31304pub struct VkComputePipelineIndirectBufferInfoNV {
31305    pub sType: VkStructureType,
31306    pub pNext: *const ::std::os::raw::c_void,
31307    pub deviceAddress: VkDeviceAddress,
31308    pub size: VkDeviceSize,
31309    pub pipelineDeviceAddressCaptureReplay: VkDeviceAddress,
31310}
31311#[repr(C)]
31312#[derive(Debug, Copy, Clone)]
31313pub struct VkPipelineIndirectDeviceAddressInfoNV {
31314    pub sType: VkStructureType,
31315    pub pNext: *const ::std::os::raw::c_void,
31316    pub pipelineBindPoint: VkPipelineBindPoint,
31317    pub pipeline: VkPipeline,
31318}
31319#[repr(C)]
31320#[derive(Debug, Copy, Clone)]
31321pub struct VkBindPipelineIndirectCommandNV {
31322    pub pipelineAddress: VkDeviceAddress,
31323}
31324pub type PFN_vkGetPipelineIndirectMemoryRequirementsNV = 
31325    unsafe extern "C" fn(
31326        device: VkDevice,
31327        pCreateInfo: *const VkComputePipelineCreateInfo,
31328        pMemoryRequirements: *mut VkMemoryRequirements2,
31329    );
31330
31331pub type PFN_vkCmdUpdatePipelineIndirectBufferNV = 
31332    unsafe extern "C" fn(
31333        commandBuffer: VkCommandBuffer,
31334        pipelineBindPoint: VkPipelineBindPoint,
31335        pipeline: VkPipeline,
31336    );
31337
31338pub type PFN_vkGetPipelineIndirectDeviceAddressNV = 
31339    unsafe extern "C" fn(
31340        device: VkDevice,
31341        pInfo: *const VkPipelineIndirectDeviceAddressInfoNV,
31342    ) -> VkDeviceAddress;
31343
31344extern "C" {
31345    pub fn vkGetPipelineIndirectMemoryRequirementsNV(
31346        device: VkDevice,
31347        pCreateInfo: *const VkComputePipelineCreateInfo,
31348        pMemoryRequirements: *mut VkMemoryRequirements2,
31349    );
31350}
31351extern "C" {
31352    pub fn vkCmdUpdatePipelineIndirectBufferNV(
31353        commandBuffer: VkCommandBuffer,
31354        pipelineBindPoint: VkPipelineBindPoint,
31355        pipeline: VkPipeline,
31356    );
31357}
31358extern "C" {
31359    pub fn vkGetPipelineIndirectDeviceAddressNV(
31360        device: VkDevice,
31361        pInfo: *const VkPipelineIndirectDeviceAddressInfoNV,
31362    ) -> VkDeviceAddress;
31363}
31364#[repr(C)]
31365#[derive(Debug, Copy, Clone)]
31366pub struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
31367    pub sType: VkStructureType,
31368    pub pNext: *mut ::std::os::raw::c_void,
31369    pub linearColorAttachment: VkBool32,
31370}
31371#[repr(C)]
31372#[derive(Debug, Copy, Clone)]
31373pub struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
31374    pub sType: VkStructureType,
31375    pub pNext: *mut ::std::os::raw::c_void,
31376    pub imageCompressionControlSwapchain: VkBool32,
31377}
31378#[repr(C)]
31379#[derive(Debug, Copy, Clone)]
31380pub struct VkImageViewSampleWeightCreateInfoQCOM {
31381    pub sType: VkStructureType,
31382    pub pNext: *const ::std::os::raw::c_void,
31383    pub filterCenter: VkOffset2D,
31384    pub filterSize: VkExtent2D,
31385    pub numPhases: u32,
31386}
31387#[repr(C)]
31388#[derive(Debug, Copy, Clone)]
31389pub struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
31390    pub sType: VkStructureType,
31391    pub pNext: *mut ::std::os::raw::c_void,
31392    pub textureSampleWeighted: VkBool32,
31393    pub textureBoxFilter: VkBool32,
31394    pub textureBlockMatch: VkBool32,
31395}
31396#[repr(C)]
31397#[derive(Debug, Copy, Clone)]
31398pub struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
31399    pub sType: VkStructureType,
31400    pub pNext: *mut ::std::os::raw::c_void,
31401    pub maxWeightFilterPhases: u32,
31402    pub maxWeightFilterDimension: VkExtent2D,
31403    pub maxBlockMatchRegion: VkExtent2D,
31404    pub maxBoxFilterBlockSize: VkExtent2D,
31405}
31406#[repr(C)]
31407#[derive(Debug, Copy, Clone)]
31408pub struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT {
31409    pub sType: VkStructureType,
31410    pub pNext: *mut ::std::os::raw::c_void,
31411    pub nestedCommandBuffer: VkBool32,
31412    pub nestedCommandBufferRendering: VkBool32,
31413    pub nestedCommandBufferSimultaneousUse: VkBool32,
31414}
31415#[repr(C)]
31416#[derive(Debug, Copy, Clone)]
31417pub struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT {
31418    pub sType: VkStructureType,
31419    pub pNext: *mut ::std::os::raw::c_void,
31420    pub maxCommandBufferNestingLevel: u32,
31421}
31422#[repr(C)]
31423#[derive(Debug, Copy, Clone)]
31424pub struct VkExternalMemoryAcquireUnmodifiedEXT {
31425    pub sType: VkStructureType,
31426    pub pNext: *const ::std::os::raw::c_void,
31427    pub acquireUnmodifiedMemory: VkBool32,
31428}
31429#[repr(C)]
31430#[derive(Debug, Copy, Clone)]
31431pub struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
31432    pub sType: VkStructureType,
31433    pub pNext: *mut ::std::os::raw::c_void,
31434    pub extendedDynamicState3TessellationDomainOrigin: VkBool32,
31435    pub extendedDynamicState3DepthClampEnable: VkBool32,
31436    pub extendedDynamicState3PolygonMode: VkBool32,
31437    pub extendedDynamicState3RasterizationSamples: VkBool32,
31438    pub extendedDynamicState3SampleMask: VkBool32,
31439    pub extendedDynamicState3AlphaToCoverageEnable: VkBool32,
31440    pub extendedDynamicState3AlphaToOneEnable: VkBool32,
31441    pub extendedDynamicState3LogicOpEnable: VkBool32,
31442    pub extendedDynamicState3ColorBlendEnable: VkBool32,
31443    pub extendedDynamicState3ColorBlendEquation: VkBool32,
31444    pub extendedDynamicState3ColorWriteMask: VkBool32,
31445    pub extendedDynamicState3RasterizationStream: VkBool32,
31446    pub extendedDynamicState3ConservativeRasterizationMode: VkBool32,
31447    pub extendedDynamicState3ExtraPrimitiveOverestimationSize: VkBool32,
31448    pub extendedDynamicState3DepthClipEnable: VkBool32,
31449    pub extendedDynamicState3SampleLocationsEnable: VkBool32,
31450    pub extendedDynamicState3ColorBlendAdvanced: VkBool32,
31451    pub extendedDynamicState3ProvokingVertexMode: VkBool32,
31452    pub extendedDynamicState3LineRasterizationMode: VkBool32,
31453    pub extendedDynamicState3LineStippleEnable: VkBool32,
31454    pub extendedDynamicState3DepthClipNegativeOneToOne: VkBool32,
31455    pub extendedDynamicState3ViewportWScalingEnable: VkBool32,
31456    pub extendedDynamicState3ViewportSwizzle: VkBool32,
31457    pub extendedDynamicState3CoverageToColorEnable: VkBool32,
31458    pub extendedDynamicState3CoverageToColorLocation: VkBool32,
31459    pub extendedDynamicState3CoverageModulationMode: VkBool32,
31460    pub extendedDynamicState3CoverageModulationTableEnable: VkBool32,
31461    pub extendedDynamicState3CoverageModulationTable: VkBool32,
31462    pub extendedDynamicState3CoverageReductionMode: VkBool32,
31463    pub extendedDynamicState3RepresentativeFragmentTestEnable: VkBool32,
31464    pub extendedDynamicState3ShadingRateImageEnable: VkBool32,
31465}
31466#[repr(C)]
31467#[derive(Debug, Copy, Clone)]
31468pub struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
31469    pub sType: VkStructureType,
31470    pub pNext: *mut ::std::os::raw::c_void,
31471    pub dynamicPrimitiveTopologyUnrestricted: VkBool32,
31472}
31473#[repr(C)]
31474#[derive(Debug, Copy, Clone)]
31475pub struct VkColorBlendEquationEXT {
31476    pub srcColorBlendFactor: VkBlendFactor,
31477    pub dstColorBlendFactor: VkBlendFactor,
31478    pub colorBlendOp: VkBlendOp,
31479    pub srcAlphaBlendFactor: VkBlendFactor,
31480    pub dstAlphaBlendFactor: VkBlendFactor,
31481    pub alphaBlendOp: VkBlendOp,
31482}
31483#[repr(C)]
31484#[derive(Debug, Copy, Clone)]
31485pub struct VkColorBlendAdvancedEXT {
31486    pub advancedBlendOp: VkBlendOp,
31487    pub srcPremultiplied: VkBool32,
31488    pub dstPremultiplied: VkBool32,
31489    pub blendOverlap: VkBlendOverlapEXT,
31490    pub clampResults: VkBool32,
31491}
31492pub type PFN_vkCmdSetDepthClampEnableEXT = 
31493    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32);
31494
31495pub type PFN_vkCmdSetPolygonModeEXT = 
31496    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode);
31497
31498pub type PFN_vkCmdSetRasterizationSamplesEXT = 
31499    unsafe extern "C" fn(
31500        commandBuffer: VkCommandBuffer,
31501        rasterizationSamples: VkSampleCountFlagBits,
31502    );
31503
31504pub type PFN_vkCmdSetSampleMaskEXT = 
31505    unsafe extern "C" fn(
31506        commandBuffer: VkCommandBuffer,
31507        samples: VkSampleCountFlagBits,
31508        pSampleMask: *const VkSampleMask,
31509    );
31510
31511pub type PFN_vkCmdSetAlphaToCoverageEnableEXT = 
31512    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32);
31513
31514pub type PFN_vkCmdSetAlphaToOneEnableEXT = 
31515    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32);
31516
31517pub type PFN_vkCmdSetLogicOpEnableEXT = 
31518    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32);
31519
31520pub type PFN_vkCmdSetColorBlendEnableEXT = 
31521    unsafe extern "C" fn(
31522        commandBuffer: VkCommandBuffer,
31523        firstAttachment: u32,
31524        attachmentCount: u32,
31525        pColorBlendEnables: *const VkBool32,
31526    );
31527
31528pub type PFN_vkCmdSetColorBlendEquationEXT = 
31529    unsafe extern "C" fn(
31530        commandBuffer: VkCommandBuffer,
31531        firstAttachment: u32,
31532        attachmentCount: u32,
31533        pColorBlendEquations: *const VkColorBlendEquationEXT,
31534    );
31535
31536pub type PFN_vkCmdSetColorWriteMaskEXT = 
31537    unsafe extern "C" fn(
31538        commandBuffer: VkCommandBuffer,
31539        firstAttachment: u32,
31540        attachmentCount: u32,
31541        pColorWriteMasks: *const VkColorComponentFlags,
31542    );
31543
31544pub type PFN_vkCmdSetTessellationDomainOriginEXT = 
31545    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin);
31546
31547pub type PFN_vkCmdSetRasterizationStreamEXT = 
31548    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, rasterizationStream: u32);
31549
31550pub type PFN_vkCmdSetConservativeRasterizationModeEXT = 
31551    unsafe extern "C" fn(
31552        commandBuffer: VkCommandBuffer,
31553        conservativeRasterizationMode: VkConservativeRasterizationModeEXT,
31554    );
31555
31556pub type PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT = 
31557    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: f32);
31558
31559pub type PFN_vkCmdSetDepthClipEnableEXT = 
31560    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32);
31561
31562pub type PFN_vkCmdSetSampleLocationsEnableEXT = 
31563    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32);
31564
31565pub type PFN_vkCmdSetColorBlendAdvancedEXT = 
31566    unsafe extern "C" fn(
31567        commandBuffer: VkCommandBuffer,
31568        firstAttachment: u32,
31569        attachmentCount: u32,
31570        pColorBlendAdvanced: *const VkColorBlendAdvancedEXT,
31571    );
31572
31573pub type PFN_vkCmdSetProvokingVertexModeEXT = 
31574    unsafe extern "C" fn(
31575        commandBuffer: VkCommandBuffer,
31576        provokingVertexMode: VkProvokingVertexModeEXT,
31577    );
31578
31579pub type PFN_vkCmdSetLineRasterizationModeEXT = 
31580    unsafe extern "C" fn(
31581        commandBuffer: VkCommandBuffer,
31582        lineRasterizationMode: VkLineRasterizationModeEXT,
31583    );
31584
31585pub type PFN_vkCmdSetLineStippleEnableEXT = 
31586    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32);
31587
31588pub type PFN_vkCmdSetDepthClipNegativeOneToOneEXT = 
31589    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32);
31590
31591pub type PFN_vkCmdSetViewportWScalingEnableNV = 
31592    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32);
31593
31594pub type PFN_vkCmdSetViewportSwizzleNV = 
31595    unsafe extern "C" fn(
31596        commandBuffer: VkCommandBuffer,
31597        firstViewport: u32,
31598        viewportCount: u32,
31599        pViewportSwizzles: *const VkViewportSwizzleNV,
31600    );
31601
31602pub type PFN_vkCmdSetCoverageToColorEnableNV = 
31603    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32);
31604
31605pub type PFN_vkCmdSetCoverageToColorLocationNV = 
31606    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, coverageToColorLocation: u32);
31607
31608pub type PFN_vkCmdSetCoverageModulationModeNV = 
31609    unsafe extern "C" fn(
31610        commandBuffer: VkCommandBuffer,
31611        coverageModulationMode: VkCoverageModulationModeNV,
31612    );
31613
31614pub type PFN_vkCmdSetCoverageModulationTableEnableNV = 
31615    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32);
31616
31617pub type PFN_vkCmdSetCoverageModulationTableNV = 
31618    unsafe extern "C" fn(
31619        commandBuffer: VkCommandBuffer,
31620        coverageModulationTableCount: u32,
31621        pCoverageModulationTable: *const f32,
31622    );
31623
31624pub type PFN_vkCmdSetShadingRateImageEnableNV = 
31625    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32);
31626
31627pub type PFN_vkCmdSetRepresentativeFragmentTestEnableNV = 
31628    unsafe extern "C" fn(
31629        commandBuffer: VkCommandBuffer,
31630        representativeFragmentTestEnable: VkBool32,
31631    );
31632
31633pub type PFN_vkCmdSetCoverageReductionModeNV = 
31634    unsafe extern "C" fn(
31635        commandBuffer: VkCommandBuffer,
31636        coverageReductionMode: VkCoverageReductionModeNV,
31637    );
31638
31639extern "C" {
31640    pub fn vkCmdSetDepthClampEnableEXT(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32);
31641}
31642extern "C" {
31643    pub fn vkCmdSetPolygonModeEXT(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode);
31644}
31645extern "C" {
31646    pub fn vkCmdSetRasterizationSamplesEXT(
31647        commandBuffer: VkCommandBuffer,
31648        rasterizationSamples: VkSampleCountFlagBits,
31649    );
31650}
31651extern "C" {
31652    pub fn vkCmdSetSampleMaskEXT(
31653        commandBuffer: VkCommandBuffer,
31654        samples: VkSampleCountFlagBits,
31655        pSampleMask: *const VkSampleMask,
31656    );
31657}
31658extern "C" {
31659    pub fn vkCmdSetAlphaToCoverageEnableEXT(
31660        commandBuffer: VkCommandBuffer,
31661        alphaToCoverageEnable: VkBool32,
31662    );
31663}
31664extern "C" {
31665    pub fn vkCmdSetAlphaToOneEnableEXT(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32);
31666}
31667extern "C" {
31668    pub fn vkCmdSetLogicOpEnableEXT(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32);
31669}
31670extern "C" {
31671    pub fn vkCmdSetColorBlendEnableEXT(
31672        commandBuffer: VkCommandBuffer,
31673        firstAttachment: u32,
31674        attachmentCount: u32,
31675        pColorBlendEnables: *const VkBool32,
31676    );
31677}
31678extern "C" {
31679    pub fn vkCmdSetColorBlendEquationEXT(
31680        commandBuffer: VkCommandBuffer,
31681        firstAttachment: u32,
31682        attachmentCount: u32,
31683        pColorBlendEquations: *const VkColorBlendEquationEXT,
31684    );
31685}
31686extern "C" {
31687    pub fn vkCmdSetColorWriteMaskEXT(
31688        commandBuffer: VkCommandBuffer,
31689        firstAttachment: u32,
31690        attachmentCount: u32,
31691        pColorWriteMasks: *const VkColorComponentFlags,
31692    );
31693}
31694extern "C" {
31695    pub fn vkCmdSetTessellationDomainOriginEXT(
31696        commandBuffer: VkCommandBuffer,
31697        domainOrigin: VkTessellationDomainOrigin,
31698    );
31699}
31700extern "C" {
31701    pub fn vkCmdSetRasterizationStreamEXT(commandBuffer: VkCommandBuffer, rasterizationStream: u32);
31702}
31703extern "C" {
31704    pub fn vkCmdSetConservativeRasterizationModeEXT(
31705        commandBuffer: VkCommandBuffer,
31706        conservativeRasterizationMode: VkConservativeRasterizationModeEXT,
31707    );
31708}
31709extern "C" {
31710    pub fn vkCmdSetExtraPrimitiveOverestimationSizeEXT(
31711        commandBuffer: VkCommandBuffer,
31712        extraPrimitiveOverestimationSize: f32,
31713    );
31714}
31715extern "C" {
31716    pub fn vkCmdSetDepthClipEnableEXT(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32);
31717}
31718extern "C" {
31719    pub fn vkCmdSetSampleLocationsEnableEXT(
31720        commandBuffer: VkCommandBuffer,
31721        sampleLocationsEnable: VkBool32,
31722    );
31723}
31724extern "C" {
31725    pub fn vkCmdSetColorBlendAdvancedEXT(
31726        commandBuffer: VkCommandBuffer,
31727        firstAttachment: u32,
31728        attachmentCount: u32,
31729        pColorBlendAdvanced: *const VkColorBlendAdvancedEXT,
31730    );
31731}
31732extern "C" {
31733    pub fn vkCmdSetProvokingVertexModeEXT(
31734        commandBuffer: VkCommandBuffer,
31735        provokingVertexMode: VkProvokingVertexModeEXT,
31736    );
31737}
31738extern "C" {
31739    pub fn vkCmdSetLineRasterizationModeEXT(
31740        commandBuffer: VkCommandBuffer,
31741        lineRasterizationMode: VkLineRasterizationModeEXT,
31742    );
31743}
31744extern "C" {
31745    pub fn vkCmdSetLineStippleEnableEXT(
31746        commandBuffer: VkCommandBuffer,
31747        stippledLineEnable: VkBool32,
31748    );
31749}
31750extern "C" {
31751    pub fn vkCmdSetDepthClipNegativeOneToOneEXT(
31752        commandBuffer: VkCommandBuffer,
31753        negativeOneToOne: VkBool32,
31754    );
31755}
31756extern "C" {
31757    pub fn vkCmdSetViewportWScalingEnableNV(
31758        commandBuffer: VkCommandBuffer,
31759        viewportWScalingEnable: VkBool32,
31760    );
31761}
31762extern "C" {
31763    pub fn vkCmdSetViewportSwizzleNV(
31764        commandBuffer: VkCommandBuffer,
31765        firstViewport: u32,
31766        viewportCount: u32,
31767        pViewportSwizzles: *const VkViewportSwizzleNV,
31768    );
31769}
31770extern "C" {
31771    pub fn vkCmdSetCoverageToColorEnableNV(
31772        commandBuffer: VkCommandBuffer,
31773        coverageToColorEnable: VkBool32,
31774    );
31775}
31776extern "C" {
31777    pub fn vkCmdSetCoverageToColorLocationNV(
31778        commandBuffer: VkCommandBuffer,
31779        coverageToColorLocation: u32,
31780    );
31781}
31782extern "C" {
31783    pub fn vkCmdSetCoverageModulationModeNV(
31784        commandBuffer: VkCommandBuffer,
31785        coverageModulationMode: VkCoverageModulationModeNV,
31786    );
31787}
31788extern "C" {
31789    pub fn vkCmdSetCoverageModulationTableEnableNV(
31790        commandBuffer: VkCommandBuffer,
31791        coverageModulationTableEnable: VkBool32,
31792    );
31793}
31794extern "C" {
31795    pub fn vkCmdSetCoverageModulationTableNV(
31796        commandBuffer: VkCommandBuffer,
31797        coverageModulationTableCount: u32,
31798        pCoverageModulationTable: *const f32,
31799    );
31800}
31801extern "C" {
31802    pub fn vkCmdSetShadingRateImageEnableNV(
31803        commandBuffer: VkCommandBuffer,
31804        shadingRateImageEnable: VkBool32,
31805    );
31806}
31807extern "C" {
31808    pub fn vkCmdSetRepresentativeFragmentTestEnableNV(
31809        commandBuffer: VkCommandBuffer,
31810        representativeFragmentTestEnable: VkBool32,
31811    );
31812}
31813extern "C" {
31814    pub fn vkCmdSetCoverageReductionModeNV(
31815        commandBuffer: VkCommandBuffer,
31816        coverageReductionMode: VkCoverageReductionModeNV,
31817    );
31818}
31819pub const VK_SUBPASS_MERGE_STATUS_MERGED_EXT: VkSubpassMergeStatusEXT = 0;
31820pub const VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT: VkSubpassMergeStatusEXT =
31821    1;
31822pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT:
31823    VkSubpassMergeStatusEXT = 2;
31824pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT:
31825    VkSubpassMergeStatusEXT = 3;
31826pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT:
31827    VkSubpassMergeStatusEXT = 4;
31828pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT:
31829    VkSubpassMergeStatusEXT = 5;
31830pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT:
31831    VkSubpassMergeStatusEXT = 6;
31832pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT : VkSubpassMergeStatusEXT = 7 ;
31833pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT:
31834    VkSubpassMergeStatusEXT = 8;
31835pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT:
31836    VkSubpassMergeStatusEXT = 9;
31837pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT:
31838    VkSubpassMergeStatusEXT = 10;
31839pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT : VkSubpassMergeStatusEXT = 11 ;
31840pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT:
31841    VkSubpassMergeStatusEXT = 12;
31842pub const VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT:
31843    VkSubpassMergeStatusEXT = 13;
31844pub const VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT: VkSubpassMergeStatusEXT =
31845    2147483647;
31846pub type VkSubpassMergeStatusEXT = ::std::os::raw::c_uint;
31847#[repr(C)]
31848#[derive(Debug, Copy, Clone)]
31849pub struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
31850    pub sType: VkStructureType,
31851    pub pNext: *mut ::std::os::raw::c_void,
31852    pub subpassMergeFeedback: VkBool32,
31853}
31854#[repr(C)]
31855#[derive(Debug, Copy, Clone)]
31856pub struct VkRenderPassCreationControlEXT {
31857    pub sType: VkStructureType,
31858    pub pNext: *const ::std::os::raw::c_void,
31859    pub disallowMerging: VkBool32,
31860}
31861#[repr(C)]
31862#[derive(Debug, Copy, Clone)]
31863pub struct VkRenderPassCreationFeedbackInfoEXT {
31864    pub postMergeSubpassCount: u32,
31865}
31866#[repr(C)]
31867#[derive(Debug, Copy, Clone)]
31868pub struct VkRenderPassCreationFeedbackCreateInfoEXT {
31869    pub sType: VkStructureType,
31870    pub pNext: *const ::std::os::raw::c_void,
31871    pub pRenderPassFeedback: *mut VkRenderPassCreationFeedbackInfoEXT,
31872}
31873#[repr(C)]
31874#[derive(Debug, Copy, Clone)]
31875pub struct VkRenderPassSubpassFeedbackInfoEXT {
31876    pub subpassMergeStatus: VkSubpassMergeStatusEXT,
31877    pub description: [::std::os::raw::c_char; 256usize],
31878    pub postMergeIndex: u32,
31879}
31880#[repr(C)]
31881#[derive(Debug, Copy, Clone)]
31882pub struct VkRenderPassSubpassFeedbackCreateInfoEXT {
31883    pub sType: VkStructureType,
31884    pub pNext: *const ::std::os::raw::c_void,
31885    pub pSubpassFeedback: *mut VkRenderPassSubpassFeedbackInfoEXT,
31886}
31887pub const VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG:
31888    VkDirectDriverLoadingModeLUNARG = 0;
31889pub const VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG:
31890    VkDirectDriverLoadingModeLUNARG = 1;
31891pub const VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG:
31892    VkDirectDriverLoadingModeLUNARG = 2147483647;
31893pub type VkDirectDriverLoadingModeLUNARG = ::std::os::raw::c_uint;
31894pub type VkDirectDriverLoadingFlagsLUNARG = VkFlags;
31895pub type PFN_vkGetInstanceProcAddrLUNARG = 
31896    unsafe extern "C" fn(
31897        instance: VkInstance,
31898        pName: *const ::std::os::raw::c_char,
31899    ) -> PFN_vkVoidFunction;
31900
31901#[repr(C)]
31902#[derive(Debug, Copy, Clone)]
31903pub struct VkDirectDriverLoadingInfoLUNARG {
31904    pub sType: VkStructureType,
31905    pub pNext: *mut ::std::os::raw::c_void,
31906    pub flags: VkDirectDriverLoadingFlagsLUNARG,
31907    pub pfnGetInstanceProcAddr: PFN_vkGetInstanceProcAddrLUNARG,
31908}
31909#[repr(C)]
31910#[derive(Debug, Copy, Clone)]
31911pub struct VkDirectDriverLoadingListLUNARG {
31912    pub sType: VkStructureType,
31913    pub pNext: *const ::std::os::raw::c_void,
31914    pub mode: VkDirectDriverLoadingModeLUNARG,
31915    pub driverCount: u32,
31916    pub pDrivers: *const VkDirectDriverLoadingInfoLUNARG,
31917}
31918#[repr(C)]
31919#[derive(Debug, Copy, Clone)]
31920pub struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
31921    pub sType: VkStructureType,
31922    pub pNext: *mut ::std::os::raw::c_void,
31923    pub shaderModuleIdentifier: VkBool32,
31924}
31925#[repr(C)]
31926#[derive(Debug, Copy, Clone)]
31927pub struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
31928    pub sType: VkStructureType,
31929    pub pNext: *mut ::std::os::raw::c_void,
31930    pub shaderModuleIdentifierAlgorithmUUID: [u8; 16usize],
31931}
31932#[repr(C)]
31933#[derive(Debug, Copy, Clone)]
31934pub struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
31935    pub sType: VkStructureType,
31936    pub pNext: *const ::std::os::raw::c_void,
31937    pub identifierSize: u32,
31938    pub pIdentifier: *const u8,
31939}
31940#[repr(C)]
31941#[derive(Debug, Copy, Clone)]
31942pub struct VkShaderModuleIdentifierEXT {
31943    pub sType: VkStructureType,
31944    pub pNext: *mut ::std::os::raw::c_void,
31945    pub identifierSize: u32,
31946    pub identifier: [u8; 32usize],
31947}
31948pub type PFN_vkGetShaderModuleIdentifierEXT = 
31949    unsafe extern "C" fn(
31950        device: VkDevice,
31951        shaderModule: VkShaderModule,
31952        pIdentifier: *mut VkShaderModuleIdentifierEXT,
31953    );
31954
31955pub type PFN_vkGetShaderModuleCreateInfoIdentifierEXT = 
31956    unsafe extern "C" fn(
31957        device: VkDevice,
31958        pCreateInfo: *const VkShaderModuleCreateInfo,
31959        pIdentifier: *mut VkShaderModuleIdentifierEXT,
31960    );
31961
31962extern "C" {
31963    pub fn vkGetShaderModuleIdentifierEXT(
31964        device: VkDevice,
31965        shaderModule: VkShaderModule,
31966        pIdentifier: *mut VkShaderModuleIdentifierEXT,
31967    );
31968}
31969extern "C" {
31970    pub fn vkGetShaderModuleCreateInfoIdentifierEXT(
31971        device: VkDevice,
31972        pCreateInfo: *const VkShaderModuleCreateInfo,
31973        pIdentifier: *mut VkShaderModuleIdentifierEXT,
31974    );
31975}
31976#[repr(C)]
31977#[derive(Debug, Copy, Clone)]
31978pub struct VkOpticalFlowSessionNV_T {
31979    _unused: [u8; 0],
31980}
31981pub type VkOpticalFlowSessionNV = *mut VkOpticalFlowSessionNV_T;
31982pub const VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV:
31983    VkOpticalFlowPerformanceLevelNV = 0;
31984pub const VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV:
31985    VkOpticalFlowPerformanceLevelNV = 1;
31986pub const VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV:
31987    VkOpticalFlowPerformanceLevelNV = 2;
31988pub const VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV:
31989    VkOpticalFlowPerformanceLevelNV = 3;
31990pub const VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV:
31991    VkOpticalFlowPerformanceLevelNV = 2147483647;
31992pub type VkOpticalFlowPerformanceLevelNV = ::std::os::raw::c_uint;
31993pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV:
31994    VkOpticalFlowSessionBindingPointNV = 0;
31995pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV:
31996    VkOpticalFlowSessionBindingPointNV = 1;
31997pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV:
31998    VkOpticalFlowSessionBindingPointNV = 2;
31999pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV:
32000    VkOpticalFlowSessionBindingPointNV = 3;
32001pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV : VkOpticalFlowSessionBindingPointNV = 4 ;
32002pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV : VkOpticalFlowSessionBindingPointNV = 5 ;
32003pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV:
32004    VkOpticalFlowSessionBindingPointNV = 6;
32005pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV : VkOpticalFlowSessionBindingPointNV = 7 ;
32006pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV : VkOpticalFlowSessionBindingPointNV = 8 ;
32007pub const VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV:
32008    VkOpticalFlowSessionBindingPointNV = 2147483647;
32009pub type VkOpticalFlowSessionBindingPointNV = ::std::os::raw::c_uint;
32010pub const VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV:
32011    VkOpticalFlowGridSizeFlagBitsNV = 0;
32012pub const VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV:
32013    VkOpticalFlowGridSizeFlagBitsNV = 1;
32014pub const VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV:
32015    VkOpticalFlowGridSizeFlagBitsNV = 2;
32016pub const VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV:
32017    VkOpticalFlowGridSizeFlagBitsNV = 4;
32018pub const VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV:
32019    VkOpticalFlowGridSizeFlagBitsNV = 8;
32020pub const VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV:
32021    VkOpticalFlowGridSizeFlagBitsNV = 2147483647;
32022pub type VkOpticalFlowGridSizeFlagBitsNV = ::std::os::raw::c_uint;
32023pub type VkOpticalFlowGridSizeFlagsNV = VkFlags;
32024pub const VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV:
32025    VkOpticalFlowUsageFlagBitsNV = 0;
32026pub const VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV:
32027    VkOpticalFlowUsageFlagBitsNV = 1;
32028pub const VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV:
32029    VkOpticalFlowUsageFlagBitsNV = 2;
32030pub const VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV:
32031    VkOpticalFlowUsageFlagBitsNV = 4;
32032pub const VK_OPTICAL_FLOW_USAGE_COST_BIT_NV:
32033    VkOpticalFlowUsageFlagBitsNV = 8;
32034pub const VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV:
32035    VkOpticalFlowUsageFlagBitsNV = 16;
32036pub const VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV:
32037    VkOpticalFlowUsageFlagBitsNV = 2147483647;
32038pub type VkOpticalFlowUsageFlagBitsNV = ::std::os::raw::c_uint;
32039pub type VkOpticalFlowUsageFlagsNV = VkFlags;
32040pub const VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV:
32041    VkOpticalFlowSessionCreateFlagBitsNV = 1;
32042pub const VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV:
32043    VkOpticalFlowSessionCreateFlagBitsNV = 2;
32044pub const VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV : VkOpticalFlowSessionCreateFlagBitsNV = 4 ;
32045pub const VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV : VkOpticalFlowSessionCreateFlagBitsNV = 8 ;
32046pub const VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV : VkOpticalFlowSessionCreateFlagBitsNV = 16 ;
32047pub const VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV : VkOpticalFlowSessionCreateFlagBitsNV = 2147483647 ;
32048pub type VkOpticalFlowSessionCreateFlagBitsNV = ::std::os::raw::c_uint;
32049pub type VkOpticalFlowSessionCreateFlagsNV = VkFlags;
32050pub const VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV:
32051    VkOpticalFlowExecuteFlagBitsNV = 1;
32052pub const VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV:
32053    VkOpticalFlowExecuteFlagBitsNV = 2147483647;
32054pub type VkOpticalFlowExecuteFlagBitsNV = ::std::os::raw::c_uint;
32055pub type VkOpticalFlowExecuteFlagsNV = VkFlags;
32056#[repr(C)]
32057#[derive(Debug, Copy, Clone)]
32058pub struct VkPhysicalDeviceOpticalFlowFeaturesNV {
32059    pub sType: VkStructureType,
32060    pub pNext: *mut ::std::os::raw::c_void,
32061    pub opticalFlow: VkBool32,
32062}
32063#[repr(C)]
32064#[derive(Debug, Copy, Clone)]
32065pub struct VkPhysicalDeviceOpticalFlowPropertiesNV {
32066    pub sType: VkStructureType,
32067    pub pNext: *mut ::std::os::raw::c_void,
32068    pub supportedOutputGridSizes: VkOpticalFlowGridSizeFlagsNV,
32069    pub supportedHintGridSizes: VkOpticalFlowGridSizeFlagsNV,
32070    pub hintSupported: VkBool32,
32071    pub costSupported: VkBool32,
32072    pub bidirectionalFlowSupported: VkBool32,
32073    pub globalFlowSupported: VkBool32,
32074    pub minWidth: u32,
32075    pub minHeight: u32,
32076    pub maxWidth: u32,
32077    pub maxHeight: u32,
32078    pub maxNumRegionsOfInterest: u32,
32079}
32080#[repr(C)]
32081#[derive(Debug, Copy, Clone)]
32082pub struct VkOpticalFlowImageFormatInfoNV {
32083    pub sType: VkStructureType,
32084    pub pNext: *const ::std::os::raw::c_void,
32085    pub usage: VkOpticalFlowUsageFlagsNV,
32086}
32087#[repr(C)]
32088#[derive(Debug, Copy, Clone)]
32089pub struct VkOpticalFlowImageFormatPropertiesNV {
32090    pub sType: VkStructureType,
32091    pub pNext: *const ::std::os::raw::c_void,
32092    pub format: VkFormat,
32093}
32094#[repr(C)]
32095#[derive(Debug, Copy, Clone)]
32096pub struct VkOpticalFlowSessionCreateInfoNV {
32097    pub sType: VkStructureType,
32098    pub pNext: *mut ::std::os::raw::c_void,
32099    pub width: u32,
32100    pub height: u32,
32101    pub imageFormat: VkFormat,
32102    pub flowVectorFormat: VkFormat,
32103    pub costFormat: VkFormat,
32104    pub outputGridSize: VkOpticalFlowGridSizeFlagsNV,
32105    pub hintGridSize: VkOpticalFlowGridSizeFlagsNV,
32106    pub performanceLevel: VkOpticalFlowPerformanceLevelNV,
32107    pub flags: VkOpticalFlowSessionCreateFlagsNV,
32108}
32109#[repr(C)]
32110#[derive(Debug, Copy, Clone)]
32111pub struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
32112    pub sType: VkStructureType,
32113    pub pNext: *mut ::std::os::raw::c_void,
32114    pub id: u32,
32115    pub size: u32,
32116    pub pPrivateData: *const ::std::os::raw::c_void,
32117}
32118#[repr(C)]
32119#[derive(Debug, Copy, Clone)]
32120pub struct VkOpticalFlowExecuteInfoNV {
32121    pub sType: VkStructureType,
32122    pub pNext: *mut ::std::os::raw::c_void,
32123    pub flags: VkOpticalFlowExecuteFlagsNV,
32124    pub regionCount: u32,
32125    pub pRegions: *const VkRect2D,
32126}
32127pub type PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 
32128    unsafe extern "C" fn(
32129        physicalDevice: VkPhysicalDevice,
32130        pOpticalFlowImageFormatInfo: *const VkOpticalFlowImageFormatInfoNV,
32131        pFormatCount: *mut u32,
32132        pImageFormatProperties: *mut VkOpticalFlowImageFormatPropertiesNV,
32133    ) -> VkResult;
32134
32135pub type PFN_vkCreateOpticalFlowSessionNV = 
32136    unsafe extern "C" fn(
32137        device: VkDevice,
32138        pCreateInfo: *const VkOpticalFlowSessionCreateInfoNV,
32139        pAllocator: *const VkAllocationCallbacks,
32140        pSession: *mut VkOpticalFlowSessionNV,
32141    ) -> VkResult;
32142
32143pub type PFN_vkDestroyOpticalFlowSessionNV = 
32144    unsafe extern "C" fn(
32145        device: VkDevice,
32146        session: VkOpticalFlowSessionNV,
32147        pAllocator: *const VkAllocationCallbacks,
32148    );
32149
32150pub type PFN_vkBindOpticalFlowSessionImageNV = 
32151    unsafe extern "C" fn(
32152        device: VkDevice,
32153        session: VkOpticalFlowSessionNV,
32154        bindingPoint: VkOpticalFlowSessionBindingPointNV,
32155        view: VkImageView,
32156        layout: VkImageLayout,
32157    ) -> VkResult;
32158
32159pub type PFN_vkCmdOpticalFlowExecuteNV = 
32160    unsafe extern "C" fn(
32161        commandBuffer: VkCommandBuffer,
32162        session: VkOpticalFlowSessionNV,
32163        pExecuteInfo: *const VkOpticalFlowExecuteInfoNV,
32164    );
32165
32166extern "C" {
32167    pub fn vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
32168        physicalDevice: VkPhysicalDevice,
32169        pOpticalFlowImageFormatInfo: *const VkOpticalFlowImageFormatInfoNV,
32170        pFormatCount: *mut u32,
32171        pImageFormatProperties: *mut VkOpticalFlowImageFormatPropertiesNV,
32172    ) -> VkResult;
32173}
32174extern "C" {
32175    pub fn vkCreateOpticalFlowSessionNV(
32176        device: VkDevice,
32177        pCreateInfo: *const VkOpticalFlowSessionCreateInfoNV,
32178        pAllocator: *const VkAllocationCallbacks,
32179        pSession: *mut VkOpticalFlowSessionNV,
32180    ) -> VkResult;
32181}
32182extern "C" {
32183    pub fn vkDestroyOpticalFlowSessionNV(
32184        device: VkDevice,
32185        session: VkOpticalFlowSessionNV,
32186        pAllocator: *const VkAllocationCallbacks,
32187    );
32188}
32189extern "C" {
32190    pub fn vkBindOpticalFlowSessionImageNV(
32191        device: VkDevice,
32192        session: VkOpticalFlowSessionNV,
32193        bindingPoint: VkOpticalFlowSessionBindingPointNV,
32194        view: VkImageView,
32195        layout: VkImageLayout,
32196    ) -> VkResult;
32197}
32198extern "C" {
32199    pub fn vkCmdOpticalFlowExecuteNV(
32200        commandBuffer: VkCommandBuffer,
32201        session: VkOpticalFlowSessionNV,
32202        pExecuteInfo: *const VkOpticalFlowExecuteInfoNV,
32203    );
32204}
32205#[repr(C)]
32206#[derive(Debug, Copy, Clone)]
32207pub struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
32208    pub sType: VkStructureType,
32209    pub pNext: *mut ::std::os::raw::c_void,
32210    pub legacyDithering: VkBool32,
32211}
32212#[repr(C)]
32213#[derive(Debug, Copy, Clone)]
32214pub struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT {
32215    pub sType: VkStructureType,
32216    pub pNext: *mut ::std::os::raw::c_void,
32217    pub pipelineProtectedAccess: VkBool32,
32218}
32219pub const VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD: VkAntiLagModeAMD = 0;
32220pub const VK_ANTI_LAG_MODE_ON_AMD: VkAntiLagModeAMD = 1;
32221pub const VK_ANTI_LAG_MODE_OFF_AMD: VkAntiLagModeAMD = 2;
32222pub const VK_ANTI_LAG_MODE_MAX_ENUM_AMD: VkAntiLagModeAMD = 2147483647;
32223pub type VkAntiLagModeAMD = ::std::os::raw::c_uint;
32224pub const VK_ANTI_LAG_STAGE_INPUT_AMD: VkAntiLagStageAMD = 0;
32225pub const VK_ANTI_LAG_STAGE_PRESENT_AMD: VkAntiLagStageAMD = 1;
32226pub const VK_ANTI_LAG_STAGE_MAX_ENUM_AMD: VkAntiLagStageAMD = 2147483647;
32227pub type VkAntiLagStageAMD = ::std::os::raw::c_uint;
32228#[repr(C)]
32229#[derive(Debug, Copy, Clone)]
32230pub struct VkPhysicalDeviceAntiLagFeaturesAMD {
32231    pub sType: VkStructureType,
32232    pub pNext: *mut ::std::os::raw::c_void,
32233    pub antiLag: VkBool32,
32234}
32235#[repr(C)]
32236#[derive(Debug, Copy, Clone)]
32237pub struct VkAntiLagPresentationInfoAMD {
32238    pub sType: VkStructureType,
32239    pub pNext: *mut ::std::os::raw::c_void,
32240    pub stage: VkAntiLagStageAMD,
32241    pub frameIndex: u64,
32242}
32243#[repr(C)]
32244#[derive(Debug, Copy, Clone)]
32245pub struct VkAntiLagDataAMD {
32246    pub sType: VkStructureType,
32247    pub pNext: *const ::std::os::raw::c_void,
32248    pub mode: VkAntiLagModeAMD,
32249    pub maxFPS: u32,
32250    pub pPresentationInfo: *const VkAntiLagPresentationInfoAMD,
32251}
32252pub type PFN_vkAntiLagUpdateAMD =
32253    unsafe extern "C" fn(device: VkDevice, pData: *const VkAntiLagDataAMD);
32254extern "C" {
32255    pub fn vkAntiLagUpdateAMD(device: VkDevice, pData: *const VkAntiLagDataAMD);
32256}
32257#[repr(C)]
32258#[derive(Debug, Copy, Clone)]
32259pub struct VkShaderEXT_T {
32260    _unused: [u8; 0],
32261}
32262pub type VkShaderEXT = *mut VkShaderEXT_T;
32263pub const VK_SHADER_CODE_TYPE_BINARY_EXT: VkShaderCodeTypeEXT = 0;
32264pub const VK_SHADER_CODE_TYPE_SPIRV_EXT: VkShaderCodeTypeEXT = 1;
32265pub const VK_SHADER_CODE_TYPE_MAX_ENUM_EXT: VkShaderCodeTypeEXT = 2147483647;
32266pub type VkShaderCodeTypeEXT = ::std::os::raw::c_uint;
32267pub const VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT: VkDepthClampModeEXT = 0;
32268pub const VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT: VkDepthClampModeEXT = 1;
32269pub const VK_DEPTH_CLAMP_MODE_MAX_ENUM_EXT: VkDepthClampModeEXT = 2147483647;
32270pub type VkDepthClampModeEXT = ::std::os::raw::c_uint;
32271pub const VK_SHADER_CREATE_LINK_STAGE_BIT_EXT: VkShaderCreateFlagBitsEXT =
32272    1;
32273pub const VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT:
32274    VkShaderCreateFlagBitsEXT = 2;
32275pub const VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT:
32276    VkShaderCreateFlagBitsEXT = 4;
32277pub const VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT:
32278    VkShaderCreateFlagBitsEXT = 8;
32279pub const VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT:
32280    VkShaderCreateFlagBitsEXT = 16;
32281pub const VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT:
32282    VkShaderCreateFlagBitsEXT = 32;
32283pub const VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT:
32284    VkShaderCreateFlagBitsEXT = 64;
32285pub const VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT:
32286    VkShaderCreateFlagBitsEXT = 128;
32287pub const VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT:
32288    VkShaderCreateFlagBitsEXT = 2147483647;
32289pub type VkShaderCreateFlagBitsEXT = ::std::os::raw::c_uint;
32290pub type VkShaderCreateFlagsEXT = VkFlags;
32291#[repr(C)]
32292#[derive(Debug, Copy, Clone)]
32293pub struct VkPhysicalDeviceShaderObjectFeaturesEXT {
32294    pub sType: VkStructureType,
32295    pub pNext: *mut ::std::os::raw::c_void,
32296    pub shaderObject: VkBool32,
32297}
32298#[repr(C)]
32299#[derive(Debug, Copy, Clone)]
32300pub struct VkPhysicalDeviceShaderObjectPropertiesEXT {
32301    pub sType: VkStructureType,
32302    pub pNext: *mut ::std::os::raw::c_void,
32303    pub shaderBinaryUUID: [u8; 16usize],
32304    pub shaderBinaryVersion: u32,
32305}
32306#[repr(C)]
32307#[derive(Debug, Copy, Clone)]
32308pub struct VkShaderCreateInfoEXT {
32309    pub sType: VkStructureType,
32310    pub pNext: *const ::std::os::raw::c_void,
32311    pub flags: VkShaderCreateFlagsEXT,
32312    pub stage: VkShaderStageFlagBits,
32313    pub nextStage: VkShaderStageFlags,
32314    pub codeType: VkShaderCodeTypeEXT,
32315    pub codeSize: usize,
32316    pub pCode: *const ::std::os::raw::c_void,
32317    pub pName: *const ::std::os::raw::c_char,
32318    pub setLayoutCount: u32,
32319    pub pSetLayouts: *const VkDescriptorSetLayout,
32320    pub pushConstantRangeCount: u32,
32321    pub pPushConstantRanges: *const VkPushConstantRange,
32322    pub pSpecializationInfo: *const VkSpecializationInfo,
32323}
32324pub type VkShaderRequiredSubgroupSizeCreateInfoEXT =
32325    VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
32326#[repr(C)]
32327#[derive(Debug, Copy, Clone)]
32328pub struct VkDepthClampRangeEXT {
32329    pub minDepthClamp: f32,
32330    pub maxDepthClamp: f32,
32331}
32332pub type PFN_vkCreateShadersEXT = 
32333    unsafe extern "C" fn(
32334        device: VkDevice,
32335        createInfoCount: u32,
32336        pCreateInfos: *const VkShaderCreateInfoEXT,
32337        pAllocator: *const VkAllocationCallbacks,
32338        pShaders: *mut VkShaderEXT,
32339    ) -> VkResult;
32340
32341pub type PFN_vkDestroyShaderEXT = 
32342    unsafe extern "C" fn(
32343        device: VkDevice,
32344        shader: VkShaderEXT,
32345        pAllocator: *const VkAllocationCallbacks,
32346    );
32347
32348pub type PFN_vkGetShaderBinaryDataEXT = 
32349    unsafe extern "C" fn(
32350        device: VkDevice,
32351        shader: VkShaderEXT,
32352        pDataSize: *mut usize,
32353        pData: *mut ::std::os::raw::c_void,
32354    ) -> VkResult;
32355
32356pub type PFN_vkCmdBindShadersEXT = 
32357    unsafe extern "C" fn(
32358        commandBuffer: VkCommandBuffer,
32359        stageCount: u32,
32360        pStages: *const VkShaderStageFlagBits,
32361        pShaders: *const VkShaderEXT,
32362    );
32363
32364pub type PFN_vkCmdSetDepthClampRangeEXT = 
32365    unsafe extern "C" fn(
32366        commandBuffer: VkCommandBuffer,
32367        depthClampMode: VkDepthClampModeEXT,
32368        pDepthClampRange: *const VkDepthClampRangeEXT,
32369    );
32370
32371extern "C" {
32372    pub fn vkCreateShadersEXT(
32373        device: VkDevice,
32374        createInfoCount: u32,
32375        pCreateInfos: *const VkShaderCreateInfoEXT,
32376        pAllocator: *const VkAllocationCallbacks,
32377        pShaders: *mut VkShaderEXT,
32378    ) -> VkResult;
32379}
32380extern "C" {
32381    pub fn vkDestroyShaderEXT(
32382        device: VkDevice,
32383        shader: VkShaderEXT,
32384        pAllocator: *const VkAllocationCallbacks,
32385    );
32386}
32387extern "C" {
32388    pub fn vkGetShaderBinaryDataEXT(
32389        device: VkDevice,
32390        shader: VkShaderEXT,
32391        pDataSize: *mut usize,
32392        pData: *mut ::std::os::raw::c_void,
32393    ) -> VkResult;
32394}
32395extern "C" {
32396    pub fn vkCmdBindShadersEXT(
32397        commandBuffer: VkCommandBuffer,
32398        stageCount: u32,
32399        pStages: *const VkShaderStageFlagBits,
32400        pShaders: *const VkShaderEXT,
32401    );
32402}
32403extern "C" {
32404    pub fn vkCmdSetDepthClampRangeEXT(
32405        commandBuffer: VkCommandBuffer,
32406        depthClampMode: VkDepthClampModeEXT,
32407        pDepthClampRange: *const VkDepthClampRangeEXT,
32408    );
32409}
32410#[repr(C)]
32411#[derive(Debug, Copy, Clone)]
32412pub struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
32413    pub sType: VkStructureType,
32414    pub pNext: *mut ::std::os::raw::c_void,
32415    pub tileProperties: VkBool32,
32416}
32417#[repr(C)]
32418#[derive(Debug, Copy, Clone)]
32419pub struct VkTilePropertiesQCOM {
32420    pub sType: VkStructureType,
32421    pub pNext: *mut ::std::os::raw::c_void,
32422    pub tileSize: VkExtent3D,
32423    pub apronSize: VkExtent2D,
32424    pub origin: VkOffset2D,
32425}
32426pub type PFN_vkGetFramebufferTilePropertiesQCOM = 
32427    unsafe extern "C" fn(
32428        device: VkDevice,
32429        framebuffer: VkFramebuffer,
32430        pPropertiesCount: *mut u32,
32431        pProperties: *mut VkTilePropertiesQCOM,
32432    ) -> VkResult;
32433
32434pub type PFN_vkGetDynamicRenderingTilePropertiesQCOM = 
32435    unsafe extern "C" fn(
32436        device: VkDevice,
32437        pRenderingInfo: *const VkRenderingInfo,
32438        pProperties: *mut VkTilePropertiesQCOM,
32439    ) -> VkResult;
32440
32441extern "C" {
32442    pub fn vkGetFramebufferTilePropertiesQCOM(
32443        device: VkDevice,
32444        framebuffer: VkFramebuffer,
32445        pPropertiesCount: *mut u32,
32446        pProperties: *mut VkTilePropertiesQCOM,
32447    ) -> VkResult;
32448}
32449extern "C" {
32450    pub fn vkGetDynamicRenderingTilePropertiesQCOM(
32451        device: VkDevice,
32452        pRenderingInfo: *const VkRenderingInfo,
32453        pProperties: *mut VkTilePropertiesQCOM,
32454    ) -> VkResult;
32455}
32456#[repr(C)]
32457#[derive(Debug, Copy, Clone)]
32458pub struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
32459    pub sType: VkStructureType,
32460    pub pNext: *mut ::std::os::raw::c_void,
32461    pub amigoProfiling: VkBool32,
32462}
32463#[repr(C)]
32464#[derive(Debug, Copy, Clone)]
32465pub struct VkAmigoProfilingSubmitInfoSEC {
32466    pub sType: VkStructureType,
32467    pub pNext: *const ::std::os::raw::c_void,
32468    pub firstDrawTimestamp: u64,
32469    pub swapBufferTimestamp: u64,
32470}
32471#[repr(C)]
32472#[derive(Debug, Copy, Clone)]
32473pub struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
32474    pub sType: VkStructureType,
32475    pub pNext: *mut ::std::os::raw::c_void,
32476    pub multiviewPerViewViewports: VkBool32,
32477}
32478pub const VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV:
32479    VkRayTracingInvocationReorderModeNV = 0;
32480pub const VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV:
32481    VkRayTracingInvocationReorderModeNV = 1;
32482pub const VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV:
32483    VkRayTracingInvocationReorderModeNV = 2147483647;
32484pub type VkRayTracingInvocationReorderModeNV = ::std::os::raw::c_uint;
32485#[repr(C)]
32486#[derive(Debug, Copy, Clone)]
32487pub struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
32488    pub sType: VkStructureType,
32489    pub pNext: *mut ::std::os::raw::c_void,
32490    pub rayTracingInvocationReorderReorderingHint: VkRayTracingInvocationReorderModeNV,
32491}
32492#[repr(C)]
32493#[derive(Debug, Copy, Clone)]
32494pub struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
32495    pub sType: VkStructureType,
32496    pub pNext: *mut ::std::os::raw::c_void,
32497    pub rayTracingInvocationReorder: VkBool32,
32498}
32499#[repr(C)]
32500#[derive(Debug, Copy, Clone)]
32501pub struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
32502    pub sType: VkStructureType,
32503    pub pNext: *mut ::std::os::raw::c_void,
32504    pub extendedSparseAddressSpace: VkBool32,
32505}
32506#[repr(C)]
32507#[derive(Debug, Copy, Clone)]
32508pub struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
32509    pub sType: VkStructureType,
32510    pub pNext: *mut ::std::os::raw::c_void,
32511    pub extendedSparseAddressSpaceSize: VkDeviceSize,
32512    pub extendedSparseImageUsageFlags: VkImageUsageFlags,
32513    pub extendedSparseBufferUsageFlags: VkBufferUsageFlags,
32514}
32515#[repr(C)]
32516#[derive(Debug, Copy, Clone)]
32517pub struct VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT {
32518    pub sType: VkStructureType,
32519    pub pNext: *mut ::std::os::raw::c_void,
32520    pub legacyVertexAttributes: VkBool32,
32521}
32522#[repr(C)]
32523#[derive(Debug, Copy, Clone)]
32524pub struct VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT {
32525    pub sType: VkStructureType,
32526    pub pNext: *mut ::std::os::raw::c_void,
32527    pub nativeUnalignedPerformance: VkBool32,
32528}
32529pub const VK_LAYER_SETTING_TYPE_BOOL32_EXT: VkLayerSettingTypeEXT = 0;
32530pub const VK_LAYER_SETTING_TYPE_INT32_EXT: VkLayerSettingTypeEXT = 1;
32531pub const VK_LAYER_SETTING_TYPE_INT64_EXT: VkLayerSettingTypeEXT = 2;
32532pub const VK_LAYER_SETTING_TYPE_UINT32_EXT: VkLayerSettingTypeEXT = 3;
32533pub const VK_LAYER_SETTING_TYPE_UINT64_EXT: VkLayerSettingTypeEXT = 4;
32534pub const VK_LAYER_SETTING_TYPE_FLOAT32_EXT: VkLayerSettingTypeEXT = 5;
32535pub const VK_LAYER_SETTING_TYPE_FLOAT64_EXT: VkLayerSettingTypeEXT = 6;
32536pub const VK_LAYER_SETTING_TYPE_STRING_EXT: VkLayerSettingTypeEXT = 7;
32537pub const VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT: VkLayerSettingTypeEXT =
32538    2147483647;
32539pub type VkLayerSettingTypeEXT = ::std::os::raw::c_uint;
32540#[repr(C)]
32541#[derive(Debug, Copy, Clone)]
32542pub struct VkLayerSettingEXT {
32543    pub pLayerName: *const ::std::os::raw::c_char,
32544    pub pSettingName: *const ::std::os::raw::c_char,
32545    pub type_: VkLayerSettingTypeEXT,
32546    pub valueCount: u32,
32547    pub pValues: *const ::std::os::raw::c_void,
32548}
32549#[repr(C)]
32550#[derive(Debug, Copy, Clone)]
32551pub struct VkLayerSettingsCreateInfoEXT {
32552    pub sType: VkStructureType,
32553    pub pNext: *const ::std::os::raw::c_void,
32554    pub settingCount: u32,
32555    pub pSettings: *const VkLayerSettingEXT,
32556}
32557#[repr(C)]
32558#[derive(Debug, Copy, Clone)]
32559pub struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
32560    pub sType: VkStructureType,
32561    pub pNext: *mut ::std::os::raw::c_void,
32562    pub shaderCoreBuiltins: VkBool32,
32563}
32564#[repr(C)]
32565#[derive(Debug, Copy, Clone)]
32566pub struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
32567    pub sType: VkStructureType,
32568    pub pNext: *mut ::std::os::raw::c_void,
32569    pub shaderCoreMask: u64,
32570    pub shaderCoreCount: u32,
32571    pub shaderWarpsPerCore: u32,
32572}
32573#[repr(C)]
32574#[derive(Debug, Copy, Clone)]
32575pub struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
32576    pub sType: VkStructureType,
32577    pub pNext: *mut ::std::os::raw::c_void,
32578    pub pipelineLibraryGroupHandles: VkBool32,
32579}
32580#[repr(C)]
32581#[derive(Debug, Copy, Clone)]
32582pub struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
32583    pub sType: VkStructureType,
32584    pub pNext: *mut ::std::os::raw::c_void,
32585    pub dynamicRenderingUnusedAttachments: VkBool32,
32586}
32587pub const VK_LATENCY_MARKER_SIMULATION_START_NV: VkLatencyMarkerNV = 0;
32588pub const VK_LATENCY_MARKER_SIMULATION_END_NV: VkLatencyMarkerNV = 1;
32589pub const VK_LATENCY_MARKER_RENDERSUBMIT_START_NV: VkLatencyMarkerNV = 2;
32590pub const VK_LATENCY_MARKER_RENDERSUBMIT_END_NV: VkLatencyMarkerNV = 3;
32591pub const VK_LATENCY_MARKER_PRESENT_START_NV: VkLatencyMarkerNV = 4;
32592pub const VK_LATENCY_MARKER_PRESENT_END_NV: VkLatencyMarkerNV = 5;
32593pub const VK_LATENCY_MARKER_INPUT_SAMPLE_NV: VkLatencyMarkerNV = 6;
32594pub const VK_LATENCY_MARKER_TRIGGER_FLASH_NV: VkLatencyMarkerNV = 7;
32595pub const VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV: VkLatencyMarkerNV =
32596    8;
32597pub const VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV: VkLatencyMarkerNV =
32598    9;
32599pub const VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV: VkLatencyMarkerNV = 10;
32600pub const VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV: VkLatencyMarkerNV = 11;
32601pub const VK_LATENCY_MARKER_MAX_ENUM_NV: VkLatencyMarkerNV = 2147483647;
32602pub type VkLatencyMarkerNV = ::std::os::raw::c_uint;
32603pub const VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV: VkOutOfBandQueueTypeNV = 0;
32604pub const VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV: VkOutOfBandQueueTypeNV = 1;
32605pub const VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV: VkOutOfBandQueueTypeNV =
32606    2147483647;
32607pub type VkOutOfBandQueueTypeNV = ::std::os::raw::c_uint;
32608#[repr(C)]
32609#[derive(Debug, Copy, Clone)]
32610pub struct VkLatencySleepModeInfoNV {
32611    pub sType: VkStructureType,
32612    pub pNext: *const ::std::os::raw::c_void,
32613    pub lowLatencyMode: VkBool32,
32614    pub lowLatencyBoost: VkBool32,
32615    pub minimumIntervalUs: u32,
32616}
32617#[repr(C)]
32618#[derive(Debug, Copy, Clone)]
32619pub struct VkLatencySleepInfoNV {
32620    pub sType: VkStructureType,
32621    pub pNext: *const ::std::os::raw::c_void,
32622    pub signalSemaphore: VkSemaphore,
32623    pub value: u64,
32624}
32625#[repr(C)]
32626#[derive(Debug, Copy, Clone)]
32627pub struct VkSetLatencyMarkerInfoNV {
32628    pub sType: VkStructureType,
32629    pub pNext: *const ::std::os::raw::c_void,
32630    pub presentID: u64,
32631    pub marker: VkLatencyMarkerNV,
32632}
32633#[repr(C)]
32634#[derive(Debug, Copy, Clone)]
32635pub struct VkLatencyTimingsFrameReportNV {
32636    pub sType: VkStructureType,
32637    pub pNext: *const ::std::os::raw::c_void,
32638    pub presentID: u64,
32639    pub inputSampleTimeUs: u64,
32640    pub simStartTimeUs: u64,
32641    pub simEndTimeUs: u64,
32642    pub renderSubmitStartTimeUs: u64,
32643    pub renderSubmitEndTimeUs: u64,
32644    pub presentStartTimeUs: u64,
32645    pub presentEndTimeUs: u64,
32646    pub driverStartTimeUs: u64,
32647    pub driverEndTimeUs: u64,
32648    pub osRenderQueueStartTimeUs: u64,
32649    pub osRenderQueueEndTimeUs: u64,
32650    pub gpuRenderStartTimeUs: u64,
32651    pub gpuRenderEndTimeUs: u64,
32652}
32653#[repr(C)]
32654#[derive(Debug, Copy, Clone)]
32655pub struct VkGetLatencyMarkerInfoNV {
32656    pub sType: VkStructureType,
32657    pub pNext: *const ::std::os::raw::c_void,
32658    pub timingCount: u32,
32659    pub pTimings: *mut VkLatencyTimingsFrameReportNV,
32660}
32661#[repr(C)]
32662#[derive(Debug, Copy, Clone)]
32663pub struct VkLatencySubmissionPresentIdNV {
32664    pub sType: VkStructureType,
32665    pub pNext: *const ::std::os::raw::c_void,
32666    pub presentID: u64,
32667}
32668#[repr(C)]
32669#[derive(Debug, Copy, Clone)]
32670pub struct VkSwapchainLatencyCreateInfoNV {
32671    pub sType: VkStructureType,
32672    pub pNext: *const ::std::os::raw::c_void,
32673    pub latencyModeEnable: VkBool32,
32674}
32675#[repr(C)]
32676#[derive(Debug, Copy, Clone)]
32677pub struct VkOutOfBandQueueTypeInfoNV {
32678    pub sType: VkStructureType,
32679    pub pNext: *const ::std::os::raw::c_void,
32680    pub queueType: VkOutOfBandQueueTypeNV,
32681}
32682#[repr(C)]
32683#[derive(Debug, Copy, Clone)]
32684pub struct VkLatencySurfaceCapabilitiesNV {
32685    pub sType: VkStructureType,
32686    pub pNext: *const ::std::os::raw::c_void,
32687    pub presentModeCount: u32,
32688    pub pPresentModes: *mut VkPresentModeKHR,
32689}
32690pub type PFN_vkSetLatencySleepModeNV = 
32691    unsafe extern "C" fn(
32692        device: VkDevice,
32693        swapchain: VkSwapchainKHR,
32694        pSleepModeInfo: *const VkLatencySleepModeInfoNV,
32695    ) -> VkResult;
32696
32697pub type PFN_vkLatencySleepNV = 
32698    unsafe extern "C" fn(
32699        device: VkDevice,
32700        swapchain: VkSwapchainKHR,
32701        pSleepInfo: *const VkLatencySleepInfoNV,
32702    ) -> VkResult;
32703
32704pub type PFN_vkSetLatencyMarkerNV = 
32705    unsafe extern "C" fn(
32706        device: VkDevice,
32707        swapchain: VkSwapchainKHR,
32708        pLatencyMarkerInfo: *const VkSetLatencyMarkerInfoNV,
32709    );
32710
32711pub type PFN_vkGetLatencyTimingsNV = 
32712    unsafe extern "C" fn(
32713        device: VkDevice,
32714        swapchain: VkSwapchainKHR,
32715        pLatencyMarkerInfo: *mut VkGetLatencyMarkerInfoNV,
32716    );
32717
32718pub type PFN_vkQueueNotifyOutOfBandNV = 
32719    unsafe extern "C" fn(queue: VkQueue, pQueueTypeInfo: *const VkOutOfBandQueueTypeInfoNV);
32720
32721extern "C" {
32722    pub fn vkSetLatencySleepModeNV(
32723        device: VkDevice,
32724        swapchain: VkSwapchainKHR,
32725        pSleepModeInfo: *const VkLatencySleepModeInfoNV,
32726    ) -> VkResult;
32727}
32728extern "C" {
32729    pub fn vkLatencySleepNV(
32730        device: VkDevice,
32731        swapchain: VkSwapchainKHR,
32732        pSleepInfo: *const VkLatencySleepInfoNV,
32733    ) -> VkResult;
32734}
32735extern "C" {
32736    pub fn vkSetLatencyMarkerNV(
32737        device: VkDevice,
32738        swapchain: VkSwapchainKHR,
32739        pLatencyMarkerInfo: *const VkSetLatencyMarkerInfoNV,
32740    );
32741}
32742extern "C" {
32743    pub fn vkGetLatencyTimingsNV(
32744        device: VkDevice,
32745        swapchain: VkSwapchainKHR,
32746        pLatencyMarkerInfo: *mut VkGetLatencyMarkerInfoNV,
32747    );
32748}
32749extern "C" {
32750    pub fn vkQueueNotifyOutOfBandNV(
32751        queue: VkQueue,
32752        pQueueTypeInfo: *const VkOutOfBandQueueTypeInfoNV,
32753    );
32754}
32755#[repr(C)]
32756#[derive(Debug, Copy, Clone)]
32757pub struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
32758    pub sType: VkStructureType,
32759    pub pNext: *mut ::std::os::raw::c_void,
32760    pub multiviewPerViewRenderAreas: VkBool32,
32761}
32762#[repr(C)]
32763#[derive(Debug, Copy, Clone)]
32764pub struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
32765    pub sType: VkStructureType,
32766    pub pNext: *const ::std::os::raw::c_void,
32767    pub perViewRenderAreaCount: u32,
32768    pub pPerViewRenderAreas: *const VkRect2D,
32769}
32770#[repr(C)]
32771#[derive(Debug, Copy, Clone)]
32772pub struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV {
32773    pub sType: VkStructureType,
32774    pub pNext: *mut ::std::os::raw::c_void,
32775    pub perStageDescriptorSet: VkBool32,
32776    pub dynamicPipelineLayout: VkBool32,
32777}
32778pub const VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM:
32779    VkBlockMatchWindowCompareModeQCOM = 0;
32780pub const VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM:
32781    VkBlockMatchWindowCompareModeQCOM = 1;
32782pub const VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM:
32783    VkBlockMatchWindowCompareModeQCOM = 2147483647;
32784pub type VkBlockMatchWindowCompareModeQCOM = ::std::os::raw::c_uint;
32785#[repr(C)]
32786#[derive(Debug, Copy, Clone)]
32787pub struct VkPhysicalDeviceImageProcessing2FeaturesQCOM {
32788    pub sType: VkStructureType,
32789    pub pNext: *mut ::std::os::raw::c_void,
32790    pub textureBlockMatch2: VkBool32,
32791}
32792#[repr(C)]
32793#[derive(Debug, Copy, Clone)]
32794pub struct VkPhysicalDeviceImageProcessing2PropertiesQCOM {
32795    pub sType: VkStructureType,
32796    pub pNext: *mut ::std::os::raw::c_void,
32797    pub maxBlockMatchWindow: VkExtent2D,
32798}
32799#[repr(C)]
32800#[derive(Debug, Copy, Clone)]
32801pub struct VkSamplerBlockMatchWindowCreateInfoQCOM {
32802    pub sType: VkStructureType,
32803    pub pNext: *const ::std::os::raw::c_void,
32804    pub windowExtent: VkExtent2D,
32805    pub windowCompareMode: VkBlockMatchWindowCompareModeQCOM,
32806}
32807pub const VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM:
32808    VkCubicFilterWeightsQCOM = 0;
32809pub const VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM:
32810    VkCubicFilterWeightsQCOM = 1;
32811pub const VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM: VkCubicFilterWeightsQCOM =
32812    2;
32813pub const VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM:
32814    VkCubicFilterWeightsQCOM = 3;
32815pub const VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM: VkCubicFilterWeightsQCOM =
32816    2147483647;
32817pub type VkCubicFilterWeightsQCOM = ::std::os::raw::c_uint;
32818#[repr(C)]
32819#[derive(Debug, Copy, Clone)]
32820pub struct VkPhysicalDeviceCubicWeightsFeaturesQCOM {
32821    pub sType: VkStructureType,
32822    pub pNext: *mut ::std::os::raw::c_void,
32823    pub selectableCubicWeights: VkBool32,
32824}
32825#[repr(C)]
32826#[derive(Debug, Copy, Clone)]
32827pub struct VkSamplerCubicWeightsCreateInfoQCOM {
32828    pub sType: VkStructureType,
32829    pub pNext: *const ::std::os::raw::c_void,
32830    pub cubicWeights: VkCubicFilterWeightsQCOM,
32831}
32832#[repr(C)]
32833#[derive(Debug, Copy, Clone)]
32834pub struct VkBlitImageCubicWeightsInfoQCOM {
32835    pub sType: VkStructureType,
32836    pub pNext: *const ::std::os::raw::c_void,
32837    pub cubicWeights: VkCubicFilterWeightsQCOM,
32838}
32839#[repr(C)]
32840#[derive(Debug, Copy, Clone)]
32841pub struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM {
32842    pub sType: VkStructureType,
32843    pub pNext: *mut ::std::os::raw::c_void,
32844    pub ycbcrDegamma: VkBool32,
32845}
32846#[repr(C)]
32847#[derive(Debug, Copy, Clone)]
32848pub struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
32849    pub sType: VkStructureType,
32850    pub pNext: *mut ::std::os::raw::c_void,
32851    pub enableYDegamma: VkBool32,
32852    pub enableCbCrDegamma: VkBool32,
32853}
32854#[repr(C)]
32855#[derive(Debug, Copy, Clone)]
32856pub struct VkPhysicalDeviceCubicClampFeaturesQCOM {
32857    pub sType: VkStructureType,
32858    pub pNext: *mut ::std::os::raw::c_void,
32859    pub cubicRangeClamp: VkBool32,
32860}
32861#[repr(C)]
32862#[derive(Debug, Copy, Clone)]
32863pub struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
32864    pub sType: VkStructureType,
32865    pub pNext: *mut ::std::os::raw::c_void,
32866    pub attachmentFeedbackLoopDynamicState: VkBool32,
32867}
32868pub type PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT = 
32869    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, aspectMask: VkImageAspectFlags);
32870
32871extern "C" {
32872    pub fn vkCmdSetAttachmentFeedbackLoopEnableEXT(
32873        commandBuffer: VkCommandBuffer,
32874        aspectMask: VkImageAspectFlags,
32875    );
32876}
32877pub const VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT:
32878    VkLayeredDriverUnderlyingApiMSFT = 0;
32879pub const VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT:
32880    VkLayeredDriverUnderlyingApiMSFT = 1;
32881pub const VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT:
32882    VkLayeredDriverUnderlyingApiMSFT = 2147483647;
32883pub type VkLayeredDriverUnderlyingApiMSFT = ::std::os::raw::c_uint;
32884#[repr(C)]
32885#[derive(Debug, Copy, Clone)]
32886pub struct VkPhysicalDeviceLayeredDriverPropertiesMSFT {
32887    pub sType: VkStructureType,
32888    pub pNext: *mut ::std::os::raw::c_void,
32889    pub underlyingAPI: VkLayeredDriverUnderlyingApiMSFT,
32890}
32891#[repr(C)]
32892#[derive(Debug, Copy, Clone)]
32893pub struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
32894    pub sType: VkStructureType,
32895    pub pNext: *mut ::std::os::raw::c_void,
32896    pub descriptorPoolOverallocation: VkBool32,
32897}
32898pub const VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV:
32899    VkDisplaySurfaceStereoTypeNV = 0;
32900pub const VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV:
32901    VkDisplaySurfaceStereoTypeNV = 1;
32902pub const VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV:
32903    VkDisplaySurfaceStereoTypeNV = 2;
32904pub const VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV:
32905    VkDisplaySurfaceStereoTypeNV = 3;
32906pub const VK_DISPLAY_SURFACE_STEREO_TYPE_MAX_ENUM_NV:
32907    VkDisplaySurfaceStereoTypeNV = 2147483647;
32908pub type VkDisplaySurfaceStereoTypeNV = ::std::os::raw::c_uint;
32909#[repr(C)]
32910#[derive(Debug, Copy, Clone)]
32911pub struct VkDisplaySurfaceStereoCreateInfoNV {
32912    pub sType: VkStructureType,
32913    pub pNext: *const ::std::os::raw::c_void,
32914    pub stereoType: VkDisplaySurfaceStereoTypeNV,
32915}
32916#[repr(C)]
32917#[derive(Debug, Copy, Clone)]
32918pub struct VkDisplayModeStereoPropertiesNV {
32919    pub sType: VkStructureType,
32920    pub pNext: *const ::std::os::raw::c_void,
32921    pub hdmi3DSupported: VkBool32,
32922}
32923#[repr(C)]
32924#[derive(Debug, Copy, Clone)]
32925pub struct VkPhysicalDeviceRawAccessChainsFeaturesNV {
32926    pub sType: VkStructureType,
32927    pub pNext: *mut ::std::os::raw::c_void,
32928    pub shaderRawAccessChains: VkBool32,
32929}
32930#[repr(C)]
32931#[derive(Debug, Copy, Clone)]
32932pub struct VkPhysicalDeviceCommandBufferInheritanceFeaturesNV {
32933    pub sType: VkStructureType,
32934    pub pNext: *mut ::std::os::raw::c_void,
32935    pub commandBufferInheritance: VkBool32,
32936}
32937#[repr(C)]
32938#[derive(Debug, Copy, Clone)]
32939pub struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
32940    pub sType: VkStructureType,
32941    pub pNext: *mut ::std::os::raw::c_void,
32942    pub shaderFloat16VectorAtomics: VkBool32,
32943}
32944#[repr(C)]
32945#[derive(Debug, Copy, Clone)]
32946pub struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
32947    pub sType: VkStructureType,
32948    pub pNext: *mut ::std::os::raw::c_void,
32949    pub shaderReplicatedComposites: VkBool32,
32950}
32951#[repr(C)]
32952#[derive(Debug, Copy, Clone)]
32953pub struct VkPhysicalDeviceRayTracingValidationFeaturesNV {
32954    pub sType: VkStructureType,
32955    pub pNext: *mut ::std::os::raw::c_void,
32956    pub rayTracingValidation: VkBool32,
32957}
32958#[repr(C)]
32959#[derive(Debug, Copy, Clone)]
32960pub struct VkIndirectExecutionSetEXT_T {
32961    _unused: [u8; 0],
32962}
32963pub type VkIndirectExecutionSetEXT = *mut VkIndirectExecutionSetEXT_T;
32964#[repr(C)]
32965#[derive(Debug, Copy, Clone)]
32966pub struct VkIndirectCommandsLayoutEXT_T {
32967    _unused: [u8; 0],
32968}
32969pub type VkIndirectCommandsLayoutEXT = *mut VkIndirectCommandsLayoutEXT_T;
32970pub const VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT:
32971    VkIndirectExecutionSetInfoTypeEXT = 0;
32972pub const VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT : VkIndirectExecutionSetInfoTypeEXT = 1 ;
32973pub const VK_INDIRECT_EXECUTION_SET_INFO_TYPE_MAX_ENUM_EXT:
32974    VkIndirectExecutionSetInfoTypeEXT = 2147483647;
32975pub type VkIndirectExecutionSetInfoTypeEXT = ::std::os::raw::c_uint;
32976pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT:
32977    VkIndirectCommandsTokenTypeEXT = 0;
32978pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT:
32979    VkIndirectCommandsTokenTypeEXT = 1;
32980pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT:
32981    VkIndirectCommandsTokenTypeEXT = 2;
32982pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT:
32983    VkIndirectCommandsTokenTypeEXT = 3;
32984pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT:
32985    VkIndirectCommandsTokenTypeEXT = 4;
32986pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT:
32987    VkIndirectCommandsTokenTypeEXT = 5;
32988pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT:
32989    VkIndirectCommandsTokenTypeEXT = 6;
32990pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT:
32991    VkIndirectCommandsTokenTypeEXT = 7;
32992pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT:
32993    VkIndirectCommandsTokenTypeEXT = 8;
32994pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT:
32995    VkIndirectCommandsTokenTypeEXT = 9;
32996pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT:
32997    VkIndirectCommandsTokenTypeEXT = 1000202002;
32998pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT : VkIndirectCommandsTokenTypeEXT = 1000202003 ;
32999pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT:
33000    VkIndirectCommandsTokenTypeEXT = 1000328000;
33001pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT : VkIndirectCommandsTokenTypeEXT = 1000328001 ;
33002pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT:
33003    VkIndirectCommandsTokenTypeEXT = 1000386004;
33004pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_EXT:
33005    VkIndirectCommandsTokenTypeEXT = 2147483647;
33006pub type VkIndirectCommandsTokenTypeEXT = ::std::os::raw::c_uint;
33007pub const VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT : VkIndirectCommandsInputModeFlagBitsEXT = 1 ;
33008pub const VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT : VkIndirectCommandsInputModeFlagBitsEXT = 2 ;
33009pub const VK_INDIRECT_COMMANDS_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT : VkIndirectCommandsInputModeFlagBitsEXT = 2147483647 ;
33010pub type VkIndirectCommandsInputModeFlagBitsEXT = ::std::os::raw::c_uint;
33011pub type VkIndirectCommandsInputModeFlagsEXT = VkFlags;
33012pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT : VkIndirectCommandsLayoutUsageFlagBitsEXT = 1 ;
33013pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT : VkIndirectCommandsLayoutUsageFlagBitsEXT = 2 ;
33014pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_EXT : VkIndirectCommandsLayoutUsageFlagBitsEXT = 2147483647 ;
33015pub type VkIndirectCommandsLayoutUsageFlagBitsEXT = ::std::os::raw::c_uint;
33016pub type VkIndirectCommandsLayoutUsageFlagsEXT = VkFlags;
33017#[repr(C)]
33018#[derive(Debug, Copy, Clone)]
33019pub struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
33020    pub sType: VkStructureType,
33021    pub pNext: *mut ::std::os::raw::c_void,
33022    pub deviceGeneratedCommands: VkBool32,
33023    pub dynamicGeneratedPipelineLayout: VkBool32,
33024}
33025#[repr(C)]
33026#[derive(Debug, Copy, Clone)]
33027pub struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
33028    pub sType: VkStructureType,
33029    pub pNext: *mut ::std::os::raw::c_void,
33030    pub maxIndirectPipelineCount: u32,
33031    pub maxIndirectShaderObjectCount: u32,
33032    pub maxIndirectSequenceCount: u32,
33033    pub maxIndirectCommandsTokenCount: u32,
33034    pub maxIndirectCommandsTokenOffset: u32,
33035    pub maxIndirectCommandsIndirectStride: u32,
33036    pub supportedIndirectCommandsInputModes: VkIndirectCommandsInputModeFlagsEXT,
33037    pub supportedIndirectCommandsShaderStages: VkShaderStageFlags,
33038    pub supportedIndirectCommandsShaderStagesPipelineBinding: VkShaderStageFlags,
33039    pub supportedIndirectCommandsShaderStagesShaderBinding: VkShaderStageFlags,
33040    pub deviceGeneratedCommandsTransformFeedback: VkBool32,
33041    pub deviceGeneratedCommandsMultiDrawIndirectCount: VkBool32,
33042}
33043#[repr(C)]
33044#[derive(Debug, Copy, Clone)]
33045pub struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
33046    pub sType: VkStructureType,
33047    pub pNext: *const ::std::os::raw::c_void,
33048    pub indirectExecutionSet: VkIndirectExecutionSetEXT,
33049    pub indirectCommandsLayout: VkIndirectCommandsLayoutEXT,
33050    pub maxSequenceCount: u32,
33051    pub maxDrawCount: u32,
33052}
33053#[repr(C)]
33054#[derive(Debug, Copy, Clone)]
33055pub struct VkIndirectExecutionSetPipelineInfoEXT {
33056    pub sType: VkStructureType,
33057    pub pNext: *const ::std::os::raw::c_void,
33058    pub initialPipeline: VkPipeline,
33059    pub maxPipelineCount: u32,
33060}
33061#[repr(C)]
33062#[derive(Debug, Copy, Clone)]
33063pub struct VkIndirectExecutionSetShaderLayoutInfoEXT {
33064    pub sType: VkStructureType,
33065    pub pNext: *const ::std::os::raw::c_void,
33066    pub setLayoutCount: u32,
33067    pub pSetLayouts: *const VkDescriptorSetLayout,
33068}
33069#[repr(C)]
33070#[derive(Debug, Copy, Clone)]
33071pub struct VkIndirectExecutionSetShaderInfoEXT {
33072    pub sType: VkStructureType,
33073    pub pNext: *const ::std::os::raw::c_void,
33074    pub shaderCount: u32,
33075    pub pInitialShaders: *const VkShaderEXT,
33076    pub pSetLayoutInfos: *const VkIndirectExecutionSetShaderLayoutInfoEXT,
33077    pub maxShaderCount: u32,
33078    pub pushConstantRangeCount: u32,
33079    pub pPushConstantRanges: *const VkPushConstantRange,
33080}
33081#[repr(C)]
33082#[derive(Copy, Clone)]
33083pub union VkIndirectExecutionSetInfoEXT {
33084    pub pPipelineInfo: *const VkIndirectExecutionSetPipelineInfoEXT,
33085    pub pShaderInfo: *const VkIndirectExecutionSetShaderInfoEXT,
33086}
33087#[repr(C)]
33088#[derive(Copy, Clone)]
33089pub struct VkIndirectExecutionSetCreateInfoEXT {
33090    pub sType: VkStructureType,
33091    pub pNext: *const ::std::os::raw::c_void,
33092    pub type_: VkIndirectExecutionSetInfoTypeEXT,
33093    pub info: VkIndirectExecutionSetInfoEXT,
33094}
33095#[repr(C)]
33096#[derive(Debug, Copy, Clone)]
33097pub struct VkGeneratedCommandsInfoEXT {
33098    pub sType: VkStructureType,
33099    pub pNext: *const ::std::os::raw::c_void,
33100    pub shaderStages: VkShaderStageFlags,
33101    pub indirectExecutionSet: VkIndirectExecutionSetEXT,
33102    pub indirectCommandsLayout: VkIndirectCommandsLayoutEXT,
33103    pub indirectAddress: VkDeviceAddress,
33104    pub indirectAddressSize: VkDeviceSize,
33105    pub preprocessAddress: VkDeviceAddress,
33106    pub preprocessSize: VkDeviceSize,
33107    pub maxSequenceCount: u32,
33108    pub sequenceCountAddress: VkDeviceAddress,
33109    pub maxDrawCount: u32,
33110}
33111#[repr(C)]
33112#[derive(Debug, Copy, Clone)]
33113pub struct VkWriteIndirectExecutionSetPipelineEXT {
33114    pub sType: VkStructureType,
33115    pub pNext: *const ::std::os::raw::c_void,
33116    pub index: u32,
33117    pub pipeline: VkPipeline,
33118}
33119#[repr(C)]
33120#[derive(Debug, Copy, Clone)]
33121pub struct VkIndirectCommandsPushConstantTokenEXT {
33122    pub updateRange: VkPushConstantRange,
33123}
33124#[repr(C)]
33125#[derive(Debug, Copy, Clone)]
33126pub struct VkIndirectCommandsVertexBufferTokenEXT {
33127    pub vertexBindingUnit: u32,
33128}
33129#[repr(C)]
33130#[derive(Debug, Copy, Clone)]
33131pub struct VkIndirectCommandsIndexBufferTokenEXT {
33132    pub mode: VkIndirectCommandsInputModeFlagBitsEXT,
33133}
33134#[repr(C)]
33135#[derive(Debug, Copy, Clone)]
33136pub struct VkIndirectCommandsExecutionSetTokenEXT {
33137    pub type_: VkIndirectExecutionSetInfoTypeEXT,
33138    pub shaderStages: VkShaderStageFlags,
33139}
33140#[repr(C)]
33141#[derive(Copy, Clone)]
33142pub union VkIndirectCommandsTokenDataEXT {
33143    pub pPushConstant: *const VkIndirectCommandsPushConstantTokenEXT,
33144    pub pVertexBuffer: *const VkIndirectCommandsVertexBufferTokenEXT,
33145    pub pIndexBuffer: *const VkIndirectCommandsIndexBufferTokenEXT,
33146    pub pExecutionSet: *const VkIndirectCommandsExecutionSetTokenEXT,
33147}
33148#[repr(C)]
33149#[derive(Copy, Clone)]
33150pub struct VkIndirectCommandsLayoutTokenEXT {
33151    pub sType: VkStructureType,
33152    pub pNext: *const ::std::os::raw::c_void,
33153    pub type_: VkIndirectCommandsTokenTypeEXT,
33154    pub data: VkIndirectCommandsTokenDataEXT,
33155    pub offset: u32,
33156}
33157#[repr(C)]
33158#[derive(Debug, Copy, Clone)]
33159pub struct VkIndirectCommandsLayoutCreateInfoEXT {
33160    pub sType: VkStructureType,
33161    pub pNext: *const ::std::os::raw::c_void,
33162    pub flags: VkIndirectCommandsLayoutUsageFlagsEXT,
33163    pub shaderStages: VkShaderStageFlags,
33164    pub indirectStride: u32,
33165    pub pipelineLayout: VkPipelineLayout,
33166    pub tokenCount: u32,
33167    pub pTokens: *const VkIndirectCommandsLayoutTokenEXT,
33168}
33169#[repr(C)]
33170#[derive(Debug, Copy, Clone)]
33171pub struct VkDrawIndirectCountIndirectCommandEXT {
33172    pub bufferAddress: VkDeviceAddress,
33173    pub stride: u32,
33174    pub commandCount: u32,
33175}
33176#[repr(C)]
33177#[derive(Debug, Copy, Clone)]
33178pub struct VkBindVertexBufferIndirectCommandEXT {
33179    pub bufferAddress: VkDeviceAddress,
33180    pub size: u32,
33181    pub stride: u32,
33182}
33183#[repr(C)]
33184#[derive(Debug, Copy, Clone)]
33185pub struct VkBindIndexBufferIndirectCommandEXT {
33186    pub bufferAddress: VkDeviceAddress,
33187    pub size: u32,
33188    pub indexType: VkIndexType,
33189}
33190#[repr(C)]
33191#[derive(Debug, Copy, Clone)]
33192pub struct VkGeneratedCommandsPipelineInfoEXT {
33193    pub sType: VkStructureType,
33194    pub pNext: *mut ::std::os::raw::c_void,
33195    pub pipeline: VkPipeline,
33196}
33197#[repr(C)]
33198#[derive(Debug, Copy, Clone)]
33199pub struct VkGeneratedCommandsShaderInfoEXT {
33200    pub sType: VkStructureType,
33201    pub pNext: *mut ::std::os::raw::c_void,
33202    pub shaderCount: u32,
33203    pub pShaders: *const VkShaderEXT,
33204}
33205#[repr(C)]
33206#[derive(Debug, Copy, Clone)]
33207pub struct VkWriteIndirectExecutionSetShaderEXT {
33208    pub sType: VkStructureType,
33209    pub pNext: *const ::std::os::raw::c_void,
33210    pub index: u32,
33211    pub shader: VkShaderEXT,
33212}
33213pub type PFN_vkGetGeneratedCommandsMemoryRequirementsEXT = 
33214    unsafe extern "C" fn(
33215        device: VkDevice,
33216        pInfo: *const VkGeneratedCommandsMemoryRequirementsInfoEXT,
33217        pMemoryRequirements: *mut VkMemoryRequirements2,
33218    );
33219
33220pub type PFN_vkCmdPreprocessGeneratedCommandsEXT = 
33221    unsafe extern "C" fn(
33222        commandBuffer: VkCommandBuffer,
33223        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoEXT,
33224        stateCommandBuffer: VkCommandBuffer,
33225    );
33226
33227pub type PFN_vkCmdExecuteGeneratedCommandsEXT = 
33228    unsafe extern "C" fn(
33229        commandBuffer: VkCommandBuffer,
33230        isPreprocessed: VkBool32,
33231        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoEXT,
33232    );
33233
33234pub type PFN_vkCreateIndirectCommandsLayoutEXT = 
33235    unsafe extern "C" fn(
33236        device: VkDevice,
33237        pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoEXT,
33238        pAllocator: *const VkAllocationCallbacks,
33239        pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutEXT,
33240    ) -> VkResult;
33241
33242pub type PFN_vkDestroyIndirectCommandsLayoutEXT = 
33243    unsafe extern "C" fn(
33244        device: VkDevice,
33245        indirectCommandsLayout: VkIndirectCommandsLayoutEXT,
33246        pAllocator: *const VkAllocationCallbacks,
33247    );
33248
33249pub type PFN_vkCreateIndirectExecutionSetEXT = 
33250    unsafe extern "C" fn(
33251        device: VkDevice,
33252        pCreateInfo: *const VkIndirectExecutionSetCreateInfoEXT,
33253        pAllocator: *const VkAllocationCallbacks,
33254        pIndirectExecutionSet: *mut VkIndirectExecutionSetEXT,
33255    ) -> VkResult;
33256
33257pub type PFN_vkDestroyIndirectExecutionSetEXT = 
33258    unsafe extern "C" fn(
33259        device: VkDevice,
33260        indirectExecutionSet: VkIndirectExecutionSetEXT,
33261        pAllocator: *const VkAllocationCallbacks,
33262    );
33263
33264pub type PFN_vkUpdateIndirectExecutionSetPipelineEXT = 
33265    unsafe extern "C" fn(
33266        device: VkDevice,
33267        indirectExecutionSet: VkIndirectExecutionSetEXT,
33268        executionSetWriteCount: u32,
33269        pExecutionSetWrites: *const VkWriteIndirectExecutionSetPipelineEXT,
33270    );
33271
33272pub type PFN_vkUpdateIndirectExecutionSetShaderEXT = 
33273    unsafe extern "C" fn(
33274        device: VkDevice,
33275        indirectExecutionSet: VkIndirectExecutionSetEXT,
33276        executionSetWriteCount: u32,
33277        pExecutionSetWrites: *const VkWriteIndirectExecutionSetShaderEXT,
33278    );
33279
33280extern "C" {
33281    pub fn vkGetGeneratedCommandsMemoryRequirementsEXT(
33282        device: VkDevice,
33283        pInfo: *const VkGeneratedCommandsMemoryRequirementsInfoEXT,
33284        pMemoryRequirements: *mut VkMemoryRequirements2,
33285    );
33286}
33287extern "C" {
33288    pub fn vkCmdPreprocessGeneratedCommandsEXT(
33289        commandBuffer: VkCommandBuffer,
33290        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoEXT,
33291        stateCommandBuffer: VkCommandBuffer,
33292    );
33293}
33294extern "C" {
33295    pub fn vkCmdExecuteGeneratedCommandsEXT(
33296        commandBuffer: VkCommandBuffer,
33297        isPreprocessed: VkBool32,
33298        pGeneratedCommandsInfo: *const VkGeneratedCommandsInfoEXT,
33299    );
33300}
33301extern "C" {
33302    pub fn vkCreateIndirectCommandsLayoutEXT(
33303        device: VkDevice,
33304        pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoEXT,
33305        pAllocator: *const VkAllocationCallbacks,
33306        pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutEXT,
33307    ) -> VkResult;
33308}
33309extern "C" {
33310    pub fn vkDestroyIndirectCommandsLayoutEXT(
33311        device: VkDevice,
33312        indirectCommandsLayout: VkIndirectCommandsLayoutEXT,
33313        pAllocator: *const VkAllocationCallbacks,
33314    );
33315}
33316extern "C" {
33317    pub fn vkCreateIndirectExecutionSetEXT(
33318        device: VkDevice,
33319        pCreateInfo: *const VkIndirectExecutionSetCreateInfoEXT,
33320        pAllocator: *const VkAllocationCallbacks,
33321        pIndirectExecutionSet: *mut VkIndirectExecutionSetEXT,
33322    ) -> VkResult;
33323}
33324extern "C" {
33325    pub fn vkDestroyIndirectExecutionSetEXT(
33326        device: VkDevice,
33327        indirectExecutionSet: VkIndirectExecutionSetEXT,
33328        pAllocator: *const VkAllocationCallbacks,
33329    );
33330}
33331extern "C" {
33332    pub fn vkUpdateIndirectExecutionSetPipelineEXT(
33333        device: VkDevice,
33334        indirectExecutionSet: VkIndirectExecutionSetEXT,
33335        executionSetWriteCount: u32,
33336        pExecutionSetWrites: *const VkWriteIndirectExecutionSetPipelineEXT,
33337    );
33338}
33339extern "C" {
33340    pub fn vkUpdateIndirectExecutionSetShaderEXT(
33341        device: VkDevice,
33342        indirectExecutionSet: VkIndirectExecutionSetEXT,
33343        executionSetWriteCount: u32,
33344        pExecutionSetWrites: *const VkWriteIndirectExecutionSetShaderEXT,
33345    );
33346}
33347#[repr(C)]
33348#[derive(Debug, Copy, Clone)]
33349pub struct VkPhysicalDeviceImageAlignmentControlFeaturesMESA {
33350    pub sType: VkStructureType,
33351    pub pNext: *mut ::std::os::raw::c_void,
33352    pub imageAlignmentControl: VkBool32,
33353}
33354#[repr(C)]
33355#[derive(Debug, Copy, Clone)]
33356pub struct VkPhysicalDeviceImageAlignmentControlPropertiesMESA {
33357    pub sType: VkStructureType,
33358    pub pNext: *mut ::std::os::raw::c_void,
33359    pub supportedImageAlignmentMask: u32,
33360}
33361#[repr(C)]
33362#[derive(Debug, Copy, Clone)]
33363pub struct VkImageAlignmentControlCreateInfoMESA {
33364    pub sType: VkStructureType,
33365    pub pNext: *const ::std::os::raw::c_void,
33366    pub maximumRequestedAlignment: u32,
33367}
33368#[repr(C)]
33369#[derive(Debug, Copy, Clone)]
33370pub struct VkPhysicalDeviceDepthClampControlFeaturesEXT {
33371    pub sType: VkStructureType,
33372    pub pNext: *mut ::std::os::raw::c_void,
33373    pub depthClampControl: VkBool32,
33374}
33375#[repr(C)]
33376#[derive(Debug, Copy, Clone)]
33377pub struct VkPipelineViewportDepthClampControlCreateInfoEXT {
33378    pub sType: VkStructureType,
33379    pub pNext: *const ::std::os::raw::c_void,
33380    pub depthClampMode: VkDepthClampModeEXT,
33381    pub pDepthClampRange: *const VkDepthClampRangeEXT,
33382}
33383#[repr(C)]
33384#[derive(Debug, Copy, Clone)]
33385pub struct VkPhysicalDeviceHdrVividFeaturesHUAWEI {
33386    pub sType: VkStructureType,
33387    pub pNext: *mut ::std::os::raw::c_void,
33388    pub hdrVivid: VkBool32,
33389}
33390#[repr(C)]
33391#[derive(Debug, Copy, Clone)]
33392pub struct VkHdrVividDynamicMetadataHUAWEI {
33393    pub sType: VkStructureType,
33394    pub pNext: *const ::std::os::raw::c_void,
33395    pub dynamicMetadataSize: usize,
33396    pub pDynamicMetadata: *const ::std::os::raw::c_void,
33397}
33398#[repr(C)]
33399#[derive(Debug, Copy, Clone)]
33400pub struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV {
33401    pub sType: VkStructureType,
33402    pub pNext: *mut ::std::os::raw::c_void,
33403    pub MGranularity: u32,
33404    pub NGranularity: u32,
33405    pub KGranularity: u32,
33406    pub AType: VkComponentTypeKHR,
33407    pub BType: VkComponentTypeKHR,
33408    pub CType: VkComponentTypeKHR,
33409    pub ResultType: VkComponentTypeKHR,
33410    pub saturatingAccumulation: VkBool32,
33411    pub scope: VkScopeKHR,
33412    pub workgroupInvocations: u32,
33413}
33414#[repr(C)]
33415#[derive(Debug, Copy, Clone)]
33416pub struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV {
33417    pub sType: VkStructureType,
33418    pub pNext: *mut ::std::os::raw::c_void,
33419    pub cooperativeMatrixWorkgroupScope: VkBool32,
33420    pub cooperativeMatrixFlexibleDimensions: VkBool32,
33421    pub cooperativeMatrixReductions: VkBool32,
33422    pub cooperativeMatrixConversions: VkBool32,
33423    pub cooperativeMatrixPerElementOperations: VkBool32,
33424    pub cooperativeMatrixTensorAddressing: VkBool32,
33425    pub cooperativeMatrixBlockLoads: VkBool32,
33426}
33427#[repr(C)]
33428#[derive(Debug, Copy, Clone)]
33429pub struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV {
33430    pub sType: VkStructureType,
33431    pub pNext: *mut ::std::os::raw::c_void,
33432    pub cooperativeMatrixWorkgroupScopeMaxWorkgroupSize: u32,
33433    pub cooperativeMatrixFlexibleDimensionsMaxDimension: u32,
33434    pub cooperativeMatrixWorkgroupScopeReservedSharedMemory: u32,
33435}
33436pub type PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV =
33437    
33438        unsafe extern "C" fn(
33439            physicalDevice: VkPhysicalDevice,
33440            pPropertyCount: *mut u32,
33441            pProperties: *mut VkCooperativeMatrixFlexibleDimensionsPropertiesNV,
33442        ) -> VkResult;
33443    
33444extern "C" {
33445    pub fn vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
33446        physicalDevice: VkPhysicalDevice,
33447        pPropertyCount: *mut u32,
33448        pProperties: *mut VkCooperativeMatrixFlexibleDimensionsPropertiesNV,
33449    ) -> VkResult;
33450}
33451#[repr(C)]
33452#[derive(Debug, Copy, Clone)]
33453pub struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
33454    pub sType: VkStructureType,
33455    pub pNext: *mut ::std::os::raw::c_void,
33456    pub vertexAttributeRobustness: VkBool32,
33457}
33458pub const VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR:
33459    VkBuildAccelerationStructureModeKHR = 0;
33460pub const VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR:
33461    VkBuildAccelerationStructureModeKHR = 1;
33462pub const VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR:
33463    VkBuildAccelerationStructureModeKHR = 2147483647;
33464pub type VkBuildAccelerationStructureModeKHR = ::std::os::raw::c_uint;
33465pub const VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : VkAccelerationStructureCreateFlagBitsKHR = 1 ;
33466pub const VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT : VkAccelerationStructureCreateFlagBitsKHR = 8 ;
33467pub const VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV : VkAccelerationStructureCreateFlagBitsKHR = 4 ;
33468pub const VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR : VkAccelerationStructureCreateFlagBitsKHR = 2147483647 ;
33469pub type VkAccelerationStructureCreateFlagBitsKHR = ::std::os::raw::c_uint;
33470pub type VkAccelerationStructureCreateFlagsKHR = VkFlags;
33471#[repr(C)]
33472#[derive(Debug, Copy, Clone)]
33473pub struct VkAccelerationStructureBuildRangeInfoKHR {
33474    pub primitiveCount: u32,
33475    pub primitiveOffset: u32,
33476    pub firstVertex: u32,
33477    pub transformOffset: u32,
33478}
33479#[repr(C)]
33480#[derive(Copy, Clone)]
33481pub struct VkAccelerationStructureGeometryTrianglesDataKHR {
33482    pub sType: VkStructureType,
33483    pub pNext: *const ::std::os::raw::c_void,
33484    pub vertexFormat: VkFormat,
33485    pub vertexData: VkDeviceOrHostAddressConstKHR,
33486    pub vertexStride: VkDeviceSize,
33487    pub maxVertex: u32,
33488    pub indexType: VkIndexType,
33489    pub indexData: VkDeviceOrHostAddressConstKHR,
33490    pub transformData: VkDeviceOrHostAddressConstKHR,
33491}
33492#[repr(C)]
33493#[derive(Copy, Clone)]
33494pub struct VkAccelerationStructureGeometryAabbsDataKHR {
33495    pub sType: VkStructureType,
33496    pub pNext: *const ::std::os::raw::c_void,
33497    pub data: VkDeviceOrHostAddressConstKHR,
33498    pub stride: VkDeviceSize,
33499}
33500#[repr(C)]
33501#[derive(Copy, Clone)]
33502pub struct VkAccelerationStructureGeometryInstancesDataKHR {
33503    pub sType: VkStructureType,
33504    pub pNext: *const ::std::os::raw::c_void,
33505    pub arrayOfPointers: VkBool32,
33506    pub data: VkDeviceOrHostAddressConstKHR,
33507}
33508#[repr(C)]
33509#[derive(Copy, Clone)]
33510pub union VkAccelerationStructureGeometryDataKHR {
33511    pub triangles: VkAccelerationStructureGeometryTrianglesDataKHR,
33512    pub aabbs: VkAccelerationStructureGeometryAabbsDataKHR,
33513    pub instances: VkAccelerationStructureGeometryInstancesDataKHR,
33514}
33515#[repr(C)]
33516#[derive(Copy, Clone)]
33517pub struct VkAccelerationStructureGeometryKHR {
33518    pub sType: VkStructureType,
33519    pub pNext: *const ::std::os::raw::c_void,
33520    pub geometryType: VkGeometryTypeKHR,
33521    pub geometry: VkAccelerationStructureGeometryDataKHR,
33522    pub flags: VkGeometryFlagsKHR,
33523}
33524#[repr(C)]
33525#[derive(Copy, Clone)]
33526pub struct VkAccelerationStructureBuildGeometryInfoKHR {
33527    pub sType: VkStructureType,
33528    pub pNext: *const ::std::os::raw::c_void,
33529    pub type_: VkAccelerationStructureTypeKHR,
33530    pub flags: VkBuildAccelerationStructureFlagsKHR,
33531    pub mode: VkBuildAccelerationStructureModeKHR,
33532    pub srcAccelerationStructure: VkAccelerationStructureKHR,
33533    pub dstAccelerationStructure: VkAccelerationStructureKHR,
33534    pub geometryCount: u32,
33535    pub pGeometries: *const VkAccelerationStructureGeometryKHR,
33536    pub ppGeometries: *const *const VkAccelerationStructureGeometryKHR,
33537    pub scratchData: VkDeviceOrHostAddressKHR,
33538}
33539#[repr(C)]
33540#[derive(Debug, Copy, Clone)]
33541pub struct VkAccelerationStructureCreateInfoKHR {
33542    pub sType: VkStructureType,
33543    pub pNext: *const ::std::os::raw::c_void,
33544    pub createFlags: VkAccelerationStructureCreateFlagsKHR,
33545    pub buffer: VkBuffer,
33546    pub offset: VkDeviceSize,
33547    pub size: VkDeviceSize,
33548    pub type_: VkAccelerationStructureTypeKHR,
33549    pub deviceAddress: VkDeviceAddress,
33550}
33551#[repr(C)]
33552#[derive(Debug, Copy, Clone)]
33553pub struct VkWriteDescriptorSetAccelerationStructureKHR {
33554    pub sType: VkStructureType,
33555    pub pNext: *const ::std::os::raw::c_void,
33556    pub accelerationStructureCount: u32,
33557    pub pAccelerationStructures: *const VkAccelerationStructureKHR,
33558}
33559#[repr(C)]
33560#[derive(Debug, Copy, Clone)]
33561pub struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
33562    pub sType: VkStructureType,
33563    pub pNext: *mut ::std::os::raw::c_void,
33564    pub accelerationStructure: VkBool32,
33565    pub accelerationStructureCaptureReplay: VkBool32,
33566    pub accelerationStructureIndirectBuild: VkBool32,
33567    pub accelerationStructureHostCommands: VkBool32,
33568    pub descriptorBindingAccelerationStructureUpdateAfterBind: VkBool32,
33569}
33570#[repr(C)]
33571#[derive(Debug, Copy, Clone)]
33572pub struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
33573    pub sType: VkStructureType,
33574    pub pNext: *mut ::std::os::raw::c_void,
33575    pub maxGeometryCount: u64,
33576    pub maxInstanceCount: u64,
33577    pub maxPrimitiveCount: u64,
33578    pub maxPerStageDescriptorAccelerationStructures: u32,
33579    pub maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
33580    pub maxDescriptorSetAccelerationStructures: u32,
33581    pub maxDescriptorSetUpdateAfterBindAccelerationStructures: u32,
33582    pub minAccelerationStructureScratchOffsetAlignment: u32,
33583}
33584#[repr(C)]
33585#[derive(Debug, Copy, Clone)]
33586pub struct VkAccelerationStructureDeviceAddressInfoKHR {
33587    pub sType: VkStructureType,
33588    pub pNext: *const ::std::os::raw::c_void,
33589    pub accelerationStructure: VkAccelerationStructureKHR,
33590}
33591#[repr(C)]
33592#[derive(Debug, Copy, Clone)]
33593pub struct VkAccelerationStructureVersionInfoKHR {
33594    pub sType: VkStructureType,
33595    pub pNext: *const ::std::os::raw::c_void,
33596    pub pVersionData: *const u8,
33597}
33598#[repr(C)]
33599#[derive(Copy, Clone)]
33600pub struct VkCopyAccelerationStructureToMemoryInfoKHR {
33601    pub sType: VkStructureType,
33602    pub pNext: *const ::std::os::raw::c_void,
33603    pub src: VkAccelerationStructureKHR,
33604    pub dst: VkDeviceOrHostAddressKHR,
33605    pub mode: VkCopyAccelerationStructureModeKHR,
33606}
33607#[repr(C)]
33608#[derive(Copy, Clone)]
33609pub struct VkCopyMemoryToAccelerationStructureInfoKHR {
33610    pub sType: VkStructureType,
33611    pub pNext: *const ::std::os::raw::c_void,
33612    pub src: VkDeviceOrHostAddressConstKHR,
33613    pub dst: VkAccelerationStructureKHR,
33614    pub mode: VkCopyAccelerationStructureModeKHR,
33615}
33616#[repr(C)]
33617#[derive(Debug, Copy, Clone)]
33618pub struct VkCopyAccelerationStructureInfoKHR {
33619    pub sType: VkStructureType,
33620    pub pNext: *const ::std::os::raw::c_void,
33621    pub src: VkAccelerationStructureKHR,
33622    pub dst: VkAccelerationStructureKHR,
33623    pub mode: VkCopyAccelerationStructureModeKHR,
33624}
33625#[repr(C)]
33626#[derive(Debug, Copy, Clone)]
33627pub struct VkAccelerationStructureBuildSizesInfoKHR {
33628    pub sType: VkStructureType,
33629    pub pNext: *const ::std::os::raw::c_void,
33630    pub accelerationStructureSize: VkDeviceSize,
33631    pub updateScratchSize: VkDeviceSize,
33632    pub buildScratchSize: VkDeviceSize,
33633}
33634pub type PFN_vkCreateAccelerationStructureKHR = 
33635    unsafe extern "C" fn(
33636        device: VkDevice,
33637        pCreateInfo: *const VkAccelerationStructureCreateInfoKHR,
33638        pAllocator: *const VkAllocationCallbacks,
33639        pAccelerationStructure: *mut VkAccelerationStructureKHR,
33640    ) -> VkResult;
33641
33642pub type PFN_vkDestroyAccelerationStructureKHR = 
33643    unsafe extern "C" fn(
33644        device: VkDevice,
33645        accelerationStructure: VkAccelerationStructureKHR,
33646        pAllocator: *const VkAllocationCallbacks,
33647    );
33648
33649pub type PFN_vkCmdBuildAccelerationStructuresKHR = 
33650    unsafe extern "C" fn(
33651        commandBuffer: VkCommandBuffer,
33652        infoCount: u32,
33653        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33654        ppBuildRangeInfos: *const *const VkAccelerationStructureBuildRangeInfoKHR,
33655    );
33656
33657pub type PFN_vkCmdBuildAccelerationStructuresIndirectKHR = 
33658    unsafe extern "C" fn(
33659        commandBuffer: VkCommandBuffer,
33660        infoCount: u32,
33661        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33662        pIndirectDeviceAddresses: *const VkDeviceAddress,
33663        pIndirectStrides: *const u32,
33664        ppMaxPrimitiveCounts: *const *const u32,
33665    );
33666
33667pub type PFN_vkBuildAccelerationStructuresKHR = 
33668    unsafe extern "C" fn(
33669        device: VkDevice,
33670        deferredOperation: VkDeferredOperationKHR,
33671        infoCount: u32,
33672        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33673        ppBuildRangeInfos: *const *const VkAccelerationStructureBuildRangeInfoKHR,
33674    ) -> VkResult;
33675
33676pub type PFN_vkCopyAccelerationStructureKHR = 
33677    unsafe extern "C" fn(
33678        device: VkDevice,
33679        deferredOperation: VkDeferredOperationKHR,
33680        pInfo: *const VkCopyAccelerationStructureInfoKHR,
33681    ) -> VkResult;
33682
33683pub type PFN_vkCopyAccelerationStructureToMemoryKHR = 
33684    unsafe extern "C" fn(
33685        device: VkDevice,
33686        deferredOperation: VkDeferredOperationKHR,
33687        pInfo: *const VkCopyAccelerationStructureToMemoryInfoKHR,
33688    ) -> VkResult;
33689
33690pub type PFN_vkCopyMemoryToAccelerationStructureKHR = 
33691    unsafe extern "C" fn(
33692        device: VkDevice,
33693        deferredOperation: VkDeferredOperationKHR,
33694        pInfo: *const VkCopyMemoryToAccelerationStructureInfoKHR,
33695    ) -> VkResult;
33696
33697pub type PFN_vkWriteAccelerationStructuresPropertiesKHR = 
33698    unsafe extern "C" fn(
33699        device: VkDevice,
33700        accelerationStructureCount: u32,
33701        pAccelerationStructures: *const VkAccelerationStructureKHR,
33702        queryType: VkQueryType,
33703        dataSize: usize,
33704        pData: *mut ::std::os::raw::c_void,
33705        stride: usize,
33706    ) -> VkResult;
33707
33708pub type PFN_vkCmdCopyAccelerationStructureKHR = 
33709    unsafe extern "C" fn(
33710        commandBuffer: VkCommandBuffer,
33711        pInfo: *const VkCopyAccelerationStructureInfoKHR,
33712    );
33713
33714pub type PFN_vkCmdCopyAccelerationStructureToMemoryKHR = 
33715    unsafe extern "C" fn(
33716        commandBuffer: VkCommandBuffer,
33717        pInfo: *const VkCopyAccelerationStructureToMemoryInfoKHR,
33718    );
33719
33720pub type PFN_vkCmdCopyMemoryToAccelerationStructureKHR = 
33721    unsafe extern "C" fn(
33722        commandBuffer: VkCommandBuffer,
33723        pInfo: *const VkCopyMemoryToAccelerationStructureInfoKHR,
33724    );
33725
33726pub type PFN_vkGetAccelerationStructureDeviceAddressKHR = 
33727    unsafe extern "C" fn(
33728        device: VkDevice,
33729        pInfo: *const VkAccelerationStructureDeviceAddressInfoKHR,
33730    ) -> VkDeviceAddress;
33731
33732pub type PFN_vkCmdWriteAccelerationStructuresPropertiesKHR = 
33733    unsafe extern "C" fn(
33734        commandBuffer: VkCommandBuffer,
33735        accelerationStructureCount: u32,
33736        pAccelerationStructures: *const VkAccelerationStructureKHR,
33737        queryType: VkQueryType,
33738        queryPool: VkQueryPool,
33739        firstQuery: u32,
33740    );
33741
33742pub type PFN_vkGetDeviceAccelerationStructureCompatibilityKHR = 
33743    unsafe extern "C" fn(
33744        device: VkDevice,
33745        pVersionInfo: *const VkAccelerationStructureVersionInfoKHR,
33746        pCompatibility: *mut VkAccelerationStructureCompatibilityKHR,
33747    );
33748
33749pub type PFN_vkGetAccelerationStructureBuildSizesKHR = 
33750    unsafe extern "C" fn(
33751        device: VkDevice,
33752        buildType: VkAccelerationStructureBuildTypeKHR,
33753        pBuildInfo: *const VkAccelerationStructureBuildGeometryInfoKHR,
33754        pMaxPrimitiveCounts: *const u32,
33755        pSizeInfo: *mut VkAccelerationStructureBuildSizesInfoKHR,
33756    );
33757
33758extern "C" {
33759    pub fn vkCreateAccelerationStructureKHR(
33760        device: VkDevice,
33761        pCreateInfo: *const VkAccelerationStructureCreateInfoKHR,
33762        pAllocator: *const VkAllocationCallbacks,
33763        pAccelerationStructure: *mut VkAccelerationStructureKHR,
33764    ) -> VkResult;
33765}
33766extern "C" {
33767    pub fn vkDestroyAccelerationStructureKHR(
33768        device: VkDevice,
33769        accelerationStructure: VkAccelerationStructureKHR,
33770        pAllocator: *const VkAllocationCallbacks,
33771    );
33772}
33773extern "C" {
33774    pub fn vkCmdBuildAccelerationStructuresKHR(
33775        commandBuffer: VkCommandBuffer,
33776        infoCount: u32,
33777        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33778        ppBuildRangeInfos: *const *const VkAccelerationStructureBuildRangeInfoKHR,
33779    );
33780}
33781extern "C" {
33782    pub fn vkCmdBuildAccelerationStructuresIndirectKHR(
33783        commandBuffer: VkCommandBuffer,
33784        infoCount: u32,
33785        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33786        pIndirectDeviceAddresses: *const VkDeviceAddress,
33787        pIndirectStrides: *const u32,
33788        ppMaxPrimitiveCounts: *const *const u32,
33789    );
33790}
33791extern "C" {
33792    pub fn vkBuildAccelerationStructuresKHR(
33793        device: VkDevice,
33794        deferredOperation: VkDeferredOperationKHR,
33795        infoCount: u32,
33796        pInfos: *const VkAccelerationStructureBuildGeometryInfoKHR,
33797        ppBuildRangeInfos: *const *const VkAccelerationStructureBuildRangeInfoKHR,
33798    ) -> VkResult;
33799}
33800extern "C" {
33801    pub fn vkCopyAccelerationStructureKHR(
33802        device: VkDevice,
33803        deferredOperation: VkDeferredOperationKHR,
33804        pInfo: *const VkCopyAccelerationStructureInfoKHR,
33805    ) -> VkResult;
33806}
33807extern "C" {
33808    pub fn vkCopyAccelerationStructureToMemoryKHR(
33809        device: VkDevice,
33810        deferredOperation: VkDeferredOperationKHR,
33811        pInfo: *const VkCopyAccelerationStructureToMemoryInfoKHR,
33812    ) -> VkResult;
33813}
33814extern "C" {
33815    pub fn vkCopyMemoryToAccelerationStructureKHR(
33816        device: VkDevice,
33817        deferredOperation: VkDeferredOperationKHR,
33818        pInfo: *const VkCopyMemoryToAccelerationStructureInfoKHR,
33819    ) -> VkResult;
33820}
33821extern "C" {
33822    pub fn vkWriteAccelerationStructuresPropertiesKHR(
33823        device: VkDevice,
33824        accelerationStructureCount: u32,
33825        pAccelerationStructures: *const VkAccelerationStructureKHR,
33826        queryType: VkQueryType,
33827        dataSize: usize,
33828        pData: *mut ::std::os::raw::c_void,
33829        stride: usize,
33830    ) -> VkResult;
33831}
33832extern "C" {
33833    pub fn vkCmdCopyAccelerationStructureKHR(
33834        commandBuffer: VkCommandBuffer,
33835        pInfo: *const VkCopyAccelerationStructureInfoKHR,
33836    );
33837}
33838extern "C" {
33839    pub fn vkCmdCopyAccelerationStructureToMemoryKHR(
33840        commandBuffer: VkCommandBuffer,
33841        pInfo: *const VkCopyAccelerationStructureToMemoryInfoKHR,
33842    );
33843}
33844extern "C" {
33845    pub fn vkCmdCopyMemoryToAccelerationStructureKHR(
33846        commandBuffer: VkCommandBuffer,
33847        pInfo: *const VkCopyMemoryToAccelerationStructureInfoKHR,
33848    );
33849}
33850extern "C" {
33851    pub fn vkGetAccelerationStructureDeviceAddressKHR(
33852        device: VkDevice,
33853        pInfo: *const VkAccelerationStructureDeviceAddressInfoKHR,
33854    ) -> VkDeviceAddress;
33855}
33856extern "C" {
33857    pub fn vkCmdWriteAccelerationStructuresPropertiesKHR(
33858        commandBuffer: VkCommandBuffer,
33859        accelerationStructureCount: u32,
33860        pAccelerationStructures: *const VkAccelerationStructureKHR,
33861        queryType: VkQueryType,
33862        queryPool: VkQueryPool,
33863        firstQuery: u32,
33864    );
33865}
33866extern "C" {
33867    pub fn vkGetDeviceAccelerationStructureCompatibilityKHR(
33868        device: VkDevice,
33869        pVersionInfo: *const VkAccelerationStructureVersionInfoKHR,
33870        pCompatibility: *mut VkAccelerationStructureCompatibilityKHR,
33871    );
33872}
33873extern "C" {
33874    pub fn vkGetAccelerationStructureBuildSizesKHR(
33875        device: VkDevice,
33876        buildType: VkAccelerationStructureBuildTypeKHR,
33877        pBuildInfo: *const VkAccelerationStructureBuildGeometryInfoKHR,
33878        pMaxPrimitiveCounts: *const u32,
33879        pSizeInfo: *mut VkAccelerationStructureBuildSizesInfoKHR,
33880    );
33881}
33882pub const VK_SHADER_GROUP_SHADER_GENERAL_KHR: VkShaderGroupShaderKHR = 0;
33883pub const VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR: VkShaderGroupShaderKHR = 1;
33884pub const VK_SHADER_GROUP_SHADER_ANY_HIT_KHR: VkShaderGroupShaderKHR = 2;
33885pub const VK_SHADER_GROUP_SHADER_INTERSECTION_KHR: VkShaderGroupShaderKHR =
33886    3;
33887pub const VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR: VkShaderGroupShaderKHR =
33888    2147483647;
33889pub type VkShaderGroupShaderKHR = ::std::os::raw::c_uint;
33890#[repr(C)]
33891#[derive(Debug, Copy, Clone)]
33892pub struct VkRayTracingShaderGroupCreateInfoKHR {
33893    pub sType: VkStructureType,
33894    pub pNext: *const ::std::os::raw::c_void,
33895    pub type_: VkRayTracingShaderGroupTypeKHR,
33896    pub generalShader: u32,
33897    pub closestHitShader: u32,
33898    pub anyHitShader: u32,
33899    pub intersectionShader: u32,
33900    pub pShaderGroupCaptureReplayHandle: *const ::std::os::raw::c_void,
33901}
33902#[repr(C)]
33903#[derive(Debug, Copy, Clone)]
33904pub struct VkRayTracingPipelineInterfaceCreateInfoKHR {
33905    pub sType: VkStructureType,
33906    pub pNext: *const ::std::os::raw::c_void,
33907    pub maxPipelineRayPayloadSize: u32,
33908    pub maxPipelineRayHitAttributeSize: u32,
33909}
33910#[repr(C)]
33911#[derive(Debug, Copy, Clone)]
33912pub struct VkRayTracingPipelineCreateInfoKHR {
33913    pub sType: VkStructureType,
33914    pub pNext: *const ::std::os::raw::c_void,
33915    pub flags: VkPipelineCreateFlags,
33916    pub stageCount: u32,
33917    pub pStages: *const VkPipelineShaderStageCreateInfo,
33918    pub groupCount: u32,
33919    pub pGroups: *const VkRayTracingShaderGroupCreateInfoKHR,
33920    pub maxPipelineRayRecursionDepth: u32,
33921    pub pLibraryInfo: *const VkPipelineLibraryCreateInfoKHR,
33922    pub pLibraryInterface: *const VkRayTracingPipelineInterfaceCreateInfoKHR,
33923    pub pDynamicState: *const VkPipelineDynamicStateCreateInfo,
33924    pub layout: VkPipelineLayout,
33925    pub basePipelineHandle: VkPipeline,
33926    pub basePipelineIndex: i32,
33927}
33928#[repr(C)]
33929#[derive(Debug, Copy, Clone)]
33930pub struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
33931    pub sType: VkStructureType,
33932    pub pNext: *mut ::std::os::raw::c_void,
33933    pub rayTracingPipeline: VkBool32,
33934    pub rayTracingPipelineShaderGroupHandleCaptureReplay: VkBool32,
33935    pub rayTracingPipelineShaderGroupHandleCaptureReplayMixed: VkBool32,
33936    pub rayTracingPipelineTraceRaysIndirect: VkBool32,
33937    pub rayTraversalPrimitiveCulling: VkBool32,
33938}
33939#[repr(C)]
33940#[derive(Debug, Copy, Clone)]
33941pub struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
33942    pub sType: VkStructureType,
33943    pub pNext: *mut ::std::os::raw::c_void,
33944    pub shaderGroupHandleSize: u32,
33945    pub maxRayRecursionDepth: u32,
33946    pub maxShaderGroupStride: u32,
33947    pub shaderGroupBaseAlignment: u32,
33948    pub shaderGroupHandleCaptureReplaySize: u32,
33949    pub maxRayDispatchInvocationCount: u32,
33950    pub shaderGroupHandleAlignment: u32,
33951    pub maxRayHitAttributeSize: u32,
33952}
33953#[repr(C)]
33954#[derive(Debug, Copy, Clone)]
33955pub struct VkStridedDeviceAddressRegionKHR {
33956    pub deviceAddress: VkDeviceAddress,
33957    pub stride: VkDeviceSize,
33958    pub size: VkDeviceSize,
33959}
33960#[repr(C)]
33961#[derive(Debug, Copy, Clone)]
33962pub struct VkTraceRaysIndirectCommandKHR {
33963    pub width: u32,
33964    pub height: u32,
33965    pub depth: u32,
33966}
33967pub type PFN_vkCmdTraceRaysKHR = 
33968    unsafe extern "C" fn(
33969        commandBuffer: VkCommandBuffer,
33970        pRaygenShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
33971        pMissShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
33972        pHitShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
33973        pCallableShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
33974        width: u32,
33975        height: u32,
33976        depth: u32,
33977    );
33978
33979pub type PFN_vkCreateRayTracingPipelinesKHR = 
33980    unsafe extern "C" fn(
33981        device: VkDevice,
33982        deferredOperation: VkDeferredOperationKHR,
33983        pipelineCache: VkPipelineCache,
33984        createInfoCount: u32,
33985        pCreateInfos: *const VkRayTracingPipelineCreateInfoKHR,
33986        pAllocator: *const VkAllocationCallbacks,
33987        pPipelines: *mut VkPipeline,
33988    ) -> VkResult;
33989
33990pub type PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 
33991    unsafe extern "C" fn(
33992        device: VkDevice,
33993        pipeline: VkPipeline,
33994        firstGroup: u32,
33995        groupCount: u32,
33996        dataSize: usize,
33997        pData: *mut ::std::os::raw::c_void,
33998    ) -> VkResult;
33999
34000pub type PFN_vkCmdTraceRaysIndirectKHR = 
34001    unsafe extern "C" fn(
34002        commandBuffer: VkCommandBuffer,
34003        pRaygenShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34004        pMissShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34005        pHitShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34006        pCallableShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34007        indirectDeviceAddress: VkDeviceAddress,
34008    );
34009
34010pub type PFN_vkGetRayTracingShaderGroupStackSizeKHR = 
34011    unsafe extern "C" fn(
34012        device: VkDevice,
34013        pipeline: VkPipeline,
34014        group: u32,
34015        groupShader: VkShaderGroupShaderKHR,
34016    ) -> VkDeviceSize;
34017
34018pub type PFN_vkCmdSetRayTracingPipelineStackSizeKHR = 
34019    unsafe extern "C" fn(commandBuffer: VkCommandBuffer, pipelineStackSize: u32);
34020
34021extern "C" {
34022    pub fn vkCmdTraceRaysKHR(
34023        commandBuffer: VkCommandBuffer,
34024        pRaygenShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34025        pMissShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34026        pHitShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34027        pCallableShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34028        width: u32,
34029        height: u32,
34030        depth: u32,
34031    );
34032}
34033extern "C" {
34034    pub fn vkCreateRayTracingPipelinesKHR(
34035        device: VkDevice,
34036        deferredOperation: VkDeferredOperationKHR,
34037        pipelineCache: VkPipelineCache,
34038        createInfoCount: u32,
34039        pCreateInfos: *const VkRayTracingPipelineCreateInfoKHR,
34040        pAllocator: *const VkAllocationCallbacks,
34041        pPipelines: *mut VkPipeline,
34042    ) -> VkResult;
34043}
34044extern "C" {
34045    pub fn vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
34046        device: VkDevice,
34047        pipeline: VkPipeline,
34048        firstGroup: u32,
34049        groupCount: u32,
34050        dataSize: usize,
34051        pData: *mut ::std::os::raw::c_void,
34052    ) -> VkResult;
34053}
34054extern "C" {
34055    pub fn vkCmdTraceRaysIndirectKHR(
34056        commandBuffer: VkCommandBuffer,
34057        pRaygenShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34058        pMissShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34059        pHitShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34060        pCallableShaderBindingTable: *const VkStridedDeviceAddressRegionKHR,
34061        indirectDeviceAddress: VkDeviceAddress,
34062    );
34063}
34064extern "C" {
34065    pub fn vkGetRayTracingShaderGroupStackSizeKHR(
34066        device: VkDevice,
34067        pipeline: VkPipeline,
34068        group: u32,
34069        groupShader: VkShaderGroupShaderKHR,
34070    ) -> VkDeviceSize;
34071}
34072extern "C" {
34073    pub fn vkCmdSetRayTracingPipelineStackSizeKHR(
34074        commandBuffer: VkCommandBuffer,
34075        pipelineStackSize: u32,
34076    );
34077}
34078#[repr(C)]
34079#[derive(Debug, Copy, Clone)]
34080pub struct VkPhysicalDeviceRayQueryFeaturesKHR {
34081    pub sType: VkStructureType,
34082    pub pNext: *mut ::std::os::raw::c_void,
34083    pub rayQuery: VkBool32,
34084}
34085#[repr(C)]
34086#[derive(Debug, Copy, Clone)]
34087pub struct VkPhysicalDeviceMeshShaderFeaturesEXT {
34088    pub sType: VkStructureType,
34089    pub pNext: *mut ::std::os::raw::c_void,
34090    pub taskShader: VkBool32,
34091    pub meshShader: VkBool32,
34092    pub multiviewMeshShader: VkBool32,
34093    pub primitiveFragmentShadingRateMeshShader: VkBool32,
34094    pub meshShaderQueries: VkBool32,
34095}
34096#[repr(C)]
34097#[derive(Debug, Copy, Clone)]
34098pub struct VkPhysicalDeviceMeshShaderPropertiesEXT {
34099    pub sType: VkStructureType,
34100    pub pNext: *mut ::std::os::raw::c_void,
34101    pub maxTaskWorkGroupTotalCount: u32,
34102    pub maxTaskWorkGroupCount: [u32; 3usize],
34103    pub maxTaskWorkGroupInvocations: u32,
34104    pub maxTaskWorkGroupSize: [u32; 3usize],
34105    pub maxTaskPayloadSize: u32,
34106    pub maxTaskSharedMemorySize: u32,
34107    pub maxTaskPayloadAndSharedMemorySize: u32,
34108    pub maxMeshWorkGroupTotalCount: u32,
34109    pub maxMeshWorkGroupCount: [u32; 3usize],
34110    pub maxMeshWorkGroupInvocations: u32,
34111    pub maxMeshWorkGroupSize: [u32; 3usize],
34112    pub maxMeshSharedMemorySize: u32,
34113    pub maxMeshPayloadAndSharedMemorySize: u32,
34114    pub maxMeshOutputMemorySize: u32,
34115    pub maxMeshPayloadAndOutputMemorySize: u32,
34116    pub maxMeshOutputComponents: u32,
34117    pub maxMeshOutputVertices: u32,
34118    pub maxMeshOutputPrimitives: u32,
34119    pub maxMeshOutputLayers: u32,
34120    pub maxMeshMultiviewViewCount: u32,
34121    pub meshOutputPerVertexGranularity: u32,
34122    pub meshOutputPerPrimitiveGranularity: u32,
34123    pub maxPreferredTaskWorkGroupInvocations: u32,
34124    pub maxPreferredMeshWorkGroupInvocations: u32,
34125    pub prefersLocalInvocationVertexOutput: VkBool32,
34126    pub prefersLocalInvocationPrimitiveOutput: VkBool32,
34127    pub prefersCompactVertexOutput: VkBool32,
34128    pub prefersCompactPrimitiveOutput: VkBool32,
34129}
34130#[repr(C)]
34131#[derive(Debug, Copy, Clone)]
34132pub struct VkDrawMeshTasksIndirectCommandEXT {
34133    pub groupCountX: u32,
34134    pub groupCountY: u32,
34135    pub groupCountZ: u32,
34136}
34137pub type PFN_vkCmdDrawMeshTasksEXT = 
34138    unsafe extern "C" fn(
34139        commandBuffer: VkCommandBuffer,
34140        groupCountX: u32,
34141        groupCountY: u32,
34142        groupCountZ: u32,
34143    );
34144
34145pub type PFN_vkCmdDrawMeshTasksIndirectEXT = 
34146    unsafe extern "C" fn(
34147        commandBuffer: VkCommandBuffer,
34148        buffer: VkBuffer,
34149        offset: VkDeviceSize,
34150        drawCount: u32,
34151        stride: u32,
34152    );
34153
34154pub type PFN_vkCmdDrawMeshTasksIndirectCountEXT = 
34155    unsafe extern "C" fn(
34156        commandBuffer: VkCommandBuffer,
34157        buffer: VkBuffer,
34158        offset: VkDeviceSize,
34159        countBuffer: VkBuffer,
34160        countBufferOffset: VkDeviceSize,
34161        maxDrawCount: u32,
34162        stride: u32,
34163    );
34164
34165extern "C" {
34166    pub fn vkCmdDrawMeshTasksEXT(
34167        commandBuffer: VkCommandBuffer,
34168        groupCountX: u32,
34169        groupCountY: u32,
34170        groupCountZ: u32,
34171    );
34172}
34173extern "C" {
34174    pub fn vkCmdDrawMeshTasksIndirectEXT(
34175        commandBuffer: VkCommandBuffer,
34176        buffer: VkBuffer,
34177        offset: VkDeviceSize,
34178        drawCount: u32,
34179        stride: u32,
34180    );
34181}
34182extern "C" {
34183    pub fn vkCmdDrawMeshTasksIndirectCountEXT(
34184        commandBuffer: VkCommandBuffer,
34185        buffer: VkBuffer,
34186        offset: VkDeviceSize,
34187        countBuffer: VkBuffer,
34188        countBufferOffset: VkDeviceSize,
34189        maxDrawCount: u32,
34190        stride: u32,
34191    );
34192}
34193pub type IDirectFB = ::std::os::raw::c_void;
34194pub type IDirectFBSurface = ::std::os::raw::c_void;
34195pub type zx_handle_t = u32;
34196pub type DWORD = u32;
34197pub type LPCWSTR = *const wchar_t;
34198pub type HANDLE = *mut ::std::os::raw::c_void;
34199pub type HWND = HANDLE;
34200pub type HINSTANCE = HANDLE;
34201pub type HMONITOR = HANDLE;
34202pub type SECURITY_ATTRIBUTES = ::std::os::raw::c_void;
34203pub type XID = ::std::os::raw::c_ulong;
34204pub type VisualID = XID;
34205pub type Window = XID;
34206pub type Display = ::std::os::raw::c_void;
34207pub type xcb_connection_t = ::std::os::raw::c_void;
34208pub type xcb_window_t = u32;
34209pub type xcb_visualid_t = u32;
34210pub type RROutput = XID;
34211#[repr(C)]
34212#[derive(Debug, Copy, Clone)]
34213pub struct ANativeWindow {
34214    _unused: [u8; 0],
34215}
34216pub type VkAndroidSurfaceCreateFlagsKHR = VkFlags;
34217#[repr(C)]
34218#[derive(Debug, Copy, Clone)]
34219pub struct VkAndroidSurfaceCreateInfoKHR {
34220    pub sType: VkStructureType,
34221    pub pNext: *const ::std::os::raw::c_void,
34222    pub flags: VkAndroidSurfaceCreateFlagsKHR,
34223    pub window: *mut ANativeWindow,
34224}
34225pub type PFN_vkCreateAndroidSurfaceKHR = 
34226    unsafe extern "C" fn(
34227        instance: VkInstance,
34228        pCreateInfo: *const VkAndroidSurfaceCreateInfoKHR,
34229        pAllocator: *const VkAllocationCallbacks,
34230        pSurface: *mut VkSurfaceKHR,
34231    ) -> VkResult;
34232
34233extern "C" {
34234    pub fn vkCreateAndroidSurfaceKHR(
34235        instance: VkInstance,
34236        pCreateInfo: *const VkAndroidSurfaceCreateInfoKHR,
34237        pAllocator: *const VkAllocationCallbacks,
34238        pSurface: *mut VkSurfaceKHR,
34239    ) -> VkResult;
34240}
34241#[repr(C)]
34242#[derive(Debug, Copy, Clone)]
34243pub struct AHardwareBuffer {
34244    _unused: [u8; 0],
34245}
34246#[repr(C)]
34247#[derive(Debug, Copy, Clone)]
34248pub struct VkAndroidHardwareBufferUsageANDROID {
34249    pub sType: VkStructureType,
34250    pub pNext: *mut ::std::os::raw::c_void,
34251    pub androidHardwareBufferUsage: u64,
34252}
34253#[repr(C)]
34254#[derive(Debug, Copy, Clone)]
34255pub struct VkAndroidHardwareBufferPropertiesANDROID {
34256    pub sType: VkStructureType,
34257    pub pNext: *mut ::std::os::raw::c_void,
34258    pub allocationSize: VkDeviceSize,
34259    pub memoryTypeBits: u32,
34260}
34261#[repr(C)]
34262#[derive(Debug, Copy, Clone)]
34263pub struct VkAndroidHardwareBufferFormatPropertiesANDROID {
34264    pub sType: VkStructureType,
34265    pub pNext: *mut ::std::os::raw::c_void,
34266    pub format: VkFormat,
34267    pub externalFormat: u64,
34268    pub formatFeatures: VkFormatFeatureFlags,
34269    pub samplerYcbcrConversionComponents: VkComponentMapping,
34270    pub suggestedYcbcrModel: VkSamplerYcbcrModelConversion,
34271    pub suggestedYcbcrRange: VkSamplerYcbcrRange,
34272    pub suggestedXChromaOffset: VkChromaLocation,
34273    pub suggestedYChromaOffset: VkChromaLocation,
34274}
34275#[repr(C)]
34276#[derive(Debug, Copy, Clone)]
34277pub struct VkImportAndroidHardwareBufferInfoANDROID {
34278    pub sType: VkStructureType,
34279    pub pNext: *const ::std::os::raw::c_void,
34280    pub buffer: *mut AHardwareBuffer,
34281}
34282#[repr(C)]
34283#[derive(Debug, Copy, Clone)]
34284pub struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
34285    pub sType: VkStructureType,
34286    pub pNext: *const ::std::os::raw::c_void,
34287    pub memory: VkDeviceMemory,
34288}
34289#[repr(C)]
34290#[derive(Debug, Copy, Clone)]
34291pub struct VkExternalFormatANDROID {
34292    pub sType: VkStructureType,
34293    pub pNext: *mut ::std::os::raw::c_void,
34294    pub externalFormat: u64,
34295}
34296#[repr(C)]
34297#[derive(Debug, Copy, Clone)]
34298pub struct VkAndroidHardwareBufferFormatProperties2ANDROID {
34299    pub sType: VkStructureType,
34300    pub pNext: *mut ::std::os::raw::c_void,
34301    pub format: VkFormat,
34302    pub externalFormat: u64,
34303    pub formatFeatures: VkFormatFeatureFlags2,
34304    pub samplerYcbcrConversionComponents: VkComponentMapping,
34305    pub suggestedYcbcrModel: VkSamplerYcbcrModelConversion,
34306    pub suggestedYcbcrRange: VkSamplerYcbcrRange,
34307    pub suggestedXChromaOffset: VkChromaLocation,
34308    pub suggestedYChromaOffset: VkChromaLocation,
34309}
34310pub type PFN_vkGetAndroidHardwareBufferPropertiesANDROID = 
34311    unsafe extern "C" fn(
34312        device: VkDevice,
34313        buffer: *const AHardwareBuffer,
34314        pProperties: *mut VkAndroidHardwareBufferPropertiesANDROID,
34315    ) -> VkResult;
34316
34317pub type PFN_vkGetMemoryAndroidHardwareBufferANDROID = 
34318    unsafe extern "C" fn(
34319        device: VkDevice,
34320        pInfo: *const VkMemoryGetAndroidHardwareBufferInfoANDROID,
34321        pBuffer: *mut *mut AHardwareBuffer,
34322    ) -> VkResult;
34323
34324extern "C" {
34325    pub fn vkGetAndroidHardwareBufferPropertiesANDROID(
34326        device: VkDevice,
34327        buffer: *const AHardwareBuffer,
34328        pProperties: *mut VkAndroidHardwareBufferPropertiesANDROID,
34329    ) -> VkResult;
34330}
34331extern "C" {
34332    pub fn vkGetMemoryAndroidHardwareBufferANDROID(
34333        device: VkDevice,
34334        pInfo: *const VkMemoryGetAndroidHardwareBufferInfoANDROID,
34335        pBuffer: *mut *mut AHardwareBuffer,
34336    ) -> VkResult;
34337}
34338#[repr(C)]
34339#[derive(Debug, Copy, Clone)]
34340pub struct VkPhysicalDeviceExternalFormatResolveFeaturesANDROID {
34341    pub sType: VkStructureType,
34342    pub pNext: *mut ::std::os::raw::c_void,
34343    pub externalFormatResolve: VkBool32,
34344}
34345#[repr(C)]
34346#[derive(Debug, Copy, Clone)]
34347pub struct VkPhysicalDeviceExternalFormatResolvePropertiesANDROID {
34348    pub sType: VkStructureType,
34349    pub pNext: *mut ::std::os::raw::c_void,
34350    pub nullColorAttachmentWithExternalFormatResolve: VkBool32,
34351    pub externalFormatResolveChromaOffsetX: VkChromaLocation,
34352    pub externalFormatResolveChromaOffsetY: VkChromaLocation,
34353}
34354#[repr(C)]
34355#[derive(Debug, Copy, Clone)]
34356pub struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID {
34357    pub sType: VkStructureType,
34358    pub pNext: *mut ::std::os::raw::c_void,
34359    pub colorAttachmentFormat: VkFormat,
34360}
34361#[repr(C)]
34362#[derive(Debug, Copy, Clone)]
34363pub struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
34364    pub sType: VkStructureType,
34365    pub pNext: *mut ::std::os::raw::c_void,
34366    pub constantAlphaColorBlendFactors: VkBool32,
34367    pub events: VkBool32,
34368    pub imageViewFormatReinterpretation: VkBool32,
34369    pub imageViewFormatSwizzle: VkBool32,
34370    pub imageView2DOn3DImage: VkBool32,
34371    pub multisampleArrayImage: VkBool32,
34372    pub mutableComparisonSamplers: VkBool32,
34373    pub pointPolygons: VkBool32,
34374    pub samplerMipLodBias: VkBool32,
34375    pub separateStencilMaskRef: VkBool32,
34376    pub shaderSampleRateInterpolationFunctions: VkBool32,
34377    pub tessellationIsolines: VkBool32,
34378    pub tessellationPointMode: VkBool32,
34379    pub triangleFans: VkBool32,
34380    pub vertexAttributeAccessBeyondStride: VkBool32,
34381}
34382#[repr(C)]
34383#[derive(Debug, Copy, Clone)]
34384pub struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
34385    pub sType: VkStructureType,
34386    pub pNext: *mut ::std::os::raw::c_void,
34387    pub minVertexInputBindingStrideAlignment: u32,
34388}
34389#[repr(C)]
34390#[derive(Debug, Copy, Clone)]
34391pub struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
34392    pub sType: VkStructureType,
34393    pub pNext: *mut ::std::os::raw::c_void,
34394    pub shaderEnqueue: VkBool32,
34395    pub shaderMeshEnqueue: VkBool32,
34396}
34397#[repr(C)]
34398#[derive(Debug, Copy, Clone)]
34399pub struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
34400    pub sType: VkStructureType,
34401    pub pNext: *mut ::std::os::raw::c_void,
34402    pub maxExecutionGraphDepth: u32,
34403    pub maxExecutionGraphShaderOutputNodes: u32,
34404    pub maxExecutionGraphShaderPayloadSize: u32,
34405    pub maxExecutionGraphShaderPayloadCount: u32,
34406    pub executionGraphDispatchAddressAlignment: u32,
34407    pub maxExecutionGraphWorkgroupCount: [u32; 3usize],
34408    pub maxExecutionGraphWorkgroups: u32,
34409}
34410#[repr(C)]
34411#[derive(Debug, Copy, Clone)]
34412pub struct VkExecutionGraphPipelineScratchSizeAMDX {
34413    pub sType: VkStructureType,
34414    pub pNext: *mut ::std::os::raw::c_void,
34415    pub minSize: VkDeviceSize,
34416    pub maxSize: VkDeviceSize,
34417    pub sizeGranularity: VkDeviceSize,
34418}
34419#[repr(C)]
34420#[derive(Debug, Copy, Clone)]
34421pub struct VkExecutionGraphPipelineCreateInfoAMDX {
34422    pub sType: VkStructureType,
34423    pub pNext: *const ::std::os::raw::c_void,
34424    pub flags: VkPipelineCreateFlags,
34425    pub stageCount: u32,
34426    pub pStages: *const VkPipelineShaderStageCreateInfo,
34427    pub pLibraryInfo: *const VkPipelineLibraryCreateInfoKHR,
34428    pub layout: VkPipelineLayout,
34429    pub basePipelineHandle: VkPipeline,
34430    pub basePipelineIndex: i32,
34431}
34432#[repr(C)]
34433#[derive(Copy, Clone)]
34434pub union VkDeviceOrHostAddressConstAMDX {
34435    pub deviceAddress: VkDeviceAddress,
34436    pub hostAddress: *const ::std::os::raw::c_void,
34437}
34438#[repr(C)]
34439#[derive(Copy, Clone)]
34440pub struct VkDispatchGraphInfoAMDX {
34441    pub nodeIndex: u32,
34442    pub payloadCount: u32,
34443    pub payloads: VkDeviceOrHostAddressConstAMDX,
34444    pub payloadStride: u64,
34445}
34446#[repr(C)]
34447#[derive(Copy, Clone)]
34448pub struct VkDispatchGraphCountInfoAMDX {
34449    pub count: u32,
34450    pub infos: VkDeviceOrHostAddressConstAMDX,
34451    pub stride: u64,
34452}
34453#[repr(C)]
34454#[derive(Debug, Copy, Clone)]
34455pub struct VkPipelineShaderStageNodeCreateInfoAMDX {
34456    pub sType: VkStructureType,
34457    pub pNext: *const ::std::os::raw::c_void,
34458    pub pName: *const ::std::os::raw::c_char,
34459    pub index: u32,
34460}
34461pub type PFN_vkCreateExecutionGraphPipelinesAMDX = 
34462    unsafe extern "C" fn(
34463        device: VkDevice,
34464        pipelineCache: VkPipelineCache,
34465        createInfoCount: u32,
34466        pCreateInfos: *const VkExecutionGraphPipelineCreateInfoAMDX,
34467        pAllocator: *const VkAllocationCallbacks,
34468        pPipelines: *mut VkPipeline,
34469    ) -> VkResult;
34470
34471pub type PFN_vkGetExecutionGraphPipelineScratchSizeAMDX = 
34472    unsafe extern "C" fn(
34473        device: VkDevice,
34474        executionGraph: VkPipeline,
34475        pSizeInfo: *mut VkExecutionGraphPipelineScratchSizeAMDX,
34476    ) -> VkResult;
34477
34478pub type PFN_vkGetExecutionGraphPipelineNodeIndexAMDX = 
34479    unsafe extern "C" fn(
34480        device: VkDevice,
34481        executionGraph: VkPipeline,
34482        pNodeInfo: *const VkPipelineShaderStageNodeCreateInfoAMDX,
34483        pNodeIndex: *mut u32,
34484    ) -> VkResult;
34485
34486pub type PFN_vkCmdInitializeGraphScratchMemoryAMDX = 
34487    unsafe extern "C" fn(
34488        commandBuffer: VkCommandBuffer,
34489        executionGraph: VkPipeline,
34490        scratch: VkDeviceAddress,
34491        scratchSize: VkDeviceSize,
34492    );
34493
34494pub type PFN_vkCmdDispatchGraphAMDX = 
34495    unsafe extern "C" fn(
34496        commandBuffer: VkCommandBuffer,
34497        scratch: VkDeviceAddress,
34498        scratchSize: VkDeviceSize,
34499        pCountInfo: *const VkDispatchGraphCountInfoAMDX,
34500    );
34501
34502pub type PFN_vkCmdDispatchGraphIndirectAMDX = 
34503    unsafe extern "C" fn(
34504        commandBuffer: VkCommandBuffer,
34505        scratch: VkDeviceAddress,
34506        scratchSize: VkDeviceSize,
34507        pCountInfo: *const VkDispatchGraphCountInfoAMDX,
34508    );
34509
34510pub type PFN_vkCmdDispatchGraphIndirectCountAMDX = 
34511    unsafe extern "C" fn(
34512        commandBuffer: VkCommandBuffer,
34513        scratch: VkDeviceAddress,
34514        scratchSize: VkDeviceSize,
34515        countInfo: VkDeviceAddress,
34516    );
34517
34518extern "C" {
34519    pub fn vkCreateExecutionGraphPipelinesAMDX(
34520        device: VkDevice,
34521        pipelineCache: VkPipelineCache,
34522        createInfoCount: u32,
34523        pCreateInfos: *const VkExecutionGraphPipelineCreateInfoAMDX,
34524        pAllocator: *const VkAllocationCallbacks,
34525        pPipelines: *mut VkPipeline,
34526    ) -> VkResult;
34527}
34528extern "C" {
34529    pub fn vkGetExecutionGraphPipelineScratchSizeAMDX(
34530        device: VkDevice,
34531        executionGraph: VkPipeline,
34532        pSizeInfo: *mut VkExecutionGraphPipelineScratchSizeAMDX,
34533    ) -> VkResult;
34534}
34535extern "C" {
34536    pub fn vkGetExecutionGraphPipelineNodeIndexAMDX(
34537        device: VkDevice,
34538        executionGraph: VkPipeline,
34539        pNodeInfo: *const VkPipelineShaderStageNodeCreateInfoAMDX,
34540        pNodeIndex: *mut u32,
34541    ) -> VkResult;
34542}
34543extern "C" {
34544    pub fn vkCmdInitializeGraphScratchMemoryAMDX(
34545        commandBuffer: VkCommandBuffer,
34546        executionGraph: VkPipeline,
34547        scratch: VkDeviceAddress,
34548        scratchSize: VkDeviceSize,
34549    );
34550}
34551extern "C" {
34552    pub fn vkCmdDispatchGraphAMDX(
34553        commandBuffer: VkCommandBuffer,
34554        scratch: VkDeviceAddress,
34555        scratchSize: VkDeviceSize,
34556        pCountInfo: *const VkDispatchGraphCountInfoAMDX,
34557    );
34558}
34559extern "C" {
34560    pub fn vkCmdDispatchGraphIndirectAMDX(
34561        commandBuffer: VkCommandBuffer,
34562        scratch: VkDeviceAddress,
34563        scratchSize: VkDeviceSize,
34564        pCountInfo: *const VkDispatchGraphCountInfoAMDX,
34565    );
34566}
34567extern "C" {
34568    pub fn vkCmdDispatchGraphIndirectCountAMDX(
34569        commandBuffer: VkCommandBuffer,
34570        scratch: VkDeviceAddress,
34571        scratchSize: VkDeviceSize,
34572        countInfo: VkDeviceAddress,
34573    );
34574}
34575pub const VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV : VkDisplacementMicromapFormatNV = 1 ;
34576pub const VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV : VkDisplacementMicromapFormatNV = 2 ;
34577pub const VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV : VkDisplacementMicromapFormatNV = 3 ;
34578pub const VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV:
34579    VkDisplacementMicromapFormatNV = 2147483647;
34580pub type VkDisplacementMicromapFormatNV = ::std::os::raw::c_uint;
34581#[repr(C)]
34582#[derive(Debug, Copy, Clone)]
34583pub struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
34584    pub sType: VkStructureType,
34585    pub pNext: *mut ::std::os::raw::c_void,
34586    pub displacementMicromap: VkBool32,
34587}
34588#[repr(C)]
34589#[derive(Debug, Copy, Clone)]
34590pub struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
34591    pub sType: VkStructureType,
34592    pub pNext: *mut ::std::os::raw::c_void,
34593    pub maxDisplacementMicromapSubdivisionLevel: u32,
34594}
34595#[repr(C)]
34596#[derive(Copy, Clone)]
34597pub struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
34598    pub sType: VkStructureType,
34599    pub pNext: *mut ::std::os::raw::c_void,
34600    pub displacementBiasAndScaleFormat: VkFormat,
34601    pub displacementVectorFormat: VkFormat,
34602    pub displacementBiasAndScaleBuffer: VkDeviceOrHostAddressConstKHR,
34603    pub displacementBiasAndScaleStride: VkDeviceSize,
34604    pub displacementVectorBuffer: VkDeviceOrHostAddressConstKHR,
34605    pub displacementVectorStride: VkDeviceSize,
34606    pub displacedMicromapPrimitiveFlags: VkDeviceOrHostAddressConstKHR,
34607    pub displacedMicromapPrimitiveFlagsStride: VkDeviceSize,
34608    pub indexType: VkIndexType,
34609    pub indexBuffer: VkDeviceOrHostAddressConstKHR,
34610    pub indexStride: VkDeviceSize,
34611    pub baseTriangle: u32,
34612    pub usageCountsCount: u32,
34613    pub pUsageCounts: *const VkMicromapUsageEXT,
34614    pub ppUsageCounts: *const *const VkMicromapUsageEXT,
34615    pub micromap: VkMicromapEXT,
34616}
34617pub type VkDirectFBSurfaceCreateFlagsEXT = VkFlags;
34618#[repr(C)]
34619#[derive(Debug, Copy, Clone)]
34620pub struct VkDirectFBSurfaceCreateInfoEXT {
34621    pub sType: VkStructureType,
34622    pub pNext: *const ::std::os::raw::c_void,
34623    pub flags: VkDirectFBSurfaceCreateFlagsEXT,
34624    pub dfb: *mut IDirectFB,
34625    pub surface: *mut IDirectFBSurface,
34626}
34627pub type PFN_vkCreateDirectFBSurfaceEXT = 
34628    unsafe extern "C" fn(
34629        instance: VkInstance,
34630        pCreateInfo: *const VkDirectFBSurfaceCreateInfoEXT,
34631        pAllocator: *const VkAllocationCallbacks,
34632        pSurface: *mut VkSurfaceKHR,
34633    ) -> VkResult;
34634
34635pub type PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 
34636    unsafe extern "C" fn(
34637        physicalDevice: VkPhysicalDevice,
34638        queueFamilyIndex: u32,
34639        dfb: *mut IDirectFB,
34640    ) -> VkBool32;
34641
34642extern "C" {
34643    pub fn vkCreateDirectFBSurfaceEXT(
34644        instance: VkInstance,
34645        pCreateInfo: *const VkDirectFBSurfaceCreateInfoEXT,
34646        pAllocator: *const VkAllocationCallbacks,
34647        pSurface: *mut VkSurfaceKHR,
34648    ) -> VkResult;
34649}
34650extern "C" {
34651    pub fn vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
34652        physicalDevice: VkPhysicalDevice,
34653        queueFamilyIndex: u32,
34654        dfb: *mut IDirectFB,
34655    ) -> VkBool32;
34656}
34657pub type VkImagePipeSurfaceCreateFlagsFUCHSIA = VkFlags;
34658#[repr(C)]
34659#[derive(Debug, Copy, Clone)]
34660pub struct VkImagePipeSurfaceCreateInfoFUCHSIA {
34661    pub sType: VkStructureType,
34662    pub pNext: *const ::std::os::raw::c_void,
34663    pub flags: VkImagePipeSurfaceCreateFlagsFUCHSIA,
34664    pub imagePipeHandle: zx_handle_t,
34665}
34666pub type PFN_vkCreateImagePipeSurfaceFUCHSIA = 
34667    unsafe extern "C" fn(
34668        instance: VkInstance,
34669        pCreateInfo: *const VkImagePipeSurfaceCreateInfoFUCHSIA,
34670        pAllocator: *const VkAllocationCallbacks,
34671        pSurface: *mut VkSurfaceKHR,
34672    ) -> VkResult;
34673
34674extern "C" {
34675    pub fn vkCreateImagePipeSurfaceFUCHSIA(
34676        instance: VkInstance,
34677        pCreateInfo: *const VkImagePipeSurfaceCreateInfoFUCHSIA,
34678        pAllocator: *const VkAllocationCallbacks,
34679        pSurface: *mut VkSurfaceKHR,
34680    ) -> VkResult;
34681}
34682#[repr(C)]
34683#[derive(Debug, Copy, Clone)]
34684pub struct VkImportMemoryZirconHandleInfoFUCHSIA {
34685    pub sType: VkStructureType,
34686    pub pNext: *const ::std::os::raw::c_void,
34687    pub handleType: VkExternalMemoryHandleTypeFlagBits,
34688    pub handle: zx_handle_t,
34689}
34690#[repr(C)]
34691#[derive(Debug, Copy, Clone)]
34692pub struct VkMemoryZirconHandlePropertiesFUCHSIA {
34693    pub sType: VkStructureType,
34694    pub pNext: *mut ::std::os::raw::c_void,
34695    pub memoryTypeBits: u32,
34696}
34697#[repr(C)]
34698#[derive(Debug, Copy, Clone)]
34699pub struct VkMemoryGetZirconHandleInfoFUCHSIA {
34700    pub sType: VkStructureType,
34701    pub pNext: *const ::std::os::raw::c_void,
34702    pub memory: VkDeviceMemory,
34703    pub handleType: VkExternalMemoryHandleTypeFlagBits,
34704}
34705pub type PFN_vkGetMemoryZirconHandleFUCHSIA = 
34706    unsafe extern "C" fn(
34707        device: VkDevice,
34708        pGetZirconHandleInfo: *const VkMemoryGetZirconHandleInfoFUCHSIA,
34709        pZirconHandle: *mut zx_handle_t,
34710    ) -> VkResult;
34711
34712pub type PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA = 
34713    unsafe extern "C" fn(
34714        device: VkDevice,
34715        handleType: VkExternalMemoryHandleTypeFlagBits,
34716        zirconHandle: zx_handle_t,
34717        pMemoryZirconHandleProperties: *mut VkMemoryZirconHandlePropertiesFUCHSIA,
34718    ) -> VkResult;
34719
34720extern "C" {
34721    pub fn vkGetMemoryZirconHandleFUCHSIA(
34722        device: VkDevice,
34723        pGetZirconHandleInfo: *const VkMemoryGetZirconHandleInfoFUCHSIA,
34724        pZirconHandle: *mut zx_handle_t,
34725    ) -> VkResult;
34726}
34727extern "C" {
34728    pub fn vkGetMemoryZirconHandlePropertiesFUCHSIA(
34729        device: VkDevice,
34730        handleType: VkExternalMemoryHandleTypeFlagBits,
34731        zirconHandle: zx_handle_t,
34732        pMemoryZirconHandleProperties: *mut VkMemoryZirconHandlePropertiesFUCHSIA,
34733    ) -> VkResult;
34734}
34735#[repr(C)]
34736#[derive(Debug, Copy, Clone)]
34737pub struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
34738    pub sType: VkStructureType,
34739    pub pNext: *const ::std::os::raw::c_void,
34740    pub semaphore: VkSemaphore,
34741    pub flags: VkSemaphoreImportFlags,
34742    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
34743    pub zirconHandle: zx_handle_t,
34744}
34745#[repr(C)]
34746#[derive(Debug, Copy, Clone)]
34747pub struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
34748    pub sType: VkStructureType,
34749    pub pNext: *const ::std::os::raw::c_void,
34750    pub semaphore: VkSemaphore,
34751    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
34752}
34753pub type PFN_vkImportSemaphoreZirconHandleFUCHSIA = 
34754    unsafe extern "C" fn(
34755        device: VkDevice,
34756        pImportSemaphoreZirconHandleInfo: *const VkImportSemaphoreZirconHandleInfoFUCHSIA,
34757    ) -> VkResult;
34758
34759pub type PFN_vkGetSemaphoreZirconHandleFUCHSIA = 
34760    unsafe extern "C" fn(
34761        device: VkDevice,
34762        pGetZirconHandleInfo: *const VkSemaphoreGetZirconHandleInfoFUCHSIA,
34763        pZirconHandle: *mut zx_handle_t,
34764    ) -> VkResult;
34765
34766extern "C" {
34767    pub fn vkImportSemaphoreZirconHandleFUCHSIA(
34768        device: VkDevice,
34769        pImportSemaphoreZirconHandleInfo: *const VkImportSemaphoreZirconHandleInfoFUCHSIA,
34770    ) -> VkResult;
34771}
34772extern "C" {
34773    pub fn vkGetSemaphoreZirconHandleFUCHSIA(
34774        device: VkDevice,
34775        pGetZirconHandleInfo: *const VkSemaphoreGetZirconHandleInfoFUCHSIA,
34776        pZirconHandle: *mut zx_handle_t,
34777    ) -> VkResult;
34778}
34779#[repr(C)]
34780#[derive(Debug, Copy, Clone)]
34781pub struct VkBufferCollectionFUCHSIA_T {
34782    _unused: [u8; 0],
34783}
34784pub type VkBufferCollectionFUCHSIA = *mut VkBufferCollectionFUCHSIA_T;
34785pub type VkImageFormatConstraintsFlagsFUCHSIA = VkFlags;
34786pub const VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA : VkImageConstraintsInfoFlagBitsFUCHSIA = 1 ;
34787pub const VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA:
34788    VkImageConstraintsInfoFlagBitsFUCHSIA = 2;
34789pub const VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA : VkImageConstraintsInfoFlagBitsFUCHSIA = 4 ;
34790pub const VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA : VkImageConstraintsInfoFlagBitsFUCHSIA = 8 ;
34791pub const VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA : VkImageConstraintsInfoFlagBitsFUCHSIA = 16 ;
34792pub const VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA : VkImageConstraintsInfoFlagBitsFUCHSIA = 2147483647 ;
34793pub type VkImageConstraintsInfoFlagBitsFUCHSIA = ::std::os::raw::c_uint;
34794pub type VkImageConstraintsInfoFlagsFUCHSIA = VkFlags;
34795#[repr(C)]
34796#[derive(Debug, Copy, Clone)]
34797pub struct VkBufferCollectionCreateInfoFUCHSIA {
34798    pub sType: VkStructureType,
34799    pub pNext: *const ::std::os::raw::c_void,
34800    pub collectionToken: zx_handle_t,
34801}
34802#[repr(C)]
34803#[derive(Debug, Copy, Clone)]
34804pub struct VkImportMemoryBufferCollectionFUCHSIA {
34805    pub sType: VkStructureType,
34806    pub pNext: *const ::std::os::raw::c_void,
34807    pub collection: VkBufferCollectionFUCHSIA,
34808    pub index: u32,
34809}
34810#[repr(C)]
34811#[derive(Debug, Copy, Clone)]
34812pub struct VkBufferCollectionImageCreateInfoFUCHSIA {
34813    pub sType: VkStructureType,
34814    pub pNext: *const ::std::os::raw::c_void,
34815    pub collection: VkBufferCollectionFUCHSIA,
34816    pub index: u32,
34817}
34818#[repr(C)]
34819#[derive(Debug, Copy, Clone)]
34820pub struct VkBufferCollectionConstraintsInfoFUCHSIA {
34821    pub sType: VkStructureType,
34822    pub pNext: *const ::std::os::raw::c_void,
34823    pub minBufferCount: u32,
34824    pub maxBufferCount: u32,
34825    pub minBufferCountForCamping: u32,
34826    pub minBufferCountForDedicatedSlack: u32,
34827    pub minBufferCountForSharedSlack: u32,
34828}
34829#[repr(C)]
34830#[derive(Debug, Copy, Clone)]
34831pub struct VkBufferConstraintsInfoFUCHSIA {
34832    pub sType: VkStructureType,
34833    pub pNext: *const ::std::os::raw::c_void,
34834    pub createInfo: VkBufferCreateInfo,
34835    pub requiredFormatFeatures: VkFormatFeatureFlags,
34836    pub bufferCollectionConstraints: VkBufferCollectionConstraintsInfoFUCHSIA,
34837}
34838#[repr(C)]
34839#[derive(Debug, Copy, Clone)]
34840pub struct VkBufferCollectionBufferCreateInfoFUCHSIA {
34841    pub sType: VkStructureType,
34842    pub pNext: *const ::std::os::raw::c_void,
34843    pub collection: VkBufferCollectionFUCHSIA,
34844    pub index: u32,
34845}
34846#[repr(C)]
34847#[derive(Debug, Copy, Clone)]
34848pub struct VkSysmemColorSpaceFUCHSIA {
34849    pub sType: VkStructureType,
34850    pub pNext: *const ::std::os::raw::c_void,
34851    pub colorSpace: u32,
34852}
34853#[repr(C)]
34854#[derive(Debug, Copy, Clone)]
34855pub struct VkBufferCollectionPropertiesFUCHSIA {
34856    pub sType: VkStructureType,
34857    pub pNext: *mut ::std::os::raw::c_void,
34858    pub memoryTypeBits: u32,
34859    pub bufferCount: u32,
34860    pub createInfoIndex: u32,
34861    pub sysmemPixelFormat: u64,
34862    pub formatFeatures: VkFormatFeatureFlags,
34863    pub sysmemColorSpaceIndex: VkSysmemColorSpaceFUCHSIA,
34864    pub samplerYcbcrConversionComponents: VkComponentMapping,
34865    pub suggestedYcbcrModel: VkSamplerYcbcrModelConversion,
34866    pub suggestedYcbcrRange: VkSamplerYcbcrRange,
34867    pub suggestedXChromaOffset: VkChromaLocation,
34868    pub suggestedYChromaOffset: VkChromaLocation,
34869}
34870#[repr(C)]
34871#[derive(Debug, Copy, Clone)]
34872pub struct VkImageFormatConstraintsInfoFUCHSIA {
34873    pub sType: VkStructureType,
34874    pub pNext: *const ::std::os::raw::c_void,
34875    pub imageCreateInfo: VkImageCreateInfo,
34876    pub requiredFormatFeatures: VkFormatFeatureFlags,
34877    pub flags: VkImageFormatConstraintsFlagsFUCHSIA,
34878    pub sysmemPixelFormat: u64,
34879    pub colorSpaceCount: u32,
34880    pub pColorSpaces: *const VkSysmemColorSpaceFUCHSIA,
34881}
34882#[repr(C)]
34883#[derive(Debug, Copy, Clone)]
34884pub struct VkImageConstraintsInfoFUCHSIA {
34885    pub sType: VkStructureType,
34886    pub pNext: *const ::std::os::raw::c_void,
34887    pub formatConstraintsCount: u32,
34888    pub pFormatConstraints: *const VkImageFormatConstraintsInfoFUCHSIA,
34889    pub bufferCollectionConstraints: VkBufferCollectionConstraintsInfoFUCHSIA,
34890    pub flags: VkImageConstraintsInfoFlagsFUCHSIA,
34891}
34892pub type PFN_vkCreateBufferCollectionFUCHSIA = 
34893    unsafe extern "C" fn(
34894        device: VkDevice,
34895        pCreateInfo: *const VkBufferCollectionCreateInfoFUCHSIA,
34896        pAllocator: *const VkAllocationCallbacks,
34897        pCollection: *mut VkBufferCollectionFUCHSIA,
34898    ) -> VkResult;
34899
34900pub type PFN_vkSetBufferCollectionImageConstraintsFUCHSIA = 
34901    unsafe extern "C" fn(
34902        device: VkDevice,
34903        collection: VkBufferCollectionFUCHSIA,
34904        pImageConstraintsInfo: *const VkImageConstraintsInfoFUCHSIA,
34905    ) -> VkResult;
34906
34907pub type PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA = 
34908    unsafe extern "C" fn(
34909        device: VkDevice,
34910        collection: VkBufferCollectionFUCHSIA,
34911        pBufferConstraintsInfo: *const VkBufferConstraintsInfoFUCHSIA,
34912    ) -> VkResult;
34913
34914pub type PFN_vkDestroyBufferCollectionFUCHSIA = 
34915    unsafe extern "C" fn(
34916        device: VkDevice,
34917        collection: VkBufferCollectionFUCHSIA,
34918        pAllocator: *const VkAllocationCallbacks,
34919    );
34920
34921pub type PFN_vkGetBufferCollectionPropertiesFUCHSIA = 
34922    unsafe extern "C" fn(
34923        device: VkDevice,
34924        collection: VkBufferCollectionFUCHSIA,
34925        pProperties: *mut VkBufferCollectionPropertiesFUCHSIA,
34926    ) -> VkResult;
34927
34928extern "C" {
34929    pub fn vkCreateBufferCollectionFUCHSIA(
34930        device: VkDevice,
34931        pCreateInfo: *const VkBufferCollectionCreateInfoFUCHSIA,
34932        pAllocator: *const VkAllocationCallbacks,
34933        pCollection: *mut VkBufferCollectionFUCHSIA,
34934    ) -> VkResult;
34935}
34936extern "C" {
34937    pub fn vkSetBufferCollectionImageConstraintsFUCHSIA(
34938        device: VkDevice,
34939        collection: VkBufferCollectionFUCHSIA,
34940        pImageConstraintsInfo: *const VkImageConstraintsInfoFUCHSIA,
34941    ) -> VkResult;
34942}
34943extern "C" {
34944    pub fn vkSetBufferCollectionBufferConstraintsFUCHSIA(
34945        device: VkDevice,
34946        collection: VkBufferCollectionFUCHSIA,
34947        pBufferConstraintsInfo: *const VkBufferConstraintsInfoFUCHSIA,
34948    ) -> VkResult;
34949}
34950extern "C" {
34951    pub fn vkDestroyBufferCollectionFUCHSIA(
34952        device: VkDevice,
34953        collection: VkBufferCollectionFUCHSIA,
34954        pAllocator: *const VkAllocationCallbacks,
34955    );
34956}
34957extern "C" {
34958    pub fn vkGetBufferCollectionPropertiesFUCHSIA(
34959        device: VkDevice,
34960        collection: VkBufferCollectionFUCHSIA,
34961        pProperties: *mut VkBufferCollectionPropertiesFUCHSIA,
34962    ) -> VkResult;
34963}
34964pub type VkIOSSurfaceCreateFlagsMVK = VkFlags;
34965#[repr(C)]
34966#[derive(Debug, Copy, Clone)]
34967pub struct VkIOSSurfaceCreateInfoMVK {
34968    pub sType: VkStructureType,
34969    pub pNext: *const ::std::os::raw::c_void,
34970    pub flags: VkIOSSurfaceCreateFlagsMVK,
34971    pub pView: *const ::std::os::raw::c_void,
34972}
34973pub type PFN_vkCreateIOSSurfaceMVK = 
34974    unsafe extern "C" fn(
34975        instance: VkInstance,
34976        pCreateInfo: *const VkIOSSurfaceCreateInfoMVK,
34977        pAllocator: *const VkAllocationCallbacks,
34978        pSurface: *mut VkSurfaceKHR,
34979    ) -> VkResult;
34980
34981extern "C" {
34982    pub fn vkCreateIOSSurfaceMVK(
34983        instance: VkInstance,
34984        pCreateInfo: *const VkIOSSurfaceCreateInfoMVK,
34985        pAllocator: *const VkAllocationCallbacks,
34986        pSurface: *mut VkSurfaceKHR,
34987    ) -> VkResult;
34988}
34989pub type VkMacOSSurfaceCreateFlagsMVK = VkFlags;
34990#[repr(C)]
34991#[derive(Debug, Copy, Clone)]
34992pub struct VkMacOSSurfaceCreateInfoMVK {
34993    pub sType: VkStructureType,
34994    pub pNext: *const ::std::os::raw::c_void,
34995    pub flags: VkMacOSSurfaceCreateFlagsMVK,
34996    pub pView: *const ::std::os::raw::c_void,
34997}
34998pub type PFN_vkCreateMacOSSurfaceMVK = 
34999    unsafe extern "C" fn(
35000        instance: VkInstance,
35001        pCreateInfo: *const VkMacOSSurfaceCreateInfoMVK,
35002        pAllocator: *const VkAllocationCallbacks,
35003        pSurface: *mut VkSurfaceKHR,
35004    ) -> VkResult;
35005
35006extern "C" {
35007    pub fn vkCreateMacOSSurfaceMVK(
35008        instance: VkInstance,
35009        pCreateInfo: *const VkMacOSSurfaceCreateInfoMVK,
35010        pAllocator: *const VkAllocationCallbacks,
35011        pSurface: *mut VkSurfaceKHR,
35012    ) -> VkResult;
35013}
35014pub type CAMetalLayer = ::std::os::raw::c_void;
35015pub type VkMetalSurfaceCreateFlagsEXT = VkFlags;
35016#[repr(C)]
35017#[derive(Debug, Copy, Clone)]
35018pub struct VkMetalSurfaceCreateInfoEXT {
35019    pub sType: VkStructureType,
35020    pub pNext: *const ::std::os::raw::c_void,
35021    pub flags: VkMetalSurfaceCreateFlagsEXT,
35022    pub pLayer: *const CAMetalLayer,
35023}
35024pub type PFN_vkCreateMetalSurfaceEXT = 
35025    unsafe extern "C" fn(
35026        instance: VkInstance,
35027        pCreateInfo: *const VkMetalSurfaceCreateInfoEXT,
35028        pAllocator: *const VkAllocationCallbacks,
35029        pSurface: *mut VkSurfaceKHR,
35030    ) -> VkResult;
35031
35032extern "C" {
35033    pub fn vkCreateMetalSurfaceEXT(
35034        instance: VkInstance,
35035        pCreateInfo: *const VkMetalSurfaceCreateInfoEXT,
35036        pAllocator: *const VkAllocationCallbacks,
35037        pSurface: *mut VkSurfaceKHR,
35038    ) -> VkResult;
35039}
35040pub type MTLDevice_id = *mut ::std::os::raw::c_void;
35041pub type MTLCommandQueue_id = *mut ::std::os::raw::c_void;
35042pub type MTLBuffer_id = *mut ::std::os::raw::c_void;
35043pub type MTLTexture_id = *mut ::std::os::raw::c_void;
35044#[repr(C)]
35045#[derive(Debug, Copy, Clone)]
35046pub struct __IOSurface {
35047    _unused: [u8; 0],
35048}
35049pub type IOSurfaceRef = *mut __IOSurface;
35050pub type MTLSharedEvent_id = *mut ::std::os::raw::c_void;
35051pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT:
35052    VkExportMetalObjectTypeFlagBitsEXT = 1;
35053pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT : VkExportMetalObjectTypeFlagBitsEXT = 2 ;
35054pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT:
35055    VkExportMetalObjectTypeFlagBitsEXT = 4;
35056pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT:
35057    VkExportMetalObjectTypeFlagBitsEXT = 8;
35058pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT:
35059    VkExportMetalObjectTypeFlagBitsEXT = 16;
35060pub const VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT : VkExportMetalObjectTypeFlagBitsEXT = 32 ;
35061pub const VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT:
35062    VkExportMetalObjectTypeFlagBitsEXT = 2147483647;
35063pub type VkExportMetalObjectTypeFlagBitsEXT = ::std::os::raw::c_uint;
35064pub type VkExportMetalObjectTypeFlagsEXT = VkFlags;
35065#[repr(C)]
35066#[derive(Debug, Copy, Clone)]
35067pub struct VkExportMetalObjectCreateInfoEXT {
35068    pub sType: VkStructureType,
35069    pub pNext: *const ::std::os::raw::c_void,
35070    pub exportObjectType: VkExportMetalObjectTypeFlagBitsEXT,
35071}
35072#[repr(C)]
35073#[derive(Debug, Copy, Clone)]
35074pub struct VkExportMetalObjectsInfoEXT {
35075    pub sType: VkStructureType,
35076    pub pNext: *const ::std::os::raw::c_void,
35077}
35078#[repr(C)]
35079#[derive(Debug, Copy, Clone)]
35080pub struct VkExportMetalDeviceInfoEXT {
35081    pub sType: VkStructureType,
35082    pub pNext: *const ::std::os::raw::c_void,
35083    pub mtlDevice: MTLDevice_id,
35084}
35085#[repr(C)]
35086#[derive(Debug, Copy, Clone)]
35087pub struct VkExportMetalCommandQueueInfoEXT {
35088    pub sType: VkStructureType,
35089    pub pNext: *const ::std::os::raw::c_void,
35090    pub queue: VkQueue,
35091    pub mtlCommandQueue: MTLCommandQueue_id,
35092}
35093#[repr(C)]
35094#[derive(Debug, Copy, Clone)]
35095pub struct VkExportMetalBufferInfoEXT {
35096    pub sType: VkStructureType,
35097    pub pNext: *const ::std::os::raw::c_void,
35098    pub memory: VkDeviceMemory,
35099    pub mtlBuffer: MTLBuffer_id,
35100}
35101#[repr(C)]
35102#[derive(Debug, Copy, Clone)]
35103pub struct VkImportMetalBufferInfoEXT {
35104    pub sType: VkStructureType,
35105    pub pNext: *const ::std::os::raw::c_void,
35106    pub mtlBuffer: MTLBuffer_id,
35107}
35108#[repr(C)]
35109#[derive(Debug, Copy, Clone)]
35110pub struct VkExportMetalTextureInfoEXT {
35111    pub sType: VkStructureType,
35112    pub pNext: *const ::std::os::raw::c_void,
35113    pub image: VkImage,
35114    pub imageView: VkImageView,
35115    pub bufferView: VkBufferView,
35116    pub plane: VkImageAspectFlagBits,
35117    pub mtlTexture: MTLTexture_id,
35118}
35119#[repr(C)]
35120#[derive(Debug, Copy, Clone)]
35121pub struct VkImportMetalTextureInfoEXT {
35122    pub sType: VkStructureType,
35123    pub pNext: *const ::std::os::raw::c_void,
35124    pub plane: VkImageAspectFlagBits,
35125    pub mtlTexture: MTLTexture_id,
35126}
35127#[repr(C)]
35128#[derive(Debug, Copy, Clone)]
35129pub struct VkExportMetalIOSurfaceInfoEXT {
35130    pub sType: VkStructureType,
35131    pub pNext: *const ::std::os::raw::c_void,
35132    pub image: VkImage,
35133    pub ioSurface: IOSurfaceRef,
35134}
35135#[repr(C)]
35136#[derive(Debug, Copy, Clone)]
35137pub struct VkImportMetalIOSurfaceInfoEXT {
35138    pub sType: VkStructureType,
35139    pub pNext: *const ::std::os::raw::c_void,
35140    pub ioSurface: IOSurfaceRef,
35141}
35142#[repr(C)]
35143#[derive(Debug, Copy, Clone)]
35144pub struct VkExportMetalSharedEventInfoEXT {
35145    pub sType: VkStructureType,
35146    pub pNext: *const ::std::os::raw::c_void,
35147    pub semaphore: VkSemaphore,
35148    pub event: VkEvent,
35149    pub mtlSharedEvent: MTLSharedEvent_id,
35150}
35151#[repr(C)]
35152#[derive(Debug, Copy, Clone)]
35153pub struct VkImportMetalSharedEventInfoEXT {
35154    pub sType: VkStructureType,
35155    pub pNext: *const ::std::os::raw::c_void,
35156    pub mtlSharedEvent: MTLSharedEvent_id,
35157}
35158pub type PFN_vkExportMetalObjectsEXT = 
35159    unsafe extern "C" fn(device: VkDevice, pMetalObjectsInfo: *mut VkExportMetalObjectsInfoEXT);
35160
35161extern "C" {
35162    pub fn vkExportMetalObjectsEXT(
35163        device: VkDevice,
35164        pMetalObjectsInfo: *mut VkExportMetalObjectsInfoEXT,
35165    );
35166}
35167pub type VkScreenSurfaceCreateFlagsQNX = VkFlags;
35168#[repr(C)]
35169#[derive(Debug, Copy, Clone)]
35170pub struct VkScreenSurfaceCreateInfoQNX {
35171    pub sType: VkStructureType,
35172    pub pNext: *const ::std::os::raw::c_void,
35173    pub flags: VkScreenSurfaceCreateFlagsQNX,
35174    pub context: *mut _screen_context,
35175    pub window: *mut _screen_window,
35176}
35177pub type PFN_vkCreateScreenSurfaceQNX = 
35178    unsafe extern "C" fn(
35179        instance: VkInstance,
35180        pCreateInfo: *const VkScreenSurfaceCreateInfoQNX,
35181        pAllocator: *const VkAllocationCallbacks,
35182        pSurface: *mut VkSurfaceKHR,
35183    ) -> VkResult;
35184
35185pub type PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX = 
35186    unsafe extern "C" fn(
35187        physicalDevice: VkPhysicalDevice,
35188        queueFamilyIndex: u32,
35189        window: *mut _screen_window,
35190    ) -> VkBool32;
35191
35192extern "C" {
35193    pub fn vkCreateScreenSurfaceQNX(
35194        instance: VkInstance,
35195        pCreateInfo: *const VkScreenSurfaceCreateInfoQNX,
35196        pAllocator: *const VkAllocationCallbacks,
35197        pSurface: *mut VkSurfaceKHR,
35198    ) -> VkResult;
35199}
35200extern "C" {
35201    pub fn vkGetPhysicalDeviceScreenPresentationSupportQNX(
35202        physicalDevice: VkPhysicalDevice,
35203        queueFamilyIndex: u32,
35204        window: *mut _screen_window,
35205    ) -> VkBool32;
35206}
35207#[repr(C)]
35208#[derive(Debug, Copy, Clone)]
35209pub struct VkScreenBufferPropertiesQNX {
35210    pub sType: VkStructureType,
35211    pub pNext: *mut ::std::os::raw::c_void,
35212    pub allocationSize: VkDeviceSize,
35213    pub memoryTypeBits: u32,
35214}
35215#[repr(C)]
35216#[derive(Debug, Copy, Clone)]
35217pub struct VkScreenBufferFormatPropertiesQNX {
35218    pub sType: VkStructureType,
35219    pub pNext: *mut ::std::os::raw::c_void,
35220    pub format: VkFormat,
35221    pub externalFormat: u64,
35222    pub screenUsage: u64,
35223    pub formatFeatures: VkFormatFeatureFlags,
35224    pub samplerYcbcrConversionComponents: VkComponentMapping,
35225    pub suggestedYcbcrModel: VkSamplerYcbcrModelConversion,
35226    pub suggestedYcbcrRange: VkSamplerYcbcrRange,
35227    pub suggestedXChromaOffset: VkChromaLocation,
35228    pub suggestedYChromaOffset: VkChromaLocation,
35229}
35230#[repr(C)]
35231#[derive(Debug, Copy, Clone)]
35232pub struct VkImportScreenBufferInfoQNX {
35233    pub sType: VkStructureType,
35234    pub pNext: *const ::std::os::raw::c_void,
35235    pub buffer: *mut _screen_buffer,
35236}
35237#[repr(C)]
35238#[derive(Debug, Copy, Clone)]
35239pub struct VkExternalFormatQNX {
35240    pub sType: VkStructureType,
35241    pub pNext: *mut ::std::os::raw::c_void,
35242    pub externalFormat: u64,
35243}
35244#[repr(C)]
35245#[derive(Debug, Copy, Clone)]
35246pub struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
35247    pub sType: VkStructureType,
35248    pub pNext: *mut ::std::os::raw::c_void,
35249    pub screenBufferImport: VkBool32,
35250}
35251pub type PFN_vkGetScreenBufferPropertiesQNX = 
35252    unsafe extern "C" fn(
35253        device: VkDevice,
35254        buffer: *const _screen_buffer,
35255        pProperties: *mut VkScreenBufferPropertiesQNX,
35256    ) -> VkResult;
35257
35258extern "C" {
35259    pub fn vkGetScreenBufferPropertiesQNX(
35260        device: VkDevice,
35261        buffer: *const _screen_buffer,
35262        pProperties: *mut VkScreenBufferPropertiesQNX,
35263    ) -> VkResult;
35264}
35265pub type VkViSurfaceCreateFlagsNN = VkFlags;
35266#[repr(C)]
35267#[derive(Debug, Copy, Clone)]
35268pub struct VkViSurfaceCreateInfoNN {
35269    pub sType: VkStructureType,
35270    pub pNext: *const ::std::os::raw::c_void,
35271    pub flags: VkViSurfaceCreateFlagsNN,
35272    pub window: *mut ::std::os::raw::c_void,
35273}
35274pub type PFN_vkCreateViSurfaceNN = 
35275    unsafe extern "C" fn(
35276        instance: VkInstance,
35277        pCreateInfo: *const VkViSurfaceCreateInfoNN,
35278        pAllocator: *const VkAllocationCallbacks,
35279        pSurface: *mut VkSurfaceKHR,
35280    ) -> VkResult;
35281
35282extern "C" {
35283    pub fn vkCreateViSurfaceNN(
35284        instance: VkInstance,
35285        pCreateInfo: *const VkViSurfaceCreateInfoNN,
35286        pAllocator: *const VkAllocationCallbacks,
35287        pSurface: *mut VkSurfaceKHR,
35288    ) -> VkResult;
35289}
35290pub type VkWaylandSurfaceCreateFlagsKHR = VkFlags;
35291#[repr(C)]
35292#[derive(Debug, Copy, Clone)]
35293pub struct VkWaylandSurfaceCreateInfoKHR {
35294    pub sType: VkStructureType,
35295    pub pNext: *const ::std::os::raw::c_void,
35296    pub flags: VkWaylandSurfaceCreateFlagsKHR,
35297    pub display: *mut wl_display,
35298    pub surface: *mut wl_surface,
35299}
35300pub type PFN_vkCreateWaylandSurfaceKHR = 
35301    unsafe extern "C" fn(
35302        instance: VkInstance,
35303        pCreateInfo: *const VkWaylandSurfaceCreateInfoKHR,
35304        pAllocator: *const VkAllocationCallbacks,
35305        pSurface: *mut VkSurfaceKHR,
35306    ) -> VkResult;
35307
35308pub type PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR = 
35309    unsafe extern "C" fn(
35310        physicalDevice: VkPhysicalDevice,
35311        queueFamilyIndex: u32,
35312        display: *mut wl_display,
35313    ) -> VkBool32;
35314
35315extern "C" {
35316    pub fn vkCreateWaylandSurfaceKHR(
35317        instance: VkInstance,
35318        pCreateInfo: *const VkWaylandSurfaceCreateInfoKHR,
35319        pAllocator: *const VkAllocationCallbacks,
35320        pSurface: *mut VkSurfaceKHR,
35321    ) -> VkResult;
35322}
35323extern "C" {
35324    pub fn vkGetPhysicalDeviceWaylandPresentationSupportKHR(
35325        physicalDevice: VkPhysicalDevice,
35326        queueFamilyIndex: u32,
35327        display: *mut wl_display,
35328    ) -> VkBool32;
35329}
35330pub type VkWin32SurfaceCreateFlagsKHR = VkFlags;
35331#[repr(C)]
35332#[derive(Debug, Copy, Clone)]
35333pub struct VkWin32SurfaceCreateInfoKHR {
35334    pub sType: VkStructureType,
35335    pub pNext: *const ::std::os::raw::c_void,
35336    pub flags: VkWin32SurfaceCreateFlagsKHR,
35337    pub hinstance: HINSTANCE,
35338    pub hwnd: HWND,
35339}
35340pub type PFN_vkCreateWin32SurfaceKHR = 
35341    unsafe extern "C" fn(
35342        instance: VkInstance,
35343        pCreateInfo: *const VkWin32SurfaceCreateInfoKHR,
35344        pAllocator: *const VkAllocationCallbacks,
35345        pSurface: *mut VkSurfaceKHR,
35346    ) -> VkResult;
35347
35348pub type PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR = 
35349    unsafe extern "C" fn(physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32) -> VkBool32;
35350
35351extern "C" {
35352    pub fn vkCreateWin32SurfaceKHR(
35353        instance: VkInstance,
35354        pCreateInfo: *const VkWin32SurfaceCreateInfoKHR,
35355        pAllocator: *const VkAllocationCallbacks,
35356        pSurface: *mut VkSurfaceKHR,
35357    ) -> VkResult;
35358}
35359extern "C" {
35360    pub fn vkGetPhysicalDeviceWin32PresentationSupportKHR(
35361        physicalDevice: VkPhysicalDevice,
35362        queueFamilyIndex: u32,
35363    ) -> VkBool32;
35364}
35365#[repr(C)]
35366#[derive(Debug, Copy, Clone)]
35367pub struct VkImportMemoryWin32HandleInfoKHR {
35368    pub sType: VkStructureType,
35369    pub pNext: *const ::std::os::raw::c_void,
35370    pub handleType: VkExternalMemoryHandleTypeFlagBits,
35371    pub handle: HANDLE,
35372    pub name: LPCWSTR,
35373}
35374#[repr(C)]
35375#[derive(Debug, Copy, Clone)]
35376pub struct VkExportMemoryWin32HandleInfoKHR {
35377    pub sType: VkStructureType,
35378    pub pNext: *const ::std::os::raw::c_void,
35379    pub pAttributes: *const SECURITY_ATTRIBUTES,
35380    pub dwAccess: DWORD,
35381    pub name: LPCWSTR,
35382}
35383#[repr(C)]
35384#[derive(Debug, Copy, Clone)]
35385pub struct VkMemoryWin32HandlePropertiesKHR {
35386    pub sType: VkStructureType,
35387    pub pNext: *mut ::std::os::raw::c_void,
35388    pub memoryTypeBits: u32,
35389}
35390#[repr(C)]
35391#[derive(Debug, Copy, Clone)]
35392pub struct VkMemoryGetWin32HandleInfoKHR {
35393    pub sType: VkStructureType,
35394    pub pNext: *const ::std::os::raw::c_void,
35395    pub memory: VkDeviceMemory,
35396    pub handleType: VkExternalMemoryHandleTypeFlagBits,
35397}
35398pub type PFN_vkGetMemoryWin32HandleKHR = 
35399    unsafe extern "C" fn(
35400        device: VkDevice,
35401        pGetWin32HandleInfo: *const VkMemoryGetWin32HandleInfoKHR,
35402        pHandle: *mut HANDLE,
35403    ) -> VkResult;
35404
35405pub type PFN_vkGetMemoryWin32HandlePropertiesKHR = 
35406    unsafe extern "C" fn(
35407        device: VkDevice,
35408        handleType: VkExternalMemoryHandleTypeFlagBits,
35409        handle: HANDLE,
35410        pMemoryWin32HandleProperties: *mut VkMemoryWin32HandlePropertiesKHR,
35411    ) -> VkResult;
35412
35413extern "C" {
35414    pub fn vkGetMemoryWin32HandleKHR(
35415        device: VkDevice,
35416        pGetWin32HandleInfo: *const VkMemoryGetWin32HandleInfoKHR,
35417        pHandle: *mut HANDLE,
35418    ) -> VkResult;
35419}
35420extern "C" {
35421    pub fn vkGetMemoryWin32HandlePropertiesKHR(
35422        device: VkDevice,
35423        handleType: VkExternalMemoryHandleTypeFlagBits,
35424        handle: HANDLE,
35425        pMemoryWin32HandleProperties: *mut VkMemoryWin32HandlePropertiesKHR,
35426    ) -> VkResult;
35427}
35428#[repr(C)]
35429#[derive(Debug, Copy, Clone)]
35430pub struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
35431    pub sType: VkStructureType,
35432    pub pNext: *const ::std::os::raw::c_void,
35433    pub acquireCount: u32,
35434    pub pAcquireSyncs: *const VkDeviceMemory,
35435    pub pAcquireKeys: *const u64,
35436    pub pAcquireTimeouts: *const u32,
35437    pub releaseCount: u32,
35438    pub pReleaseSyncs: *const VkDeviceMemory,
35439    pub pReleaseKeys: *const u64,
35440}
35441#[repr(C)]
35442#[derive(Debug, Copy, Clone)]
35443pub struct VkImportSemaphoreWin32HandleInfoKHR {
35444    pub sType: VkStructureType,
35445    pub pNext: *const ::std::os::raw::c_void,
35446    pub semaphore: VkSemaphore,
35447    pub flags: VkSemaphoreImportFlags,
35448    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
35449    pub handle: HANDLE,
35450    pub name: LPCWSTR,
35451}
35452#[repr(C)]
35453#[derive(Debug, Copy, Clone)]
35454pub struct VkExportSemaphoreWin32HandleInfoKHR {
35455    pub sType: VkStructureType,
35456    pub pNext: *const ::std::os::raw::c_void,
35457    pub pAttributes: *const SECURITY_ATTRIBUTES,
35458    pub dwAccess: DWORD,
35459    pub name: LPCWSTR,
35460}
35461#[repr(C)]
35462#[derive(Debug, Copy, Clone)]
35463pub struct VkD3D12FenceSubmitInfoKHR {
35464    pub sType: VkStructureType,
35465    pub pNext: *const ::std::os::raw::c_void,
35466    pub waitSemaphoreValuesCount: u32,
35467    pub pWaitSemaphoreValues: *const u64,
35468    pub signalSemaphoreValuesCount: u32,
35469    pub pSignalSemaphoreValues: *const u64,
35470}
35471#[repr(C)]
35472#[derive(Debug, Copy, Clone)]
35473pub struct VkSemaphoreGetWin32HandleInfoKHR {
35474    pub sType: VkStructureType,
35475    pub pNext: *const ::std::os::raw::c_void,
35476    pub semaphore: VkSemaphore,
35477    pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
35478}
35479pub type PFN_vkImportSemaphoreWin32HandleKHR = 
35480    unsafe extern "C" fn(
35481        device: VkDevice,
35482        pImportSemaphoreWin32HandleInfo: *const VkImportSemaphoreWin32HandleInfoKHR,
35483    ) -> VkResult;
35484
35485pub type PFN_vkGetSemaphoreWin32HandleKHR = 
35486    unsafe extern "C" fn(
35487        device: VkDevice,
35488        pGetWin32HandleInfo: *const VkSemaphoreGetWin32HandleInfoKHR,
35489        pHandle: *mut HANDLE,
35490    ) -> VkResult;
35491
35492extern "C" {
35493    pub fn vkImportSemaphoreWin32HandleKHR(
35494        device: VkDevice,
35495        pImportSemaphoreWin32HandleInfo: *const VkImportSemaphoreWin32HandleInfoKHR,
35496    ) -> VkResult;
35497}
35498extern "C" {
35499    pub fn vkGetSemaphoreWin32HandleKHR(
35500        device: VkDevice,
35501        pGetWin32HandleInfo: *const VkSemaphoreGetWin32HandleInfoKHR,
35502        pHandle: *mut HANDLE,
35503    ) -> VkResult;
35504}
35505#[repr(C)]
35506#[derive(Debug, Copy, Clone)]
35507pub struct VkImportFenceWin32HandleInfoKHR {
35508    pub sType: VkStructureType,
35509    pub pNext: *const ::std::os::raw::c_void,
35510    pub fence: VkFence,
35511    pub flags: VkFenceImportFlags,
35512    pub handleType: VkExternalFenceHandleTypeFlagBits,
35513    pub handle: HANDLE,
35514    pub name: LPCWSTR,
35515}
35516#[repr(C)]
35517#[derive(Debug, Copy, Clone)]
35518pub struct VkExportFenceWin32HandleInfoKHR {
35519    pub sType: VkStructureType,
35520    pub pNext: *const ::std::os::raw::c_void,
35521    pub pAttributes: *const SECURITY_ATTRIBUTES,
35522    pub dwAccess: DWORD,
35523    pub name: LPCWSTR,
35524}
35525#[repr(C)]
35526#[derive(Debug, Copy, Clone)]
35527pub struct VkFenceGetWin32HandleInfoKHR {
35528    pub sType: VkStructureType,
35529    pub pNext: *const ::std::os::raw::c_void,
35530    pub fence: VkFence,
35531    pub handleType: VkExternalFenceHandleTypeFlagBits,
35532}
35533pub type PFN_vkImportFenceWin32HandleKHR = 
35534    unsafe extern "C" fn(
35535        device: VkDevice,
35536        pImportFenceWin32HandleInfo: *const VkImportFenceWin32HandleInfoKHR,
35537    ) -> VkResult;
35538
35539pub type PFN_vkGetFenceWin32HandleKHR = 
35540    unsafe extern "C" fn(
35541        device: VkDevice,
35542        pGetWin32HandleInfo: *const VkFenceGetWin32HandleInfoKHR,
35543        pHandle: *mut HANDLE,
35544    ) -> VkResult;
35545
35546extern "C" {
35547    pub fn vkImportFenceWin32HandleKHR(
35548        device: VkDevice,
35549        pImportFenceWin32HandleInfo: *const VkImportFenceWin32HandleInfoKHR,
35550    ) -> VkResult;
35551}
35552extern "C" {
35553    pub fn vkGetFenceWin32HandleKHR(
35554        device: VkDevice,
35555        pGetWin32HandleInfo: *const VkFenceGetWin32HandleInfoKHR,
35556        pHandle: *mut HANDLE,
35557    ) -> VkResult;
35558}
35559#[repr(C)]
35560#[derive(Debug, Copy, Clone)]
35561pub struct VkImportMemoryWin32HandleInfoNV {
35562    pub sType: VkStructureType,
35563    pub pNext: *const ::std::os::raw::c_void,
35564    pub handleType: VkExternalMemoryHandleTypeFlagsNV,
35565    pub handle: HANDLE,
35566}
35567#[repr(C)]
35568#[derive(Debug, Copy, Clone)]
35569pub struct VkExportMemoryWin32HandleInfoNV {
35570    pub sType: VkStructureType,
35571    pub pNext: *const ::std::os::raw::c_void,
35572    pub pAttributes: *const SECURITY_ATTRIBUTES,
35573    pub dwAccess: DWORD,
35574}
35575pub type PFN_vkGetMemoryWin32HandleNV = 
35576    unsafe extern "C" fn(
35577        device: VkDevice,
35578        memory: VkDeviceMemory,
35579        handleType: VkExternalMemoryHandleTypeFlagsNV,
35580        pHandle: *mut HANDLE,
35581    ) -> VkResult;
35582
35583extern "C" {
35584    pub fn vkGetMemoryWin32HandleNV(
35585        device: VkDevice,
35586        memory: VkDeviceMemory,
35587        handleType: VkExternalMemoryHandleTypeFlagsNV,
35588        pHandle: *mut HANDLE,
35589    ) -> VkResult;
35590}
35591#[repr(C)]
35592#[derive(Debug, Copy, Clone)]
35593pub struct VkWin32KeyedMutexAcquireReleaseInfoNV {
35594    pub sType: VkStructureType,
35595    pub pNext: *const ::std::os::raw::c_void,
35596    pub acquireCount: u32,
35597    pub pAcquireSyncs: *const VkDeviceMemory,
35598    pub pAcquireKeys: *const u64,
35599    pub pAcquireTimeoutMilliseconds: *const u32,
35600    pub releaseCount: u32,
35601    pub pReleaseSyncs: *const VkDeviceMemory,
35602    pub pReleaseKeys: *const u64,
35603}
35604pub const VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT: VkFullScreenExclusiveEXT =
35605    0;
35606pub const VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT: VkFullScreenExclusiveEXT =
35607    1;
35608pub const VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT:
35609    VkFullScreenExclusiveEXT = 2;
35610pub const VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT:
35611    VkFullScreenExclusiveEXT = 3;
35612pub const VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT: VkFullScreenExclusiveEXT =
35613    2147483647;
35614pub type VkFullScreenExclusiveEXT = ::std::os::raw::c_uint;
35615#[repr(C)]
35616#[derive(Debug, Copy, Clone)]
35617pub struct VkSurfaceFullScreenExclusiveInfoEXT {
35618    pub sType: VkStructureType,
35619    pub pNext: *mut ::std::os::raw::c_void,
35620    pub fullScreenExclusive: VkFullScreenExclusiveEXT,
35621}
35622#[repr(C)]
35623#[derive(Debug, Copy, Clone)]
35624pub struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
35625    pub sType: VkStructureType,
35626    pub pNext: *mut ::std::os::raw::c_void,
35627    pub fullScreenExclusiveSupported: VkBool32,
35628}
35629#[repr(C)]
35630#[derive(Debug, Copy, Clone)]
35631pub struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
35632    pub sType: VkStructureType,
35633    pub pNext: *const ::std::os::raw::c_void,
35634    pub hmonitor: HMONITOR,
35635}
35636pub type PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT = 
35637    unsafe extern "C" fn(
35638        physicalDevice: VkPhysicalDevice,
35639        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
35640        pPresentModeCount: *mut u32,
35641        pPresentModes: *mut VkPresentModeKHR,
35642    ) -> VkResult;
35643
35644pub type PFN_vkAcquireFullScreenExclusiveModeEXT = 
35645    unsafe extern "C" fn(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
35646
35647pub type PFN_vkReleaseFullScreenExclusiveModeEXT = 
35648    unsafe extern "C" fn(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
35649
35650pub type PFN_vkGetDeviceGroupSurfacePresentModes2EXT = 
35651    unsafe extern "C" fn(
35652        device: VkDevice,
35653        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
35654        pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
35655    ) -> VkResult;
35656
35657extern "C" {
35658    pub fn vkGetPhysicalDeviceSurfacePresentModes2EXT(
35659        physicalDevice: VkPhysicalDevice,
35660        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
35661        pPresentModeCount: *mut u32,
35662        pPresentModes: *mut VkPresentModeKHR,
35663    ) -> VkResult;
35664}
35665extern "C" {
35666    pub fn vkAcquireFullScreenExclusiveModeEXT(
35667        device: VkDevice,
35668        swapchain: VkSwapchainKHR,
35669    ) -> VkResult;
35670}
35671extern "C" {
35672    pub fn vkReleaseFullScreenExclusiveModeEXT(
35673        device: VkDevice,
35674        swapchain: VkSwapchainKHR,
35675    ) -> VkResult;
35676}
35677extern "C" {
35678    pub fn vkGetDeviceGroupSurfacePresentModes2EXT(
35679        device: VkDevice,
35680        pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
35681        pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
35682    ) -> VkResult;
35683}
35684pub type PFN_vkAcquireWinrtDisplayNV = 
35685    unsafe extern "C" fn(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR) -> VkResult;
35686
35687pub type PFN_vkGetWinrtDisplayNV = 
35688    unsafe extern "C" fn(
35689        physicalDevice: VkPhysicalDevice,
35690        deviceRelativeId: u32,
35691        pDisplay: *mut VkDisplayKHR,
35692    ) -> VkResult;
35693
35694extern "C" {
35695    pub fn vkAcquireWinrtDisplayNV(
35696        physicalDevice: VkPhysicalDevice,
35697        display: VkDisplayKHR,
35698    ) -> VkResult;
35699}
35700extern "C" {
35701    pub fn vkGetWinrtDisplayNV(
35702        physicalDevice: VkPhysicalDevice,
35703        deviceRelativeId: u32,
35704        pDisplay: *mut VkDisplayKHR,
35705    ) -> VkResult;
35706}
35707pub type VkXcbSurfaceCreateFlagsKHR = VkFlags;
35708#[repr(C)]
35709#[derive(Debug, Copy, Clone)]
35710pub struct VkXcbSurfaceCreateInfoKHR {
35711    pub sType: VkStructureType,
35712    pub pNext: *const ::std::os::raw::c_void,
35713    pub flags: VkXcbSurfaceCreateFlagsKHR,
35714    pub connection: *mut xcb_connection_t,
35715    pub window: xcb_window_t,
35716}
35717pub type PFN_vkCreateXcbSurfaceKHR = 
35718    unsafe extern "C" fn(
35719        instance: VkInstance,
35720        pCreateInfo: *const VkXcbSurfaceCreateInfoKHR,
35721        pAllocator: *const VkAllocationCallbacks,
35722        pSurface: *mut VkSurfaceKHR,
35723    ) -> VkResult;
35724
35725pub type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = 
35726    unsafe extern "C" fn(
35727        physicalDevice: VkPhysicalDevice,
35728        queueFamilyIndex: u32,
35729        connection: *mut xcb_connection_t,
35730        visual_id: xcb_visualid_t,
35731    ) -> VkBool32;
35732
35733extern "C" {
35734    pub fn vkCreateXcbSurfaceKHR(
35735        instance: VkInstance,
35736        pCreateInfo: *const VkXcbSurfaceCreateInfoKHR,
35737        pAllocator: *const VkAllocationCallbacks,
35738        pSurface: *mut VkSurfaceKHR,
35739    ) -> VkResult;
35740}
35741extern "C" {
35742    pub fn vkGetPhysicalDeviceXcbPresentationSupportKHR(
35743        physicalDevice: VkPhysicalDevice,
35744        queueFamilyIndex: u32,
35745        connection: *mut xcb_connection_t,
35746        visual_id: xcb_visualid_t,
35747    ) -> VkBool32;
35748}
35749pub type VkXlibSurfaceCreateFlagsKHR = VkFlags;
35750#[repr(C)]
35751#[derive(Debug, Copy, Clone)]
35752pub struct VkXlibSurfaceCreateInfoKHR {
35753    pub sType: VkStructureType,
35754    pub pNext: *const ::std::os::raw::c_void,
35755    pub flags: VkXlibSurfaceCreateFlagsKHR,
35756    pub dpy: *mut Display,
35757    pub window: Window,
35758}
35759pub type PFN_vkCreateXlibSurfaceKHR = 
35760    unsafe extern "C" fn(
35761        instance: VkInstance,
35762        pCreateInfo: *const VkXlibSurfaceCreateInfoKHR,
35763        pAllocator: *const VkAllocationCallbacks,
35764        pSurface: *mut VkSurfaceKHR,
35765    ) -> VkResult;
35766
35767pub type PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR = 
35768    unsafe extern "C" fn(
35769        physicalDevice: VkPhysicalDevice,
35770        queueFamilyIndex: u32,
35771        dpy: *mut Display,
35772        visualID: VisualID,
35773    ) -> VkBool32;
35774
35775extern "C" {
35776    pub fn vkCreateXlibSurfaceKHR(
35777        instance: VkInstance,
35778        pCreateInfo: *const VkXlibSurfaceCreateInfoKHR,
35779        pAllocator: *const VkAllocationCallbacks,
35780        pSurface: *mut VkSurfaceKHR,
35781    ) -> VkResult;
35782}
35783extern "C" {
35784    pub fn vkGetPhysicalDeviceXlibPresentationSupportKHR(
35785        physicalDevice: VkPhysicalDevice,
35786        queueFamilyIndex: u32,
35787        dpy: *mut Display,
35788        visualID: VisualID,
35789    ) -> VkBool32;
35790}
35791pub type PFN_vkAcquireXlibDisplayEXT = 
35792    unsafe extern "C" fn(
35793        physicalDevice: VkPhysicalDevice,
35794        dpy: *mut Display,
35795        display: VkDisplayKHR,
35796    ) -> VkResult;
35797
35798pub type PFN_vkGetRandROutputDisplayEXT = 
35799    unsafe extern "C" fn(
35800        physicalDevice: VkPhysicalDevice,
35801        dpy: *mut Display,
35802        rrOutput: RROutput,
35803        pDisplay: *mut VkDisplayKHR,
35804    ) -> VkResult;
35805
35806extern "C" {
35807    pub fn vkAcquireXlibDisplayEXT(
35808        physicalDevice: VkPhysicalDevice,
35809        dpy: *mut Display,
35810        display: VkDisplayKHR,
35811    ) -> VkResult;
35812}
35813extern "C" {
35814    pub fn vkGetRandROutputDisplayEXT(
35815        physicalDevice: VkPhysicalDevice,
35816        dpy: *mut Display,
35817        rrOutput: RROutput,
35818        pDisplay: *mut VkDisplayKHR,
35819    ) -> VkResult;
35820}
35821pub type PFN_vkNegotiateLoaderICDInterfaceVersion =
35822    unsafe extern "C" fn(pVersion: *mut u32) -> VkResult;
35823pub type PFN_GetPhysicalDeviceProcAddr = 
35824    unsafe extern "C" fn(
35825        instance: VkInstance,
35826        pName: *const ::std::os::raw::c_char,
35827    ) -> PFN_vkVoidFunction;
35828
35829pub type PFN_vk_icdNegotiateLoaderICDInterfaceVersion =
35830    unsafe extern "C" fn(pVersion: *mut u32) -> VkResult;
35831pub type PFN_vk_icdGetInstanceProcAddr = 
35832    unsafe extern "C" fn(
35833        instance: VkInstance,
35834        pName: *const ::std::os::raw::c_char,
35835    ) -> PFN_vkVoidFunction;
35836
35837pub type PFN_vk_icdGetPhysicalDeviceProcAddr = 
35838    unsafe extern "C" fn(
35839        instance: VkInstance,
35840        pName: *const ::std::os::raw::c_char,
35841    ) -> PFN_vkVoidFunction;
35842
35843extern "C" {
35844    pub fn vk_icdNegotiateLoaderICDInterfaceVersion(pVersion: *mut u32) -> VkResult;
35845}
35846extern "C" {
35847    pub fn vk_icdGetInstanceProcAddr(
35848        instance: VkInstance,
35849        pName: *const ::std::os::raw::c_char,
35850    ) -> PFN_vkVoidFunction;
35851}
35852extern "C" {
35853    pub fn vk_icdGetPhysicalDeviceProcAddr(
35854        instance: VkInstance,
35855        pName: *const ::std::os::raw::c_char,
35856    ) -> PFN_vkVoidFunction;
35857}
35858#[repr(C)]
35859#[derive(Copy, Clone)]
35860pub union VK_LOADER_DATA {
35861    pub loaderMagic: usize,
35862    pub loaderData: *mut ::std::os::raw::c_void,
35863}
35864pub const VK_ICD_WSI_PLATFORM_MIR: VkIcdWsiPlatform = 0;
35865pub const VK_ICD_WSI_PLATFORM_WAYLAND: VkIcdWsiPlatform = 1;
35866pub const VK_ICD_WSI_PLATFORM_WIN32: VkIcdWsiPlatform = 2;
35867pub const VK_ICD_WSI_PLATFORM_XCB: VkIcdWsiPlatform = 3;
35868pub const VK_ICD_WSI_PLATFORM_XLIB: VkIcdWsiPlatform = 4;
35869pub const VK_ICD_WSI_PLATFORM_ANDROID: VkIcdWsiPlatform = 5;
35870pub const VK_ICD_WSI_PLATFORM_MACOS: VkIcdWsiPlatform = 6;
35871pub const VK_ICD_WSI_PLATFORM_IOS: VkIcdWsiPlatform = 7;
35872pub const VK_ICD_WSI_PLATFORM_DISPLAY: VkIcdWsiPlatform = 8;
35873pub const VK_ICD_WSI_PLATFORM_HEADLESS: VkIcdWsiPlatform = 9;
35874pub const VK_ICD_WSI_PLATFORM_METAL: VkIcdWsiPlatform = 10;
35875pub const VK_ICD_WSI_PLATFORM_DIRECTFB: VkIcdWsiPlatform = 11;
35876pub const VK_ICD_WSI_PLATFORM_VI: VkIcdWsiPlatform = 12;
35877pub const VK_ICD_WSI_PLATFORM_GGP: VkIcdWsiPlatform = 13;
35878pub const VK_ICD_WSI_PLATFORM_SCREEN: VkIcdWsiPlatform = 14;
35879pub const VK_ICD_WSI_PLATFORM_FUCHSIA: VkIcdWsiPlatform = 15;
35880pub type VkIcdWsiPlatform = ::std::os::raw::c_uint;
35881#[repr(C)]
35882#[derive(Debug, Copy, Clone)]
35883pub struct VkIcdSurfaceBase {
35884    pub platform: VkIcdWsiPlatform,
35885}
35886#[repr(C)]
35887#[derive(Debug, Copy, Clone)]
35888pub struct VkIcdSurfaceDisplay {
35889    pub base: VkIcdSurfaceBase,
35890    pub displayMode: VkDisplayModeKHR,
35891    pub planeIndex: u32,
35892    pub planeStackIndex: u32,
35893    pub transform: VkSurfaceTransformFlagBitsKHR,
35894    pub globalAlpha: f32,
35895    pub alphaMode: VkDisplayPlaneAlphaFlagBitsKHR,
35896    pub imageExtent: VkExtent2D,
35897}
35898#[repr(C)]
35899#[derive(Debug, Copy, Clone)]
35900pub struct VkIcdSurfaceHeadless {
35901    pub base: VkIcdSurfaceBase,
35902}
35903pub const LAYER_NEGOTIATE_UNINTIALIZED: VkNegotiateLayerStructType = 0;
35904pub const LAYER_NEGOTIATE_INTERFACE_STRUCT: VkNegotiateLayerStructType =
35905    1;
35906pub type VkNegotiateLayerStructType = ::std::os::raw::c_uint;
35907#[repr(C)]
35908#[derive(Debug, Copy, Clone)]
35909pub struct VkNegotiateLayerInterface {
35910    pub sType: VkNegotiateLayerStructType,
35911    pub pNext: *mut ::std::os::raw::c_void,
35912    pub loaderLayerInterfaceVersion: u32,
35913    pub pfnGetInstanceProcAddr: PFN_vkGetInstanceProcAddr,
35914    pub pfnGetDeviceProcAddr: PFN_vkGetDeviceProcAddr,
35915    pub pfnGetPhysicalDeviceProcAddr: PFN_GetPhysicalDeviceProcAddr,
35916}
35917pub type PFN_vkNegotiateLoaderLayerInterfaceVersion = 
35918    unsafe extern "C" fn(pVersionStruct: *mut VkNegotiateLayerInterface) -> VkResult;
35919
35920pub type PFN_PhysDevExt =
35921    unsafe extern "C" fn(phys_device: VkPhysicalDevice) -> VkResult;
35922pub const _VK_LAYER_LINK_INFO: VkLayerFunction_ = 0;
35923pub const _VK_LOADER_DATA_CALLBACK: VkLayerFunction_ = 1;
35924pub const _VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK: VkLayerFunction_ = 2;
35925pub const _VK_LOADER_FEATURES: VkLayerFunction_ = 3;
35926pub type VkLayerFunction_ = ::std::os::raw::c_uint;
35927pub use self::VkLayerFunction_ as VkLayerFunction;
35928#[repr(C)]
35929#[derive(Debug, Copy, Clone)]
35930pub struct VkLayerInstanceLink_ {
35931    pub pNext: *mut VkLayerInstanceLink_,
35932    pub pfnNextGetInstanceProcAddr: PFN_vkGetInstanceProcAddr,
35933    pub pfnNextGetPhysicalDeviceProcAddr: PFN_GetPhysicalDeviceProcAddr,
35934}
35935pub type VkLayerInstanceLink = VkLayerInstanceLink_;
35936#[repr(C)]
35937#[derive(Debug, Copy, Clone)]
35938pub struct VkLayerDeviceInfo_ {
35939    pub device_info: *mut ::std::os::raw::c_void,
35940    pub pfnNextGetInstanceProcAddr: PFN_vkGetInstanceProcAddr,
35941}
35942pub type VkLayerDeviceInfo = VkLayerDeviceInfo_;
35943pub type PFN_vkSetInstanceLoaderData = 
35944    unsafe extern "C" fn(instance: VkInstance, object: *mut ::std::os::raw::c_void) -> VkResult;
35945
35946pub type PFN_vkSetDeviceLoaderData = 
35947    unsafe extern "C" fn(device: VkDevice, object: *mut ::std::os::raw::c_void) -> VkResult;
35948
35949pub type PFN_vkLayerCreateDevice = 
35950    unsafe extern "C" fn(
35951        instance: VkInstance,
35952        physicalDevice: VkPhysicalDevice,
35953        pCreateInfo: *const VkDeviceCreateInfo,
35954        pAllocator: *const VkAllocationCallbacks,
35955        pDevice: *mut VkDevice,
35956        layerGIPA: PFN_vkGetInstanceProcAddr,
35957        nextGDPA: *mut PFN_vkGetDeviceProcAddr,
35958    ) -> VkResult;
35959
35960pub type PFN_vkLayerDestroyDevice = 
35961    unsafe extern "C" fn(
35962        physicalDevice: VkDevice,
35963        pAllocator: *const VkAllocationCallbacks,
35964        destroyFunction: PFN_vkDestroyDevice,
35965    );
35966
35967pub const VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING:
35968    VkLoaderFeastureFlagBits = 1;
35969pub type VkLoaderFeastureFlagBits = ::std::os::raw::c_uint;
35970pub use self::VkLoaderFeastureFlagBits as VkLoaderFlagBits;
35971pub type VkLoaderFeatureFlags = VkFlags;
35972#[repr(C)]
35973#[derive(Copy, Clone)]
35974pub struct VkLayerInstanceCreateInfo {
35975    pub sType: VkStructureType,
35976    pub pNext: *const ::std::os::raw::c_void,
35977    pub function: VkLayerFunction,
35978    pub u: VkLayerInstanceCreateInfo__bindgen_ty_1,
35979}
35980#[repr(C)]
35981#[derive(Copy, Clone)]
35982pub union VkLayerInstanceCreateInfo__bindgen_ty_1 {
35983    pub pLayerInfo: *mut VkLayerInstanceLink,
35984    pub pfnSetInstanceLoaderData: PFN_vkSetInstanceLoaderData,
35985    pub layerDevice: VkLayerInstanceCreateInfo__bindgen_ty_1__bindgen_ty_1,
35986    pub loaderFeatures: VkLoaderFeatureFlags,
35987}
35988#[repr(C)]
35989#[derive(Debug, Copy, Clone)]
35990pub struct VkLayerInstanceCreateInfo__bindgen_ty_1__bindgen_ty_1 {
35991    pub pfnLayerCreateDevice: PFN_vkLayerCreateDevice,
35992    pub pfnLayerDestroyDevice: PFN_vkLayerDestroyDevice,
35993}
35994#[repr(C)]
35995#[derive(Debug, Copy, Clone)]
35996pub struct VkLayerDeviceLink_ {
35997    pub pNext: *mut VkLayerDeviceLink_,
35998    pub pfnNextGetInstanceProcAddr: PFN_vkGetInstanceProcAddr,
35999    pub pfnNextGetDeviceProcAddr: PFN_vkGetDeviceProcAddr,
36000}
36001pub type VkLayerDeviceLink = VkLayerDeviceLink_;
36002#[repr(C)]
36003#[derive(Copy, Clone)]
36004pub struct VkLayerDeviceCreateInfo {
36005    pub sType: VkStructureType,
36006    pub pNext: *const ::std::os::raw::c_void,
36007    pub function: VkLayerFunction,
36008    pub u: VkLayerDeviceCreateInfo__bindgen_ty_1,
36009}
36010#[repr(C)]
36011#[derive(Copy, Clone)]
36012pub union VkLayerDeviceCreateInfo__bindgen_ty_1 {
36013    pub pLayerInfo: *mut VkLayerDeviceLink,
36014    pub pfnSetDeviceLoaderData: PFN_vkSetDeviceLoaderData,
36015}
36016extern "C" {
36017    pub fn vkNegotiateLoaderLayerInterfaceVersion(
36018        pVersionStruct: *mut VkNegotiateLayerInterface,
36019    ) -> VkResult;
36020}
36021pub const VK_CHAIN_TYPE_UNKNOWN: VkChainType = 0;
36022pub const VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES: VkChainType = 1;
36023pub const VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES: VkChainType = 2;
36024pub const VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION: VkChainType = 3;
36025pub type VkChainType = ::std::os::raw::c_uint;
36026#[repr(C)]
36027#[derive(Debug, Copy, Clone)]
36028pub struct VkChainHeader {
36029    pub type_: VkChainType,
36030    pub version: u32,
36031    pub size: u32,
36032}
36033#[repr(C)]
36034#[derive(Debug, Copy, Clone)]
36035pub struct VkEnumerateInstanceExtensionPropertiesChain {
36036    pub header: VkChainHeader,
36037    pub pfnNextLayer: 
36038        unsafe extern "C" fn(
36039            arg1: *const VkEnumerateInstanceExtensionPropertiesChain,
36040            arg2: *const ::std::os::raw::c_char,
36041            arg3: *mut u32,
36042            arg4: *mut VkExtensionProperties,
36043        ) -> VkResult,
36044
36045    pub pNextLink: *const VkEnumerateInstanceExtensionPropertiesChain,
36046}
36047#[repr(C)]
36048#[derive(Debug, Copy, Clone)]
36049pub struct VkEnumerateInstanceLayerPropertiesChain {
36050    pub header: VkChainHeader,
36051    pub pfnNextLayer: 
36052        unsafe extern "C" fn(
36053            arg1: *const VkEnumerateInstanceLayerPropertiesChain,
36054            arg2: *mut u32,
36055            arg3: *mut VkLayerProperties,
36056        ) -> VkResult,
36057
36058    pub pNextLink: *const VkEnumerateInstanceLayerPropertiesChain,
36059}
36060#[repr(C)]
36061#[derive(Debug, Copy, Clone)]
36062pub struct VkEnumerateInstanceVersionChain {
36063    pub header: VkChainHeader,
36064    pub pfnNextLayer: 
36065        unsafe extern "C" fn(
36066            arg1: *const VkEnumerateInstanceVersionChain,
36067            arg2: *mut u32,
36068        ) -> VkResult,
36069
36070    pub pNextLink: *const VkEnumerateInstanceVersionChain,
36071}
36072pub type GgpFrameToken = u64;
36073pub type GgpStreamDescriptor = u32;
36074pub type VkStreamDescriptorSurfaceCreateFlagsGGP = VkFlags;
36075#[repr(C)]
36076#[derive(Debug, Copy, Clone)]
36077pub struct VkStreamDescriptorSurfaceCreateInfoGGP {
36078    pub sType: VkStructureType,
36079    pub pNext: *const ::std::os::raw::c_void,
36080    pub flags: VkStreamDescriptorSurfaceCreateFlagsGGP,
36081    pub streamDescriptor: GgpStreamDescriptor,
36082}
36083pub type PFN_vkCreateStreamDescriptorSurfaceGGP = 
36084    unsafe extern "C" fn(
36085        instance: VkInstance,
36086        pCreateInfo: *const VkStreamDescriptorSurfaceCreateInfoGGP,
36087        pAllocator: *const VkAllocationCallbacks,
36088        pSurface: *mut VkSurfaceKHR,
36089    ) -> VkResult;
36090
36091extern "C" {
36092    pub fn vkCreateStreamDescriptorSurfaceGGP(
36093        instance: VkInstance,
36094        pCreateInfo: *const VkStreamDescriptorSurfaceCreateInfoGGP,
36095        pAllocator: *const VkAllocationCallbacks,
36096        pSurface: *mut VkSurfaceKHR,
36097    ) -> VkResult;
36098}
36099#[repr(C)]
36100#[derive(Debug, Copy, Clone)]
36101pub struct VkPresentFrameTokenGGP {
36102    pub sType: VkStructureType,
36103    pub pNext: *const ::std::os::raw::c_void,
36104    pub frameToken: GgpFrameToken,
36105}
36106pub type __builtin_va_list = *mut ::std::os::raw::c_char;
36107#[repr(C)]
36108#[derive(Debug, Copy, Clone)]
36109pub struct lconv {
36110    pub _address: u8,
36111}
36112#[repr(C)]
36113#[derive(Debug, Copy, Clone)]
36114pub struct _screen_context {
36115    pub _address: u8,
36116}
36117#[repr(C)]
36118#[derive(Debug, Copy, Clone)]
36119pub struct _screen_window {
36120    pub _address: u8,
36121}
36122#[repr(C)]
36123#[derive(Debug, Copy, Clone)]
36124pub struct _screen_buffer {
36125    pub _address: u8,
36126}
36127#[repr(C)]
36128#[derive(Debug, Copy, Clone)]
36129pub struct wl_display {
36130    pub _address: u8,
36131}
36132#[repr(C)]
36133#[derive(Debug, Copy, Clone)]
36134pub struct wl_surface {
36135    pub _address: u8,
36136}