1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#[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}