nobs_vk/
lib.rs

1//! # nobs-vk
2//! no bullshit vulkan bindings.
3//! 
4//! This crate is auto generated by python scripts and provides types, constants and functions for [vulkan](https://www.khronos.org/vulkan/).
5//! 
6//! 1. [Existential questions](#existential-questions)
7//! 2. [Examples](#examples)
8//!     1. [Vulkan core initialisation](#vulkan-core-initialisation)
9//!     2. [Convenience Instance and Device creation](#convenience-instance-and-device-creation)
10//! 3. [Details](#details)
11//!     1. [Namespaces](#namespaces)
12//!     2. [Function pointers](#function-pointers)
13//!     3. [Check macros](#check-macros)
14//!     4. [Instance and Device builder patterns](#instance-and-device-builder-patterns)
15//! 
16//! ## Existential questions
17//! Why does nobs-vk exists? nobs-vk...
18//! 1. is used how the vulkan api is documented
19//! 2. is auto generated from a python script that sources the vk.xml from the vulkan registry
20//! 3. gives you the freedom to do as you please in your design decisions (but therefore doesn't protect you from your own stupidity)
21//! 4. is not a full blown window creating bloat library in the back, just to execute some small compute shader with a headless vulkan build
22//! 
23//! While more involved wrappers for vulkan do exist they also strife to completely hide the vulkan api behind another layer of rust code and might force you into design decisions you would normally try to avoid. This library tries to be as simple as possible and just exposes callable functions to vulkan.
24//! 
25//! ## Examples
26//! ### Vulkan core initialisation
27//! This is a simple example that retrieves the version of vulkan that is installed on the system
28//! ```rust
29//! #[macro_use] extern crate nobs_vk as vk;
30//! //...
31//! 
32//! # fn main() {
33//! // loads vulkan
34//! let _vk_lib = vk::VkLib::new();
35//! 
36//! // good to go from here, we can use any vulkan function that is supported by this system
37//! // make sure `_vk_lib` lives throughout the time that vulkan is used and is dropped afterwards
38//! 
39//! // global vulkan version
40//! let mut inst_ver: u32 = 0;
41//! if vk::EnumerateInstanceVersion(&mut inst_ver) != vk::SUCCESS { 
42//!   panic!("something went terribly wrong");
43//! }
44//! 
45//! assert_eq!(1, version_major!(inst_ver));
46//! assert_eq!(1, version_minor!(inst_ver));
47//! assert_eq!(0, version_patch!(inst_ver));
48//! # }
49//! ```
50//! 
51//! ### Convenience Instance and Device creation
52//! Instance and device creation are a large portion of the boiler plate code that comes with implementing a vulkan application, so it makes sence to have a convenient way of doing this in the library (which is why you could argue that it barely does not contradicts the "no bullshit" paradigm)
53//! ```rust
54//! #[macro_use]
55//! extern crate nobs_vk;
56//! 
57//! use nobs_vk as vk;
58//! use std::ffi::CStr;
59//! 
60//! fn main() {
61//!   let lib = vk::VkLib::new();
62//!   let inst = vk::instance::new()
63//!     .validate(vk::DEBUG_REPORT_ERROR_BIT_EXT | vk::DEBUG_REPORT_WARNING_BIT_EXT)
64//!     .application("awesome app", 0)
65//!     .add_extension(vk::KHR_SURFACE_EXTENSION_NAME)
66//!     .add_extension(vk::KHR_XLIB_SURFACE_EXTENSION_NAME)
67//!     .create(lib)
68//!     .unwrap();
69//! 
70//!   for pd in vk::device::PhysicalDevice::enumerate_all(inst.handle) {
71//!     println!(
72//!       "instance api version:  {} {} {}",
73//!       version_major!(pd.properties.apiVersion),
74//!       version_minor!(pd.properties.apiVersion),
75//!       version_patch!(pd.properties.apiVersion)
76//!     );
77//!     println!("driver version:        {}", pd.properties.driverVersion);
78//!     println!("vendor id:             {}", pd.properties.vendorID);
79//!     println!("device id:             {}", pd.properties.deviceID);
80//!     println!("vendor:                {}", unsafe {
81//!       CStr::from_ptr(&pd.properties.deviceName[0]).to_str().unwrap()
82//!     });
83//!     
84//!     println!("layers:                {:?}", pd.supported_layers);
85//!     println!("extensions:            {:?}", pd.supported_extensions);
86//!   }
87//! 
88//!   let (_pdevice, _device) = vk::device::PhysicalDevice::enumerate_all(inst.handle)
89//!     .remove(0)
90//!     .into_device()
91//!     .add_queue(vk::device::QueueProperties {
92//!       present: false,
93//!       graphics: true,
94//!       compute: true,
95//!       transfer: true,
96//!     }).create()
97//!     .unwrap();
98//! }
99//! ```
100//! 
101//! ## Details
102//! ### Namespaces
103//! Name prefixes of the C-types, enums and functions are removed in favor of the module namespace. 
104//! For example `VK_Result` becomes `vk::Result`, `VK_SUCCESS` becomes `vk::SUCCESS`, `vkCreateInstance()` becomes `vk::CreateInstance()`.
105//! 
106//! ### Function pointers
107//! Entry points to vulkan commands are stored in [VkLib](struct.VkLib.html). There are also functions declared globally for every vulkan command. After creating an instance of `VkLib` these function redirect to the `VkLib` instance. This is done for convenience purposes, so that we do not have to pass on the `VkLib` instance. Since there is a function for every vulkan command, this also includes commands, that are not supported on the system. In this case calling the function will panic even after instance/device creation. The same will happen if the vkulan library was initialized with a feature level and the function is therefore not supported.
108//! 
109//! ### Check macros
110//! Additionally to the [result integer constants](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkResult.html) that are defined by the vulkan api, the two enums [Success](enum.Success.html) and [Error](enum.Error.html) are declared. These capture the successful and unsuccessful error codes. The [vk_check!](macro.vk_check.html) converts the error code returned from vulkan with [make_result](fn.make_result.html) and prints debug information when the command failed. `vk_uncheck!` will consume the result and panic on error, while `vk_check!` returns the `Result<Success, Error>`
111//! 
112//! ### Instance and Device builder patterns
113//! As the sole convenience feature this library introduces builder patterns for instance and device creation. This enables a convenient way of configuring e.g. debug layers for a vulkan instance, or extensions and properties of queues for devices. See [instance::Builder](instance/struct.Builder.html) and [device::Builder](device/struct.Builder.html) for more details
114//! 
115//! ## Vulkan reference
116//! For documentation of the defined enums, structs and funcions see the 
117//! [vulkan reference](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/).
118
119
120#![allow(non_upper_case_globals)]
121#![allow(non_snake_case)]
122#![allow(non_camel_case_types)]
123
124use std::os::raw::c_char;
125use std::os::raw::c_ushort;
126use std::os::raw::c_ulong;
127use std::os::raw::c_void;
128use std::mem;
129
130
131
132#[doc(hidden)] pub type SampleMask = u32;
133#[doc(hidden)] pub type Bool32 = u32;
134#[doc(hidden)] pub type Flags = u32;
135#[doc(hidden)] pub type DeviceSize = u64;
136
137
138#[doc(hidden)] pub const MAX_PHYSICAL_DEVICE_NAME_SIZE: u32 = 256u32;
139#[doc(hidden)] pub const UUID_SIZE: u32 = 16u32;
140#[doc(hidden)] pub const LUID_SIZE: u32 = 8u32;
141#[doc(hidden)] pub const MAX_EXTENSION_NAME_SIZE: u32 = 256u32;
142#[doc(hidden)] pub const MAX_DESCRIPTION_SIZE: u32 = 256u32;
143#[doc(hidden)] pub const MAX_MEMORY_TYPES: u32 = 32u32;
144#[doc(hidden)] pub const MAX_MEMORY_HEAPS: u32 = 16u32;
145#[doc(hidden)] pub const LOD_CLAMP_NONE: f32 = 1000.0f32;
146#[doc(hidden)] pub const REMAINING_MIP_LEVELS: u32 = !0u32;
147#[doc(hidden)] pub const REMAINING_ARRAY_LAYERS: u32 = !0u32;
148#[doc(hidden)] pub const WHOLE_SIZE: u64 = !0u64;
149#[doc(hidden)] pub const ATTACHMENT_UNUSED: u32 = !0u32;
150#[doc(hidden)] pub const TRUE: u32 = 1u32;
151#[doc(hidden)] pub const FALSE: u32 = 0u32;
152#[doc(hidden)] pub const QUEUE_FAMILY_IGNORED: u32 = !0u32;
153#[doc(hidden)] pub const QUEUE_FAMILY_EXTERNAL: u32 = !0 - 1u32;
154#[doc(hidden)] pub const QUEUE_FAMILY_FOREIGN_EXT: u32 = !0 - 2u32;
155#[doc(hidden)] pub const SUBPASS_EXTERNAL: u32 = !0u32;
156#[doc(hidden)] pub const MAX_DEVICE_GROUP_SIZE: u32 = 32u32;
157#[doc(hidden)] pub const MAX_DRIVER_NAME_SIZE_KHR: u32 = 256u32;
158#[doc(hidden)] pub const MAX_DRIVER_INFO_SIZE_KHR: u32 = 256u32;
159#[doc(hidden)] pub const SHADER_UNUSED_NV: u32 = !0u32;
160
161
162#[doc(hidden)] pub const KHR_SURFACE_EXTENSION_NAME: &str = "VK_KHR_surface";
163#[doc(hidden)] pub const KHR_SWAPCHAIN_EXTENSION_NAME: &str = "VK_KHR_swapchain";
164#[doc(hidden)] pub const KHR_DISPLAY_EXTENSION_NAME: &str = "VK_KHR_display";
165#[doc(hidden)] pub const KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME: &str = "VK_KHR_display_swapchain";
166#[doc(hidden)] pub const KHR_XLIB_SURFACE_EXTENSION_NAME: &str = "VK_KHR_xlib_surface";
167#[doc(hidden)] pub const KHR_XCB_SURFACE_EXTENSION_NAME: &str = "VK_KHR_xcb_surface";
168#[doc(hidden)] pub const KHR_WAYLAND_SURFACE_EXTENSION_NAME: &str = "VK_KHR_wayland_surface";
169#[doc(hidden)] pub const KHR_ANDROID_SURFACE_EXTENSION_NAME: &str = "VK_KHR_android_surface";
170#[doc(hidden)] pub const KHR_WIN32_SURFACE_EXTENSION_NAME: &str = "VK_KHR_win32_surface";
171#[doc(hidden)] pub const EXT_DEBUG_REPORT_EXTENSION_NAME: &str = "VK_EXT_debug_report";
172#[doc(hidden)] pub const NV_GLSL_SHADER_EXTENSION_NAME: &str = "VK_NV_glsl_shader";
173#[doc(hidden)] pub const KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME: &str = "VK_KHR_sampler_mirror_clamp_to_edge";
174#[doc(hidden)] pub const IMG_FILTER_CUBIC_EXTENSION_NAME: &str = "VK_IMG_filter_cubic";
175#[doc(hidden)] pub const AMD_RASTERIZATION_ORDER_EXTENSION_NAME: &str = "VK_AMD_rasterization_order";
176#[doc(hidden)] pub const EXT_DEBUG_MARKER_EXTENSION_NAME: &str = "VK_EXT_debug_marker";
177#[doc(hidden)] pub const NV_DEDICATED_ALLOCATION_EXTENSION_NAME: &str = "VK_NV_dedicated_allocation";
178#[doc(hidden)] pub const EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME: &str = "VK_EXT_transform_feedback";
179#[doc(hidden)] pub const AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME: &str = "VK_AMD_draw_indirect_count";
180#[doc(hidden)] pub const AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME: &str = "VK_AMD_texture_gather_bias_lod";
181#[doc(hidden)] pub const AMD_SHADER_INFO_EXTENSION_NAME: &str = "VK_AMD_shader_info";
182#[doc(hidden)] pub const NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME: &str = "VK_NV_corner_sampled_image";
183#[doc(hidden)] pub const KHR_MULTIVIEW_EXTENSION_NAME: &str = "VK_KHR_multiview";
184#[doc(hidden)] pub const IMG_FORMAT_PVRTC_EXTENSION_NAME: &str = "VK_IMG_format_pvrtc";
185#[doc(hidden)] pub const NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME: &str = "VK_NV_external_memory_capabilities";
186#[doc(hidden)] pub const NV_EXTERNAL_MEMORY_EXTENSION_NAME: &str = "VK_NV_external_memory";
187#[doc(hidden)] pub const NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME: &str = "VK_NV_external_memory_win32";
188#[doc(hidden)] pub const NV_WIN32_KEYED_MUTEX_EXTENSION_NAME: &str = "VK_NV_win32_keyed_mutex";
189#[doc(hidden)] pub const KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME: &str = "VK_KHR_get_physical_device_properties2";
190#[doc(hidden)] pub const KHR_DEVICE_GROUP_EXTENSION_NAME: &str = "VK_KHR_device_group";
191#[doc(hidden)] pub const EXT_VALIDATION_FLAGS_EXTENSION_NAME: &str = "VK_EXT_validation_flags";
192#[doc(hidden)] pub const NN_VI_SURFACE_EXTENSION_NAME: &str = "VK_NN_vi_surface";
193#[doc(hidden)] pub const EXT_ASTC_DECODE_MODE_EXTENSION_NAME: &str = "VK_EXT_astc_decode_mode";
194#[doc(hidden)] pub const KHR_MAINTENANCE1_EXTENSION_NAME: &str = "VK_KHR_maintenance1";
195#[doc(hidden)] pub const KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME: &str = "VK_KHR_device_group_creation";
196#[doc(hidden)] pub const KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME: &str = "VK_KHR_external_memory_capabilities";
197#[doc(hidden)] pub const KHR_EXTERNAL_MEMORY_EXTENSION_NAME: &str = "VK_KHR_external_memory";
198#[doc(hidden)] pub const KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME: &str = "VK_KHR_external_memory_win32";
199#[doc(hidden)] pub const KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME: &str = "VK_KHR_external_memory_fd";
200#[doc(hidden)] pub const KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME: &str = "VK_KHR_win32_keyed_mutex";
201#[doc(hidden)] pub const KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME: &str = "VK_KHR_external_semaphore_capabilities";
202#[doc(hidden)] pub const KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME: &str = "VK_KHR_external_semaphore";
203#[doc(hidden)] pub const KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME: &str = "VK_KHR_external_semaphore_win32";
204#[doc(hidden)] pub const KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME: &str = "VK_KHR_external_semaphore_fd";
205#[doc(hidden)] pub const KHR_PUSH_DESCRIPTOR_EXTENSION_NAME: &str = "VK_KHR_push_descriptor";
206#[doc(hidden)] pub const EXT_CONDITIONAL_RENDERING_EXTENSION_NAME: &str = "VK_EXT_conditional_rendering";
207#[doc(hidden)] pub const KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME: &str = "VK_KHR_shader_float16_int8";
208#[doc(hidden)] pub const KHR_16BIT_STORAGE_EXTENSION_NAME: &str = "VK_KHR_16bit_storage";
209#[doc(hidden)] pub const KHR_INCREMENTAL_PRESENT_EXTENSION_NAME: &str = "VK_KHR_incremental_present";
210#[doc(hidden)] pub const KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME: &str = "VK_KHR_descriptor_update_template";
211#[doc(hidden)] pub const NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME: &str = "VK_NVX_device_generated_commands";
212#[doc(hidden)] pub const NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME: &str = "VK_NV_clip_space_w_scaling";
213#[doc(hidden)] pub const EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME: &str = "VK_EXT_direct_mode_display";
214#[doc(hidden)] pub const EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME: &str = "VK_EXT_acquire_xlib_display";
215#[doc(hidden)] pub const EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME: &str = "VK_EXT_display_surface_counter";
216#[doc(hidden)] pub const EXT_DISPLAY_CONTROL_EXTENSION_NAME: &str = "VK_EXT_display_control";
217#[doc(hidden)] pub const GOOGLE_DISPLAY_TIMING_EXTENSION_NAME: &str = "VK_GOOGLE_display_timing";
218#[doc(hidden)] pub const NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME: &str = "VK_NVX_multiview_per_view_attributes";
219#[doc(hidden)] pub const NV_VIEWPORT_SWIZZLE_EXTENSION_NAME: &str = "VK_NV_viewport_swizzle";
220#[doc(hidden)] pub const EXT_DISCARD_RECTANGLES_EXTENSION_NAME: &str = "VK_EXT_discard_rectangles";
221#[doc(hidden)] pub const EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME: &str = "VK_EXT_conservative_rasterization";
222#[doc(hidden)] pub const EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME: &str = "VK_EXT_swapchain_colorspace";
223#[doc(hidden)] pub const EXT_HDR_METADATA_EXTENSION_NAME: &str = "VK_EXT_hdr_metadata";
224#[doc(hidden)] pub const KHR_CREATE_RENDERPASS_2_EXTENSION_NAME: &str = "VK_KHR_create_renderpass2";
225#[doc(hidden)] pub const KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME: &str = "VK_KHR_shared_presentable_image";
226#[doc(hidden)] pub const KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME: &str = "VK_KHR_external_fence_capabilities";
227#[doc(hidden)] pub const KHR_EXTERNAL_FENCE_EXTENSION_NAME: &str = "VK_KHR_external_fence";
228#[doc(hidden)] pub const KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME: &str = "VK_KHR_external_fence_win32";
229#[doc(hidden)] pub const KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME: &str = "VK_KHR_external_fence_fd";
230#[doc(hidden)] pub const KHR_MAINTENANCE2_EXTENSION_NAME: &str = "VK_KHR_maintenance2";
231#[doc(hidden)] pub const KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME: &str = "VK_KHR_get_surface_capabilities2";
232#[doc(hidden)] pub const KHR_VARIABLE_POINTERS_EXTENSION_NAME: &str = "VK_KHR_variable_pointers";
233#[doc(hidden)] pub const KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME: &str = "VK_KHR_get_display_properties2";
234#[doc(hidden)] pub const MVK_IOS_SURFACE_EXTENSION_NAME: &str = "VK_MVK_ios_surface";
235#[doc(hidden)] pub const MVK_MACOS_SURFACE_EXTENSION_NAME: &str = "VK_MVK_macos_surface";
236#[doc(hidden)] pub const EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME: &str = "VK_EXT_external_memory_dma_buf";
237#[doc(hidden)] pub const EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME: &str = "VK_EXT_queue_family_foreign";
238#[doc(hidden)] pub const KHR_DEDICATED_ALLOCATION_EXTENSION_NAME: &str = "VK_KHR_dedicated_allocation";
239#[doc(hidden)] pub const EXT_DEBUG_UTILS_EXTENSION_NAME: &str = "VK_EXT_debug_utils";
240#[doc(hidden)] pub const ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME: &str = "VK_ANDROID_external_memory_android_hardware_buffer";
241#[doc(hidden)] pub const EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME: &str = "VK_EXT_sampler_filter_minmax";
242#[doc(hidden)] pub const EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME: &str = "VK_EXT_inline_uniform_block";
243#[doc(hidden)] pub const EXT_SAMPLE_LOCATIONS_EXTENSION_NAME: &str = "VK_EXT_sample_locations";
244#[doc(hidden)] pub const KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME: &str = "VK_KHR_get_memory_requirements2";
245#[doc(hidden)] pub const KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME: &str = "VK_KHR_image_format_list";
246#[doc(hidden)] pub const EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME: &str = "VK_EXT_blend_operation_advanced";
247#[doc(hidden)] pub const NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME: &str = "VK_NV_fragment_coverage_to_color";
248#[doc(hidden)] pub const NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME: &str = "VK_NV_framebuffer_mixed_samples";
249#[doc(hidden)] pub const NV_FILL_RECTANGLE_EXTENSION_NAME: &str = "VK_NV_fill_rectangle";
250#[doc(hidden)] pub const KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME: &str = "VK_KHR_sampler_ycbcr_conversion";
251#[doc(hidden)] pub const KHR_BIND_MEMORY_2_EXTENSION_NAME: &str = "VK_KHR_bind_memory2";
252#[doc(hidden)] pub const EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME: &str = "VK_EXT_image_drm_format_modifier";
253#[doc(hidden)] pub const EXT_VALIDATION_CACHE_EXTENSION_NAME: &str = "VK_EXT_validation_cache";
254#[doc(hidden)] pub const EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME: &str = "VK_EXT_descriptor_indexing";
255#[doc(hidden)] pub const NV_SHADING_RATE_IMAGE_EXTENSION_NAME: &str = "VK_NV_shading_rate_image";
256#[doc(hidden)] pub const NV_RAY_TRACING_EXTENSION_NAME: &str = "VK_NV_ray_tracing";
257#[doc(hidden)] pub const NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME: &str = "VK_NV_representative_fragment_test";
258#[doc(hidden)] pub const KHR_MAINTENANCE3_EXTENSION_NAME: &str = "VK_KHR_maintenance3";
259#[doc(hidden)] pub const KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME: &str = "VK_KHR_draw_indirect_count";
260#[doc(hidden)] pub const EXT_GLOBAL_PRIORITY_EXTENSION_NAME: &str = "VK_EXT_global_priority";
261#[doc(hidden)] pub const KHR_8BIT_STORAGE_EXTENSION_NAME: &str = "VK_KHR_8bit_storage";
262#[doc(hidden)] pub const EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME: &str = "VK_EXT_external_memory_host";
263#[doc(hidden)] pub const AMD_BUFFER_MARKER_EXTENSION_NAME: &str = "VK_AMD_buffer_marker";
264#[doc(hidden)] pub const KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME: &str = "VK_KHR_shader_atomic_int64";
265#[doc(hidden)] pub const EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME: &str = "VK_EXT_calibrated_timestamps";
266#[doc(hidden)] pub const AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME: &str = "VK_AMD_shader_core_properties";
267#[doc(hidden)] pub const AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME: &str = "VK_AMD_memory_overallocation_behavior";
268#[doc(hidden)] pub const EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME: &str = "VK_EXT_vertex_attribute_divisor";
269#[doc(hidden)] pub const KHR_DRIVER_PROPERTIES_EXTENSION_NAME: &str = "VK_KHR_driver_properties";
270#[doc(hidden)] pub const KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME: &str = "VK_KHR_shader_float_controls";
271#[doc(hidden)] pub const NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME: &str = "VK_NV_shader_subgroup_partitioned";
272#[doc(hidden)] pub const KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME: &str = "VK_KHR_swapchain_mutable_format";
273#[doc(hidden)] pub const NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME: &str = "VK_NV_compute_shader_derivatives";
274#[doc(hidden)] pub const NV_MESH_SHADER_EXTENSION_NAME: &str = "VK_NV_mesh_shader";
275#[doc(hidden)] pub const NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME: &str = "VK_NV_fragment_shader_barycentric";
276#[doc(hidden)] pub const NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME: &str = "VK_NV_shader_image_footprint";
277#[doc(hidden)] pub const NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME: &str = "VK_NV_scissor_exclusive";
278#[doc(hidden)] pub const NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME: &str = "VK_NV_device_diagnostic_checkpoints";
279#[doc(hidden)] pub const KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME: &str = "VK_KHR_vulkan_memory_model";
280#[doc(hidden)] pub const EXT_PCI_BUS_INFO_EXTENSION_NAME: &str = "VK_EXT_pci_bus_info";
281#[doc(hidden)] pub const FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME: &str = "VK_FUCHSIA_imagepipe_surface";
282#[doc(hidden)] pub const EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME: &str = "VK_EXT_fragment_density_map";
283#[doc(hidden)] pub const EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME: &str = "VK_EXT_scalar_block_layout";
284#[doc(hidden)] pub const EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME: &str = "VK_EXT_separate_stencil_usage";
285
286
287#[doc(hidden)] pub const NULL_HANDLE: u64 = 0;
288#[doc(hidden)] pub type Instance = u64;
289#[doc(hidden)] pub type PhysicalDevice = u64;
290#[doc(hidden)] pub type Device = u64;
291#[doc(hidden)] pub type Queue = u64;
292#[doc(hidden)] pub type CommandBuffer = u64;
293#[doc(hidden)] pub type DeviceMemory = u64;
294#[doc(hidden)] pub type CommandPool = u64;
295#[doc(hidden)] pub type Buffer = u64;
296#[doc(hidden)] pub type BufferView = u64;
297#[doc(hidden)] pub type Image = u64;
298#[doc(hidden)] pub type ImageView = u64;
299#[doc(hidden)] pub type ShaderModule = u64;
300#[doc(hidden)] pub type Pipeline = u64;
301#[doc(hidden)] pub type PipelineLayout = u64;
302#[doc(hidden)] pub type Sampler = u64;
303#[doc(hidden)] pub type DescriptorSet = u64;
304#[doc(hidden)] pub type DescriptorSetLayout = u64;
305#[doc(hidden)] pub type DescriptorPool = u64;
306#[doc(hidden)] pub type Fence = u64;
307#[doc(hidden)] pub type Semaphore = u64;
308#[doc(hidden)] pub type Event = u64;
309#[doc(hidden)] pub type QueryPool = u64;
310#[doc(hidden)] pub type Framebuffer = u64;
311#[doc(hidden)] pub type RenderPass = u64;
312#[doc(hidden)] pub type PipelineCache = u64;
313#[doc(hidden)] pub type ObjectTableNVX = u64;
314#[doc(hidden)] pub type IndirectCommandsLayoutNVX = u64;
315#[doc(hidden)] pub type DescriptorUpdateTemplate = u64;
316#[doc(hidden)] pub type SamplerYcbcrConversion = u64;
317#[doc(hidden)] pub type ValidationCacheEXT = u64;
318#[doc(hidden)] pub type AccelerationStructureNV = u64;
319#[doc(hidden)] pub type DisplayKHR = u64;
320#[doc(hidden)] pub type DisplayModeKHR = u64;
321#[doc(hidden)] pub type SurfaceKHR = u64;
322#[doc(hidden)] pub type SwapchainKHR = u64;
323#[doc(hidden)] pub type DebugReportCallbackEXT = u64;
324#[doc(hidden)] pub type DebugUtilsMessengerEXT = u64;
325
326
327#[doc(hidden)] pub type PFN_vkVoidFunction = extern "system" fn() -> ();
328
329#[doc(hidden)] pub type PFN_vkInternalAllocationNotification = extern "system" fn(*mut c_void, usize, InternalAllocationType, SystemAllocationScope) -> ();
330
331#[doc(hidden)] pub type PFN_vkInternalFreeNotification = extern "system" fn(*mut c_void, usize, InternalAllocationType, SystemAllocationScope) -> ();
332
333#[doc(hidden)] pub type PFN_vkReallocationFunction = extern "system" fn(*mut c_void, *mut c_void, usize, usize, SystemAllocationScope) -> *mut c_void;
334
335#[doc(hidden)] pub type PFN_vkAllocationFunction = extern "system" fn(*mut c_void, usize, usize, SystemAllocationScope) -> *mut c_void;
336
337#[doc(hidden)] pub type PFN_vkFreeFunction = extern "system" fn(*mut c_void, *mut c_void) -> ();
338
339#[doc(hidden)] pub type PFN_vkDebugReportCallbackEXT = extern "system" fn(flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: usize, messageCode: i32, pLayerPrefix: *mut c_char, pMessage: *mut c_char, pUserData: *mut c_void) -> Bool32;
340
341#[doc(hidden)] pub type PFN_vkDebugUtilsMessengerCallbackEXT = extern "system" fn(messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: *const DebugUtilsMessengerCallbackDataEXT, pUserData: *mut c_void) -> Bool32;
342
343
344
345#[doc(hidden)] pub type FramebufferCreateFlags = Flags;
346
347#[doc(hidden)] pub type QueryPoolCreateFlags = Flags;
348
349#[doc(hidden)] pub type RenderPassCreateFlags = Flags;
350
351#[doc(hidden)] pub type SamplerCreateFlags = Flags;
352
353#[doc(hidden)] pub type PipelineLayoutCreateFlags = Flags;
354
355#[doc(hidden)] pub type PipelineCacheCreateFlags = Flags;
356
357#[doc(hidden)] pub type PipelineDepthStencilStateCreateFlags = Flags;
358
359#[doc(hidden)] pub type PipelineDynamicStateCreateFlags = Flags;
360
361#[doc(hidden)] pub type PipelineColorBlendStateCreateFlags = Flags;
362
363#[doc(hidden)] pub type PipelineMultisampleStateCreateFlags = Flags;
364
365#[doc(hidden)] pub type PipelineRasterizationStateCreateFlags = Flags;
366
367#[doc(hidden)] pub type PipelineViewportStateCreateFlags = Flags;
368
369#[doc(hidden)] pub type PipelineTessellationStateCreateFlags = Flags;
370
371#[doc(hidden)] pub type PipelineInputAssemblyStateCreateFlags = Flags;
372
373#[doc(hidden)] pub type PipelineVertexInputStateCreateFlags = Flags;
374
375#[doc(hidden)] pub type PipelineShaderStageCreateFlags = Flags;
376
377#[doc(hidden)] pub type DescriptorSetLayoutCreateFlags = Flags;
378
379#[doc(hidden)] pub type BufferViewCreateFlags = Flags;
380
381#[doc(hidden)] pub type InstanceCreateFlags = Flags;
382
383#[doc(hidden)] pub type DeviceCreateFlags = Flags;
384
385#[doc(hidden)] pub type DeviceQueueCreateFlags = Flags;
386
387#[doc(hidden)] pub type QueueFlags = Flags;
388
389#[doc(hidden)] pub type MemoryPropertyFlags = Flags;
390
391#[doc(hidden)] pub type MemoryHeapFlags = Flags;
392
393#[doc(hidden)] pub type AccessFlags = Flags;
394
395#[doc(hidden)] pub type BufferUsageFlags = Flags;
396
397#[doc(hidden)] pub type BufferCreateFlags = Flags;
398
399#[doc(hidden)] pub type ShaderStageFlags = Flags;
400
401#[doc(hidden)] pub type ImageUsageFlags = Flags;
402
403#[doc(hidden)] pub type ImageCreateFlags = Flags;
404
405#[doc(hidden)] pub type ImageViewCreateFlags = Flags;
406
407#[doc(hidden)] pub type PipelineCreateFlags = Flags;
408
409#[doc(hidden)] pub type ColorComponentFlags = Flags;
410
411#[doc(hidden)] pub type FenceCreateFlags = Flags;
412
413#[doc(hidden)] pub type SemaphoreCreateFlags = Flags;
414
415#[doc(hidden)] pub type FormatFeatureFlags = Flags;
416
417#[doc(hidden)] pub type QueryControlFlags = Flags;
418
419#[doc(hidden)] pub type QueryResultFlags = Flags;
420
421#[doc(hidden)] pub type ShaderModuleCreateFlags = Flags;
422
423#[doc(hidden)] pub type EventCreateFlags = Flags;
424
425#[doc(hidden)] pub type CommandPoolCreateFlags = Flags;
426
427#[doc(hidden)] pub type CommandPoolResetFlags = Flags;
428
429#[doc(hidden)] pub type CommandBufferResetFlags = Flags;
430
431#[doc(hidden)] pub type CommandBufferUsageFlags = Flags;
432
433#[doc(hidden)] pub type QueryPipelineStatisticFlags = Flags;
434
435#[doc(hidden)] pub type MemoryMapFlags = Flags;
436
437#[doc(hidden)] pub type ImageAspectFlags = Flags;
438
439#[doc(hidden)] pub type SparseMemoryBindFlags = Flags;
440
441#[doc(hidden)] pub type SparseImageFormatFlags = Flags;
442
443#[doc(hidden)] pub type SubpassDescriptionFlags = Flags;
444
445#[doc(hidden)] pub type PipelineStageFlags = Flags;
446
447#[doc(hidden)] pub type SampleCountFlags = Flags;
448
449#[doc(hidden)] pub type AttachmentDescriptionFlags = Flags;
450
451#[doc(hidden)] pub type StencilFaceFlags = Flags;
452
453#[doc(hidden)] pub type CullModeFlags = Flags;
454
455#[doc(hidden)] pub type DescriptorPoolCreateFlags = Flags;
456
457#[doc(hidden)] pub type DescriptorPoolResetFlags = Flags;
458
459#[doc(hidden)] pub type DependencyFlags = Flags;
460
461#[doc(hidden)] pub type SubgroupFeatureFlags = Flags;
462
463#[doc(hidden)] pub type IndirectCommandsLayoutUsageFlagsNVX = Flags;
464
465#[doc(hidden)] pub type ObjectEntryUsageFlagsNVX = Flags;
466
467#[doc(hidden)] pub type GeometryFlagsNV = Flags;
468
469#[doc(hidden)] pub type GeometryInstanceFlagsNV = Flags;
470
471#[doc(hidden)] pub type BuildAccelerationStructureFlagsNV = Flags;
472
473#[doc(hidden)] pub type DescriptorUpdateTemplateCreateFlags = Flags;
474
475#[doc(hidden)] pub type CompositeAlphaFlagsKHR = Flags;
476
477#[doc(hidden)] pub type DisplayPlaneAlphaFlagsKHR = Flags;
478
479#[doc(hidden)] pub type SurfaceTransformFlagsKHR = Flags;
480
481#[doc(hidden)] pub type SwapchainCreateFlagsKHR = Flags;
482
483#[doc(hidden)] pub type DisplayModeCreateFlagsKHR = Flags;
484
485#[doc(hidden)] pub type DisplaySurfaceCreateFlagsKHR = Flags;
486
487#[doc(hidden)] pub type AndroidSurfaceCreateFlagsKHR = Flags;
488
489#[doc(hidden)] pub type ViSurfaceCreateFlagsNN = Flags;
490
491#[doc(hidden)] pub type WaylandSurfaceCreateFlagsKHR = Flags;
492
493#[doc(hidden)] pub type Win32SurfaceCreateFlagsKHR = Flags;
494
495#[doc(hidden)] pub type XlibSurfaceCreateFlagsKHR = Flags;
496
497#[doc(hidden)] pub type XcbSurfaceCreateFlagsKHR = Flags;
498
499#[doc(hidden)] pub type IOSSurfaceCreateFlagsMVK = Flags;
500
501#[doc(hidden)] pub type MacOSSurfaceCreateFlagsMVK = Flags;
502
503#[doc(hidden)] pub type ImagePipeSurfaceCreateFlagsFUCHSIA = Flags;
504
505#[doc(hidden)] pub type PeerMemoryFeatureFlags = Flags;
506
507#[doc(hidden)] pub type MemoryAllocateFlags = Flags;
508
509#[doc(hidden)] pub type DeviceGroupPresentModeFlagsKHR = Flags;
510
511#[doc(hidden)] pub type DebugReportFlagsEXT = Flags;
512
513#[doc(hidden)] pub type CommandPoolTrimFlags = Flags;
514
515#[doc(hidden)] pub type ExternalMemoryHandleTypeFlagsNV = Flags;
516
517#[doc(hidden)] pub type ExternalMemoryFeatureFlagsNV = Flags;
518
519#[doc(hidden)] pub type ExternalMemoryHandleTypeFlags = Flags;
520
521#[doc(hidden)] pub type ExternalMemoryFeatureFlags = Flags;
522
523#[doc(hidden)] pub type ExternalSemaphoreHandleTypeFlags = Flags;
524
525#[doc(hidden)] pub type ExternalSemaphoreFeatureFlags = Flags;
526
527#[doc(hidden)] pub type SemaphoreImportFlags = Flags;
528
529#[doc(hidden)] pub type ExternalFenceHandleTypeFlags = Flags;
530
531#[doc(hidden)] pub type ExternalFenceFeatureFlags = Flags;
532
533#[doc(hidden)] pub type FenceImportFlags = Flags;
534
535#[doc(hidden)] pub type SurfaceCounterFlagsEXT = Flags;
536
537#[doc(hidden)] pub type PipelineViewportSwizzleStateCreateFlagsNV = Flags;
538
539#[doc(hidden)] pub type PipelineDiscardRectangleStateCreateFlagsEXT = Flags;
540
541#[doc(hidden)] pub type PipelineCoverageToColorStateCreateFlagsNV = Flags;
542
543#[doc(hidden)] pub type PipelineCoverageModulationStateCreateFlagsNV = Flags;
544
545#[doc(hidden)] pub type ValidationCacheCreateFlagsEXT = Flags;
546
547#[doc(hidden)] pub type DebugUtilsMessageSeverityFlagsEXT = Flags;
548
549#[doc(hidden)] pub type DebugUtilsMessageTypeFlagsEXT = Flags;
550
551#[doc(hidden)] pub type DebugUtilsMessengerCreateFlagsEXT = Flags;
552
553#[doc(hidden)] pub type DebugUtilsMessengerCallbackDataFlagsEXT = Flags;
554
555#[doc(hidden)] pub type PipelineRasterizationConservativeStateCreateFlagsEXT = Flags;
556
557#[doc(hidden)] pub type DescriptorBindingFlagsEXT = Flags;
558
559#[doc(hidden)] pub type ConditionalRenderingFlagsEXT = Flags;
560
561#[doc(hidden)] pub type PipelineRasterizationStateStreamCreateFlagsEXT = Flags;
562
563#[doc(hidden)] pub type AttachmentLoadOp = u32;
564#[doc(hidden)] pub const ATTACHMENT_LOAD_OP_LOAD: u32 = 0u32;
565#[doc(hidden)] pub const ATTACHMENT_LOAD_OP_CLEAR: u32 = 1u32;
566#[doc(hidden)] pub const ATTACHMENT_LOAD_OP_DONT_CARE: u32 = 2u32;
567
568#[doc(hidden)] pub type AttachmentStoreOp = u32;
569#[doc(hidden)] pub const ATTACHMENT_STORE_OP_STORE: u32 = 0u32;
570#[doc(hidden)] pub const ATTACHMENT_STORE_OP_DONT_CARE: u32 = 1u32;
571
572#[doc(hidden)] pub type BlendFactor = u32;
573#[doc(hidden)] pub const BLEND_FACTOR_ZERO: u32 = 0u32;
574#[doc(hidden)] pub const BLEND_FACTOR_ONE: u32 = 1u32;
575#[doc(hidden)] pub const BLEND_FACTOR_SRC_COLOR: u32 = 2u32;
576#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_SRC_COLOR: u32 = 3u32;
577#[doc(hidden)] pub const BLEND_FACTOR_DST_COLOR: u32 = 4u32;
578#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_DST_COLOR: u32 = 5u32;
579#[doc(hidden)] pub const BLEND_FACTOR_SRC_ALPHA: u32 = 6u32;
580#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: u32 = 7u32;
581#[doc(hidden)] pub const BLEND_FACTOR_DST_ALPHA: u32 = 8u32;
582#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_DST_ALPHA: u32 = 9u32;
583#[doc(hidden)] pub const BLEND_FACTOR_CONSTANT_COLOR: u32 = 10u32;
584#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: u32 = 11u32;
585#[doc(hidden)] pub const BLEND_FACTOR_CONSTANT_ALPHA: u32 = 12u32;
586#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: u32 = 13u32;
587#[doc(hidden)] pub const BLEND_FACTOR_SRC_ALPHA_SATURATE: u32 = 14u32;
588#[doc(hidden)] pub const BLEND_FACTOR_SRC1_COLOR: u32 = 15u32;
589#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: u32 = 16u32;
590#[doc(hidden)] pub const BLEND_FACTOR_SRC1_ALPHA: u32 = 17u32;
591#[doc(hidden)] pub const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: u32 = 18u32;
592
593#[doc(hidden)] pub type BlendOp = u32;
594#[doc(hidden)] pub const BLEND_OP_ADD: u32 = 0u32;
595#[doc(hidden)] pub const BLEND_OP_SUBTRACT: u32 = 1u32;
596#[doc(hidden)] pub const BLEND_OP_REVERSE_SUBTRACT: u32 = 2u32;
597#[doc(hidden)] pub const BLEND_OP_MIN: u32 = 3u32;
598#[doc(hidden)] pub const BLEND_OP_MAX: u32 = 4u32;
599#[doc(hidden)] pub const BLEND_OP_ZERO_EXT: u32 = 1000148000u32;
600#[doc(hidden)] pub const BLEND_OP_SRC_EXT: u32 = 1000148001u32;
601#[doc(hidden)] pub const BLEND_OP_DST_EXT: u32 = 1000148002u32;
602#[doc(hidden)] pub const BLEND_OP_SRC_OVER_EXT: u32 = 1000148003u32;
603#[doc(hidden)] pub const BLEND_OP_DST_OVER_EXT: u32 = 1000148004u32;
604#[doc(hidden)] pub const BLEND_OP_SRC_IN_EXT: u32 = 1000148005u32;
605#[doc(hidden)] pub const BLEND_OP_DST_IN_EXT: u32 = 1000148006u32;
606#[doc(hidden)] pub const BLEND_OP_SRC_OUT_EXT: u32 = 1000148007u32;
607#[doc(hidden)] pub const BLEND_OP_DST_OUT_EXT: u32 = 1000148008u32;
608#[doc(hidden)] pub const BLEND_OP_SRC_ATOP_EXT: u32 = 1000148009u32;
609#[doc(hidden)] pub const BLEND_OP_DST_ATOP_EXT: u32 = 1000148010u32;
610#[doc(hidden)] pub const BLEND_OP_XOR_EXT: u32 = 1000148011u32;
611#[doc(hidden)] pub const BLEND_OP_MULTIPLY_EXT: u32 = 1000148012u32;
612#[doc(hidden)] pub const BLEND_OP_SCREEN_EXT: u32 = 1000148013u32;
613#[doc(hidden)] pub const BLEND_OP_OVERLAY_EXT: u32 = 1000148014u32;
614#[doc(hidden)] pub const BLEND_OP_DARKEN_EXT: u32 = 1000148015u32;
615#[doc(hidden)] pub const BLEND_OP_LIGHTEN_EXT: u32 = 1000148016u32;
616#[doc(hidden)] pub const BLEND_OP_COLORDODGE_EXT: u32 = 1000148017u32;
617#[doc(hidden)] pub const BLEND_OP_COLORBURN_EXT: u32 = 1000148018u32;
618#[doc(hidden)] pub const BLEND_OP_HARDLIGHT_EXT: u32 = 1000148019u32;
619#[doc(hidden)] pub const BLEND_OP_SOFTLIGHT_EXT: u32 = 1000148020u32;
620#[doc(hidden)] pub const BLEND_OP_DIFFERENCE_EXT: u32 = 1000148021u32;
621#[doc(hidden)] pub const BLEND_OP_EXCLUSION_EXT: u32 = 1000148022u32;
622#[doc(hidden)] pub const BLEND_OP_INVERT_EXT: u32 = 1000148023u32;
623#[doc(hidden)] pub const BLEND_OP_INVERT_RGB_EXT: u32 = 1000148024u32;
624#[doc(hidden)] pub const BLEND_OP_LINEARDODGE_EXT: u32 = 1000148025u32;
625#[doc(hidden)] pub const BLEND_OP_LINEARBURN_EXT: u32 = 1000148026u32;
626#[doc(hidden)] pub const BLEND_OP_VIVIDLIGHT_EXT: u32 = 1000148027u32;
627#[doc(hidden)] pub const BLEND_OP_LINEARLIGHT_EXT: u32 = 1000148028u32;
628#[doc(hidden)] pub const BLEND_OP_PINLIGHT_EXT: u32 = 1000148029u32;
629#[doc(hidden)] pub const BLEND_OP_HARDMIX_EXT: u32 = 1000148030u32;
630#[doc(hidden)] pub const BLEND_OP_HSL_HUE_EXT: u32 = 1000148031u32;
631#[doc(hidden)] pub const BLEND_OP_HSL_SATURATION_EXT: u32 = 1000148032u32;
632#[doc(hidden)] pub const BLEND_OP_HSL_COLOR_EXT: u32 = 1000148033u32;
633#[doc(hidden)] pub const BLEND_OP_HSL_LUMINOSITY_EXT: u32 = 1000148034u32;
634#[doc(hidden)] pub const BLEND_OP_PLUS_EXT: u32 = 1000148035u32;
635#[doc(hidden)] pub const BLEND_OP_PLUS_CLAMPED_EXT: u32 = 1000148036u32;
636#[doc(hidden)] pub const BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: u32 = 1000148037u32;
637#[doc(hidden)] pub const BLEND_OP_PLUS_DARKER_EXT: u32 = 1000148038u32;
638#[doc(hidden)] pub const BLEND_OP_MINUS_EXT: u32 = 1000148039u32;
639#[doc(hidden)] pub const BLEND_OP_MINUS_CLAMPED_EXT: u32 = 1000148040u32;
640#[doc(hidden)] pub const BLEND_OP_CONTRAST_EXT: u32 = 1000148041u32;
641#[doc(hidden)] pub const BLEND_OP_INVERT_OVG_EXT: u32 = 1000148042u32;
642#[doc(hidden)] pub const BLEND_OP_RED_EXT: u32 = 1000148043u32;
643#[doc(hidden)] pub const BLEND_OP_GREEN_EXT: u32 = 1000148044u32;
644#[doc(hidden)] pub const BLEND_OP_BLUE_EXT: u32 = 1000148045u32;
645
646#[doc(hidden)] pub type BorderColor = u32;
647#[doc(hidden)] pub const BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: u32 = 0u32;
648#[doc(hidden)] pub const BORDER_COLOR_INT_TRANSPARENT_BLACK: u32 = 1u32;
649#[doc(hidden)] pub const BORDER_COLOR_FLOAT_OPAQUE_BLACK: u32 = 2u32;
650#[doc(hidden)] pub const BORDER_COLOR_INT_OPAQUE_BLACK: u32 = 3u32;
651#[doc(hidden)] pub const BORDER_COLOR_FLOAT_OPAQUE_WHITE: u32 = 4u32;
652#[doc(hidden)] pub const BORDER_COLOR_INT_OPAQUE_WHITE: u32 = 5u32;
653
654#[doc(hidden)] pub type SamplerCreateFlagBits = u32;
655#[doc(hidden)] pub const SAMPLER_CREATE_SUBSAMPLED_BIT_EXT: u32 = 0x1u32;
656#[doc(hidden)] pub const SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT: u32 = 0x2u32;
657
658#[doc(hidden)] pub type PipelineCacheHeaderVersion = u32;
659#[doc(hidden)] pub const PIPELINE_CACHE_HEADER_VERSION_ONE: u32 = 1u32;
660
661#[doc(hidden)] pub type DescriptorSetLayoutCreateFlagBits = u32;
662#[doc(hidden)] pub const DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR: u32 = 0x1u32;
663#[doc(hidden)] pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT: u32 = 0x2u32;
664
665#[doc(hidden)] pub type DeviceQueueCreateFlagBits = u32;
666#[doc(hidden)] pub const DEVICE_QUEUE_CREATE_PROTECTED_BIT: u32 = 0x1u32;
667
668#[doc(hidden)] pub type BufferCreateFlagBits = u32;
669#[doc(hidden)] pub const BUFFER_CREATE_SPARSE_BINDING_BIT: u32 = 0x1u32;
670#[doc(hidden)] pub const BUFFER_CREATE_SPARSE_RESIDENCY_BIT: u32 = 0x2u32;
671#[doc(hidden)] pub const BUFFER_CREATE_SPARSE_ALIASED_BIT: u32 = 0x4u32;
672#[doc(hidden)] pub const BUFFER_CREATE_PROTECTED_BIT: u32 = 0x8u32;
673
674#[doc(hidden)] pub type BufferUsageFlagBits = u32;
675#[doc(hidden)] pub const BUFFER_USAGE_TRANSFER_SRC_BIT: u32 = 0x1u32;
676#[doc(hidden)] pub const BUFFER_USAGE_TRANSFER_DST_BIT: u32 = 0x2u32;
677#[doc(hidden)] pub const BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT: u32 = 0x4u32;
678#[doc(hidden)] pub const BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT: u32 = 0x8u32;
679#[doc(hidden)] pub const BUFFER_USAGE_UNIFORM_BUFFER_BIT: u32 = 0x10u32;
680#[doc(hidden)] pub const BUFFER_USAGE_STORAGE_BUFFER_BIT: u32 = 0x20u32;
681#[doc(hidden)] pub const BUFFER_USAGE_INDEX_BUFFER_BIT: u32 = 0x40u32;
682#[doc(hidden)] pub const BUFFER_USAGE_VERTEX_BUFFER_BIT: u32 = 0x80u32;
683#[doc(hidden)] pub const BUFFER_USAGE_INDIRECT_BUFFER_BIT: u32 = 0x100u32;
684#[doc(hidden)] pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT: u32 = 0x800u32;
685#[doc(hidden)] pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT: u32 = 0x1000u32;
686#[doc(hidden)] pub const BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT: u32 = 0x200u32;
687#[doc(hidden)] pub const BUFFER_USAGE_RAY_TRACING_BIT_NV: u32 = 0x400u32;
688
689#[doc(hidden)] pub type ColorComponentFlagBits = u32;
690#[doc(hidden)] pub const COLOR_COMPONENT_R_BIT: u32 = 0x1u32;
691#[doc(hidden)] pub const COLOR_COMPONENT_G_BIT: u32 = 0x2u32;
692#[doc(hidden)] pub const COLOR_COMPONENT_B_BIT: u32 = 0x4u32;
693#[doc(hidden)] pub const COLOR_COMPONENT_A_BIT: u32 = 0x8u32;
694
695#[doc(hidden)] pub type ComponentSwizzle = u32;
696#[doc(hidden)] pub const COMPONENT_SWIZZLE_IDENTITY: u32 = 0u32;
697#[doc(hidden)] pub const COMPONENT_SWIZZLE_ZERO: u32 = 1u32;
698#[doc(hidden)] pub const COMPONENT_SWIZZLE_ONE: u32 = 2u32;
699#[doc(hidden)] pub const COMPONENT_SWIZZLE_R: u32 = 3u32;
700#[doc(hidden)] pub const COMPONENT_SWIZZLE_G: u32 = 4u32;
701#[doc(hidden)] pub const COMPONENT_SWIZZLE_B: u32 = 5u32;
702#[doc(hidden)] pub const COMPONENT_SWIZZLE_A: u32 = 6u32;
703
704#[doc(hidden)] pub type CommandPoolCreateFlagBits = u32;
705#[doc(hidden)] pub const COMMAND_POOL_CREATE_TRANSIENT_BIT: u32 = 0x1u32;
706#[doc(hidden)] pub const COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: u32 = 0x2u32;
707#[doc(hidden)] pub const COMMAND_POOL_CREATE_PROTECTED_BIT: u32 = 0x4u32;
708
709#[doc(hidden)] pub type CommandPoolResetFlagBits = u32;
710#[doc(hidden)] pub const COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: u32 = 0x1u32;
711
712#[doc(hidden)] pub type CommandBufferResetFlagBits = u32;
713#[doc(hidden)] pub const COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: u32 = 0x1u32;
714
715#[doc(hidden)] pub type CommandBufferLevel = u32;
716#[doc(hidden)] pub const COMMAND_BUFFER_LEVEL_PRIMARY: u32 = 0u32;
717#[doc(hidden)] pub const COMMAND_BUFFER_LEVEL_SECONDARY: u32 = 1u32;
718
719#[doc(hidden)] pub type CommandBufferUsageFlagBits = u32;
720#[doc(hidden)] pub const COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: u32 = 0x1u32;
721#[doc(hidden)] pub const COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: u32 = 0x2u32;
722#[doc(hidden)] pub const COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: u32 = 0x4u32;
723
724#[doc(hidden)] pub type CompareOp = u32;
725#[doc(hidden)] pub const COMPARE_OP_NEVER: u32 = 0u32;
726#[doc(hidden)] pub const COMPARE_OP_LESS: u32 = 1u32;
727#[doc(hidden)] pub const COMPARE_OP_EQUAL: u32 = 2u32;
728#[doc(hidden)] pub const COMPARE_OP_LESS_OR_EQUAL: u32 = 3u32;
729#[doc(hidden)] pub const COMPARE_OP_GREATER: u32 = 4u32;
730#[doc(hidden)] pub const COMPARE_OP_NOT_EQUAL: u32 = 5u32;
731#[doc(hidden)] pub const COMPARE_OP_GREATER_OR_EQUAL: u32 = 6u32;
732#[doc(hidden)] pub const COMPARE_OP_ALWAYS: u32 = 7u32;
733
734#[doc(hidden)] pub type CullModeFlagBits = u32;
735#[doc(hidden)] pub const CULL_MODE_NONE: u32 = 0u32;
736#[doc(hidden)] pub const CULL_MODE_FRONT_BIT: u32 = 0x1u32;
737#[doc(hidden)] pub const CULL_MODE_BACK_BIT: u32 = 0x2u32;
738#[doc(hidden)] pub const CULL_MODE_FRONT_AND_BACK: u32 = 0x00000003u32;
739
740#[doc(hidden)] pub type DescriptorType = u32;
741#[doc(hidden)] pub const DESCRIPTOR_TYPE_SAMPLER: u32 = 0u32;
742#[doc(hidden)] pub const DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: u32 = 1u32;
743#[doc(hidden)] pub const DESCRIPTOR_TYPE_SAMPLED_IMAGE: u32 = 2u32;
744#[doc(hidden)] pub const DESCRIPTOR_TYPE_STORAGE_IMAGE: u32 = 3u32;
745#[doc(hidden)] pub const DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: u32 = 4u32;
746#[doc(hidden)] pub const DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: u32 = 5u32;
747#[doc(hidden)] pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER: u32 = 6u32;
748#[doc(hidden)] pub const DESCRIPTOR_TYPE_STORAGE_BUFFER: u32 = 7u32;
749#[doc(hidden)] pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: u32 = 8u32;
750#[doc(hidden)] pub const DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: u32 = 9u32;
751#[doc(hidden)] pub const DESCRIPTOR_TYPE_INPUT_ATTACHMENT: u32 = 10u32;
752#[doc(hidden)] pub const DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: u32 = 1000138000u32;
753#[doc(hidden)] pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: u32 = 1000165000u32;
754
755#[doc(hidden)] pub type DynamicState = u32;
756#[doc(hidden)] pub const DYNAMIC_STATE_VIEWPORT: u32 = 0u32;
757#[doc(hidden)] pub const DYNAMIC_STATE_SCISSOR: u32 = 1u32;
758#[doc(hidden)] pub const DYNAMIC_STATE_LINE_WIDTH: u32 = 2u32;
759#[doc(hidden)] pub const DYNAMIC_STATE_DEPTH_BIAS: u32 = 3u32;
760#[doc(hidden)] pub const DYNAMIC_STATE_BLEND_CONSTANTS: u32 = 4u32;
761#[doc(hidden)] pub const DYNAMIC_STATE_DEPTH_BOUNDS: u32 = 5u32;
762#[doc(hidden)] pub const DYNAMIC_STATE_STENCIL_COMPARE_MASK: u32 = 6u32;
763#[doc(hidden)] pub const DYNAMIC_STATE_STENCIL_WRITE_MASK: u32 = 7u32;
764#[doc(hidden)] pub const DYNAMIC_STATE_STENCIL_REFERENCE: u32 = 8u32;
765#[doc(hidden)] pub const DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: u32 = 1000087000u32;
766#[doc(hidden)] pub const DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: u32 = 1000099000u32;
767#[doc(hidden)] pub const DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: u32 = 1000143000u32;
768#[doc(hidden)] pub const DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: u32 = 1000164004u32;
769#[doc(hidden)] pub const DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: u32 = 1000164006u32;
770#[doc(hidden)] pub const DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: u32 = 1000205001u32;
771
772#[doc(hidden)] pub type FenceCreateFlagBits = u32;
773#[doc(hidden)] pub const FENCE_CREATE_SIGNALED_BIT: u32 = 0x1u32;
774
775#[doc(hidden)] pub type PolygonMode = u32;
776#[doc(hidden)] pub const POLYGON_MODE_FILL: u32 = 0u32;
777#[doc(hidden)] pub const POLYGON_MODE_LINE: u32 = 1u32;
778#[doc(hidden)] pub const POLYGON_MODE_POINT: u32 = 2u32;
779#[doc(hidden)] pub const POLYGON_MODE_FILL_RECTANGLE_NV: u32 = 1000153000u32;
780
781#[doc(hidden)] pub type Format = u32;
782#[doc(hidden)] pub const FORMAT_UNDEFINED: u32 = 0u32;
783#[doc(hidden)] pub const FORMAT_R4G4_UNORM_PACK8: u32 = 1u32;
784#[doc(hidden)] pub const FORMAT_R4G4B4A4_UNORM_PACK16: u32 = 2u32;
785#[doc(hidden)] pub const FORMAT_B4G4R4A4_UNORM_PACK16: u32 = 3u32;
786#[doc(hidden)] pub const FORMAT_R5G6B5_UNORM_PACK16: u32 = 4u32;
787#[doc(hidden)] pub const FORMAT_B5G6R5_UNORM_PACK16: u32 = 5u32;
788#[doc(hidden)] pub const FORMAT_R5G5B5A1_UNORM_PACK16: u32 = 6u32;
789#[doc(hidden)] pub const FORMAT_B5G5R5A1_UNORM_PACK16: u32 = 7u32;
790#[doc(hidden)] pub const FORMAT_A1R5G5B5_UNORM_PACK16: u32 = 8u32;
791#[doc(hidden)] pub const FORMAT_R8_UNORM: u32 = 9u32;
792#[doc(hidden)] pub const FORMAT_R8_SNORM: u32 = 10u32;
793#[doc(hidden)] pub const FORMAT_R8_USCALED: u32 = 11u32;
794#[doc(hidden)] pub const FORMAT_R8_SSCALED: u32 = 12u32;
795#[doc(hidden)] pub const FORMAT_R8_UINT: u32 = 13u32;
796#[doc(hidden)] pub const FORMAT_R8_SINT: u32 = 14u32;
797#[doc(hidden)] pub const FORMAT_R8_SRGB: u32 = 15u32;
798#[doc(hidden)] pub const FORMAT_R8G8_UNORM: u32 = 16u32;
799#[doc(hidden)] pub const FORMAT_R8G8_SNORM: u32 = 17u32;
800#[doc(hidden)] pub const FORMAT_R8G8_USCALED: u32 = 18u32;
801#[doc(hidden)] pub const FORMAT_R8G8_SSCALED: u32 = 19u32;
802#[doc(hidden)] pub const FORMAT_R8G8_UINT: u32 = 20u32;
803#[doc(hidden)] pub const FORMAT_R8G8_SINT: u32 = 21u32;
804#[doc(hidden)] pub const FORMAT_R8G8_SRGB: u32 = 22u32;
805#[doc(hidden)] pub const FORMAT_R8G8B8_UNORM: u32 = 23u32;
806#[doc(hidden)] pub const FORMAT_R8G8B8_SNORM: u32 = 24u32;
807#[doc(hidden)] pub const FORMAT_R8G8B8_USCALED: u32 = 25u32;
808#[doc(hidden)] pub const FORMAT_R8G8B8_SSCALED: u32 = 26u32;
809#[doc(hidden)] pub const FORMAT_R8G8B8_UINT: u32 = 27u32;
810#[doc(hidden)] pub const FORMAT_R8G8B8_SINT: u32 = 28u32;
811#[doc(hidden)] pub const FORMAT_R8G8B8_SRGB: u32 = 29u32;
812#[doc(hidden)] pub const FORMAT_B8G8R8_UNORM: u32 = 30u32;
813#[doc(hidden)] pub const FORMAT_B8G8R8_SNORM: u32 = 31u32;
814#[doc(hidden)] pub const FORMAT_B8G8R8_USCALED: u32 = 32u32;
815#[doc(hidden)] pub const FORMAT_B8G8R8_SSCALED: u32 = 33u32;
816#[doc(hidden)] pub const FORMAT_B8G8R8_UINT: u32 = 34u32;
817#[doc(hidden)] pub const FORMAT_B8G8R8_SINT: u32 = 35u32;
818#[doc(hidden)] pub const FORMAT_B8G8R8_SRGB: u32 = 36u32;
819#[doc(hidden)] pub const FORMAT_R8G8B8A8_UNORM: u32 = 37u32;
820#[doc(hidden)] pub const FORMAT_R8G8B8A8_SNORM: u32 = 38u32;
821#[doc(hidden)] pub const FORMAT_R8G8B8A8_USCALED: u32 = 39u32;
822#[doc(hidden)] pub const FORMAT_R8G8B8A8_SSCALED: u32 = 40u32;
823#[doc(hidden)] pub const FORMAT_R8G8B8A8_UINT: u32 = 41u32;
824#[doc(hidden)] pub const FORMAT_R8G8B8A8_SINT: u32 = 42u32;
825#[doc(hidden)] pub const FORMAT_R8G8B8A8_SRGB: u32 = 43u32;
826#[doc(hidden)] pub const FORMAT_B8G8R8A8_UNORM: u32 = 44u32;
827#[doc(hidden)] pub const FORMAT_B8G8R8A8_SNORM: u32 = 45u32;
828#[doc(hidden)] pub const FORMAT_B8G8R8A8_USCALED: u32 = 46u32;
829#[doc(hidden)] pub const FORMAT_B8G8R8A8_SSCALED: u32 = 47u32;
830#[doc(hidden)] pub const FORMAT_B8G8R8A8_UINT: u32 = 48u32;
831#[doc(hidden)] pub const FORMAT_B8G8R8A8_SINT: u32 = 49u32;
832#[doc(hidden)] pub const FORMAT_B8G8R8A8_SRGB: u32 = 50u32;
833#[doc(hidden)] pub const FORMAT_A8B8G8R8_UNORM_PACK32: u32 = 51u32;
834#[doc(hidden)] pub const FORMAT_A8B8G8R8_SNORM_PACK32: u32 = 52u32;
835#[doc(hidden)] pub const FORMAT_A8B8G8R8_USCALED_PACK32: u32 = 53u32;
836#[doc(hidden)] pub const FORMAT_A8B8G8R8_SSCALED_PACK32: u32 = 54u32;
837#[doc(hidden)] pub const FORMAT_A8B8G8R8_UINT_PACK32: u32 = 55u32;
838#[doc(hidden)] pub const FORMAT_A8B8G8R8_SINT_PACK32: u32 = 56u32;
839#[doc(hidden)] pub const FORMAT_A8B8G8R8_SRGB_PACK32: u32 = 57u32;
840#[doc(hidden)] pub const FORMAT_A2R10G10B10_UNORM_PACK32: u32 = 58u32;
841#[doc(hidden)] pub const FORMAT_A2R10G10B10_SNORM_PACK32: u32 = 59u32;
842#[doc(hidden)] pub const FORMAT_A2R10G10B10_USCALED_PACK32: u32 = 60u32;
843#[doc(hidden)] pub const FORMAT_A2R10G10B10_SSCALED_PACK32: u32 = 61u32;
844#[doc(hidden)] pub const FORMAT_A2R10G10B10_UINT_PACK32: u32 = 62u32;
845#[doc(hidden)] pub const FORMAT_A2R10G10B10_SINT_PACK32: u32 = 63u32;
846#[doc(hidden)] pub const FORMAT_A2B10G10R10_UNORM_PACK32: u32 = 64u32;
847#[doc(hidden)] pub const FORMAT_A2B10G10R10_SNORM_PACK32: u32 = 65u32;
848#[doc(hidden)] pub const FORMAT_A2B10G10R10_USCALED_PACK32: u32 = 66u32;
849#[doc(hidden)] pub const FORMAT_A2B10G10R10_SSCALED_PACK32: u32 = 67u32;
850#[doc(hidden)] pub const FORMAT_A2B10G10R10_UINT_PACK32: u32 = 68u32;
851#[doc(hidden)] pub const FORMAT_A2B10G10R10_SINT_PACK32: u32 = 69u32;
852#[doc(hidden)] pub const FORMAT_R16_UNORM: u32 = 70u32;
853#[doc(hidden)] pub const FORMAT_R16_SNORM: u32 = 71u32;
854#[doc(hidden)] pub const FORMAT_R16_USCALED: u32 = 72u32;
855#[doc(hidden)] pub const FORMAT_R16_SSCALED: u32 = 73u32;
856#[doc(hidden)] pub const FORMAT_R16_UINT: u32 = 74u32;
857#[doc(hidden)] pub const FORMAT_R16_SINT: u32 = 75u32;
858#[doc(hidden)] pub const FORMAT_R16_SFLOAT: u32 = 76u32;
859#[doc(hidden)] pub const FORMAT_R16G16_UNORM: u32 = 77u32;
860#[doc(hidden)] pub const FORMAT_R16G16_SNORM: u32 = 78u32;
861#[doc(hidden)] pub const FORMAT_R16G16_USCALED: u32 = 79u32;
862#[doc(hidden)] pub const FORMAT_R16G16_SSCALED: u32 = 80u32;
863#[doc(hidden)] pub const FORMAT_R16G16_UINT: u32 = 81u32;
864#[doc(hidden)] pub const FORMAT_R16G16_SINT: u32 = 82u32;
865#[doc(hidden)] pub const FORMAT_R16G16_SFLOAT: u32 = 83u32;
866#[doc(hidden)] pub const FORMAT_R16G16B16_UNORM: u32 = 84u32;
867#[doc(hidden)] pub const FORMAT_R16G16B16_SNORM: u32 = 85u32;
868#[doc(hidden)] pub const FORMAT_R16G16B16_USCALED: u32 = 86u32;
869#[doc(hidden)] pub const FORMAT_R16G16B16_SSCALED: u32 = 87u32;
870#[doc(hidden)] pub const FORMAT_R16G16B16_UINT: u32 = 88u32;
871#[doc(hidden)] pub const FORMAT_R16G16B16_SINT: u32 = 89u32;
872#[doc(hidden)] pub const FORMAT_R16G16B16_SFLOAT: u32 = 90u32;
873#[doc(hidden)] pub const FORMAT_R16G16B16A16_UNORM: u32 = 91u32;
874#[doc(hidden)] pub const FORMAT_R16G16B16A16_SNORM: u32 = 92u32;
875#[doc(hidden)] pub const FORMAT_R16G16B16A16_USCALED: u32 = 93u32;
876#[doc(hidden)] pub const FORMAT_R16G16B16A16_SSCALED: u32 = 94u32;
877#[doc(hidden)] pub const FORMAT_R16G16B16A16_UINT: u32 = 95u32;
878#[doc(hidden)] pub const FORMAT_R16G16B16A16_SINT: u32 = 96u32;
879#[doc(hidden)] pub const FORMAT_R16G16B16A16_SFLOAT: u32 = 97u32;
880#[doc(hidden)] pub const FORMAT_R32_UINT: u32 = 98u32;
881#[doc(hidden)] pub const FORMAT_R32_SINT: u32 = 99u32;
882#[doc(hidden)] pub const FORMAT_R32_SFLOAT: u32 = 100u32;
883#[doc(hidden)] pub const FORMAT_R32G32_UINT: u32 = 101u32;
884#[doc(hidden)] pub const FORMAT_R32G32_SINT: u32 = 102u32;
885#[doc(hidden)] pub const FORMAT_R32G32_SFLOAT: u32 = 103u32;
886#[doc(hidden)] pub const FORMAT_R32G32B32_UINT: u32 = 104u32;
887#[doc(hidden)] pub const FORMAT_R32G32B32_SINT: u32 = 105u32;
888#[doc(hidden)] pub const FORMAT_R32G32B32_SFLOAT: u32 = 106u32;
889#[doc(hidden)] pub const FORMAT_R32G32B32A32_UINT: u32 = 107u32;
890#[doc(hidden)] pub const FORMAT_R32G32B32A32_SINT: u32 = 108u32;
891#[doc(hidden)] pub const FORMAT_R32G32B32A32_SFLOAT: u32 = 109u32;
892#[doc(hidden)] pub const FORMAT_R64_UINT: u32 = 110u32;
893#[doc(hidden)] pub const FORMAT_R64_SINT: u32 = 111u32;
894#[doc(hidden)] pub const FORMAT_R64_SFLOAT: u32 = 112u32;
895#[doc(hidden)] pub const FORMAT_R64G64_UINT: u32 = 113u32;
896#[doc(hidden)] pub const FORMAT_R64G64_SINT: u32 = 114u32;
897#[doc(hidden)] pub const FORMAT_R64G64_SFLOAT: u32 = 115u32;
898#[doc(hidden)] pub const FORMAT_R64G64B64_UINT: u32 = 116u32;
899#[doc(hidden)] pub const FORMAT_R64G64B64_SINT: u32 = 117u32;
900#[doc(hidden)] pub const FORMAT_R64G64B64_SFLOAT: u32 = 118u32;
901#[doc(hidden)] pub const FORMAT_R64G64B64A64_UINT: u32 = 119u32;
902#[doc(hidden)] pub const FORMAT_R64G64B64A64_SINT: u32 = 120u32;
903#[doc(hidden)] pub const FORMAT_R64G64B64A64_SFLOAT: u32 = 121u32;
904#[doc(hidden)] pub const FORMAT_B10G11R11_UFLOAT_PACK32: u32 = 122u32;
905#[doc(hidden)] pub const FORMAT_E5B9G9R9_UFLOAT_PACK32: u32 = 123u32;
906#[doc(hidden)] pub const FORMAT_D16_UNORM: u32 = 124u32;
907#[doc(hidden)] pub const FORMAT_X8_D24_UNORM_PACK32: u32 = 125u32;
908#[doc(hidden)] pub const FORMAT_D32_SFLOAT: u32 = 126u32;
909#[doc(hidden)] pub const FORMAT_S8_UINT: u32 = 127u32;
910#[doc(hidden)] pub const FORMAT_D16_UNORM_S8_UINT: u32 = 128u32;
911#[doc(hidden)] pub const FORMAT_D24_UNORM_S8_UINT: u32 = 129u32;
912#[doc(hidden)] pub const FORMAT_D32_SFLOAT_S8_UINT: u32 = 130u32;
913#[doc(hidden)] pub const FORMAT_BC1_RGB_UNORM_BLOCK: u32 = 131u32;
914#[doc(hidden)] pub const FORMAT_BC1_RGB_SRGB_BLOCK: u32 = 132u32;
915#[doc(hidden)] pub const FORMAT_BC1_RGBA_UNORM_BLOCK: u32 = 133u32;
916#[doc(hidden)] pub const FORMAT_BC1_RGBA_SRGB_BLOCK: u32 = 134u32;
917#[doc(hidden)] pub const FORMAT_BC2_UNORM_BLOCK: u32 = 135u32;
918#[doc(hidden)] pub const FORMAT_BC2_SRGB_BLOCK: u32 = 136u32;
919#[doc(hidden)] pub const FORMAT_BC3_UNORM_BLOCK: u32 = 137u32;
920#[doc(hidden)] pub const FORMAT_BC3_SRGB_BLOCK: u32 = 138u32;
921#[doc(hidden)] pub const FORMAT_BC4_UNORM_BLOCK: u32 = 139u32;
922#[doc(hidden)] pub const FORMAT_BC4_SNORM_BLOCK: u32 = 140u32;
923#[doc(hidden)] pub const FORMAT_BC5_UNORM_BLOCK: u32 = 141u32;
924#[doc(hidden)] pub const FORMAT_BC5_SNORM_BLOCK: u32 = 142u32;
925#[doc(hidden)] pub const FORMAT_BC6H_UFLOAT_BLOCK: u32 = 143u32;
926#[doc(hidden)] pub const FORMAT_BC6H_SFLOAT_BLOCK: u32 = 144u32;
927#[doc(hidden)] pub const FORMAT_BC7_UNORM_BLOCK: u32 = 145u32;
928#[doc(hidden)] pub const FORMAT_BC7_SRGB_BLOCK: u32 = 146u32;
929#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8_UNORM_BLOCK: u32 = 147u32;
930#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8_SRGB_BLOCK: u32 = 148u32;
931#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: u32 = 149u32;
932#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: u32 = 150u32;
933#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: u32 = 151u32;
934#[doc(hidden)] pub const FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: u32 = 152u32;
935#[doc(hidden)] pub const FORMAT_EAC_R11_UNORM_BLOCK: u32 = 153u32;
936#[doc(hidden)] pub const FORMAT_EAC_R11_SNORM_BLOCK: u32 = 154u32;
937#[doc(hidden)] pub const FORMAT_EAC_R11G11_UNORM_BLOCK: u32 = 155u32;
938#[doc(hidden)] pub const FORMAT_EAC_R11G11_SNORM_BLOCK: u32 = 156u32;
939#[doc(hidden)] pub const FORMAT_ASTC_4x4_UNORM_BLOCK: u32 = 157u32;
940#[doc(hidden)] pub const FORMAT_ASTC_4x4_SRGB_BLOCK: u32 = 158u32;
941#[doc(hidden)] pub const FORMAT_ASTC_5x4_UNORM_BLOCK: u32 = 159u32;
942#[doc(hidden)] pub const FORMAT_ASTC_5x4_SRGB_BLOCK: u32 = 160u32;
943#[doc(hidden)] pub const FORMAT_ASTC_5x5_UNORM_BLOCK: u32 = 161u32;
944#[doc(hidden)] pub const FORMAT_ASTC_5x5_SRGB_BLOCK: u32 = 162u32;
945#[doc(hidden)] pub const FORMAT_ASTC_6x5_UNORM_BLOCK: u32 = 163u32;
946#[doc(hidden)] pub const FORMAT_ASTC_6x5_SRGB_BLOCK: u32 = 164u32;
947#[doc(hidden)] pub const FORMAT_ASTC_6x6_UNORM_BLOCK: u32 = 165u32;
948#[doc(hidden)] pub const FORMAT_ASTC_6x6_SRGB_BLOCK: u32 = 166u32;
949#[doc(hidden)] pub const FORMAT_ASTC_8x5_UNORM_BLOCK: u32 = 167u32;
950#[doc(hidden)] pub const FORMAT_ASTC_8x5_SRGB_BLOCK: u32 = 168u32;
951#[doc(hidden)] pub const FORMAT_ASTC_8x6_UNORM_BLOCK: u32 = 169u32;
952#[doc(hidden)] pub const FORMAT_ASTC_8x6_SRGB_BLOCK: u32 = 170u32;
953#[doc(hidden)] pub const FORMAT_ASTC_8x8_UNORM_BLOCK: u32 = 171u32;
954#[doc(hidden)] pub const FORMAT_ASTC_8x8_SRGB_BLOCK: u32 = 172u32;
955#[doc(hidden)] pub const FORMAT_ASTC_10x5_UNORM_BLOCK: u32 = 173u32;
956#[doc(hidden)] pub const FORMAT_ASTC_10x5_SRGB_BLOCK: u32 = 174u32;
957#[doc(hidden)] pub const FORMAT_ASTC_10x6_UNORM_BLOCK: u32 = 175u32;
958#[doc(hidden)] pub const FORMAT_ASTC_10x6_SRGB_BLOCK: u32 = 176u32;
959#[doc(hidden)] pub const FORMAT_ASTC_10x8_UNORM_BLOCK: u32 = 177u32;
960#[doc(hidden)] pub const FORMAT_ASTC_10x8_SRGB_BLOCK: u32 = 178u32;
961#[doc(hidden)] pub const FORMAT_ASTC_10x10_UNORM_BLOCK: u32 = 179u32;
962#[doc(hidden)] pub const FORMAT_ASTC_10x10_SRGB_BLOCK: u32 = 180u32;
963#[doc(hidden)] pub const FORMAT_ASTC_12x10_UNORM_BLOCK: u32 = 181u32;
964#[doc(hidden)] pub const FORMAT_ASTC_12x10_SRGB_BLOCK: u32 = 182u32;
965#[doc(hidden)] pub const FORMAT_ASTC_12x12_UNORM_BLOCK: u32 = 183u32;
966#[doc(hidden)] pub const FORMAT_ASTC_12x12_SRGB_BLOCK: u32 = 184u32;
967#[doc(hidden)] pub const FORMAT_G8B8G8R8_422_UNORM: u32 = 1000156000u32;
968#[doc(hidden)] pub const FORMAT_B8G8R8G8_422_UNORM: u32 = 1000156001u32;
969#[doc(hidden)] pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM: u32 = 1000156002u32;
970#[doc(hidden)] pub const FORMAT_G8_B8R8_2PLANE_420_UNORM: u32 = 1000156003u32;
971#[doc(hidden)] pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM: u32 = 1000156004u32;
972#[doc(hidden)] pub const FORMAT_G8_B8R8_2PLANE_422_UNORM: u32 = 1000156005u32;
973#[doc(hidden)] pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM: u32 = 1000156006u32;
974#[doc(hidden)] pub const FORMAT_R10X6_UNORM_PACK16: u32 = 1000156007u32;
975#[doc(hidden)] pub const FORMAT_R10X6G10X6_UNORM_2PACK16: u32 = 1000156008u32;
976#[doc(hidden)] pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: u32 = 1000156009u32;
977#[doc(hidden)] pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: u32 = 1000156010u32;
978#[doc(hidden)] pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: u32 = 1000156011u32;
979#[doc(hidden)] pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: u32 = 1000156012u32;
980#[doc(hidden)] pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: u32 = 1000156013u32;
981#[doc(hidden)] pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: u32 = 1000156014u32;
982#[doc(hidden)] pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: u32 = 1000156015u32;
983#[doc(hidden)] pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: u32 = 1000156016u32;
984#[doc(hidden)] pub const FORMAT_R12X4_UNORM_PACK16: u32 = 1000156017u32;
985#[doc(hidden)] pub const FORMAT_R12X4G12X4_UNORM_2PACK16: u32 = 1000156018u32;
986#[doc(hidden)] pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: u32 = 1000156019u32;
987#[doc(hidden)] pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: u32 = 1000156020u32;
988#[doc(hidden)] pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: u32 = 1000156021u32;
989#[doc(hidden)] pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: u32 = 1000156022u32;
990#[doc(hidden)] pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: u32 = 1000156023u32;
991#[doc(hidden)] pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: u32 = 1000156024u32;
992#[doc(hidden)] pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: u32 = 1000156025u32;
993#[doc(hidden)] pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: u32 = 1000156026u32;
994#[doc(hidden)] pub const FORMAT_G16B16G16R16_422_UNORM: u32 = 1000156027u32;
995#[doc(hidden)] pub const FORMAT_B16G16R16G16_422_UNORM: u32 = 1000156028u32;
996#[doc(hidden)] pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM: u32 = 1000156029u32;
997#[doc(hidden)] pub const FORMAT_G16_B16R16_2PLANE_420_UNORM: u32 = 1000156030u32;
998#[doc(hidden)] pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM: u32 = 1000156031u32;
999#[doc(hidden)] pub const FORMAT_G16_B16R16_2PLANE_422_UNORM: u32 = 1000156032u32;
1000#[doc(hidden)] pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM: u32 = 1000156033u32;
1001#[doc(hidden)] pub const FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: u32 = 1000054000u32;
1002#[doc(hidden)] pub const FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: u32 = 1000054001u32;
1003#[doc(hidden)] pub const FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: u32 = 1000054002u32;
1004#[doc(hidden)] pub const FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: u32 = 1000054003u32;
1005#[doc(hidden)] pub const FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: u32 = 1000054004u32;
1006#[doc(hidden)] pub const FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: u32 = 1000054005u32;
1007#[doc(hidden)] pub const FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: u32 = 1000054006u32;
1008#[doc(hidden)] pub const FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: u32 = 1000054007u32;
1009
1010#[doc(hidden)] pub type FormatFeatureFlagBits = u32;
1011#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_BIT: u32 = 0x1u32;
1012#[doc(hidden)] pub const FORMAT_FEATURE_STORAGE_IMAGE_BIT: u32 = 0x2u32;
1013#[doc(hidden)] pub const FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT: u32 = 0x4u32;
1014#[doc(hidden)] pub const FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT: u32 = 0x8u32;
1015#[doc(hidden)] pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT: u32 = 0x10u32;
1016#[doc(hidden)] pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT: u32 = 0x20u32;
1017#[doc(hidden)] pub const FORMAT_FEATURE_VERTEX_BUFFER_BIT: u32 = 0x40u32;
1018#[doc(hidden)] pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BIT: u32 = 0x80u32;
1019#[doc(hidden)] pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT: u32 = 0x100u32;
1020#[doc(hidden)] pub const FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT: u32 = 0x200u32;
1021#[doc(hidden)] pub const FORMAT_FEATURE_BLIT_SRC_BIT: u32 = 0x400u32;
1022#[doc(hidden)] pub const FORMAT_FEATURE_BLIT_DST_BIT: u32 = 0x800u32;
1023#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT: u32 = 0x1000u32;
1024#[doc(hidden)] pub const FORMAT_FEATURE_TRANSFER_SRC_BIT: u32 = 0x4000u32;
1025#[doc(hidden)] pub const FORMAT_FEATURE_TRANSFER_DST_BIT: u32 = 0x8000u32;
1026#[doc(hidden)] pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT: u32 = 0x20000u32;
1027#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT: u32 = 0x40000u32;
1028#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT: u32 = 0x80000u32;
1029#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT: u32 = 0x100000u32;
1030#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT: u32 = 0x200000u32;
1031#[doc(hidden)] pub const FORMAT_FEATURE_DISJOINT_BIT: u32 = 0x400000u32;
1032#[doc(hidden)] pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT: u32 = 0x800000u32;
1033#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG: u32 = 0x2000u32;
1034#[doc(hidden)] pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT: u32 = 0x10000u32;
1035#[doc(hidden)] pub const FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT: u32 = 0x1000000u32;
1036
1037#[doc(hidden)] pub type FrontFace = u32;
1038#[doc(hidden)] pub const FRONT_FACE_COUNTER_CLOCKWISE: u32 = 0u32;
1039#[doc(hidden)] pub const FRONT_FACE_CLOCKWISE: u32 = 1u32;
1040
1041#[doc(hidden)] pub type ImageAspectFlagBits = u32;
1042#[doc(hidden)] pub const IMAGE_ASPECT_COLOR_BIT: u32 = 0x1u32;
1043#[doc(hidden)] pub const IMAGE_ASPECT_DEPTH_BIT: u32 = 0x2u32;
1044#[doc(hidden)] pub const IMAGE_ASPECT_STENCIL_BIT: u32 = 0x4u32;
1045#[doc(hidden)] pub const IMAGE_ASPECT_METADATA_BIT: u32 = 0x8u32;
1046#[doc(hidden)] pub const IMAGE_ASPECT_PLANE_0_BIT: u32 = 0x10u32;
1047#[doc(hidden)] pub const IMAGE_ASPECT_PLANE_1_BIT: u32 = 0x20u32;
1048#[doc(hidden)] pub const IMAGE_ASPECT_PLANE_2_BIT: u32 = 0x40u32;
1049#[doc(hidden)] pub const IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: u32 = 0x80u32;
1050#[doc(hidden)] pub const IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: u32 = 0x100u32;
1051#[doc(hidden)] pub const IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: u32 = 0x200u32;
1052#[doc(hidden)] pub const IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: u32 = 0x400u32;
1053
1054#[doc(hidden)] pub type ImageCreateFlagBits = u32;
1055#[doc(hidden)] pub const IMAGE_CREATE_SPARSE_BINDING_BIT: u32 = 0x1u32;
1056#[doc(hidden)] pub const IMAGE_CREATE_SPARSE_RESIDENCY_BIT: u32 = 0x2u32;
1057#[doc(hidden)] pub const IMAGE_CREATE_SPARSE_ALIASED_BIT: u32 = 0x4u32;
1058#[doc(hidden)] pub const IMAGE_CREATE_MUTABLE_FORMAT_BIT: u32 = 0x8u32;
1059#[doc(hidden)] pub const IMAGE_CREATE_CUBE_COMPATIBLE_BIT: u32 = 0x10u32;
1060#[doc(hidden)] pub const IMAGE_CREATE_ALIAS_BIT: u32 = 0x400u32;
1061#[doc(hidden)] pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT: u32 = 0x40u32;
1062#[doc(hidden)] pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT: u32 = 0x20u32;
1063#[doc(hidden)] pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT: u32 = 0x80u32;
1064#[doc(hidden)] pub const IMAGE_CREATE_EXTENDED_USAGE_BIT: u32 = 0x100u32;
1065#[doc(hidden)] pub const IMAGE_CREATE_PROTECTED_BIT: u32 = 0x800u32;
1066#[doc(hidden)] pub const IMAGE_CREATE_DISJOINT_BIT: u32 = 0x200u32;
1067#[doc(hidden)] pub const IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: u32 = 0x2000u32;
1068#[doc(hidden)] pub const IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT: u32 = 0x1000u32;
1069#[doc(hidden)] pub const IMAGE_CREATE_SUBSAMPLED_BIT_EXT: u32 = 0x4000u32;
1070
1071#[doc(hidden)] pub type ImageLayout = u32;
1072#[doc(hidden)] pub const IMAGE_LAYOUT_UNDEFINED: u32 = 0u32;
1073#[doc(hidden)] pub const IMAGE_LAYOUT_GENERAL: u32 = 1u32;
1074#[doc(hidden)] pub const IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: u32 = 2u32;
1075#[doc(hidden)] pub const IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: u32 = 3u32;
1076#[doc(hidden)] pub const IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: u32 = 4u32;
1077#[doc(hidden)] pub const IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: u32 = 5u32;
1078#[doc(hidden)] pub const IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: u32 = 6u32;
1079#[doc(hidden)] pub const IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: u32 = 7u32;
1080#[doc(hidden)] pub const IMAGE_LAYOUT_PREINITIALIZED: u32 = 8u32;
1081#[doc(hidden)] pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: u32 = 1000117000u32;
1082#[doc(hidden)] pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: u32 = 1000117001u32;
1083#[doc(hidden)] pub const IMAGE_LAYOUT_PRESENT_SRC_KHR: u32 = 1000001002u32;
1084#[doc(hidden)] pub const IMAGE_LAYOUT_SHARED_PRESENT_KHR: u32 = 1000111000u32;
1085#[doc(hidden)] pub const IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: u32 = 1000164003u32;
1086#[doc(hidden)] pub const IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: u32 = 1000218000u32;
1087
1088#[doc(hidden)] pub type ImageTiling = u32;
1089#[doc(hidden)] pub const IMAGE_TILING_OPTIMAL: u32 = 0u32;
1090#[doc(hidden)] pub const IMAGE_TILING_LINEAR: u32 = 1u32;
1091#[doc(hidden)] pub const IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: u32 = 1000158000u32;
1092
1093#[doc(hidden)] pub type ImageType = u32;
1094#[doc(hidden)] pub const IMAGE_TYPE_1D: u32 = 0u32;
1095#[doc(hidden)] pub const IMAGE_TYPE_2D: u32 = 1u32;
1096#[doc(hidden)] pub const IMAGE_TYPE_3D: u32 = 2u32;
1097
1098#[doc(hidden)] pub type ImageUsageFlagBits = u32;
1099#[doc(hidden)] pub const IMAGE_USAGE_TRANSFER_SRC_BIT: u32 = 0x1u32;
1100#[doc(hidden)] pub const IMAGE_USAGE_TRANSFER_DST_BIT: u32 = 0x2u32;
1101#[doc(hidden)] pub const IMAGE_USAGE_SAMPLED_BIT: u32 = 0x4u32;
1102#[doc(hidden)] pub const IMAGE_USAGE_STORAGE_BIT: u32 = 0x8u32;
1103#[doc(hidden)] pub const IMAGE_USAGE_COLOR_ATTACHMENT_BIT: u32 = 0x10u32;
1104#[doc(hidden)] pub const IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT: u32 = 0x20u32;
1105#[doc(hidden)] pub const IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT: u32 = 0x40u32;
1106#[doc(hidden)] pub const IMAGE_USAGE_INPUT_ATTACHMENT_BIT: u32 = 0x80u32;
1107#[doc(hidden)] pub const IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV: u32 = 0x100u32;
1108#[doc(hidden)] pub const IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT: u32 = 0x200u32;
1109
1110#[doc(hidden)] pub type ImageViewCreateFlagBits = u32;
1111#[doc(hidden)] pub const IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT: u32 = 0x1u32;
1112
1113#[doc(hidden)] pub type ImageViewType = u32;
1114#[doc(hidden)] pub const IMAGE_VIEW_TYPE_1D: u32 = 0u32;
1115#[doc(hidden)] pub const IMAGE_VIEW_TYPE_2D: u32 = 1u32;
1116#[doc(hidden)] pub const IMAGE_VIEW_TYPE_3D: u32 = 2u32;
1117#[doc(hidden)] pub const IMAGE_VIEW_TYPE_CUBE: u32 = 3u32;
1118#[doc(hidden)] pub const IMAGE_VIEW_TYPE_1D_ARRAY: u32 = 4u32;
1119#[doc(hidden)] pub const IMAGE_VIEW_TYPE_2D_ARRAY: u32 = 5u32;
1120#[doc(hidden)] pub const IMAGE_VIEW_TYPE_CUBE_ARRAY: u32 = 6u32;
1121
1122#[doc(hidden)] pub type SharingMode = u32;
1123#[doc(hidden)] pub const SHARING_MODE_EXCLUSIVE: u32 = 0u32;
1124#[doc(hidden)] pub const SHARING_MODE_CONCURRENT: u32 = 1u32;
1125
1126#[doc(hidden)] pub type IndexType = u32;
1127#[doc(hidden)] pub const INDEX_TYPE_UINT16: u32 = 0u32;
1128#[doc(hidden)] pub const INDEX_TYPE_UINT32: u32 = 1u32;
1129#[doc(hidden)] pub const INDEX_TYPE_NONE_NV: u32 = 1000165000u32;
1130
1131#[doc(hidden)] pub type LogicOp = u32;
1132#[doc(hidden)] pub const LOGIC_OP_CLEAR: u32 = 0u32;
1133#[doc(hidden)] pub const LOGIC_OP_AND: u32 = 1u32;
1134#[doc(hidden)] pub const LOGIC_OP_AND_REVERSE: u32 = 2u32;
1135#[doc(hidden)] pub const LOGIC_OP_COPY: u32 = 3u32;
1136#[doc(hidden)] pub const LOGIC_OP_AND_INVERTED: u32 = 4u32;
1137#[doc(hidden)] pub const LOGIC_OP_NO_OP: u32 = 5u32;
1138#[doc(hidden)] pub const LOGIC_OP_XOR: u32 = 6u32;
1139#[doc(hidden)] pub const LOGIC_OP_OR: u32 = 7u32;
1140#[doc(hidden)] pub const LOGIC_OP_NOR: u32 = 8u32;
1141#[doc(hidden)] pub const LOGIC_OP_EQUIVALENT: u32 = 9u32;
1142#[doc(hidden)] pub const LOGIC_OP_INVERT: u32 = 10u32;
1143#[doc(hidden)] pub const LOGIC_OP_OR_REVERSE: u32 = 11u32;
1144#[doc(hidden)] pub const LOGIC_OP_COPY_INVERTED: u32 = 12u32;
1145#[doc(hidden)] pub const LOGIC_OP_OR_INVERTED: u32 = 13u32;
1146#[doc(hidden)] pub const LOGIC_OP_NAND: u32 = 14u32;
1147#[doc(hidden)] pub const LOGIC_OP_SET: u32 = 15u32;
1148
1149#[doc(hidden)] pub type MemoryHeapFlagBits = u32;
1150#[doc(hidden)] pub const MEMORY_HEAP_DEVICE_LOCAL_BIT: u32 = 0x1u32;
1151#[doc(hidden)] pub const MEMORY_HEAP_MULTI_INSTANCE_BIT: u32 = 0x2u32;
1152
1153#[doc(hidden)] pub type AccessFlagBits = u32;
1154#[doc(hidden)] pub const ACCESS_INDIRECT_COMMAND_READ_BIT: u32 = 0x1u32;
1155#[doc(hidden)] pub const ACCESS_INDEX_READ_BIT: u32 = 0x2u32;
1156#[doc(hidden)] pub const ACCESS_VERTEX_ATTRIBUTE_READ_BIT: u32 = 0x4u32;
1157#[doc(hidden)] pub const ACCESS_UNIFORM_READ_BIT: u32 = 0x8u32;
1158#[doc(hidden)] pub const ACCESS_INPUT_ATTACHMENT_READ_BIT: u32 = 0x10u32;
1159#[doc(hidden)] pub const ACCESS_SHADER_READ_BIT: u32 = 0x20u32;
1160#[doc(hidden)] pub const ACCESS_SHADER_WRITE_BIT: u32 = 0x40u32;
1161#[doc(hidden)] pub const ACCESS_COLOR_ATTACHMENT_READ_BIT: u32 = 0x80u32;
1162#[doc(hidden)] pub const ACCESS_COLOR_ATTACHMENT_WRITE_BIT: u32 = 0x100u32;
1163#[doc(hidden)] pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: u32 = 0x200u32;
1164#[doc(hidden)] pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: u32 = 0x400u32;
1165#[doc(hidden)] pub const ACCESS_TRANSFER_READ_BIT: u32 = 0x800u32;
1166#[doc(hidden)] pub const ACCESS_TRANSFER_WRITE_BIT: u32 = 0x1000u32;
1167#[doc(hidden)] pub const ACCESS_HOST_READ_BIT: u32 = 0x2000u32;
1168#[doc(hidden)] pub const ACCESS_HOST_WRITE_BIT: u32 = 0x4000u32;
1169#[doc(hidden)] pub const ACCESS_MEMORY_READ_BIT: u32 = 0x8000u32;
1170#[doc(hidden)] pub const ACCESS_MEMORY_WRITE_BIT: u32 = 0x10000u32;
1171#[doc(hidden)] pub const ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: u32 = 0x2000000u32;
1172#[doc(hidden)] pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: u32 = 0x4000000u32;
1173#[doc(hidden)] pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: u32 = 0x8000000u32;
1174#[doc(hidden)] pub const ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: u32 = 0x100000u32;
1175#[doc(hidden)] pub const ACCESS_COMMAND_PROCESS_READ_BIT_NVX: u32 = 0x20000u32;
1176#[doc(hidden)] pub const ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX: u32 = 0x40000u32;
1177#[doc(hidden)] pub const ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: u32 = 0x80000u32;
1178#[doc(hidden)] pub const ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV: u32 = 0x800000u32;
1179#[doc(hidden)] pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV: u32 = 0x200000u32;
1180#[doc(hidden)] pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV: u32 = 0x400000u32;
1181#[doc(hidden)] pub const ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: u32 = 0x1000000u32;
1182
1183#[doc(hidden)] pub type MemoryPropertyFlagBits = u32;
1184#[doc(hidden)] pub const MEMORY_PROPERTY_DEVICE_LOCAL_BIT: u32 = 0x1u32;
1185#[doc(hidden)] pub const MEMORY_PROPERTY_HOST_VISIBLE_BIT: u32 = 0x2u32;
1186#[doc(hidden)] pub const MEMORY_PROPERTY_HOST_COHERENT_BIT: u32 = 0x4u32;
1187#[doc(hidden)] pub const MEMORY_PROPERTY_HOST_CACHED_BIT: u32 = 0x8u32;
1188#[doc(hidden)] pub const MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT: u32 = 0x10u32;
1189#[doc(hidden)] pub const MEMORY_PROPERTY_PROTECTED_BIT: u32 = 0x20u32;
1190
1191#[doc(hidden)] pub type PhysicalDeviceType = u32;
1192#[doc(hidden)] pub const PHYSICAL_DEVICE_TYPE_OTHER: u32 = 0u32;
1193#[doc(hidden)] pub const PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: u32 = 1u32;
1194#[doc(hidden)] pub const PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: u32 = 2u32;
1195#[doc(hidden)] pub const PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: u32 = 3u32;
1196#[doc(hidden)] pub const PHYSICAL_DEVICE_TYPE_CPU: u32 = 4u32;
1197
1198#[doc(hidden)] pub type PipelineBindPoint = u32;
1199#[doc(hidden)] pub const PIPELINE_BIND_POINT_GRAPHICS: u32 = 0u32;
1200#[doc(hidden)] pub const PIPELINE_BIND_POINT_COMPUTE: u32 = 1u32;
1201#[doc(hidden)] pub const PIPELINE_BIND_POINT_RAY_TRACING_NV: u32 = 1000165000u32;
1202
1203#[doc(hidden)] pub type PipelineCreateFlagBits = u32;
1204#[doc(hidden)] pub const PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT: u32 = 0x1u32;
1205#[doc(hidden)] pub const PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT: u32 = 0x2u32;
1206#[doc(hidden)] pub const PIPELINE_CREATE_DERIVATIVE_BIT: u32 = 0x4u32;
1207#[doc(hidden)] pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT: u32 = 0x8u32;
1208#[doc(hidden)] pub const PIPELINE_CREATE_DISPATCH_BASE: u32 = 0x10u32;
1209#[doc(hidden)] pub const PIPELINE_CREATE_DEFER_COMPILE_BIT_NV: u32 = 0x20u32;
1210
1211#[doc(hidden)] pub type PrimitiveTopology = u32;
1212#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_POINT_LIST: u32 = 0u32;
1213#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_LINE_LIST: u32 = 1u32;
1214#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_LINE_STRIP: u32 = 2u32;
1215#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: u32 = 3u32;
1216#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: u32 = 4u32;
1217#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: u32 = 5u32;
1218#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: u32 = 6u32;
1219#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: u32 = 7u32;
1220#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: u32 = 8u32;
1221#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: u32 = 9u32;
1222#[doc(hidden)] pub const PRIMITIVE_TOPOLOGY_PATCH_LIST: u32 = 10u32;
1223
1224#[doc(hidden)] pub type QueryControlFlagBits = u32;
1225#[doc(hidden)] pub const QUERY_CONTROL_PRECISE_BIT: u32 = 0x1u32;
1226
1227#[doc(hidden)] pub type QueryPipelineStatisticFlagBits = u32;
1228#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT: u32 = 0x1u32;
1229#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT: u32 = 0x2u32;
1230#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT: u32 = 0x4u32;
1231#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT: u32 = 0x8u32;
1232#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT: u32 = 0x10u32;
1233#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT: u32 = 0x20u32;
1234#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT: u32 = 0x40u32;
1235#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT: u32 = 0x80u32;
1236#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT: u32 = 0x100u32;
1237#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT: u32 = 0x200u32;
1238#[doc(hidden)] pub const QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT: u32 = 0x400u32;
1239
1240#[doc(hidden)] pub type QueryResultFlagBits = u32;
1241#[doc(hidden)] pub const QUERY_RESULT_64_BIT: u32 = 0x1u32;
1242#[doc(hidden)] pub const QUERY_RESULT_WAIT_BIT: u32 = 0x2u32;
1243#[doc(hidden)] pub const QUERY_RESULT_WITH_AVAILABILITY_BIT: u32 = 0x4u32;
1244#[doc(hidden)] pub const QUERY_RESULT_PARTIAL_BIT: u32 = 0x8u32;
1245
1246#[doc(hidden)] pub type QueryType = u32;
1247#[doc(hidden)] pub const QUERY_TYPE_OCCLUSION: u32 = 0u32;
1248#[doc(hidden)] pub const QUERY_TYPE_PIPELINE_STATISTICS: u32 = 1u32;
1249#[doc(hidden)] pub const QUERY_TYPE_TIMESTAMP: u32 = 2u32;
1250#[doc(hidden)] pub const QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: u32 = 1000028004u32;
1251#[doc(hidden)] pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: u32 = 1000165000u32;
1252
1253#[doc(hidden)] pub type QueueFlagBits = u32;
1254#[doc(hidden)] pub const QUEUE_GRAPHICS_BIT: u32 = 0x1u32;
1255#[doc(hidden)] pub const QUEUE_COMPUTE_BIT: u32 = 0x2u32;
1256#[doc(hidden)] pub const QUEUE_TRANSFER_BIT: u32 = 0x4u32;
1257#[doc(hidden)] pub const QUEUE_SPARSE_BINDING_BIT: u32 = 0x8u32;
1258#[doc(hidden)] pub const QUEUE_PROTECTED_BIT: u32 = 0x10u32;
1259
1260#[doc(hidden)] pub type SubpassContents = u32;
1261#[doc(hidden)] pub const SUBPASS_CONTENTS_INLINE: u32 = 0u32;
1262#[doc(hidden)] pub const SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: u32 = 1u32;
1263
1264#[doc(hidden)] pub type Result = u32;
1265#[doc(hidden)] pub const SUCCESS: u32 = 0u32;
1266#[doc(hidden)] pub const NOT_READY: u32 = 1u32;
1267#[doc(hidden)] pub const TIMEOUT: u32 = 2u32;
1268#[doc(hidden)] pub const EVENT_SET: u32 = 3u32;
1269#[doc(hidden)] pub const EVENT_RESET: u32 = 4u32;
1270#[doc(hidden)] pub const INCOMPLETE: u32 = 5u32;
1271#[doc(hidden)] pub const ERROR_OUT_OF_HOST_MEMORY: u32 = -1i32 as u32;
1272#[doc(hidden)] pub const ERROR_OUT_OF_DEVICE_MEMORY: u32 = -2i32 as u32;
1273#[doc(hidden)] pub const ERROR_INITIALIZATION_FAILED: u32 = -3i32 as u32;
1274#[doc(hidden)] pub const ERROR_DEVICE_LOST: u32 = -4i32 as u32;
1275#[doc(hidden)] pub const ERROR_MEMORY_MAP_FAILED: u32 = -5i32 as u32;
1276#[doc(hidden)] pub const ERROR_LAYER_NOT_PRESENT: u32 = -6i32 as u32;
1277#[doc(hidden)] pub const ERROR_EXTENSION_NOT_PRESENT: u32 = -7i32 as u32;
1278#[doc(hidden)] pub const ERROR_FEATURE_NOT_PRESENT: u32 = -8i32 as u32;
1279#[doc(hidden)] pub const ERROR_INCOMPATIBLE_DRIVER: u32 = -9i32 as u32;
1280#[doc(hidden)] pub const ERROR_TOO_MANY_OBJECTS: u32 = -10i32 as u32;
1281#[doc(hidden)] pub const ERROR_FORMAT_NOT_SUPPORTED: u32 = -11i32 as u32;
1282#[doc(hidden)] pub const ERROR_FRAGMENTED_POOL: u32 = -12i32 as u32;
1283#[doc(hidden)] pub const ERROR_OUT_OF_POOL_MEMORY: u32 = -1000069000i32 as u32;
1284#[doc(hidden)] pub const ERROR_INVALID_EXTERNAL_HANDLE: u32 = -1000072003i32 as u32;
1285#[doc(hidden)] pub const ERROR_SURFACE_LOST_KHR: u32 = -1000000000i32 as u32;
1286#[doc(hidden)] pub const ERROR_NATIVE_WINDOW_IN_USE_KHR: u32 = -1000000001i32 as u32;
1287#[doc(hidden)] pub const SUBOPTIMAL_KHR: u32 = 1000001003u32;
1288#[doc(hidden)] pub const ERROR_OUT_OF_DATE_KHR: u32 = -1000001004i32 as u32;
1289#[doc(hidden)] pub const ERROR_INCOMPATIBLE_DISPLAY_KHR: u32 = -1000003001i32 as u32;
1290#[doc(hidden)] pub const ERROR_VALIDATION_FAILED_EXT: u32 = -1000011001i32 as u32;
1291#[doc(hidden)] pub const ERROR_INVALID_SHADER_NV: u32 = -1000012000i32 as u32;
1292#[doc(hidden)] pub const ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: u32 = -1000158000i32 as u32;
1293#[doc(hidden)] pub const ERROR_FRAGMENTATION_EXT: u32 = -1000161000i32 as u32;
1294#[doc(hidden)] pub const ERROR_NOT_PERMITTED_EXT: u32 = -1000174001i32 as u32;
1295
1296#[doc(hidden)] pub type ShaderStageFlagBits = u32;
1297#[doc(hidden)] pub const SHADER_STAGE_VERTEX_BIT: u32 = 0x1u32;
1298#[doc(hidden)] pub const SHADER_STAGE_TESSELLATION_CONTROL_BIT: u32 = 0x2u32;
1299#[doc(hidden)] pub const SHADER_STAGE_TESSELLATION_EVALUATION_BIT: u32 = 0x4u32;
1300#[doc(hidden)] pub const SHADER_STAGE_GEOMETRY_BIT: u32 = 0x8u32;
1301#[doc(hidden)] pub const SHADER_STAGE_FRAGMENT_BIT: u32 = 0x10u32;
1302#[doc(hidden)] pub const SHADER_STAGE_COMPUTE_BIT: u32 = 0x20u32;
1303#[doc(hidden)] pub const SHADER_STAGE_ALL_GRAPHICS: u32 = 0x0000001Fu32;
1304#[doc(hidden)] pub const SHADER_STAGE_ALL: u32 = 0x7FFFFFFFu32;
1305#[doc(hidden)] pub const SHADER_STAGE_RAYGEN_BIT_NV: u32 = 0x100u32;
1306#[doc(hidden)] pub const SHADER_STAGE_ANY_HIT_BIT_NV: u32 = 0x200u32;
1307#[doc(hidden)] pub const SHADER_STAGE_CLOSEST_HIT_BIT_NV: u32 = 0x400u32;
1308#[doc(hidden)] pub const SHADER_STAGE_MISS_BIT_NV: u32 = 0x800u32;
1309#[doc(hidden)] pub const SHADER_STAGE_INTERSECTION_BIT_NV: u32 = 0x1000u32;
1310#[doc(hidden)] pub const SHADER_STAGE_CALLABLE_BIT_NV: u32 = 0x2000u32;
1311#[doc(hidden)] pub const SHADER_STAGE_TASK_BIT_NV: u32 = 0x40u32;
1312#[doc(hidden)] pub const SHADER_STAGE_MESH_BIT_NV: u32 = 0x80u32;
1313
1314#[doc(hidden)] pub type SparseMemoryBindFlagBits = u32;
1315#[doc(hidden)] pub const SPARSE_MEMORY_BIND_METADATA_BIT: u32 = 0x1u32;
1316
1317#[doc(hidden)] pub type StencilFaceFlagBits = u32;
1318#[doc(hidden)] pub const STENCIL_FACE_FRONT_BIT: u32 = 0x1u32;
1319#[doc(hidden)] pub const STENCIL_FACE_BACK_BIT: u32 = 0x2u32;
1320#[doc(hidden)] pub const STENCIL_FRONT_AND_BACK: u32 = 0x00000003u32;
1321
1322#[doc(hidden)] pub type StencilOp = u32;
1323#[doc(hidden)] pub const STENCIL_OP_KEEP: u32 = 0u32;
1324#[doc(hidden)] pub const STENCIL_OP_ZERO: u32 = 1u32;
1325#[doc(hidden)] pub const STENCIL_OP_REPLACE: u32 = 2u32;
1326#[doc(hidden)] pub const STENCIL_OP_INCREMENT_AND_CLAMP: u32 = 3u32;
1327#[doc(hidden)] pub const STENCIL_OP_DECREMENT_AND_CLAMP: u32 = 4u32;
1328#[doc(hidden)] pub const STENCIL_OP_INVERT: u32 = 5u32;
1329#[doc(hidden)] pub const STENCIL_OP_INCREMENT_AND_WRAP: u32 = 6u32;
1330#[doc(hidden)] pub const STENCIL_OP_DECREMENT_AND_WRAP: u32 = 7u32;
1331
1332#[doc(hidden)] pub type StructureType = u32;
1333#[doc(hidden)] pub const STRUCTURE_TYPE_APPLICATION_INFO: u32 = 0u32;
1334#[doc(hidden)] pub const STRUCTURE_TYPE_INSTANCE_CREATE_INFO: u32 = 1u32;
1335#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: u32 = 2u32;
1336#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_CREATE_INFO: u32 = 3u32;
1337#[doc(hidden)] pub const STRUCTURE_TYPE_SUBMIT_INFO: u32 = 4u32;
1338#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: u32 = 5u32;
1339#[doc(hidden)] pub const STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: u32 = 6u32;
1340#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_SPARSE_INFO: u32 = 7u32;
1341#[doc(hidden)] pub const STRUCTURE_TYPE_FENCE_CREATE_INFO: u32 = 8u32;
1342#[doc(hidden)] pub const STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: u32 = 9u32;
1343#[doc(hidden)] pub const STRUCTURE_TYPE_EVENT_CREATE_INFO: u32 = 10u32;
1344#[doc(hidden)] pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: u32 = 11u32;
1345#[doc(hidden)] pub const STRUCTURE_TYPE_BUFFER_CREATE_INFO: u32 = 12u32;
1346#[doc(hidden)] pub const STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: u32 = 13u32;
1347#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_CREATE_INFO: u32 = 14u32;
1348#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: u32 = 15u32;
1349#[doc(hidden)] pub const STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: u32 = 16u32;
1350#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: u32 = 17u32;
1351#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: u32 = 18u32;
1352#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: u32 = 19u32;
1353#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: u32 = 20u32;
1354#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: u32 = 21u32;
1355#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: u32 = 22u32;
1356#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: u32 = 23u32;
1357#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: u32 = 24u32;
1358#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: u32 = 25u32;
1359#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: u32 = 26u32;
1360#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: u32 = 27u32;
1361#[doc(hidden)] pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: u32 = 28u32;
1362#[doc(hidden)] pub const STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: u32 = 29u32;
1363#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: u32 = 30u32;
1364#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLER_CREATE_INFO: u32 = 31u32;
1365#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: u32 = 32u32;
1366#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: u32 = 33u32;
1367#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: u32 = 34u32;
1368#[doc(hidden)] pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: u32 = 35u32;
1369#[doc(hidden)] pub const STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: u32 = 36u32;
1370#[doc(hidden)] pub const STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: u32 = 37u32;
1371#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: u32 = 38u32;
1372#[doc(hidden)] pub const STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: u32 = 39u32;
1373#[doc(hidden)] pub const STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: u32 = 40u32;
1374#[doc(hidden)] pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: u32 = 41u32;
1375#[doc(hidden)] pub const STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: u32 = 42u32;
1376#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: u32 = 43u32;
1377#[doc(hidden)] pub const STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: u32 = 44u32;
1378#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: u32 = 45u32;
1379#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_BARRIER: u32 = 46u32;
1380#[doc(hidden)] pub const STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: u32 = 47u32;
1381#[doc(hidden)] pub const STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: u32 = 48u32;
1382#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: u32 = 1000094000u32;
1383#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: u32 = 1000157000u32;
1384#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: u32 = 1000157001u32;
1385#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: u32 = 1000083000u32;
1386#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: u32 = 1000127000u32;
1387#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: u32 = 1000127001u32;
1388#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: u32 = 1000060000u32;
1389#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: u32 = 1000060003u32;
1390#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: u32 = 1000060004u32;
1391#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: u32 = 1000060005u32;
1392#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: u32 = 1000060006u32;
1393#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: u32 = 1000060013u32;
1394#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: u32 = 1000060014u32;
1395#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: u32 = 1000070000u32;
1396#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: u32 = 1000070001u32;
1397#[doc(hidden)] pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146000u32;
1398#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146001u32;
1399#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146002u32;
1400#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: u32 = 1000146003u32;
1401#[doc(hidden)] pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: u32 = 1000146004u32;
1402#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: u32 = 1000059000u32;
1403#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: u32 = 1000059001u32;
1404#[doc(hidden)] pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2: u32 = 1000059002u32;
1405#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: u32 = 1000059003u32;
1406#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: u32 = 1000059004u32;
1407#[doc(hidden)] pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: u32 = 1000059005u32;
1408#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: u32 = 1000059006u32;
1409#[doc(hidden)] pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: u32 = 1000059007u32;
1410#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: u32 = 1000059008u32;
1411#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: u32 = 1000117000u32;
1412#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: u32 = 1000117001u32;
1413#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: u32 = 1000117002u32;
1414#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: u32 = 1000117003u32;
1415#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: u32 = 1000053000u32;
1416#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: u32 = 1000053001u32;
1417#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: u32 = 1000053002u32;
1418#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: u32 = 1000120000u32;
1419#[doc(hidden)] pub const STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: u32 = 1000145000u32;
1420#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: u32 = 1000145001u32;
1421#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: u32 = 1000145002u32;
1422#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: u32 = 1000145003u32;
1423#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: u32 = 1000156000u32;
1424#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: u32 = 1000156001u32;
1425#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: u32 = 1000156002u32;
1426#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: u32 = 1000156003u32;
1427#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: u32 = 1000156004u32;
1428#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: u32 = 1000156005u32;
1429#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: u32 = 1000085000u32;
1430#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: u32 = 1000071000u32;
1431#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: u32 = 1000071001u32;
1432#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: u32 = 1000071002u32;
1433#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: u32 = 1000071003u32;
1434#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: u32 = 1000071004u32;
1435#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: u32 = 1000072000u32;
1436#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: u32 = 1000072001u32;
1437#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: u32 = 1000072002u32;
1438#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: u32 = 1000112000u32;
1439#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: u32 = 1000112001u32;
1440#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: u32 = 1000113000u32;
1441#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: u32 = 1000077000u32;
1442#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: u32 = 1000076000u32;
1443#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: u32 = 1000076001u32;
1444#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: u32 = 1000168000u32;
1445#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: u32 = 1000168001u32;
1446#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: u32 = 1000063000u32;
1447#[doc(hidden)] pub const STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000001000u32;
1448#[doc(hidden)] pub const STRUCTURE_TYPE_PRESENT_INFO_KHR: u32 = 1000001001u32;
1449#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: u32 = 1000060007u32;
1450#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000060008u32;
1451#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: u32 = 1000060009u32;
1452#[doc(hidden)] pub const STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: u32 = 1000060010u32;
1453#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: u32 = 1000060011u32;
1454#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000060012u32;
1455#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: u32 = 1000002000u32;
1456#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: u32 = 1000002001u32;
1457#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: u32 = 1000003000u32;
1458#[doc(hidden)] pub const STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: u32 = 1000004000u32;
1459#[doc(hidden)] pub const STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: u32 = 1000005000u32;
1460#[doc(hidden)] pub const STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: u32 = 1000006000u32;
1461#[doc(hidden)] pub const STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: u32 = 1000008000u32;
1462#[doc(hidden)] pub const STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: u32 = 1000009000u32;
1463#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: u32 = 1000011000u32;
1464#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: u32 = 1000018000u32;
1465#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: u32 = 1000022000u32;
1466#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: u32 = 1000022001u32;
1467#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: u32 = 1000022002u32;
1468#[doc(hidden)] pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: u32 = 1000026000u32;
1469#[doc(hidden)] pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: u32 = 1000026001u32;
1470#[doc(hidden)] pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: u32 = 1000026002u32;
1471#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: u32 = 1000028000u32;
1472#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: u32 = 1000028001u32;
1473#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: u32 = 1000028002u32;
1474#[doc(hidden)] pub const STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: u32 = 1000041000u32;
1475#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: u32 = 1000050000u32;
1476#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: u32 = 1000056000u32;
1477#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: u32 = 1000056001u32;
1478#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: u32 = 1000057000u32;
1479#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: u32 = 1000057001u32;
1480#[doc(hidden)] pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: u32 = 1000058000u32;
1481#[doc(hidden)] pub const STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: u32 = 1000061000u32;
1482#[doc(hidden)] pub const STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: u32 = 1000062000u32;
1483#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: u32 = 1000067000u32;
1484#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: u32 = 1000067001u32;
1485#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: u32 = 1000073000u32;
1486#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: u32 = 1000073001u32;
1487#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: u32 = 1000073002u32;
1488#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000073003u32;
1489#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: u32 = 1000074000u32;
1490#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: u32 = 1000074001u32;
1491#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: u32 = 1000074002u32;
1492#[doc(hidden)] pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: u32 = 1000075000u32;
1493#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: u32 = 1000078000u32;
1494#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: u32 = 1000078001u32;
1495#[doc(hidden)] pub const STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: u32 = 1000078002u32;
1496#[doc(hidden)] pub const STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000078003u32;
1497#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: u32 = 1000079000u32;
1498#[doc(hidden)] pub const STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: u32 = 1000079001u32;
1499#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: u32 = 1000080000u32;
1500#[doc(hidden)] pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: u32 = 1000081000u32;
1501#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: u32 = 1000081001u32;
1502#[doc(hidden)] pub const STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: u32 = 1000081002u32;
1503#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: u32 = 1000082000u32;
1504#[doc(hidden)] pub const STRUCTURE_TYPE_PRESENT_REGIONS_KHR: u32 = 1000084000u32;
1505#[doc(hidden)] pub const STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX: u32 = 1000086000u32;
1506#[doc(hidden)] pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX: u32 = 1000086001u32;
1507#[doc(hidden)] pub const STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX: u32 = 1000086002u32;
1508#[doc(hidden)] pub const STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX: u32 = 1000086003u32;
1509#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX: u32 = 1000086004u32;
1510#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX: u32 = 1000086005u32;
1511#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: u32 = 1000087000u32;
1512#[doc(hidden)] pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: u32 = 1000090000u32;
1513#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: u32 = 1000091000u32;
1514#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: u32 = 1000091001u32;
1515#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: u32 = 1000091002u32;
1516#[doc(hidden)] pub const STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: u32 = 1000091003u32;
1517#[doc(hidden)] pub const STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: u32 = 1000092000u32;
1518#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: u32 = 1000097000u32;
1519#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: u32 = 1000098000u32;
1520#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: u32 = 1000099000u32;
1521#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: u32 = 1000099001u32;
1522#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: u32 = 1000101000u32;
1523#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: u32 = 1000101001u32;
1524#[doc(hidden)] pub const STRUCTURE_TYPE_HDR_METADATA_EXT: u32 = 1000105000u32;
1525#[doc(hidden)] pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR: u32 = 1000109000u32;
1526#[doc(hidden)] pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR: u32 = 1000109001u32;
1527#[doc(hidden)] pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR: u32 = 1000109002u32;
1528#[doc(hidden)] pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR: u32 = 1000109003u32;
1529#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR: u32 = 1000109004u32;
1530#[doc(hidden)] pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR: u32 = 1000109005u32;
1531#[doc(hidden)] pub const STRUCTURE_TYPE_SUBPASS_END_INFO_KHR: u32 = 1000109006u32;
1532#[doc(hidden)] pub const STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: u32 = 1000111000u32;
1533#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: u32 = 1000114000u32;
1534#[doc(hidden)] pub const STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: u32 = 1000114001u32;
1535#[doc(hidden)] pub const STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000114002u32;
1536#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: u32 = 1000115000u32;
1537#[doc(hidden)] pub const STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: u32 = 1000115001u32;
1538#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: u32 = 1000119000u32;
1539#[doc(hidden)] pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: u32 = 1000119001u32;
1540#[doc(hidden)] pub const STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: u32 = 1000119002u32;
1541#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: u32 = 1000121000u32;
1542#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: u32 = 1000121001u32;
1543#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: u32 = 1000121002u32;
1544#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: u32 = 1000121003u32;
1545#[doc(hidden)] pub const STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: u32 = 1000121004u32;
1546#[doc(hidden)] pub const STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: u32 = 1000122000u32;
1547#[doc(hidden)] pub const STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: u32 = 1000123000u32;
1548#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: u32 = 1000128000u32;
1549#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: u32 = 1000128001u32;
1550#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: u32 = 1000128002u32;
1551#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: u32 = 1000128003u32;
1552#[doc(hidden)] pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: u32 = 1000128004u32;
1553#[doc(hidden)] pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: u32 = 1000129000u32;
1554#[doc(hidden)] pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: u32 = 1000129001u32;
1555#[doc(hidden)] pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: u32 = 1000129002u32;
1556#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: u32 = 1000129003u32;
1557#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: u32 = 1000129004u32;
1558#[doc(hidden)] pub const STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: u32 = 1000129005u32;
1559#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: u32 = 1000130000u32;
1560#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: u32 = 1000130001u32;
1561#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: u32 = 1000138000u32;
1562#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: u32 = 1000138001u32;
1563#[doc(hidden)] pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: u32 = 1000138002u32;
1564#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: u32 = 1000138003u32;
1565#[doc(hidden)] pub const STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: u32 = 1000143000u32;
1566#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: u32 = 1000143001u32;
1567#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: u32 = 1000143002u32;
1568#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: u32 = 1000143003u32;
1569#[doc(hidden)] pub const STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: u32 = 1000143004u32;
1570#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: u32 = 1000147000u32;
1571#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: u32 = 1000148000u32;
1572#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: u32 = 1000148001u32;
1573#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: u32 = 1000148002u32;
1574#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: u32 = 1000149000u32;
1575#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: u32 = 1000152000u32;
1576#[doc(hidden)] pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: u32 = 1000158000u32;
1577#[doc(hidden)] pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: u32 = 1000158001u32;
1578#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: u32 = 1000158002u32;
1579#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: u32 = 1000158003u32;
1580#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: u32 = 1000158004u32;
1581#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: u32 = 1000158005u32;
1582#[doc(hidden)] pub const STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: u32 = 1000160000u32;
1583#[doc(hidden)] pub const STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: u32 = 1000160001u32;
1584#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: u32 = 1000161000u32;
1585#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: u32 = 1000161001u32;
1586#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: u32 = 1000161002u32;
1587#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: u32 = 1000161003u32;
1588#[doc(hidden)] pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: u32 = 1000161004u32;
1589#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: u32 = 1000164000u32;
1590#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: u32 = 1000164001u32;
1591#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: u32 = 1000164002u32;
1592#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: u32 = 1000164005u32;
1593#[doc(hidden)] pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: u32 = 1000165000u32;
1594#[doc(hidden)] pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: u32 = 1000165001u32;
1595#[doc(hidden)] pub const STRUCTURE_TYPE_GEOMETRY_NV: u32 = 1000165003u32;
1596#[doc(hidden)] pub const STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: u32 = 1000165004u32;
1597#[doc(hidden)] pub const STRUCTURE_TYPE_GEOMETRY_AABB_NV: u32 = 1000165005u32;
1598#[doc(hidden)] pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: u32 = 1000165006u32;
1599#[doc(hidden)] pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: u32 = 1000165007u32;
1600#[doc(hidden)] pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: u32 = 1000165008u32;
1601#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: u32 = 1000165009u32;
1602#[doc(hidden)] pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: u32 = 1000165011u32;
1603#[doc(hidden)] pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: u32 = 1000165012u32;
1604#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: u32 = 1000166000u32;
1605#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: u32 = 1000166001u32;
1606#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: u32 = 1000174000u32;
1607#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: u32 = 1000177000u32;
1608#[doc(hidden)] pub const STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: u32 = 1000178000u32;
1609#[doc(hidden)] pub const STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: u32 = 1000178001u32;
1610#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: u32 = 1000178002u32;
1611#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: u32 = 1000180000u32;
1612#[doc(hidden)] pub const STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: u32 = 1000184000u32;
1613#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: u32 = 1000185000u32;
1614#[doc(hidden)] pub const STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: u32 = 1000189000u32;
1615#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: u32 = 1000190000u32;
1616#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: u32 = 1000190001u32;
1617#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: u32 = 1000190002u32;
1618#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: u32 = 1000196000u32;
1619#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: u32 = 1000197000u32;
1620#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: u32 = 1000201000u32;
1621#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: u32 = 1000202000u32;
1622#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: u32 = 1000202001u32;
1623#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: u32 = 1000203000u32;
1624#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: u32 = 1000204000u32;
1625#[doc(hidden)] pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: u32 = 1000205000u32;
1626#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: u32 = 1000205002u32;
1627#[doc(hidden)] pub const STRUCTURE_TYPE_CHECKPOINT_DATA_NV: u32 = 1000206000u32;
1628#[doc(hidden)] pub const STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: u32 = 1000206001u32;
1629#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: u32 = 1000211000u32;
1630#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: u32 = 1000212000u32;
1631#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: u32 = 1000214000u32;
1632#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: u32 = 1000218000u32;
1633#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: u32 = 1000218001u32;
1634#[doc(hidden)] pub const STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: u32 = 1000218002u32;
1635#[doc(hidden)] pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: u32 = 1000221000u32;
1636#[doc(hidden)] pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: u32 = 1000246000u32;
1637
1638#[doc(hidden)] pub type SystemAllocationScope = u32;
1639#[doc(hidden)] pub const SYSTEM_ALLOCATION_SCOPE_COMMAND: u32 = 0u32;
1640#[doc(hidden)] pub const SYSTEM_ALLOCATION_SCOPE_OBJECT: u32 = 1u32;
1641#[doc(hidden)] pub const SYSTEM_ALLOCATION_SCOPE_CACHE: u32 = 2u32;
1642#[doc(hidden)] pub const SYSTEM_ALLOCATION_SCOPE_DEVICE: u32 = 3u32;
1643#[doc(hidden)] pub const SYSTEM_ALLOCATION_SCOPE_INSTANCE: u32 = 4u32;
1644
1645#[doc(hidden)] pub type InternalAllocationType = u32;
1646#[doc(hidden)] pub const INTERNAL_ALLOCATION_TYPE_EXECUTABLE: u32 = 0u32;
1647
1648#[doc(hidden)] pub type SamplerAddressMode = u32;
1649#[doc(hidden)] pub const SAMPLER_ADDRESS_MODE_REPEAT: u32 = 0u32;
1650#[doc(hidden)] pub const SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: u32 = 1u32;
1651#[doc(hidden)] pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: u32 = 2u32;
1652#[doc(hidden)] pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: u32 = 3u32;
1653
1654#[doc(hidden)] pub type Filter = u32;
1655#[doc(hidden)] pub const FILTER_NEAREST: u32 = 0u32;
1656#[doc(hidden)] pub const FILTER_LINEAR: u32 = 1u32;
1657#[doc(hidden)] pub const FILTER_CUBIC_IMG: u32 = 1000015000u32;
1658
1659#[doc(hidden)] pub type SamplerMipmapMode = u32;
1660#[doc(hidden)] pub const SAMPLER_MIPMAP_MODE_NEAREST: u32 = 0u32;
1661#[doc(hidden)] pub const SAMPLER_MIPMAP_MODE_LINEAR: u32 = 1u32;
1662
1663#[doc(hidden)] pub type VertexInputRate = u32;
1664#[doc(hidden)] pub const VERTEX_INPUT_RATE_VERTEX: u32 = 0u32;
1665#[doc(hidden)] pub const VERTEX_INPUT_RATE_INSTANCE: u32 = 1u32;
1666
1667#[doc(hidden)] pub type PipelineStageFlagBits = u32;
1668#[doc(hidden)] pub const PIPELINE_STAGE_TOP_OF_PIPE_BIT: u32 = 0x1u32;
1669#[doc(hidden)] pub const PIPELINE_STAGE_DRAW_INDIRECT_BIT: u32 = 0x2u32;
1670#[doc(hidden)] pub const PIPELINE_STAGE_VERTEX_INPUT_BIT: u32 = 0x4u32;
1671#[doc(hidden)] pub const PIPELINE_STAGE_VERTEX_SHADER_BIT: u32 = 0x8u32;
1672#[doc(hidden)] pub const PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT: u32 = 0x10u32;
1673#[doc(hidden)] pub const PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT: u32 = 0x20u32;
1674#[doc(hidden)] pub const PIPELINE_STAGE_GEOMETRY_SHADER_BIT: u32 = 0x40u32;
1675#[doc(hidden)] pub const PIPELINE_STAGE_FRAGMENT_SHADER_BIT: u32 = 0x80u32;
1676#[doc(hidden)] pub const PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT: u32 = 0x100u32;
1677#[doc(hidden)] pub const PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT: u32 = 0x200u32;
1678#[doc(hidden)] pub const PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT: u32 = 0x400u32;
1679#[doc(hidden)] pub const PIPELINE_STAGE_COMPUTE_SHADER_BIT: u32 = 0x800u32;
1680#[doc(hidden)] pub const PIPELINE_STAGE_TRANSFER_BIT: u32 = 0x1000u32;
1681#[doc(hidden)] pub const PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT: u32 = 0x2000u32;
1682#[doc(hidden)] pub const PIPELINE_STAGE_HOST_BIT: u32 = 0x4000u32;
1683#[doc(hidden)] pub const PIPELINE_STAGE_ALL_GRAPHICS_BIT: u32 = 0x8000u32;
1684#[doc(hidden)] pub const PIPELINE_STAGE_ALL_COMMANDS_BIT: u32 = 0x10000u32;
1685#[doc(hidden)] pub const PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT: u32 = 0x1000000u32;
1686#[doc(hidden)] pub const PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT: u32 = 0x40000u32;
1687#[doc(hidden)] pub const PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX: u32 = 0x20000u32;
1688#[doc(hidden)] pub const PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV: u32 = 0x400000u32;
1689#[doc(hidden)] pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV: u32 = 0x200000u32;
1690#[doc(hidden)] pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV: u32 = 0x2000000u32;
1691#[doc(hidden)] pub const PIPELINE_STAGE_TASK_SHADER_BIT_NV: u32 = 0x80000u32;
1692#[doc(hidden)] pub const PIPELINE_STAGE_MESH_SHADER_BIT_NV: u32 = 0x100000u32;
1693#[doc(hidden)] pub const PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT: u32 = 0x800000u32;
1694
1695#[doc(hidden)] pub type SparseImageFormatFlagBits = u32;
1696#[doc(hidden)] pub const SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT: u32 = 0x1u32;
1697#[doc(hidden)] pub const SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT: u32 = 0x2u32;
1698#[doc(hidden)] pub const SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT: u32 = 0x4u32;
1699
1700#[doc(hidden)] pub type SampleCountFlagBits = u32;
1701#[doc(hidden)] pub const SAMPLE_COUNT_1_BIT: u32 = 0x1u32;
1702#[doc(hidden)] pub const SAMPLE_COUNT_2_BIT: u32 = 0x2u32;
1703#[doc(hidden)] pub const SAMPLE_COUNT_4_BIT: u32 = 0x4u32;
1704#[doc(hidden)] pub const SAMPLE_COUNT_8_BIT: u32 = 0x8u32;
1705#[doc(hidden)] pub const SAMPLE_COUNT_16_BIT: u32 = 0x10u32;
1706#[doc(hidden)] pub const SAMPLE_COUNT_32_BIT: u32 = 0x20u32;
1707#[doc(hidden)] pub const SAMPLE_COUNT_64_BIT: u32 = 0x40u32;
1708
1709#[doc(hidden)] pub type AttachmentDescriptionFlagBits = u32;
1710#[doc(hidden)] pub const ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT: u32 = 0x1u32;
1711
1712#[doc(hidden)] pub type DescriptorPoolCreateFlagBits = u32;
1713#[doc(hidden)] pub const DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT: u32 = 0x1u32;
1714#[doc(hidden)] pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT: u32 = 0x2u32;
1715
1716#[doc(hidden)] pub type DependencyFlagBits = u32;
1717#[doc(hidden)] pub const DEPENDENCY_BY_REGION_BIT: u32 = 0x1u32;
1718#[doc(hidden)] pub const DEPENDENCY_DEVICE_GROUP_BIT: u32 = 0x4u32;
1719#[doc(hidden)] pub const DEPENDENCY_VIEW_LOCAL_BIT: u32 = 0x2u32;
1720
1721#[doc(hidden)] pub type ObjectType = u32;
1722#[doc(hidden)] pub const OBJECT_TYPE_UNKNOWN: u32 = 0u32;
1723#[doc(hidden)] pub const OBJECT_TYPE_INSTANCE: u32 = 1u32;
1724#[doc(hidden)] pub const OBJECT_TYPE_PHYSICAL_DEVICE: u32 = 2u32;
1725#[doc(hidden)] pub const OBJECT_TYPE_DEVICE: u32 = 3u32;
1726#[doc(hidden)] pub const OBJECT_TYPE_QUEUE: u32 = 4u32;
1727#[doc(hidden)] pub const OBJECT_TYPE_SEMAPHORE: u32 = 5u32;
1728#[doc(hidden)] pub const OBJECT_TYPE_COMMAND_BUFFER: u32 = 6u32;
1729#[doc(hidden)] pub const OBJECT_TYPE_FENCE: u32 = 7u32;
1730#[doc(hidden)] pub const OBJECT_TYPE_DEVICE_MEMORY: u32 = 8u32;
1731#[doc(hidden)] pub const OBJECT_TYPE_BUFFER: u32 = 9u32;
1732#[doc(hidden)] pub const OBJECT_TYPE_IMAGE: u32 = 10u32;
1733#[doc(hidden)] pub const OBJECT_TYPE_EVENT: u32 = 11u32;
1734#[doc(hidden)] pub const OBJECT_TYPE_QUERY_POOL: u32 = 12u32;
1735#[doc(hidden)] pub const OBJECT_TYPE_BUFFER_VIEW: u32 = 13u32;
1736#[doc(hidden)] pub const OBJECT_TYPE_IMAGE_VIEW: u32 = 14u32;
1737#[doc(hidden)] pub const OBJECT_TYPE_SHADER_MODULE: u32 = 15u32;
1738#[doc(hidden)] pub const OBJECT_TYPE_PIPELINE_CACHE: u32 = 16u32;
1739#[doc(hidden)] pub const OBJECT_TYPE_PIPELINE_LAYOUT: u32 = 17u32;
1740#[doc(hidden)] pub const OBJECT_TYPE_RENDER_PASS: u32 = 18u32;
1741#[doc(hidden)] pub const OBJECT_TYPE_PIPELINE: u32 = 19u32;
1742#[doc(hidden)] pub const OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: u32 = 20u32;
1743#[doc(hidden)] pub const OBJECT_TYPE_SAMPLER: u32 = 21u32;
1744#[doc(hidden)] pub const OBJECT_TYPE_DESCRIPTOR_POOL: u32 = 22u32;
1745#[doc(hidden)] pub const OBJECT_TYPE_DESCRIPTOR_SET: u32 = 23u32;
1746#[doc(hidden)] pub const OBJECT_TYPE_FRAMEBUFFER: u32 = 24u32;
1747#[doc(hidden)] pub const OBJECT_TYPE_COMMAND_POOL: u32 = 25u32;
1748#[doc(hidden)] pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: u32 = 1000156000u32;
1749#[doc(hidden)] pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: u32 = 1000085000u32;
1750#[doc(hidden)] pub const OBJECT_TYPE_SURFACE_KHR: u32 = 1000000000u32;
1751#[doc(hidden)] pub const OBJECT_TYPE_SWAPCHAIN_KHR: u32 = 1000001000u32;
1752#[doc(hidden)] pub const OBJECT_TYPE_DISPLAY_KHR: u32 = 1000002000u32;
1753#[doc(hidden)] pub const OBJECT_TYPE_DISPLAY_MODE_KHR: u32 = 1000002001u32;
1754#[doc(hidden)] pub const OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: u32 = 1000011000u32;
1755#[doc(hidden)] pub const OBJECT_TYPE_OBJECT_TABLE_NVX: u32 = 1000086000u32;
1756#[doc(hidden)] pub const OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX: u32 = 1000086001u32;
1757#[doc(hidden)] pub const OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: u32 = 1000128000u32;
1758#[doc(hidden)] pub const OBJECT_TYPE_VALIDATION_CACHE_EXT: u32 = 1000160000u32;
1759#[doc(hidden)] pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: u32 = 1000165000u32;
1760
1761#[doc(hidden)] pub type DescriptorBindingFlagBitsEXT = u32;
1762#[doc(hidden)] pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT: u32 = 0x1u32;
1763#[doc(hidden)] pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT: u32 = 0x2u32;
1764#[doc(hidden)] pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT: u32 = 0x4u32;
1765#[doc(hidden)] pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT: u32 = 0x8u32;
1766
1767#[doc(hidden)] pub type ConditionalRenderingFlagBitsEXT = u32;
1768#[doc(hidden)] pub const CONDITIONAL_RENDERING_INVERTED_BIT_EXT: u32 = 0x1u32;
1769
1770#[doc(hidden)] pub type IndirectCommandsLayoutUsageFlagBitsNVX = u32;
1771#[doc(hidden)] pub const INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX: u32 = 0x1u32;
1772#[doc(hidden)] pub const INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX: u32 = 0x2u32;
1773#[doc(hidden)] pub const INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX: u32 = 0x4u32;
1774#[doc(hidden)] pub const INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX: u32 = 0x8u32;
1775
1776#[doc(hidden)] pub type IndirectCommandsTokenTypeNVX = u32;
1777#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX: u32 = 0u32;
1778#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX: u32 = 1u32;
1779#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX: u32 = 2u32;
1780#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX: u32 = 3u32;
1781#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX: u32 = 4u32;
1782#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX: u32 = 5u32;
1783#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX: u32 = 6u32;
1784#[doc(hidden)] pub const INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX: u32 = 7u32;
1785
1786#[doc(hidden)] pub type ObjectEntryUsageFlagBitsNVX = u32;
1787#[doc(hidden)] pub const OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX: u32 = 0x1u32;
1788#[doc(hidden)] pub const OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX: u32 = 0x2u32;
1789
1790#[doc(hidden)] pub type ObjectEntryTypeNVX = u32;
1791#[doc(hidden)] pub const OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX: u32 = 0u32;
1792#[doc(hidden)] pub const OBJECT_ENTRY_TYPE_PIPELINE_NVX: u32 = 1u32;
1793#[doc(hidden)] pub const OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX: u32 = 2u32;
1794#[doc(hidden)] pub const OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX: u32 = 3u32;
1795#[doc(hidden)] pub const OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX: u32 = 4u32;
1796
1797#[doc(hidden)] pub type DescriptorUpdateTemplateType = u32;
1798#[doc(hidden)] pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: u32 = 0u32;
1799
1800#[doc(hidden)] pub type ViewportCoordinateSwizzleNV = u32;
1801#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV: u32 = 0u32;
1802#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV: u32 = 1u32;
1803#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV: u32 = 2u32;
1804#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV: u32 = 3u32;
1805#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV: u32 = 4u32;
1806#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV: u32 = 5u32;
1807#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV: u32 = 6u32;
1808#[doc(hidden)] pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV: u32 = 7u32;
1809
1810#[doc(hidden)] pub type DiscardRectangleModeEXT = u32;
1811#[doc(hidden)] pub const DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: u32 = 0u32;
1812#[doc(hidden)] pub const DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: u32 = 1u32;
1813
1814#[doc(hidden)] pub type SubpassDescriptionFlagBits = u32;
1815#[doc(hidden)] pub const SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX: u32 = 0x1u32;
1816#[doc(hidden)] pub const SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX: u32 = 0x2u32;
1817
1818#[doc(hidden)] pub type PointClippingBehavior = u32;
1819#[doc(hidden)] pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: u32 = 0u32;
1820#[doc(hidden)] pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: u32 = 1u32;
1821
1822#[doc(hidden)] pub type CoverageModulationModeNV = u32;
1823#[doc(hidden)] pub const COVERAGE_MODULATION_MODE_NONE_NV: u32 = 0u32;
1824#[doc(hidden)] pub const COVERAGE_MODULATION_MODE_RGB_NV: u32 = 1u32;
1825#[doc(hidden)] pub const COVERAGE_MODULATION_MODE_ALPHA_NV: u32 = 2u32;
1826#[doc(hidden)] pub const COVERAGE_MODULATION_MODE_RGBA_NV: u32 = 3u32;
1827
1828#[doc(hidden)] pub type ValidationCacheHeaderVersionEXT = u32;
1829#[doc(hidden)] pub const VALIDATION_CACHE_HEADER_VERSION_ONE_EXT: u32 = 1u32;
1830
1831#[doc(hidden)] pub type ShaderInfoTypeAMD = u32;
1832#[doc(hidden)] pub const SHADER_INFO_TYPE_STATISTICS_AMD: u32 = 0u32;
1833#[doc(hidden)] pub const SHADER_INFO_TYPE_BINARY_AMD: u32 = 1u32;
1834#[doc(hidden)] pub const SHADER_INFO_TYPE_DISASSEMBLY_AMD: u32 = 2u32;
1835
1836#[doc(hidden)] pub type QueueGlobalPriorityEXT = u32;
1837#[doc(hidden)] pub const QUEUE_GLOBAL_PRIORITY_LOW_EXT: u32 = 128u32;
1838#[doc(hidden)] pub const QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: u32 = 256u32;
1839#[doc(hidden)] pub const QUEUE_GLOBAL_PRIORITY_HIGH_EXT: u32 = 512u32;
1840#[doc(hidden)] pub const QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: u32 = 1024u32;
1841
1842#[doc(hidden)] pub type TimeDomainEXT = u32;
1843#[doc(hidden)] pub const TIME_DOMAIN_DEVICE_EXT: u32 = 0u32;
1844#[doc(hidden)] pub const TIME_DOMAIN_CLOCK_MONOTONIC_EXT: u32 = 1u32;
1845#[doc(hidden)] pub const TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: u32 = 2u32;
1846#[doc(hidden)] pub const TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: u32 = 3u32;
1847
1848#[doc(hidden)] pub type ConservativeRasterizationModeEXT = u32;
1849#[doc(hidden)] pub const CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: u32 = 0u32;
1850#[doc(hidden)] pub const CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: u32 = 1u32;
1851#[doc(hidden)] pub const CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: u32 = 2u32;
1852
1853#[doc(hidden)] pub type GeometryFlagBitsNV = u32;
1854#[doc(hidden)] pub const GEOMETRY_OPAQUE_BIT_NV: u32 = 0x1u32;
1855#[doc(hidden)] pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV: u32 = 0x2u32;
1856
1857#[doc(hidden)] pub type GeometryInstanceFlagBitsNV = u32;
1858#[doc(hidden)] pub const GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV: u32 = 0x1u32;
1859#[doc(hidden)] pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV: u32 = 0x2u32;
1860#[doc(hidden)] pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV: u32 = 0x4u32;
1861#[doc(hidden)] pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV: u32 = 0x8u32;
1862
1863#[doc(hidden)] pub type BuildAccelerationStructureFlagBitsNV = u32;
1864#[doc(hidden)] pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV: u32 = 0x1u32;
1865#[doc(hidden)] pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV: u32 = 0x2u32;
1866#[doc(hidden)] pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV: u32 = 0x4u32;
1867#[doc(hidden)] pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV: u32 = 0x8u32;
1868#[doc(hidden)] pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV: u32 = 0x10u32;
1869
1870#[doc(hidden)] pub type CopyAccelerationStructureModeNV = u32;
1871#[doc(hidden)] pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV: u32 = 0u32;
1872#[doc(hidden)] pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV: u32 = 1u32;
1873
1874#[doc(hidden)] pub type AccelerationStructureTypeNV = u32;
1875#[doc(hidden)] pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV: u32 = 0u32;
1876#[doc(hidden)] pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV: u32 = 1u32;
1877
1878#[doc(hidden)] pub type GeometryTypeNV = u32;
1879#[doc(hidden)] pub const GEOMETRY_TYPE_TRIANGLES_NV: u32 = 0u32;
1880#[doc(hidden)] pub const GEOMETRY_TYPE_AABBS_NV: u32 = 1u32;
1881
1882#[doc(hidden)] pub type RayTracingShaderGroupTypeNV = u32;
1883#[doc(hidden)] pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV: u32 = 0u32;
1884#[doc(hidden)] pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV: u32 = 1u32;
1885#[doc(hidden)] pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV: u32 = 2u32;
1886
1887#[doc(hidden)] pub type AccelerationStructureMemoryRequirementsTypeNV = u32;
1888#[doc(hidden)] pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV: u32 = 0u32;
1889#[doc(hidden)] pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV: u32 = 1u32;
1890#[doc(hidden)] pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV: u32 = 2u32;
1891
1892#[doc(hidden)] pub type MemoryOverallocationBehaviorAMD = u32;
1893#[doc(hidden)] pub const MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD: u32 = 0u32;
1894#[doc(hidden)] pub const MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD: u32 = 1u32;
1895#[doc(hidden)] pub const MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD: u32 = 2u32;
1896
1897#[doc(hidden)] pub type ColorSpaceKHR = u32;
1898#[doc(hidden)] pub const COLOR_SPACE_SRGB_NONLINEAR_KHR: u32 = 0u32;
1899#[doc(hidden)] pub const COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: u32 = 1000104001u32;
1900#[doc(hidden)] pub const COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: u32 = 1000104002u32;
1901#[doc(hidden)] pub const COLOR_SPACE_DCI_P3_LINEAR_EXT: u32 = 1000104003u32;
1902#[doc(hidden)] pub const COLOR_SPACE_DCI_P3_NONLINEAR_EXT: u32 = 1000104004u32;
1903#[doc(hidden)] pub const COLOR_SPACE_BT709_LINEAR_EXT: u32 = 1000104005u32;
1904#[doc(hidden)] pub const COLOR_SPACE_BT709_NONLINEAR_EXT: u32 = 1000104006u32;
1905#[doc(hidden)] pub const COLOR_SPACE_BT2020_LINEAR_EXT: u32 = 1000104007u32;
1906#[doc(hidden)] pub const COLOR_SPACE_HDR10_ST2084_EXT: u32 = 1000104008u32;
1907#[doc(hidden)] pub const COLOR_SPACE_DOLBYVISION_EXT: u32 = 1000104009u32;
1908#[doc(hidden)] pub const COLOR_SPACE_HDR10_HLG_EXT: u32 = 1000104010u32;
1909#[doc(hidden)] pub const COLOR_SPACE_ADOBERGB_LINEAR_EXT: u32 = 1000104011u32;
1910#[doc(hidden)] pub const COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: u32 = 1000104012u32;
1911#[doc(hidden)] pub const COLOR_SPACE_PASS_THROUGH_EXT: u32 = 1000104013u32;
1912#[doc(hidden)] pub const COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: u32 = 1000104014u32;
1913
1914#[doc(hidden)] pub type CompositeAlphaFlagBitsKHR = u32;
1915#[doc(hidden)] pub const COMPOSITE_ALPHA_OPAQUE_BIT_KHR: u32 = 0x1u32;
1916#[doc(hidden)] pub const COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: u32 = 0x2u32;
1917#[doc(hidden)] pub const COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: u32 = 0x4u32;
1918#[doc(hidden)] pub const COMPOSITE_ALPHA_INHERIT_BIT_KHR: u32 = 0x8u32;
1919
1920#[doc(hidden)] pub type DisplayPlaneAlphaFlagBitsKHR = u32;
1921#[doc(hidden)] pub const DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR: u32 = 0x1u32;
1922#[doc(hidden)] pub const DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR: u32 = 0x2u32;
1923#[doc(hidden)] pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR: u32 = 0x4u32;
1924#[doc(hidden)] pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR: u32 = 0x8u32;
1925
1926#[doc(hidden)] pub type PresentModeKHR = u32;
1927#[doc(hidden)] pub const PRESENT_MODE_IMMEDIATE_KHR: u32 = 0u32;
1928#[doc(hidden)] pub const PRESENT_MODE_MAILBOX_KHR: u32 = 1u32;
1929#[doc(hidden)] pub const PRESENT_MODE_FIFO_KHR: u32 = 2u32;
1930#[doc(hidden)] pub const PRESENT_MODE_FIFO_RELAXED_KHR: u32 = 3u32;
1931#[doc(hidden)] pub const PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: u32 = 1000111000u32;
1932#[doc(hidden)] pub const PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: u32 = 1000111001u32;
1933
1934#[doc(hidden)] pub type SurfaceTransformFlagBitsKHR = u32;
1935#[doc(hidden)] pub const SURFACE_TRANSFORM_IDENTITY_BIT_KHR: u32 = 0x1u32;
1936#[doc(hidden)] pub const SURFACE_TRANSFORM_ROTATE_90_BIT_KHR: u32 = 0x2u32;
1937#[doc(hidden)] pub const SURFACE_TRANSFORM_ROTATE_180_BIT_KHR: u32 = 0x4u32;
1938#[doc(hidden)] pub const SURFACE_TRANSFORM_ROTATE_270_BIT_KHR: u32 = 0x8u32;
1939#[doc(hidden)] pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR: u32 = 0x10u32;
1940#[doc(hidden)] pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR: u32 = 0x20u32;
1941#[doc(hidden)] pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR: u32 = 0x40u32;
1942#[doc(hidden)] pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR: u32 = 0x80u32;
1943#[doc(hidden)] pub const SURFACE_TRANSFORM_INHERIT_BIT_KHR: u32 = 0x100u32;
1944
1945#[doc(hidden)] pub type DebugReportFlagBitsEXT = u32;
1946#[doc(hidden)] pub const DEBUG_REPORT_INFORMATION_BIT_EXT: u32 = 0x1u32;
1947#[doc(hidden)] pub const DEBUG_REPORT_WARNING_BIT_EXT: u32 = 0x2u32;
1948#[doc(hidden)] pub const DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT: u32 = 0x4u32;
1949#[doc(hidden)] pub const DEBUG_REPORT_ERROR_BIT_EXT: u32 = 0x8u32;
1950#[doc(hidden)] pub const DEBUG_REPORT_DEBUG_BIT_EXT: u32 = 0x10u32;
1951
1952#[doc(hidden)] pub type DebugReportObjectTypeEXT = u32;
1953#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: u32 = 0u32;
1954#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: u32 = 1u32;
1955#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: u32 = 2u32;
1956#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: u32 = 3u32;
1957#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: u32 = 4u32;
1958#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: u32 = 5u32;
1959#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: u32 = 6u32;
1960#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: u32 = 7u32;
1961#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: u32 = 8u32;
1962#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: u32 = 9u32;
1963#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: u32 = 10u32;
1964#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: u32 = 11u32;
1965#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: u32 = 12u32;
1966#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: u32 = 13u32;
1967#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: u32 = 14u32;
1968#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: u32 = 15u32;
1969#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: u32 = 16u32;
1970#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: u32 = 17u32;
1971#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: u32 = 18u32;
1972#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: u32 = 19u32;
1973#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: u32 = 20u32;
1974#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: u32 = 21u32;
1975#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: u32 = 22u32;
1976#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: u32 = 23u32;
1977#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: u32 = 24u32;
1978#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: u32 = 25u32;
1979#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: u32 = 26u32;
1980#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: u32 = 27u32;
1981#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: u32 = 28u32;
1982#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: u32 = 29u32;
1983#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: u32 = 30u32;
1984#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT: u32 = 31u32;
1985#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT: u32 = 32u32;
1986#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: u32 = 33u32;
1987#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: u32 = 1000156000u32;
1988#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: u32 = 1000085000u32;
1989#[doc(hidden)] pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: u32 = 1000165000u32;
1990
1991#[doc(hidden)] pub type RasterizationOrderAMD = u32;
1992#[doc(hidden)] pub const RASTERIZATION_ORDER_STRICT_AMD: u32 = 0u32;
1993#[doc(hidden)] pub const RASTERIZATION_ORDER_RELAXED_AMD: u32 = 1u32;
1994
1995#[doc(hidden)] pub type ExternalMemoryHandleTypeFlagBitsNV = u32;
1996#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV: u32 = 0x1u32;
1997#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV: u32 = 0x2u32;
1998#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV: u32 = 0x4u32;
1999#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV: u32 = 0x8u32;
2000
2001#[doc(hidden)] pub type ExternalMemoryFeatureFlagBitsNV = u32;
2002#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV: u32 = 0x1u32;
2003#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV: u32 = 0x2u32;
2004#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV: u32 = 0x4u32;
2005
2006#[doc(hidden)] pub type ValidationCheckEXT = u32;
2007#[doc(hidden)] pub const VALIDATION_CHECK_ALL_EXT: u32 = 0u32;
2008#[doc(hidden)] pub const VALIDATION_CHECK_SHADERS_EXT: u32 = 1u32;
2009
2010#[doc(hidden)] pub type ExternalMemoryHandleTypeFlagBits = u32;
2011#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT: u32 = 0x1u32;
2012#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT: u32 = 0x2u32;
2013#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: u32 = 0x4u32;
2014#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT: u32 = 0x8u32;
2015#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT: u32 = 0x10u32;
2016#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT: u32 = 0x20u32;
2017#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: u32 = 0x40u32;
2018#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: u32 = 0x200u32;
2019#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID: u32 = 0x400u32;
2020#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT: u32 = 0x80u32;
2021#[doc(hidden)] pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT: u32 = 0x100u32;
2022
2023#[doc(hidden)] pub type ExternalMemoryFeatureFlagBits = u32;
2024#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT: u32 = 0x1u32;
2025#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT: u32 = 0x2u32;
2026#[doc(hidden)] pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT: u32 = 0x4u32;
2027
2028#[doc(hidden)] pub type ExternalSemaphoreHandleTypeFlagBits = u32;
2029#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT: u32 = 0x1u32;
2030#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT: u32 = 0x2u32;
2031#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: u32 = 0x4u32;
2032#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT: u32 = 0x8u32;
2033#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT: u32 = 0x10u32;
2034
2035#[doc(hidden)] pub type ExternalSemaphoreFeatureFlagBits = u32;
2036#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT: u32 = 0x1u32;
2037#[doc(hidden)] pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT: u32 = 0x2u32;
2038
2039#[doc(hidden)] pub type SemaphoreImportFlagBits = u32;
2040#[doc(hidden)] pub const SEMAPHORE_IMPORT_TEMPORARY_BIT: u32 = 0x1u32;
2041
2042#[doc(hidden)] pub type ExternalFenceHandleTypeFlagBits = u32;
2043#[doc(hidden)] pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT: u32 = 0x1u32;
2044#[doc(hidden)] pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT: u32 = 0x2u32;
2045#[doc(hidden)] pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: u32 = 0x4u32;
2046#[doc(hidden)] pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT: u32 = 0x8u32;
2047
2048#[doc(hidden)] pub type ExternalFenceFeatureFlagBits = u32;
2049#[doc(hidden)] pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT: u32 = 0x1u32;
2050#[doc(hidden)] pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT: u32 = 0x2u32;
2051
2052#[doc(hidden)] pub type FenceImportFlagBits = u32;
2053#[doc(hidden)] pub const FENCE_IMPORT_TEMPORARY_BIT: u32 = 0x1u32;
2054
2055#[doc(hidden)] pub type SurfaceCounterFlagBitsEXT = u32;
2056#[doc(hidden)] pub const SURFACE_COUNTER_VBLANK_EXT: u32 = 0x1u32;
2057
2058#[doc(hidden)] pub type DisplayPowerStateEXT = u32;
2059#[doc(hidden)] pub const DISPLAY_POWER_STATE_OFF_EXT: u32 = 0u32;
2060#[doc(hidden)] pub const DISPLAY_POWER_STATE_SUSPEND_EXT: u32 = 1u32;
2061#[doc(hidden)] pub const DISPLAY_POWER_STATE_ON_EXT: u32 = 2u32;
2062
2063#[doc(hidden)] pub type DeviceEventTypeEXT = u32;
2064#[doc(hidden)] pub const DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: u32 = 0u32;
2065
2066#[doc(hidden)] pub type DisplayEventTypeEXT = u32;
2067#[doc(hidden)] pub const DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: u32 = 0u32;
2068
2069#[doc(hidden)] pub type PeerMemoryFeatureFlagBits = u32;
2070#[doc(hidden)] pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT: u32 = 0x1u32;
2071#[doc(hidden)] pub const PEER_MEMORY_FEATURE_COPY_DST_BIT: u32 = 0x2u32;
2072#[doc(hidden)] pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT: u32 = 0x4u32;
2073#[doc(hidden)] pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT: u32 = 0x8u32;
2074
2075#[doc(hidden)] pub type MemoryAllocateFlagBits = u32;
2076#[doc(hidden)] pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT: u32 = 0x1u32;
2077
2078#[doc(hidden)] pub type DeviceGroupPresentModeFlagBitsKHR = u32;
2079#[doc(hidden)] pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR: u32 = 0x1u32;
2080#[doc(hidden)] pub const DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR: u32 = 0x2u32;
2081#[doc(hidden)] pub const DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR: u32 = 0x4u32;
2082#[doc(hidden)] pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR: u32 = 0x8u32;
2083
2084#[doc(hidden)] pub type SwapchainCreateFlagBitsKHR = u32;
2085#[doc(hidden)] pub const SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR: u32 = 0x1u32;
2086#[doc(hidden)] pub const SWAPCHAIN_CREATE_PROTECTED_BIT_KHR: u32 = 0x2u32;
2087#[doc(hidden)] pub const SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR: u32 = 0x4u32;
2088
2089#[doc(hidden)] pub type SubgroupFeatureFlagBits = u32;
2090#[doc(hidden)] pub const SUBGROUP_FEATURE_BASIC_BIT: u32 = 0x1u32;
2091#[doc(hidden)] pub const SUBGROUP_FEATURE_VOTE_BIT: u32 = 0x2u32;
2092#[doc(hidden)] pub const SUBGROUP_FEATURE_ARITHMETIC_BIT: u32 = 0x4u32;
2093#[doc(hidden)] pub const SUBGROUP_FEATURE_BALLOT_BIT: u32 = 0x8u32;
2094#[doc(hidden)] pub const SUBGROUP_FEATURE_SHUFFLE_BIT: u32 = 0x10u32;
2095#[doc(hidden)] pub const SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT: u32 = 0x20u32;
2096#[doc(hidden)] pub const SUBGROUP_FEATURE_CLUSTERED_BIT: u32 = 0x40u32;
2097#[doc(hidden)] pub const SUBGROUP_FEATURE_QUAD_BIT: u32 = 0x80u32;
2098#[doc(hidden)] pub const SUBGROUP_FEATURE_PARTITIONED_BIT_NV: u32 = 0x100u32;
2099
2100#[doc(hidden)] pub type TessellationDomainOrigin = u32;
2101#[doc(hidden)] pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: u32 = 0u32;
2102#[doc(hidden)] pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: u32 = 1u32;
2103
2104#[doc(hidden)] pub type SamplerYcbcrModelConversion = u32;
2105#[doc(hidden)] pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: u32 = 0u32;
2106#[doc(hidden)] pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: u32 = 1u32;
2107#[doc(hidden)] pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: u32 = 2u32;
2108#[doc(hidden)] pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: u32 = 3u32;
2109#[doc(hidden)] pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: u32 = 4u32;
2110
2111#[doc(hidden)] pub type SamplerYcbcrRange = u32;
2112#[doc(hidden)] pub const SAMPLER_YCBCR_RANGE_ITU_FULL: u32 = 0u32;
2113#[doc(hidden)] pub const SAMPLER_YCBCR_RANGE_ITU_NARROW: u32 = 1u32;
2114
2115#[doc(hidden)] pub type ChromaLocation = u32;
2116#[doc(hidden)] pub const CHROMA_LOCATION_COSITED_EVEN: u32 = 0u32;
2117#[doc(hidden)] pub const CHROMA_LOCATION_MIDPOINT: u32 = 1u32;
2118
2119#[doc(hidden)] pub type SamplerReductionModeEXT = u32;
2120#[doc(hidden)] pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT: u32 = 0u32;
2121#[doc(hidden)] pub const SAMPLER_REDUCTION_MODE_MIN_EXT: u32 = 1u32;
2122#[doc(hidden)] pub const SAMPLER_REDUCTION_MODE_MAX_EXT: u32 = 2u32;
2123
2124#[doc(hidden)] pub type BlendOverlapEXT = u32;
2125#[doc(hidden)] pub const BLEND_OVERLAP_UNCORRELATED_EXT: u32 = 0u32;
2126#[doc(hidden)] pub const BLEND_OVERLAP_DISJOINT_EXT: u32 = 1u32;
2127#[doc(hidden)] pub const BLEND_OVERLAP_CONJOINT_EXT: u32 = 2u32;
2128
2129#[doc(hidden)] pub type DebugUtilsMessageSeverityFlagBitsEXT = u32;
2130#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: u32 = 0x1u32;
2131#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: u32 = 0x10u32;
2132#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT: u32 = 0x100u32;
2133#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT: u32 = 0x1000u32;
2134
2135#[doc(hidden)] pub type DebugUtilsMessageTypeFlagBitsEXT = u32;
2136#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT: u32 = 0x1u32;
2137#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT: u32 = 0x2u32;
2138#[doc(hidden)] pub const DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT: u32 = 0x4u32;
2139
2140#[doc(hidden)] pub type VendorId = u32;
2141#[doc(hidden)] pub const VENDOR_ID_VIV: u32 = 0x10001u32;
2142#[doc(hidden)] pub const VENDOR_ID_VSI: u32 = 0x10002u32;
2143#[doc(hidden)] pub const VENDOR_ID_KAZAN: u32 = 0x10003u32;
2144
2145#[doc(hidden)] pub type DriverIdKHR = u32;
2146#[doc(hidden)] pub const DRIVER_ID_AMD_PROPRIETARY_KHR: u32 = 1u32;
2147#[doc(hidden)] pub const DRIVER_ID_AMD_OPEN_SOURCE_KHR: u32 = 2u32;
2148#[doc(hidden)] pub const DRIVER_ID_MESA_RADV_KHR: u32 = 3u32;
2149#[doc(hidden)] pub const DRIVER_ID_NVIDIA_PROPRIETARY_KHR: u32 = 4u32;
2150#[doc(hidden)] pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR: u32 = 5u32;
2151#[doc(hidden)] pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR: u32 = 6u32;
2152#[doc(hidden)] pub const DRIVER_ID_IMAGINATION_PROPRIETARY_KHR: u32 = 7u32;
2153#[doc(hidden)] pub const DRIVER_ID_QUALCOMM_PROPRIETARY_KHR: u32 = 8u32;
2154#[doc(hidden)] pub const DRIVER_ID_ARM_PROPRIETARY_KHR: u32 = 9u32;
2155#[doc(hidden)] pub const DRIVER_ID_GOOGLE_PASTEL_KHR: u32 = 10u32;
2156
2157#[doc(hidden)] pub type ShadingRatePaletteEntryNV = u32;
2158#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV: u32 = 0u32;
2159#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV: u32 = 1u32;
2160#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV: u32 = 2u32;
2161#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV: u32 = 3u32;
2162#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV: u32 = 4u32;
2163#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV: u32 = 5u32;
2164#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV: u32 = 6u32;
2165#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV: u32 = 7u32;
2166#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV: u32 = 8u32;
2167#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV: u32 = 9u32;
2168#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV: u32 = 10u32;
2169#[doc(hidden)] pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV: u32 = 11u32;
2170
2171#[doc(hidden)] pub type CoarseSampleOrderTypeNV = u32;
2172#[doc(hidden)] pub const COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV: u32 = 0u32;
2173#[doc(hidden)] pub const COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV: u32 = 1u32;
2174#[doc(hidden)] pub const COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV: u32 = 2u32;
2175#[doc(hidden)] pub const COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV: u32 = 3u32;
2176
2177
2178
2179#[doc(hidden)]
2180#[repr(C)]
2181#[derive(Copy, Clone)]
2182pub struct BaseOutStructure {
2183  pub sType: StructureType,
2184  pub pNext: *mut BaseOutStructure,
2185}
2186#[doc(hidden)]
2187#[repr(C)]
2188#[derive(Copy, Clone)]
2189pub struct BaseInStructure {
2190  pub sType: StructureType,
2191  pub pNext: *const BaseInStructure,
2192}
2193#[doc(hidden)]
2194#[repr(C)]
2195#[derive(Debug, Copy, Clone)]
2196pub struct Offset2D {
2197  pub x: i32,
2198  pub y: i32,
2199}
2200#[doc(hidden)]
2201#[repr(C)]
2202#[derive(Debug, Copy, Clone)]
2203pub struct Offset3D {
2204  pub x: i32,
2205  pub y: i32,
2206  pub z: i32,
2207}
2208#[doc(hidden)]
2209#[repr(C)]
2210#[derive(Debug, Copy, Clone)]
2211pub struct Extent2D {
2212  pub width: u32,
2213  pub height: u32,
2214}
2215#[doc(hidden)]
2216#[repr(C)]
2217#[derive(Debug, Copy, Clone)]
2218pub struct Extent3D {
2219  pub width: u32,
2220  pub height: u32,
2221  pub depth: u32,
2222}
2223#[doc(hidden)]
2224#[repr(C)]
2225#[derive(Debug, Copy, Clone)]
2226pub struct Viewport {
2227  pub x: f32,
2228  pub y: f32,
2229  pub width: f32,
2230  pub height: f32,
2231  pub minDepth: f32,
2232  pub maxDepth: f32,
2233}
2234#[doc(hidden)]
2235#[repr(C)]
2236#[derive(Debug, Copy, Clone)]
2237pub struct Rect2D {
2238  pub offset: Offset2D,
2239  pub extent: Extent2D,
2240}
2241#[doc(hidden)]
2242#[repr(C)]
2243#[derive(Debug, Copy, Clone)]
2244pub struct ClearRect {
2245  pub rect: Rect2D,
2246  pub baseArrayLayer: u32,
2247  pub layerCount: u32,
2248}
2249#[doc(hidden)]
2250#[repr(C)]
2251#[derive(Debug, Copy, Clone)]
2252pub struct ComponentMapping {
2253  pub r: ComponentSwizzle,
2254  pub g: ComponentSwizzle,
2255  pub b: ComponentSwizzle,
2256  pub a: ComponentSwizzle,
2257}
2258#[doc(hidden)]
2259#[repr(C)]
2260#[derive(Copy, Clone)]
2261pub struct PhysicalDeviceProperties {
2262  pub apiVersion: u32,
2263  pub driverVersion: u32,
2264  pub vendorID: u32,
2265  pub deviceID: u32,
2266  pub deviceType: PhysicalDeviceType,
2267  pub deviceName: [c_char; MAX_PHYSICAL_DEVICE_NAME_SIZE as usize],
2268  pub pipelineCacheUUID: [u8; UUID_SIZE as usize],
2269  pub limits: PhysicalDeviceLimits,
2270  pub sparseProperties: PhysicalDeviceSparseProperties,
2271}
2272#[doc(hidden)]
2273#[repr(C)]
2274#[derive(Copy, Clone)]
2275pub struct ExtensionProperties {
2276  pub extensionName: [c_char; MAX_EXTENSION_NAME_SIZE as usize],
2277  pub specVersion: u32,
2278}
2279#[doc(hidden)]
2280#[repr(C)]
2281#[derive(Copy, Clone)]
2282pub struct LayerProperties {
2283  pub layerName: [c_char; MAX_EXTENSION_NAME_SIZE as usize],
2284  pub specVersion: u32,
2285  pub implementationVersion: u32,
2286  pub description: [c_char; MAX_DESCRIPTION_SIZE as usize],
2287}
2288#[doc(hidden)]
2289#[repr(C)]
2290#[derive(Debug, Copy, Clone)]
2291pub struct ApplicationInfo {
2292  pub sType: StructureType,
2293  pub pNext: *const c_void,
2294  pub pApplicationName: *const c_char,
2295  pub applicationVersion: u32,
2296  pub pEngineName: *const c_char,
2297  pub engineVersion: u32,
2298  pub apiVersion: u32,
2299}
2300#[doc(hidden)]
2301#[repr(C)]
2302#[derive(Copy, Clone)]
2303pub struct AllocationCallbacks {
2304  pub pUserData: *mut c_void,
2305  pub pfnAllocation: PFN_vkAllocationFunction,
2306  pub pfnReallocation: PFN_vkReallocationFunction,
2307  pub pfnFree: PFN_vkFreeFunction,
2308  pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
2309  pub pfnInternalFree: PFN_vkInternalFreeNotification,
2310}
2311#[doc(hidden)]
2312#[repr(C)]
2313#[derive(Debug, Copy, Clone)]
2314pub struct DeviceQueueCreateInfo {
2315  pub sType: StructureType,
2316  pub pNext: *const c_void,
2317  pub flags: DeviceQueueCreateFlags,
2318  pub queueFamilyIndex: u32,
2319  pub queueCount: u32,
2320  pub pQueuePriorities: *const f32,
2321}
2322#[doc(hidden)]
2323#[repr(C)]
2324#[derive(Debug, Copy, Clone)]
2325pub struct DeviceCreateInfo {
2326  pub sType: StructureType,
2327  pub pNext: *const c_void,
2328  pub flags: DeviceCreateFlags,
2329  pub queueCreateInfoCount: u32,
2330  pub pQueueCreateInfos: *const DeviceQueueCreateInfo,
2331  pub enabledLayerCount: u32,
2332  pub ppEnabledLayerNames: *const *const c_char,
2333  pub enabledExtensionCount: u32,
2334  pub ppEnabledExtensionNames: *const *const c_char,
2335  pub pEnabledFeatures: *const PhysicalDeviceFeatures,
2336}
2337#[doc(hidden)]
2338#[repr(C)]
2339#[derive(Debug, Copy, Clone)]
2340pub struct InstanceCreateInfo {
2341  pub sType: StructureType,
2342  pub pNext: *const c_void,
2343  pub flags: InstanceCreateFlags,
2344  pub pApplicationInfo: *const ApplicationInfo,
2345  pub enabledLayerCount: u32,
2346  pub ppEnabledLayerNames: *const *const c_char,
2347  pub enabledExtensionCount: u32,
2348  pub ppEnabledExtensionNames: *const *const c_char,
2349}
2350#[doc(hidden)]
2351#[repr(C)]
2352#[derive(Debug, Copy, Clone)]
2353pub struct QueueFamilyProperties {
2354  pub queueFlags: QueueFlags,
2355  pub queueCount: u32,
2356  pub timestampValidBits: u32,
2357  pub minImageTransferGranularity: Extent3D,
2358}
2359#[doc(hidden)]
2360#[repr(C)]
2361#[derive(Copy, Clone)]
2362pub struct PhysicalDeviceMemoryProperties {
2363  pub memoryTypeCount: u32,
2364  pub memoryTypes: [MemoryType; MAX_MEMORY_TYPES as usize],
2365  pub memoryHeapCount: u32,
2366  pub memoryHeaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
2367}
2368#[doc(hidden)]
2369#[repr(C)]
2370#[derive(Debug, Copy, Clone)]
2371pub struct MemoryAllocateInfo {
2372  pub sType: StructureType,
2373  pub pNext: *const c_void,
2374  pub allocationSize: DeviceSize,
2375  pub memoryTypeIndex: u32,
2376}
2377#[doc(hidden)]
2378#[repr(C)]
2379#[derive(Debug, Copy, Clone)]
2380pub struct MemoryRequirements {
2381  pub size: DeviceSize,
2382  pub alignment: DeviceSize,
2383  pub memoryTypeBits: u32,
2384}
2385#[doc(hidden)]
2386#[repr(C)]
2387#[derive(Debug, Copy, Clone)]
2388pub struct SparseImageFormatProperties {
2389  pub aspectMask: ImageAspectFlags,
2390  pub imageGranularity: Extent3D,
2391  pub flags: SparseImageFormatFlags,
2392}
2393#[doc(hidden)]
2394#[repr(C)]
2395#[derive(Debug, Copy, Clone)]
2396pub struct SparseImageMemoryRequirements {
2397  pub formatProperties: SparseImageFormatProperties,
2398  pub imageMipTailFirstLod: u32,
2399  pub imageMipTailSize: DeviceSize,
2400  pub imageMipTailOffset: DeviceSize,
2401  pub imageMipTailStride: DeviceSize,
2402}
2403#[doc(hidden)]
2404#[repr(C)]
2405#[derive(Debug, Copy, Clone)]
2406pub struct MemoryType {
2407  pub propertyFlags: MemoryPropertyFlags,
2408  pub heapIndex: u32,
2409}
2410#[doc(hidden)]
2411#[repr(C)]
2412#[derive(Debug, Copy, Clone)]
2413pub struct MemoryHeap {
2414  pub size: DeviceSize,
2415  pub flags: MemoryHeapFlags,
2416}
2417#[doc(hidden)]
2418#[repr(C)]
2419#[derive(Debug, Copy, Clone)]
2420pub struct MappedMemoryRange {
2421  pub sType: StructureType,
2422  pub pNext: *const c_void,
2423  pub memory: DeviceMemory,
2424  pub offset: DeviceSize,
2425  pub size: DeviceSize,
2426}
2427#[doc(hidden)]
2428#[repr(C)]
2429#[derive(Debug, Copy, Clone)]
2430pub struct FormatProperties {
2431  pub linearTilingFeatures: FormatFeatureFlags,
2432  pub optimalTilingFeatures: FormatFeatureFlags,
2433  pub bufferFeatures: FormatFeatureFlags,
2434}
2435#[doc(hidden)]
2436#[repr(C)]
2437#[derive(Debug, Copy, Clone)]
2438pub struct ImageFormatProperties {
2439  pub maxExtent: Extent3D,
2440  pub maxMipLevels: u32,
2441  pub maxArrayLayers: u32,
2442  pub sampleCounts: SampleCountFlags,
2443  pub maxResourceSize: DeviceSize,
2444}
2445#[doc(hidden)]
2446#[repr(C)]
2447#[derive(Debug, Copy, Clone)]
2448pub struct DescriptorBufferInfo {
2449  pub buffer: Buffer,
2450  pub offset: DeviceSize,
2451  pub range: DeviceSize,
2452}
2453#[doc(hidden)]
2454#[repr(C)]
2455#[derive(Debug, Copy, Clone)]
2456pub struct DescriptorImageInfo {
2457  pub sampler: Sampler,
2458  pub imageView: ImageView,
2459  pub imageLayout: ImageLayout,
2460}
2461#[doc(hidden)]
2462#[repr(C)]
2463#[derive(Debug, Copy, Clone)]
2464pub struct WriteDescriptorSet {
2465  pub sType: StructureType,
2466  pub pNext: *const c_void,
2467  pub dstSet: DescriptorSet,
2468  pub dstBinding: u32,
2469  pub dstArrayElement: u32,
2470  pub descriptorCount: u32,
2471  pub descriptorType: DescriptorType,
2472  pub pImageInfo: *const DescriptorImageInfo,
2473  pub pBufferInfo: *const DescriptorBufferInfo,
2474  pub pTexelBufferView: *const BufferView,
2475}
2476#[doc(hidden)]
2477#[repr(C)]
2478#[derive(Debug, Copy, Clone)]
2479pub struct CopyDescriptorSet {
2480  pub sType: StructureType,
2481  pub pNext: *const c_void,
2482  pub srcSet: DescriptorSet,
2483  pub srcBinding: u32,
2484  pub srcArrayElement: u32,
2485  pub dstSet: DescriptorSet,
2486  pub dstBinding: u32,
2487  pub dstArrayElement: u32,
2488  pub descriptorCount: u32,
2489}
2490#[doc(hidden)]
2491#[repr(C)]
2492#[derive(Debug, Copy, Clone)]
2493pub struct BufferCreateInfo {
2494  pub sType: StructureType,
2495  pub pNext: *const c_void,
2496  pub flags: BufferCreateFlags,
2497  pub size: DeviceSize,
2498  pub usage: BufferUsageFlags,
2499  pub sharingMode: SharingMode,
2500  pub queueFamilyIndexCount: u32,
2501  pub pQueueFamilyIndices: *const u32,
2502}
2503#[doc(hidden)]
2504#[repr(C)]
2505#[derive(Debug, Copy, Clone)]
2506pub struct BufferViewCreateInfo {
2507  pub sType: StructureType,
2508  pub pNext: *const c_void,
2509  pub flags: BufferViewCreateFlags,
2510  pub buffer: Buffer,
2511  pub format: Format,
2512  pub offset: DeviceSize,
2513  pub range: DeviceSize,
2514}
2515#[doc(hidden)]
2516#[repr(C)]
2517#[derive(Debug, Copy, Clone)]
2518pub struct ImageSubresource {
2519  pub aspectMask: ImageAspectFlags,
2520  pub mipLevel: u32,
2521  pub arrayLayer: u32,
2522}
2523#[doc(hidden)]
2524#[repr(C)]
2525#[derive(Debug, Copy, Clone)]
2526pub struct ImageSubresourceLayers {
2527  pub aspectMask: ImageAspectFlags,
2528  pub mipLevel: u32,
2529  pub baseArrayLayer: u32,
2530  pub layerCount: u32,
2531}
2532#[doc(hidden)]
2533#[repr(C)]
2534#[derive(Debug, Copy, Clone)]
2535pub struct ImageSubresourceRange {
2536  pub aspectMask: ImageAspectFlags,
2537  pub baseMipLevel: u32,
2538  pub levelCount: u32,
2539  pub baseArrayLayer: u32,
2540  pub layerCount: u32,
2541}
2542#[doc(hidden)]
2543#[repr(C)]
2544#[derive(Debug, Copy, Clone)]
2545pub struct MemoryBarrier {
2546  pub sType: StructureType,
2547  pub pNext: *const c_void,
2548  pub srcAccessMask: AccessFlags,
2549  pub dstAccessMask: AccessFlags,
2550}
2551#[doc(hidden)]
2552#[repr(C)]
2553#[derive(Debug, Copy, Clone)]
2554pub struct BufferMemoryBarrier {
2555  pub sType: StructureType,
2556  pub pNext: *const c_void,
2557  pub srcAccessMask: AccessFlags,
2558  pub dstAccessMask: AccessFlags,
2559  pub srcQueueFamilyIndex: u32,
2560  pub dstQueueFamilyIndex: u32,
2561  pub buffer: Buffer,
2562  pub offset: DeviceSize,
2563  pub size: DeviceSize,
2564}
2565#[doc(hidden)]
2566#[repr(C)]
2567#[derive(Debug, Copy, Clone)]
2568pub struct ImageMemoryBarrier {
2569  pub sType: StructureType,
2570  pub pNext: *const c_void,
2571  pub srcAccessMask: AccessFlags,
2572  pub dstAccessMask: AccessFlags,
2573  pub oldLayout: ImageLayout,
2574  pub newLayout: ImageLayout,
2575  pub srcQueueFamilyIndex: u32,
2576  pub dstQueueFamilyIndex: u32,
2577  pub image: Image,
2578  pub subresourceRange: ImageSubresourceRange,
2579}
2580#[doc(hidden)]
2581#[repr(C)]
2582#[derive(Debug, Copy, Clone)]
2583pub struct ImageCreateInfo {
2584  pub sType: StructureType,
2585  pub pNext: *const c_void,
2586  pub flags: ImageCreateFlags,
2587  pub imageType: ImageType,
2588  pub format: Format,
2589  pub extent: Extent3D,
2590  pub mipLevels: u32,
2591  pub arrayLayers: u32,
2592  pub samples: SampleCountFlagBits,
2593  pub tiling: ImageTiling,
2594  pub usage: ImageUsageFlags,
2595  pub sharingMode: SharingMode,
2596  pub queueFamilyIndexCount: u32,
2597  pub pQueueFamilyIndices: *const u32,
2598  pub initialLayout: ImageLayout,
2599}
2600#[doc(hidden)]
2601#[repr(C)]
2602#[derive(Debug, Copy, Clone)]
2603pub struct SubresourceLayout {
2604  pub offset: DeviceSize,
2605  pub size: DeviceSize,
2606  pub rowPitch: DeviceSize,
2607  pub arrayPitch: DeviceSize,
2608  pub depthPitch: DeviceSize,
2609}
2610#[doc(hidden)]
2611#[repr(C)]
2612#[derive(Debug, Copy, Clone)]
2613pub struct ImageViewCreateInfo {
2614  pub sType: StructureType,
2615  pub pNext: *const c_void,
2616  pub flags: ImageViewCreateFlags,
2617  pub image: Image,
2618  pub viewType: ImageViewType,
2619  pub format: Format,
2620  pub components: ComponentMapping,
2621  pub subresourceRange: ImageSubresourceRange,
2622}
2623#[doc(hidden)]
2624#[repr(C)]
2625#[derive(Debug, Copy, Clone)]
2626pub struct BufferCopy {
2627  pub srcOffset: DeviceSize,
2628  pub dstOffset: DeviceSize,
2629  pub size: DeviceSize,
2630}
2631#[doc(hidden)]
2632#[repr(C)]
2633#[derive(Debug, Copy, Clone)]
2634pub struct SparseMemoryBind {
2635  pub resourceOffset: DeviceSize,
2636  pub size: DeviceSize,
2637  pub memory: DeviceMemory,
2638  pub memoryOffset: DeviceSize,
2639  pub flags: SparseMemoryBindFlags,
2640}
2641#[doc(hidden)]
2642#[repr(C)]
2643#[derive(Debug, Copy, Clone)]
2644pub struct SparseImageMemoryBind {
2645  pub subresource: ImageSubresource,
2646  pub offset: Offset3D,
2647  pub extent: Extent3D,
2648  pub memory: DeviceMemory,
2649  pub memoryOffset: DeviceSize,
2650  pub flags: SparseMemoryBindFlags,
2651}
2652#[doc(hidden)]
2653#[repr(C)]
2654#[derive(Debug, Copy, Clone)]
2655pub struct SparseBufferMemoryBindInfo {
2656  pub buffer: Buffer,
2657  pub bindCount: u32,
2658  pub pBinds: *const SparseMemoryBind,
2659}
2660#[doc(hidden)]
2661#[repr(C)]
2662#[derive(Debug, Copy, Clone)]
2663pub struct SparseImageOpaqueMemoryBindInfo {
2664  pub image: Image,
2665  pub bindCount: u32,
2666  pub pBinds: *const SparseMemoryBind,
2667}
2668#[doc(hidden)]
2669#[repr(C)]
2670#[derive(Debug, Copy, Clone)]
2671pub struct SparseImageMemoryBindInfo {
2672  pub image: Image,
2673  pub bindCount: u32,
2674  pub pBinds: *const SparseImageMemoryBind,
2675}
2676#[doc(hidden)]
2677#[repr(C)]
2678#[derive(Debug, Copy, Clone)]
2679pub struct BindSparseInfo {
2680  pub sType: StructureType,
2681  pub pNext: *const c_void,
2682  pub waitSemaphoreCount: u32,
2683  pub pWaitSemaphores: *const Semaphore,
2684  pub bufferBindCount: u32,
2685  pub pBufferBinds: *const SparseBufferMemoryBindInfo,
2686  pub imageOpaqueBindCount: u32,
2687  pub pImageOpaqueBinds: *const SparseImageOpaqueMemoryBindInfo,
2688  pub imageBindCount: u32,
2689  pub pImageBinds: *const SparseImageMemoryBindInfo,
2690  pub signalSemaphoreCount: u32,
2691  pub pSignalSemaphores: *const Semaphore,
2692}
2693#[doc(hidden)]
2694#[repr(C)]
2695#[derive(Debug, Copy, Clone)]
2696pub struct ImageCopy {
2697  pub srcSubresource: ImageSubresourceLayers,
2698  pub srcOffset: Offset3D,
2699  pub dstSubresource: ImageSubresourceLayers,
2700  pub dstOffset: Offset3D,
2701  pub extent: Extent3D,
2702}
2703#[doc(hidden)]
2704#[repr(C)]
2705#[derive(Copy, Clone)]
2706pub struct ImageBlit {
2707  pub srcSubresource: ImageSubresourceLayers,
2708  pub srcOffsets: [Offset3D; 2],
2709  pub dstSubresource: ImageSubresourceLayers,
2710  pub dstOffsets: [Offset3D; 2],
2711}
2712#[doc(hidden)]
2713#[repr(C)]
2714#[derive(Debug, Copy, Clone)]
2715pub struct BufferImageCopy {
2716  pub bufferOffset: DeviceSize,
2717  pub bufferRowLength: u32,
2718  pub bufferImageHeight: u32,
2719  pub imageSubresource: ImageSubresourceLayers,
2720  pub imageOffset: Offset3D,
2721  pub imageExtent: Extent3D,
2722}
2723#[doc(hidden)]
2724#[repr(C)]
2725#[derive(Debug, Copy, Clone)]
2726pub struct ImageResolve {
2727  pub srcSubresource: ImageSubresourceLayers,
2728  pub srcOffset: Offset3D,
2729  pub dstSubresource: ImageSubresourceLayers,
2730  pub dstOffset: Offset3D,
2731  pub extent: Extent3D,
2732}
2733#[doc(hidden)]
2734#[repr(C)]
2735#[derive(Debug, Copy, Clone)]
2736pub struct ShaderModuleCreateInfo {
2737  pub sType: StructureType,
2738  pub pNext: *const c_void,
2739  pub flags: ShaderModuleCreateFlags,
2740  pub codeSize: usize,
2741  pub pCode: *const u32,
2742}
2743#[doc(hidden)]
2744#[repr(C)]
2745#[derive(Debug, Copy, Clone)]
2746pub struct DescriptorSetLayoutBinding {
2747  pub binding: u32,
2748  pub descriptorType: DescriptorType,
2749  pub descriptorCount: u32,
2750  pub stageFlags: ShaderStageFlags,
2751  pub pImmutableSamplers: *const Sampler,
2752}
2753#[doc(hidden)]
2754#[repr(C)]
2755#[derive(Debug, Copy, Clone)]
2756pub struct DescriptorSetLayoutCreateInfo {
2757  pub sType: StructureType,
2758  pub pNext: *const c_void,
2759  pub flags: DescriptorSetLayoutCreateFlags,
2760  pub bindingCount: u32,
2761  pub pBindings: *const DescriptorSetLayoutBinding,
2762}
2763#[doc(hidden)]
2764#[repr(C)]
2765#[derive(Debug, Copy, Clone)]
2766pub struct DescriptorPoolSize {
2767  pub typ: DescriptorType,
2768  pub descriptorCount: u32,
2769}
2770#[doc(hidden)]
2771#[repr(C)]
2772#[derive(Debug, Copy, Clone)]
2773pub struct DescriptorPoolCreateInfo {
2774  pub sType: StructureType,
2775  pub pNext: *const c_void,
2776  pub flags: DescriptorPoolCreateFlags,
2777  pub maxSets: u32,
2778  pub poolSizeCount: u32,
2779  pub pPoolSizes: *const DescriptorPoolSize,
2780}
2781#[doc(hidden)]
2782#[repr(C)]
2783#[derive(Debug, Copy, Clone)]
2784pub struct DescriptorSetAllocateInfo {
2785  pub sType: StructureType,
2786  pub pNext: *const c_void,
2787  pub descriptorPool: DescriptorPool,
2788  pub descriptorSetCount: u32,
2789  pub pSetLayouts: *const DescriptorSetLayout,
2790}
2791#[doc(hidden)]
2792#[repr(C)]
2793#[derive(Debug, Copy, Clone)]
2794pub struct SpecializationMapEntry {
2795  pub constantID: u32,
2796  pub offset: u32,
2797  pub size: usize,
2798}
2799#[doc(hidden)]
2800#[repr(C)]
2801#[derive(Debug, Copy, Clone)]
2802pub struct SpecializationInfo {
2803  pub mapEntryCount: u32,
2804  pub pMapEntries: *const SpecializationMapEntry,
2805  pub dataSize: usize,
2806  pub pData: *const c_void,
2807}
2808#[doc(hidden)]
2809#[repr(C)]
2810#[derive(Debug, Copy, Clone)]
2811pub struct PipelineShaderStageCreateInfo {
2812  pub sType: StructureType,
2813  pub pNext: *const c_void,
2814  pub flags: PipelineShaderStageCreateFlags,
2815  pub stage: ShaderStageFlagBits,
2816  pub module: ShaderModule,
2817  pub pName: *const c_char,
2818  pub pSpecializationInfo: *const SpecializationInfo,
2819}
2820#[doc(hidden)]
2821#[repr(C)]
2822#[derive(Debug, Copy, Clone)]
2823pub struct ComputePipelineCreateInfo {
2824  pub sType: StructureType,
2825  pub pNext: *const c_void,
2826  pub flags: PipelineCreateFlags,
2827  pub stage: PipelineShaderStageCreateInfo,
2828  pub layout: PipelineLayout,
2829  pub basePipelineHandle: Pipeline,
2830  pub basePipelineIndex: i32,
2831}
2832#[doc(hidden)]
2833#[repr(C)]
2834#[derive(Debug, Copy, Clone)]
2835pub struct VertexInputBindingDescription {
2836  pub binding: u32,
2837  pub stride: u32,
2838  pub inputRate: VertexInputRate,
2839}
2840#[doc(hidden)]
2841#[repr(C)]
2842#[derive(Debug, Copy, Clone)]
2843pub struct VertexInputAttributeDescription {
2844  pub location: u32,
2845  pub binding: u32,
2846  pub format: Format,
2847  pub offset: u32,
2848}
2849#[doc(hidden)]
2850#[repr(C)]
2851#[derive(Debug, Copy, Clone)]
2852pub struct PipelineVertexInputStateCreateInfo {
2853  pub sType: StructureType,
2854  pub pNext: *const c_void,
2855  pub flags: PipelineVertexInputStateCreateFlags,
2856  pub vertexBindingDescriptionCount: u32,
2857  pub pVertexBindingDescriptions: *const VertexInputBindingDescription,
2858  pub vertexAttributeDescriptionCount: u32,
2859  pub pVertexAttributeDescriptions: *const VertexInputAttributeDescription,
2860}
2861#[doc(hidden)]
2862#[repr(C)]
2863#[derive(Debug, Copy, Clone)]
2864pub struct PipelineInputAssemblyStateCreateInfo {
2865  pub sType: StructureType,
2866  pub pNext: *const c_void,
2867  pub flags: PipelineInputAssemblyStateCreateFlags,
2868  pub topology: PrimitiveTopology,
2869  pub primitiveRestartEnable: Bool32,
2870}
2871#[doc(hidden)]
2872#[repr(C)]
2873#[derive(Debug, Copy, Clone)]
2874pub struct PipelineTessellationStateCreateInfo {
2875  pub sType: StructureType,
2876  pub pNext: *const c_void,
2877  pub flags: PipelineTessellationStateCreateFlags,
2878  pub patchControlPoints: u32,
2879}
2880#[doc(hidden)]
2881#[repr(C)]
2882#[derive(Debug, Copy, Clone)]
2883pub struct PipelineViewportStateCreateInfo {
2884  pub sType: StructureType,
2885  pub pNext: *const c_void,
2886  pub flags: PipelineViewportStateCreateFlags,
2887  pub viewportCount: u32,
2888  pub pViewports: *const Viewport,
2889  pub scissorCount: u32,
2890  pub pScissors: *const Rect2D,
2891}
2892#[doc(hidden)]
2893#[repr(C)]
2894#[derive(Debug, Copy, Clone)]
2895pub struct PipelineRasterizationStateCreateInfo {
2896  pub sType: StructureType,
2897  pub pNext: *const c_void,
2898  pub flags: PipelineRasterizationStateCreateFlags,
2899  pub depthClampEnable: Bool32,
2900  pub rasterizerDiscardEnable: Bool32,
2901  pub polygonMode: PolygonMode,
2902  pub cullMode: CullModeFlags,
2903  pub frontFace: FrontFace,
2904  pub depthBiasEnable: Bool32,
2905  pub depthBiasConstantFactor: f32,
2906  pub depthBiasClamp: f32,
2907  pub depthBiasSlopeFactor: f32,
2908  pub lineWidth: f32,
2909}
2910#[doc(hidden)]
2911#[repr(C)]
2912#[derive(Debug, Copy, Clone)]
2913pub struct PipelineMultisampleStateCreateInfo {
2914  pub sType: StructureType,
2915  pub pNext: *const c_void,
2916  pub flags: PipelineMultisampleStateCreateFlags,
2917  pub rasterizationSamples: SampleCountFlagBits,
2918  pub sampleShadingEnable: Bool32,
2919  pub minSampleShading: f32,
2920  pub pSampleMask: *const SampleMask,
2921  pub alphaToCoverageEnable: Bool32,
2922  pub alphaToOneEnable: Bool32,
2923}
2924#[doc(hidden)]
2925#[repr(C)]
2926#[derive(Debug, Copy, Clone)]
2927pub struct PipelineColorBlendAttachmentState {
2928  pub blendEnable: Bool32,
2929  pub srcColorBlendFactor: BlendFactor,
2930  pub dstColorBlendFactor: BlendFactor,
2931  pub colorBlendOp: BlendOp,
2932  pub srcAlphaBlendFactor: BlendFactor,
2933  pub dstAlphaBlendFactor: BlendFactor,
2934  pub alphaBlendOp: BlendOp,
2935  pub colorWriteMask: ColorComponentFlags,
2936}
2937#[doc(hidden)]
2938#[repr(C)]
2939#[derive(Copy, Clone)]
2940pub struct PipelineColorBlendStateCreateInfo {
2941  pub sType: StructureType,
2942  pub pNext: *const c_void,
2943  pub flags: PipelineColorBlendStateCreateFlags,
2944  pub logicOpEnable: Bool32,
2945  pub logicOp: LogicOp,
2946  pub attachmentCount: u32,
2947  pub pAttachments: *const PipelineColorBlendAttachmentState,
2948  pub blendConstants: [f32; 4],
2949}
2950#[doc(hidden)]
2951#[repr(C)]
2952#[derive(Debug, Copy, Clone)]
2953pub struct PipelineDynamicStateCreateInfo {
2954  pub sType: StructureType,
2955  pub pNext: *const c_void,
2956  pub flags: PipelineDynamicStateCreateFlags,
2957  pub dynamicStateCount: u32,
2958  pub pDynamicStates: *const DynamicState,
2959}
2960#[doc(hidden)]
2961#[repr(C)]
2962#[derive(Debug, Copy, Clone)]
2963pub struct StencilOpState {
2964  pub failOp: StencilOp,
2965  pub passOp: StencilOp,
2966  pub depthFailOp: StencilOp,
2967  pub compareOp: CompareOp,
2968  pub compareMask: u32,
2969  pub writeMask: u32,
2970  pub reference: u32,
2971}
2972#[doc(hidden)]
2973#[repr(C)]
2974#[derive(Debug, Copy, Clone)]
2975pub struct PipelineDepthStencilStateCreateInfo {
2976  pub sType: StructureType,
2977  pub pNext: *const c_void,
2978  pub flags: PipelineDepthStencilStateCreateFlags,
2979  pub depthTestEnable: Bool32,
2980  pub depthWriteEnable: Bool32,
2981  pub depthCompareOp: CompareOp,
2982  pub depthBoundsTestEnable: Bool32,
2983  pub stencilTestEnable: Bool32,
2984  pub front: StencilOpState,
2985  pub back: StencilOpState,
2986  pub minDepthBounds: f32,
2987  pub maxDepthBounds: f32,
2988}
2989#[doc(hidden)]
2990#[repr(C)]
2991#[derive(Copy, Clone)]
2992pub struct GraphicsPipelineCreateInfo {
2993  pub sType: StructureType,
2994  pub pNext: *const c_void,
2995  pub flags: PipelineCreateFlags,
2996  pub stageCount: u32,
2997  pub pStages: *const PipelineShaderStageCreateInfo,
2998  pub pVertexInputState: *const PipelineVertexInputStateCreateInfo,
2999  pub pInputAssemblyState: *const PipelineInputAssemblyStateCreateInfo,
3000  pub pTessellationState: *const PipelineTessellationStateCreateInfo,
3001  pub pViewportState: *const PipelineViewportStateCreateInfo,
3002  pub pRasterizationState: *const PipelineRasterizationStateCreateInfo,
3003  pub pMultisampleState: *const PipelineMultisampleStateCreateInfo,
3004  pub pDepthStencilState: *const PipelineDepthStencilStateCreateInfo,
3005  pub pColorBlendState: *const PipelineColorBlendStateCreateInfo,
3006  pub pDynamicState: *const PipelineDynamicStateCreateInfo,
3007  pub layout: PipelineLayout,
3008  pub renderPass: RenderPass,
3009  pub subpass: u32,
3010  pub basePipelineHandle: Pipeline,
3011  pub basePipelineIndex: i32,
3012}
3013#[doc(hidden)]
3014#[repr(C)]
3015#[derive(Debug, Copy, Clone)]
3016pub struct PipelineCacheCreateInfo {
3017  pub sType: StructureType,
3018  pub pNext: *const c_void,
3019  pub flags: PipelineCacheCreateFlags,
3020  pub initialDataSize: usize,
3021  pub pInitialData: *const c_void,
3022}
3023#[doc(hidden)]
3024#[repr(C)]
3025#[derive(Debug, Copy, Clone)]
3026pub struct PushConstantRange {
3027  pub stageFlags: ShaderStageFlags,
3028  pub offset: u32,
3029  pub size: u32,
3030}
3031#[doc(hidden)]
3032#[repr(C)]
3033#[derive(Debug, Copy, Clone)]
3034pub struct PipelineLayoutCreateInfo {
3035  pub sType: StructureType,
3036  pub pNext: *const c_void,
3037  pub flags: PipelineLayoutCreateFlags,
3038  pub setLayoutCount: u32,
3039  pub pSetLayouts: *const DescriptorSetLayout,
3040  pub pushConstantRangeCount: u32,
3041  pub pPushConstantRanges: *const PushConstantRange,
3042}
3043#[doc(hidden)]
3044#[repr(C)]
3045#[derive(Debug, Copy, Clone)]
3046pub struct SamplerCreateInfo {
3047  pub sType: StructureType,
3048  pub pNext: *const c_void,
3049  pub flags: SamplerCreateFlags,
3050  pub magFilter: Filter,
3051  pub minFilter: Filter,
3052  pub mipmapMode: SamplerMipmapMode,
3053  pub addressModeU: SamplerAddressMode,
3054  pub addressModeV: SamplerAddressMode,
3055  pub addressModeW: SamplerAddressMode,
3056  pub mipLodBias: f32,
3057  pub anisotropyEnable: Bool32,
3058  pub maxAnisotropy: f32,
3059  pub compareEnable: Bool32,
3060  pub compareOp: CompareOp,
3061  pub minLod: f32,
3062  pub maxLod: f32,
3063  pub borderColor: BorderColor,
3064  pub unnormalizedCoordinates: Bool32,
3065}
3066#[doc(hidden)]
3067#[repr(C)]
3068#[derive(Debug, Copy, Clone)]
3069pub struct CommandPoolCreateInfo {
3070  pub sType: StructureType,
3071  pub pNext: *const c_void,
3072  pub flags: CommandPoolCreateFlags,
3073  pub queueFamilyIndex: u32,
3074}
3075#[doc(hidden)]
3076#[repr(C)]
3077#[derive(Debug, Copy, Clone)]
3078pub struct CommandBufferAllocateInfo {
3079  pub sType: StructureType,
3080  pub pNext: *const c_void,
3081  pub commandPool: CommandPool,
3082  pub level: CommandBufferLevel,
3083  pub commandBufferCount: u32,
3084}
3085#[doc(hidden)]
3086#[repr(C)]
3087#[derive(Debug, Copy, Clone)]
3088pub struct CommandBufferInheritanceInfo {
3089  pub sType: StructureType,
3090  pub pNext: *const c_void,
3091  pub renderPass: RenderPass,
3092  pub subpass: u32,
3093  pub framebuffer: Framebuffer,
3094  pub occlusionQueryEnable: Bool32,
3095  pub queryFlags: QueryControlFlags,
3096  pub pipelineStatistics: QueryPipelineStatisticFlags,
3097}
3098#[doc(hidden)]
3099#[repr(C)]
3100#[derive(Debug, Copy, Clone)]
3101pub struct CommandBufferBeginInfo {
3102  pub sType: StructureType,
3103  pub pNext: *const c_void,
3104  pub flags: CommandBufferUsageFlags,
3105  pub pInheritanceInfo: *const CommandBufferInheritanceInfo,
3106}
3107#[doc(hidden)]
3108#[repr(C)]
3109#[derive(Copy, Clone)]
3110pub struct RenderPassBeginInfo {
3111  pub sType: StructureType,
3112  pub pNext: *const c_void,
3113  pub renderPass: RenderPass,
3114  pub framebuffer: Framebuffer,
3115  pub renderArea: Rect2D,
3116  pub clearValueCount: u32,
3117  pub pClearValues: *const ClearValue,
3118}
3119#[doc(hidden)]
3120#[repr(C)]
3121#[derive(Copy, Clone)]
3122pub union ClearColorValue {
3123  pub float32: [f32; 4],
3124  pub int32: [i32; 4],
3125  pub uint32: [u32; 4],
3126}
3127#[doc(hidden)]
3128#[repr(C)]
3129#[derive(Debug, Copy, Clone)]
3130pub struct ClearDepthStencilValue {
3131  pub depth: f32,
3132  pub stencil: u32,
3133}
3134#[doc(hidden)]
3135#[repr(C)]
3136#[derive(Copy, Clone)]
3137pub union ClearValue {
3138  pub color: ClearColorValue,
3139  pub depthStencil: ClearDepthStencilValue,
3140}
3141#[doc(hidden)]
3142#[repr(C)]
3143#[derive(Copy, Clone)]
3144pub struct ClearAttachment {
3145  pub aspectMask: ImageAspectFlags,
3146  pub colorAttachment: u32,
3147  pub clearValue: ClearValue,
3148}
3149#[doc(hidden)]
3150#[repr(C)]
3151#[derive(Debug, Copy, Clone)]
3152pub struct AttachmentDescription {
3153  pub flags: AttachmentDescriptionFlags,
3154  pub format: Format,
3155  pub samples: SampleCountFlagBits,
3156  pub loadOp: AttachmentLoadOp,
3157  pub storeOp: AttachmentStoreOp,
3158  pub stencilLoadOp: AttachmentLoadOp,
3159  pub stencilStoreOp: AttachmentStoreOp,
3160  pub initialLayout: ImageLayout,
3161  pub finalLayout: ImageLayout,
3162}
3163#[doc(hidden)]
3164#[repr(C)]
3165#[derive(Debug, Copy, Clone)]
3166pub struct AttachmentReference {
3167  pub attachment: u32,
3168  pub layout: ImageLayout,
3169}
3170#[doc(hidden)]
3171#[repr(C)]
3172#[derive(Debug, Copy, Clone)]
3173pub struct SubpassDescription {
3174  pub flags: SubpassDescriptionFlags,
3175  pub pipelineBindPoint: PipelineBindPoint,
3176  pub inputAttachmentCount: u32,
3177  pub pInputAttachments: *const AttachmentReference,
3178  pub colorAttachmentCount: u32,
3179  pub pColorAttachments: *const AttachmentReference,
3180  pub pResolveAttachments: *const AttachmentReference,
3181  pub pDepthStencilAttachment: *const AttachmentReference,
3182  pub preserveAttachmentCount: u32,
3183  pub pPreserveAttachments: *const u32,
3184}
3185#[doc(hidden)]
3186#[repr(C)]
3187#[derive(Debug, Copy, Clone)]
3188pub struct SubpassDependency {
3189  pub srcSubpass: u32,
3190  pub dstSubpass: u32,
3191  pub srcStageMask: PipelineStageFlags,
3192  pub dstStageMask: PipelineStageFlags,
3193  pub srcAccessMask: AccessFlags,
3194  pub dstAccessMask: AccessFlags,
3195  pub dependencyFlags: DependencyFlags,
3196}
3197#[doc(hidden)]
3198#[repr(C)]
3199#[derive(Debug, Copy, Clone)]
3200pub struct RenderPassCreateInfo {
3201  pub sType: StructureType,
3202  pub pNext: *const c_void,
3203  pub flags: RenderPassCreateFlags,
3204  pub attachmentCount: u32,
3205  pub pAttachments: *const AttachmentDescription,
3206  pub subpassCount: u32,
3207  pub pSubpasses: *const SubpassDescription,
3208  pub dependencyCount: u32,
3209  pub pDependencies: *const SubpassDependency,
3210}
3211#[doc(hidden)]
3212#[repr(C)]
3213#[derive(Debug, Copy, Clone)]
3214pub struct EventCreateInfo {
3215  pub sType: StructureType,
3216  pub pNext: *const c_void,
3217  pub flags: EventCreateFlags,
3218}
3219#[doc(hidden)]
3220#[repr(C)]
3221#[derive(Debug, Copy, Clone)]
3222pub struct FenceCreateInfo {
3223  pub sType: StructureType,
3224  pub pNext: *const c_void,
3225  pub flags: FenceCreateFlags,
3226}
3227#[doc(hidden)]
3228#[repr(C)]
3229#[derive(Debug, Copy, Clone)]
3230pub struct PhysicalDeviceFeatures {
3231  pub robustBufferAccess: Bool32,
3232  pub fullDrawIndexUint32: Bool32,
3233  pub imageCubeArray: Bool32,
3234  pub independentBlend: Bool32,
3235  pub geometryShader: Bool32,
3236  pub tessellationShader: Bool32,
3237  pub sampleRateShading: Bool32,
3238  pub dualSrcBlend: Bool32,
3239  pub logicOp: Bool32,
3240  pub multiDrawIndirect: Bool32,
3241  pub drawIndirectFirstInstance: Bool32,
3242  pub depthClamp: Bool32,
3243  pub depthBiasClamp: Bool32,
3244  pub fillModeNonSolid: Bool32,
3245  pub depthBounds: Bool32,
3246  pub wideLines: Bool32,
3247  pub largePoints: Bool32,
3248  pub alphaToOne: Bool32,
3249  pub multiViewport: Bool32,
3250  pub samplerAnisotropy: Bool32,
3251  pub textureCompressionETC2: Bool32,
3252  pub textureCompressionASTC_LDR: Bool32,
3253  pub textureCompressionBC: Bool32,
3254  pub occlusionQueryPrecise: Bool32,
3255  pub pipelineStatisticsQuery: Bool32,
3256  pub vertexPipelineStoresAndAtomics: Bool32,
3257  pub fragmentStoresAndAtomics: Bool32,
3258  pub shaderTessellationAndGeometryPointSize: Bool32,
3259  pub shaderImageGatherExtended: Bool32,
3260  pub shaderStorageImageExtendedFormats: Bool32,
3261  pub shaderStorageImageMultisample: Bool32,
3262  pub shaderStorageImageReadWithoutFormat: Bool32,
3263  pub shaderStorageImageWriteWithoutFormat: Bool32,
3264  pub shaderUniformBufferArrayDynamicIndexing: Bool32,
3265  pub shaderSampledImageArrayDynamicIndexing: Bool32,
3266  pub shaderStorageBufferArrayDynamicIndexing: Bool32,
3267  pub shaderStorageImageArrayDynamicIndexing: Bool32,
3268  pub shaderClipDistance: Bool32,
3269  pub shaderCullDistance: Bool32,
3270  pub shaderFloat64: Bool32,
3271  pub shaderInt64: Bool32,
3272  pub shaderInt16: Bool32,
3273  pub shaderResourceResidency: Bool32,
3274  pub shaderResourceMinLod: Bool32,
3275  pub sparseBinding: Bool32,
3276  pub sparseResidencyBuffer: Bool32,
3277  pub sparseResidencyImage2D: Bool32,
3278  pub sparseResidencyImage3D: Bool32,
3279  pub sparseResidency2Samples: Bool32,
3280  pub sparseResidency4Samples: Bool32,
3281  pub sparseResidency8Samples: Bool32,
3282  pub sparseResidency16Samples: Bool32,
3283  pub sparseResidencyAliased: Bool32,
3284  pub variableMultisampleRate: Bool32,
3285  pub inheritedQueries: Bool32,
3286}
3287#[doc(hidden)]
3288#[repr(C)]
3289#[derive(Debug, Copy, Clone)]
3290pub struct PhysicalDeviceSparseProperties {
3291  pub residencyStandard2DBlockShape: Bool32,
3292  pub residencyStandard2DMultisampleBlockShape: Bool32,
3293  pub residencyStandard3DBlockShape: Bool32,
3294  pub residencyAlignedMipSize: Bool32,
3295  pub residencyNonResidentStrict: Bool32,
3296}
3297#[doc(hidden)]
3298#[repr(C)]
3299#[derive(Copy, Clone)]
3300pub struct PhysicalDeviceLimits {
3301  pub maxImageDimension1D: u32,
3302  pub maxImageDimension2D: u32,
3303  pub maxImageDimension3D: u32,
3304  pub maxImageDimensionCube: u32,
3305  pub maxImageArrayLayers: u32,
3306  pub maxTexelBufferElements: u32,
3307  pub maxUniformBufferRange: u32,
3308  pub maxStorageBufferRange: u32,
3309  pub maxPushConstantsSize: u32,
3310  pub maxMemoryAllocationCount: u32,
3311  pub maxSamplerAllocationCount: u32,
3312  pub bufferImageGranularity: DeviceSize,
3313  pub sparseAddressSpaceSize: DeviceSize,
3314  pub maxBoundDescriptorSets: u32,
3315  pub maxPerStageDescriptorSamplers: u32,
3316  pub maxPerStageDescriptorUniformBuffers: u32,
3317  pub maxPerStageDescriptorStorageBuffers: u32,
3318  pub maxPerStageDescriptorSampledImages: u32,
3319  pub maxPerStageDescriptorStorageImages: u32,
3320  pub maxPerStageDescriptorInputAttachments: u32,
3321  pub maxPerStageResources: u32,
3322  pub maxDescriptorSetSamplers: u32,
3323  pub maxDescriptorSetUniformBuffers: u32,
3324  pub maxDescriptorSetUniformBuffersDynamic: u32,
3325  pub maxDescriptorSetStorageBuffers: u32,
3326  pub maxDescriptorSetStorageBuffersDynamic: u32,
3327  pub maxDescriptorSetSampledImages: u32,
3328  pub maxDescriptorSetStorageImages: u32,
3329  pub maxDescriptorSetInputAttachments: u32,
3330  pub maxVertexInputAttributes: u32,
3331  pub maxVertexInputBindings: u32,
3332  pub maxVertexInputAttributeOffset: u32,
3333  pub maxVertexInputBindingStride: u32,
3334  pub maxVertexOutputComponents: u32,
3335  pub maxTessellationGenerationLevel: u32,
3336  pub maxTessellationPatchSize: u32,
3337  pub maxTessellationControlPerVertexInputComponents: u32,
3338  pub maxTessellationControlPerVertexOutputComponents: u32,
3339  pub maxTessellationControlPerPatchOutputComponents: u32,
3340  pub maxTessellationControlTotalOutputComponents: u32,
3341  pub maxTessellationEvaluationInputComponents: u32,
3342  pub maxTessellationEvaluationOutputComponents: u32,
3343  pub maxGeometryShaderInvocations: u32,
3344  pub maxGeometryInputComponents: u32,
3345  pub maxGeometryOutputComponents: u32,
3346  pub maxGeometryOutputVertices: u32,
3347  pub maxGeometryTotalOutputComponents: u32,
3348  pub maxFragmentInputComponents: u32,
3349  pub maxFragmentOutputAttachments: u32,
3350  pub maxFragmentDualSrcAttachments: u32,
3351  pub maxFragmentCombinedOutputResources: u32,
3352  pub maxComputeSharedMemorySize: u32,
3353  pub maxComputeWorkGroupCount: [u32; 3],
3354  pub maxComputeWorkGroupInvocations: u32,
3355  pub maxComputeWorkGroupSize: [u32; 3],
3356  pub subPixelPrecisionBits: u32,
3357  pub subTexelPrecisionBits: u32,
3358  pub mipmapPrecisionBits: u32,
3359  pub maxDrawIndexedIndexValue: u32,
3360  pub maxDrawIndirectCount: u32,
3361  pub maxSamplerLodBias: f32,
3362  pub maxSamplerAnisotropy: f32,
3363  pub maxViewports: u32,
3364  pub maxViewportDimensions: [u32; 2],
3365  pub viewportBoundsRange: [f32; 2],
3366  pub viewportSubPixelBits: u32,
3367  pub minMemoryMapAlignment: usize,
3368  pub minTexelBufferOffsetAlignment: DeviceSize,
3369  pub minUniformBufferOffsetAlignment: DeviceSize,
3370  pub minStorageBufferOffsetAlignment: DeviceSize,
3371  pub minTexelOffset: i32,
3372  pub maxTexelOffset: u32,
3373  pub minTexelGatherOffset: i32,
3374  pub maxTexelGatherOffset: u32,
3375  pub minInterpolationOffset: f32,
3376  pub maxInterpolationOffset: f32,
3377  pub subPixelInterpolationOffsetBits: u32,
3378  pub maxFramebufferWidth: u32,
3379  pub maxFramebufferHeight: u32,
3380  pub maxFramebufferLayers: u32,
3381  pub framebufferColorSampleCounts: SampleCountFlags,
3382  pub framebufferDepthSampleCounts: SampleCountFlags,
3383  pub framebufferStencilSampleCounts: SampleCountFlags,
3384  pub framebufferNoAttachmentsSampleCounts: SampleCountFlags,
3385  pub maxColorAttachments: u32,
3386  pub sampledImageColorSampleCounts: SampleCountFlags,
3387  pub sampledImageIntegerSampleCounts: SampleCountFlags,
3388  pub sampledImageDepthSampleCounts: SampleCountFlags,
3389  pub sampledImageStencilSampleCounts: SampleCountFlags,
3390  pub storageImageSampleCounts: SampleCountFlags,
3391  pub maxSampleMaskWords: u32,
3392  pub timestampComputeAndGraphics: Bool32,
3393  pub timestampPeriod: f32,
3394  pub maxClipDistances: u32,
3395  pub maxCullDistances: u32,
3396  pub maxCombinedClipAndCullDistances: u32,
3397  pub discreteQueuePriorities: u32,
3398  pub pointSizeRange: [f32; 2],
3399  pub lineWidthRange: [f32; 2],
3400  pub pointSizeGranularity: f32,
3401  pub lineWidthGranularity: f32,
3402  pub strictLines: Bool32,
3403  pub standardSampleLocations: Bool32,
3404  pub optimalBufferCopyOffsetAlignment: DeviceSize,
3405  pub optimalBufferCopyRowPitchAlignment: DeviceSize,
3406  pub nonCoherentAtomSize: DeviceSize,
3407}
3408#[doc(hidden)]
3409#[repr(C)]
3410#[derive(Debug, Copy, Clone)]
3411pub struct SemaphoreCreateInfo {
3412  pub sType: StructureType,
3413  pub pNext: *const c_void,
3414  pub flags: SemaphoreCreateFlags,
3415}
3416#[doc(hidden)]
3417#[repr(C)]
3418#[derive(Debug, Copy, Clone)]
3419pub struct QueryPoolCreateInfo {
3420  pub sType: StructureType,
3421  pub pNext: *const c_void,
3422  pub flags: QueryPoolCreateFlags,
3423  pub queryType: QueryType,
3424  pub queryCount: u32,
3425  pub pipelineStatistics: QueryPipelineStatisticFlags,
3426}
3427#[doc(hidden)]
3428#[repr(C)]
3429#[derive(Debug, Copy, Clone)]
3430pub struct FramebufferCreateInfo {
3431  pub sType: StructureType,
3432  pub pNext: *const c_void,
3433  pub flags: FramebufferCreateFlags,
3434  pub renderPass: RenderPass,
3435  pub attachmentCount: u32,
3436  pub pAttachments: *const ImageView,
3437  pub width: u32,
3438  pub height: u32,
3439  pub layers: u32,
3440}
3441#[doc(hidden)]
3442#[repr(C)]
3443#[derive(Debug, Copy, Clone)]
3444pub struct DrawIndirectCommand {
3445  pub vertexCount: u32,
3446  pub instanceCount: u32,
3447  pub firstVertex: u32,
3448  pub firstInstance: u32,
3449}
3450#[doc(hidden)]
3451#[repr(C)]
3452#[derive(Debug, Copy, Clone)]
3453pub struct DrawIndexedIndirectCommand {
3454  pub indexCount: u32,
3455  pub instanceCount: u32,
3456  pub firstIndex: u32,
3457  pub vertexOffset: i32,
3458  pub firstInstance: u32,
3459}
3460#[doc(hidden)]
3461#[repr(C)]
3462#[derive(Debug, Copy, Clone)]
3463pub struct DispatchIndirectCommand {
3464  pub x: u32,
3465  pub y: u32,
3466  pub z: u32,
3467}
3468#[doc(hidden)]
3469#[repr(C)]
3470#[derive(Debug, Copy, Clone)]
3471pub struct SubmitInfo {
3472  pub sType: StructureType,
3473  pub pNext: *const c_void,
3474  pub waitSemaphoreCount: u32,
3475  pub pWaitSemaphores: *const Semaphore,
3476  pub pWaitDstStageMask: *const PipelineStageFlags,
3477  pub commandBufferCount: u32,
3478  pub pCommandBuffers: *const CommandBuffer,
3479  pub signalSemaphoreCount: u32,
3480  pub pSignalSemaphores: *const Semaphore,
3481}
3482#[doc(hidden)]
3483#[repr(C)]
3484#[derive(Debug, Copy, Clone)]
3485pub struct DisplayPropertiesKHR {
3486  pub display: DisplayKHR,
3487  pub displayName: *const c_char,
3488  pub physicalDimensions: Extent2D,
3489  pub physicalResolution: Extent2D,
3490  pub supportedTransforms: SurfaceTransformFlagsKHR,
3491  pub planeReorderPossible: Bool32,
3492  pub persistentContent: Bool32,
3493}
3494#[doc(hidden)]
3495#[repr(C)]
3496#[derive(Debug, Copy, Clone)]
3497pub struct DisplayPlanePropertiesKHR {
3498  pub currentDisplay: DisplayKHR,
3499  pub currentStackIndex: u32,
3500}
3501#[doc(hidden)]
3502#[repr(C)]
3503#[derive(Debug, Copy, Clone)]
3504pub struct DisplayModeParametersKHR {
3505  pub visibleRegion: Extent2D,
3506  pub refreshRate: u32,
3507}
3508#[doc(hidden)]
3509#[repr(C)]
3510#[derive(Debug, Copy, Clone)]
3511pub struct DisplayModePropertiesKHR {
3512  pub displayMode: DisplayModeKHR,
3513  pub parameters: DisplayModeParametersKHR,
3514}
3515#[doc(hidden)]
3516#[repr(C)]
3517#[derive(Debug, Copy, Clone)]
3518pub struct DisplayModeCreateInfoKHR {
3519  pub sType: StructureType,
3520  pub pNext: *const c_void,
3521  pub flags: DisplayModeCreateFlagsKHR,
3522  pub parameters: DisplayModeParametersKHR,
3523}
3524#[doc(hidden)]
3525#[repr(C)]
3526#[derive(Debug, Copy, Clone)]
3527pub struct DisplayPlaneCapabilitiesKHR {
3528  pub supportedAlpha: DisplayPlaneAlphaFlagsKHR,
3529  pub minSrcPosition: Offset2D,
3530  pub maxSrcPosition: Offset2D,
3531  pub minSrcExtent: Extent2D,
3532  pub maxSrcExtent: Extent2D,
3533  pub minDstPosition: Offset2D,
3534  pub maxDstPosition: Offset2D,
3535  pub minDstExtent: Extent2D,
3536  pub maxDstExtent: Extent2D,
3537}
3538#[doc(hidden)]
3539#[repr(C)]
3540#[derive(Debug, Copy, Clone)]
3541pub struct DisplaySurfaceCreateInfoKHR {
3542  pub sType: StructureType,
3543  pub pNext: *const c_void,
3544  pub flags: DisplaySurfaceCreateFlagsKHR,
3545  pub displayMode: DisplayModeKHR,
3546  pub planeIndex: u32,
3547  pub planeStackIndex: u32,
3548  pub transform: SurfaceTransformFlagBitsKHR,
3549  pub globalAlpha: f32,
3550  pub alphaMode: DisplayPlaneAlphaFlagBitsKHR,
3551  pub imageExtent: Extent2D,
3552}
3553#[doc(hidden)]
3554#[repr(C)]
3555#[derive(Debug, Copy, Clone)]
3556pub struct DisplayPresentInfoKHR {
3557  pub sType: StructureType,
3558  pub pNext: *const c_void,
3559  pub srcRect: Rect2D,
3560  pub dstRect: Rect2D,
3561  pub persistent: Bool32,
3562}
3563#[doc(hidden)]
3564#[repr(C)]
3565#[derive(Debug, Copy, Clone)]
3566pub struct SurfaceCapabilitiesKHR {
3567  pub minImageCount: u32,
3568  pub maxImageCount: u32,
3569  pub currentExtent: Extent2D,
3570  pub minImageExtent: Extent2D,
3571  pub maxImageExtent: Extent2D,
3572  pub maxImageArrayLayers: u32,
3573  pub supportedTransforms: SurfaceTransformFlagsKHR,
3574  pub currentTransform: SurfaceTransformFlagBitsKHR,
3575  pub supportedCompositeAlpha: CompositeAlphaFlagsKHR,
3576  pub supportedUsageFlags: ImageUsageFlags,
3577}
3578#[doc(hidden)]
3579#[repr(C)]
3580#[derive(Debug, Copy, Clone)]
3581pub struct AndroidSurfaceCreateInfoKHR {
3582  pub sType: StructureType,
3583  pub pNext: *const c_void,
3584  pub flags: AndroidSurfaceCreateFlagsKHR,
3585  pub window: *mut ANativeWindow,
3586}
3587#[doc(hidden)]
3588#[repr(C)]
3589#[derive(Debug, Copy, Clone)]
3590pub struct ViSurfaceCreateInfoNN {
3591  pub sType: StructureType,
3592  pub pNext: *const c_void,
3593  pub flags: ViSurfaceCreateFlagsNN,
3594  pub window: *mut c_void,
3595}
3596#[doc(hidden)]
3597#[repr(C)]
3598#[derive(Debug, Copy, Clone)]
3599pub struct WaylandSurfaceCreateInfoKHR {
3600  pub sType: StructureType,
3601  pub pNext: *const c_void,
3602  pub flags: WaylandSurfaceCreateFlagsKHR,
3603  pub display: *mut wl_display,
3604  pub surface: *mut wl_surface,
3605}
3606#[doc(hidden)]
3607#[repr(C)]
3608#[derive(Debug, Copy, Clone)]
3609pub struct Win32SurfaceCreateInfoKHR {
3610  pub sType: StructureType,
3611  pub pNext: *const c_void,
3612  pub flags: Win32SurfaceCreateFlagsKHR,
3613  pub hinstance: HINSTANCE,
3614  pub hwnd: HWND,
3615}
3616#[doc(hidden)]
3617#[repr(C)]
3618#[derive(Debug, Copy, Clone)]
3619pub struct XlibSurfaceCreateInfoKHR {
3620  pub sType: StructureType,
3621  pub pNext: *const c_void,
3622  pub flags: XlibSurfaceCreateFlagsKHR,
3623  pub dpy: *mut Display,
3624  pub window: Window,
3625}
3626#[doc(hidden)]
3627#[repr(C)]
3628#[derive(Debug, Copy, Clone)]
3629pub struct XcbSurfaceCreateInfoKHR {
3630  pub sType: StructureType,
3631  pub pNext: *const c_void,
3632  pub flags: XcbSurfaceCreateFlagsKHR,
3633  pub connection: *mut xcb_connection_t,
3634  pub window: xcb_window_t,
3635}
3636#[doc(hidden)]
3637#[repr(C)]
3638#[derive(Debug, Copy, Clone)]
3639pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
3640  pub sType: StructureType,
3641  pub pNext: *const c_void,
3642  pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
3643  pub imagePipeHandle: zx_handle_t,
3644}
3645#[doc(hidden)]
3646#[repr(C)]
3647#[derive(Debug, Copy, Clone)]
3648pub struct SurfaceFormatKHR {
3649  pub format: Format,
3650  pub colorSpace: ColorSpaceKHR,
3651}
3652#[doc(hidden)]
3653#[repr(C)]
3654#[derive(Debug, Copy, Clone)]
3655pub struct SwapchainCreateInfoKHR {
3656  pub sType: StructureType,
3657  pub pNext: *const c_void,
3658  pub flags: SwapchainCreateFlagsKHR,
3659  pub surface: SurfaceKHR,
3660  pub minImageCount: u32,
3661  pub imageFormat: Format,
3662  pub imageColorSpace: ColorSpaceKHR,
3663  pub imageExtent: Extent2D,
3664  pub imageArrayLayers: u32,
3665  pub imageUsage: ImageUsageFlags,
3666  pub imageSharingMode: SharingMode,
3667  pub queueFamilyIndexCount: u32,
3668  pub pQueueFamilyIndices: *const u32,
3669  pub preTransform: SurfaceTransformFlagBitsKHR,
3670  pub compositeAlpha: CompositeAlphaFlagBitsKHR,
3671  pub presentMode: PresentModeKHR,
3672  pub clipped: Bool32,
3673  pub oldSwapchain: SwapchainKHR,
3674}
3675#[doc(hidden)]
3676#[repr(C)]
3677#[derive(Debug, Copy, Clone)]
3678pub struct PresentInfoKHR {
3679  pub sType: StructureType,
3680  pub pNext: *const c_void,
3681  pub waitSemaphoreCount: u32,
3682  pub pWaitSemaphores: *const Semaphore,
3683  pub swapchainCount: u32,
3684  pub pSwapchains: *const SwapchainKHR,
3685  pub pImageIndices: *const u32,
3686  pub pResults: *mut Result,
3687}
3688#[doc(hidden)]
3689#[repr(C)]
3690#[derive(Copy, Clone)]
3691pub struct DebugReportCallbackCreateInfoEXT {
3692  pub sType: StructureType,
3693  pub pNext: *const c_void,
3694  pub flags: DebugReportFlagsEXT,
3695  pub pfnCallback: PFN_vkDebugReportCallbackEXT,
3696  pub pUserData: *mut c_void,
3697}
3698#[doc(hidden)]
3699#[repr(C)]
3700#[derive(Debug, Copy, Clone)]
3701pub struct ValidationFlagsEXT {
3702  pub sType: StructureType,
3703  pub pNext: *const c_void,
3704  pub disabledValidationCheckCount: u32,
3705  pub pDisabledValidationChecks: *const ValidationCheckEXT,
3706}
3707#[doc(hidden)]
3708#[repr(C)]
3709#[derive(Debug, Copy, Clone)]
3710pub struct PipelineRasterizationStateRasterizationOrderAMD {
3711  pub sType: StructureType,
3712  pub pNext: *const c_void,
3713  pub rasterizationOrder: RasterizationOrderAMD,
3714}
3715#[doc(hidden)]
3716#[repr(C)]
3717#[derive(Debug, Copy, Clone)]
3718pub struct DebugMarkerObjectNameInfoEXT {
3719  pub sType: StructureType,
3720  pub pNext: *const c_void,
3721  pub objectType: DebugReportObjectTypeEXT,
3722  pub object: u64,
3723  pub pObjectName: *const c_char,
3724}
3725#[doc(hidden)]
3726#[repr(C)]
3727#[derive(Debug, Copy, Clone)]
3728pub struct DebugMarkerObjectTagInfoEXT {
3729  pub sType: StructureType,
3730  pub pNext: *const c_void,
3731  pub objectType: DebugReportObjectTypeEXT,
3732  pub object: u64,
3733  pub tagName: u64,
3734  pub tagSize: usize,
3735  pub pTag: *const c_void,
3736}
3737#[doc(hidden)]
3738#[repr(C)]
3739#[derive(Copy, Clone)]
3740pub struct DebugMarkerMarkerInfoEXT {
3741  pub sType: StructureType,
3742  pub pNext: *const c_void,
3743  pub pMarkerName: *const c_char,
3744  pub color: [f32; 4],
3745}
3746#[doc(hidden)]
3747#[repr(C)]
3748#[derive(Debug, Copy, Clone)]
3749pub struct DedicatedAllocationImageCreateInfoNV {
3750  pub sType: StructureType,
3751  pub pNext: *const c_void,
3752  pub dedicatedAllocation: Bool32,
3753}
3754#[doc(hidden)]
3755#[repr(C)]
3756#[derive(Debug, Copy, Clone)]
3757pub struct DedicatedAllocationBufferCreateInfoNV {
3758  pub sType: StructureType,
3759  pub pNext: *const c_void,
3760  pub dedicatedAllocation: Bool32,
3761}
3762#[doc(hidden)]
3763#[repr(C)]
3764#[derive(Debug, Copy, Clone)]
3765pub struct DedicatedAllocationMemoryAllocateInfoNV {
3766  pub sType: StructureType,
3767  pub pNext: *const c_void,
3768  pub image: Image,
3769  pub buffer: Buffer,
3770}
3771#[doc(hidden)]
3772#[repr(C)]
3773#[derive(Debug, Copy, Clone)]
3774pub struct ExternalImageFormatPropertiesNV {
3775  pub imageFormatProperties: ImageFormatProperties,
3776  pub externalMemoryFeatures: ExternalMemoryFeatureFlagsNV,
3777  pub exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
3778  pub compatibleHandleTypes: ExternalMemoryHandleTypeFlagsNV,
3779}
3780#[doc(hidden)]
3781#[repr(C)]
3782#[derive(Debug, Copy, Clone)]
3783pub struct ExternalMemoryImageCreateInfoNV {
3784  pub sType: StructureType,
3785  pub pNext: *const c_void,
3786  pub handleTypes: ExternalMemoryHandleTypeFlagsNV,
3787}
3788#[doc(hidden)]
3789#[repr(C)]
3790#[derive(Debug, Copy, Clone)]
3791pub struct ExportMemoryAllocateInfoNV {
3792  pub sType: StructureType,
3793  pub pNext: *const c_void,
3794  pub handleTypes: ExternalMemoryHandleTypeFlagsNV,
3795}
3796#[doc(hidden)]
3797#[repr(C)]
3798#[derive(Debug, Copy, Clone)]
3799pub struct ImportMemoryWin32HandleInfoNV {
3800  pub sType: StructureType,
3801  pub pNext: *const c_void,
3802  pub handleType: ExternalMemoryHandleTypeFlagsNV,
3803  pub handle: HANDLE,
3804}
3805#[doc(hidden)]
3806#[repr(C)]
3807#[derive(Debug, Copy, Clone)]
3808pub struct ExportMemoryWin32HandleInfoNV {
3809  pub sType: StructureType,
3810  pub pNext: *const c_void,
3811  pub pAttributes: *const n32_SECURITY_ATTRIBUTES,
3812  pub dwAccess: DWORD,
3813}
3814#[doc(hidden)]
3815#[repr(C)]
3816#[derive(Debug, Copy, Clone)]
3817pub struct Win32KeyedMutexAcquireReleaseInfoNV {
3818  pub sType: StructureType,
3819  pub pNext: *const c_void,
3820  pub acquireCount: u32,
3821  pub pAcquireSyncs: *const DeviceMemory,
3822  pub pAcquireKeys: *const u64,
3823  pub pAcquireTimeoutMilliseconds: *const u32,
3824  pub releaseCount: u32,
3825  pub pReleaseSyncs: *const DeviceMemory,
3826  pub pReleaseKeys: *const u64,
3827}
3828#[doc(hidden)]
3829#[repr(C)]
3830#[derive(Debug, Copy, Clone)]
3831pub struct DeviceGeneratedCommandsFeaturesNVX {
3832  pub sType: StructureType,
3833  pub pNext: *const c_void,
3834  pub computeBindingPointSupport: Bool32,
3835}
3836#[doc(hidden)]
3837#[repr(C)]
3838#[derive(Debug, Copy, Clone)]
3839pub struct DeviceGeneratedCommandsLimitsNVX {
3840  pub sType: StructureType,
3841  pub pNext: *const c_void,
3842  pub maxIndirectCommandsLayoutTokenCount: u32,
3843  pub maxObjectEntryCounts: u32,
3844  pub minSequenceCountBufferOffsetAlignment: u32,
3845  pub minSequenceIndexBufferOffsetAlignment: u32,
3846  pub minCommandsTokenBufferOffsetAlignment: u32,
3847}
3848#[doc(hidden)]
3849#[repr(C)]
3850#[derive(Debug, Copy, Clone)]
3851pub struct IndirectCommandsTokenNVX {
3852  pub tokenType: IndirectCommandsTokenTypeNVX,
3853  pub buffer: Buffer,
3854  pub offset: DeviceSize,
3855}
3856#[doc(hidden)]
3857#[repr(C)]
3858#[derive(Debug, Copy, Clone)]
3859pub struct IndirectCommandsLayoutTokenNVX {
3860  pub tokenType: IndirectCommandsTokenTypeNVX,
3861  pub bindingUnit: u32,
3862  pub dynamicCount: u32,
3863  pub divisor: u32,
3864}
3865#[doc(hidden)]
3866#[repr(C)]
3867#[derive(Debug, Copy, Clone)]
3868pub struct IndirectCommandsLayoutCreateInfoNVX {
3869  pub sType: StructureType,
3870  pub pNext: *const c_void,
3871  pub pipelineBindPoint: PipelineBindPoint,
3872  pub flags: IndirectCommandsLayoutUsageFlagsNVX,
3873  pub tokenCount: u32,
3874  pub pTokens: *const IndirectCommandsLayoutTokenNVX,
3875}
3876#[doc(hidden)]
3877#[repr(C)]
3878#[derive(Debug, Copy, Clone)]
3879pub struct CmdProcessCommandsInfoNVX {
3880  pub sType: StructureType,
3881  pub pNext: *const c_void,
3882  pub objectTable: ObjectTableNVX,
3883  pub indirectCommandsLayout: IndirectCommandsLayoutNVX,
3884  pub indirectCommandsTokenCount: u32,
3885  pub pIndirectCommandsTokens: *const IndirectCommandsTokenNVX,
3886  pub maxSequencesCount: u32,
3887  pub targetCommandBuffer: CommandBuffer,
3888  pub sequencesCountBuffer: Buffer,
3889  pub sequencesCountOffset: DeviceSize,
3890  pub sequencesIndexBuffer: Buffer,
3891  pub sequencesIndexOffset: DeviceSize,
3892}
3893#[doc(hidden)]
3894#[repr(C)]
3895#[derive(Debug, Copy, Clone)]
3896pub struct CmdReserveSpaceForCommandsInfoNVX {
3897  pub sType: StructureType,
3898  pub pNext: *const c_void,
3899  pub objectTable: ObjectTableNVX,
3900  pub indirectCommandsLayout: IndirectCommandsLayoutNVX,
3901  pub maxSequencesCount: u32,
3902}
3903#[doc(hidden)]
3904#[repr(C)]
3905#[derive(Debug, Copy, Clone)]
3906pub struct ObjectTableCreateInfoNVX {
3907  pub sType: StructureType,
3908  pub pNext: *const c_void,
3909  pub objectCount: u32,
3910  pub pObjectEntryTypes: *const ObjectEntryTypeNVX,
3911  pub pObjectEntryCounts: *const u32,
3912  pub pObjectEntryUsageFlags: *const ObjectEntryUsageFlagsNVX,
3913  pub maxUniformBuffersPerDescriptor: u32,
3914  pub maxStorageBuffersPerDescriptor: u32,
3915  pub maxStorageImagesPerDescriptor: u32,
3916  pub maxSampledImagesPerDescriptor: u32,
3917  pub maxPipelineLayouts: u32,
3918}
3919#[doc(hidden)]
3920#[repr(C)]
3921#[derive(Debug, Copy, Clone)]
3922pub struct ObjectTableEntryNVX {
3923  pub typ: ObjectEntryTypeNVX,
3924  pub flags: ObjectEntryUsageFlagsNVX,
3925}
3926#[doc(hidden)]
3927#[repr(C)]
3928#[derive(Debug, Copy, Clone)]
3929pub struct ObjectTablePipelineEntryNVX {
3930  pub typ: ObjectEntryTypeNVX,
3931  pub flags: ObjectEntryUsageFlagsNVX,
3932  pub pipeline: Pipeline,
3933}
3934#[doc(hidden)]
3935#[repr(C)]
3936#[derive(Debug, Copy, Clone)]
3937pub struct ObjectTableDescriptorSetEntryNVX {
3938  pub typ: ObjectEntryTypeNVX,
3939  pub flags: ObjectEntryUsageFlagsNVX,
3940  pub pipelineLayout: PipelineLayout,
3941  pub descriptorSet: DescriptorSet,
3942}
3943#[doc(hidden)]
3944#[repr(C)]
3945#[derive(Debug, Copy, Clone)]
3946pub struct ObjectTableVertexBufferEntryNVX {
3947  pub typ: ObjectEntryTypeNVX,
3948  pub flags: ObjectEntryUsageFlagsNVX,
3949  pub buffer: Buffer,
3950}
3951#[doc(hidden)]
3952#[repr(C)]
3953#[derive(Debug, Copy, Clone)]
3954pub struct ObjectTableIndexBufferEntryNVX {
3955  pub typ: ObjectEntryTypeNVX,
3956  pub flags: ObjectEntryUsageFlagsNVX,
3957  pub buffer: Buffer,
3958  pub indexType: IndexType,
3959}
3960#[doc(hidden)]
3961#[repr(C)]
3962#[derive(Debug, Copy, Clone)]
3963pub struct ObjectTablePushConstantEntryNVX {
3964  pub typ: ObjectEntryTypeNVX,
3965  pub flags: ObjectEntryUsageFlagsNVX,
3966  pub pipelineLayout: PipelineLayout,
3967  pub stageFlags: ShaderStageFlags,
3968}
3969#[doc(hidden)]
3970#[repr(C)]
3971#[derive(Debug, Copy, Clone)]
3972pub struct PhysicalDeviceFeatures2 {
3973  pub sType: StructureType,
3974  pub pNext: *mut c_void,
3975  pub features: PhysicalDeviceFeatures,
3976}
3977#[doc(hidden)]
3978#[repr(C)]
3979#[derive(Copy, Clone)]
3980pub struct PhysicalDeviceProperties2 {
3981  pub sType: StructureType,
3982  pub pNext: *mut c_void,
3983  pub properties: PhysicalDeviceProperties,
3984}
3985#[doc(hidden)]
3986#[repr(C)]
3987#[derive(Debug, Copy, Clone)]
3988pub struct FormatProperties2 {
3989  pub sType: StructureType,
3990  pub pNext: *mut c_void,
3991  pub formatProperties: FormatProperties,
3992}
3993#[doc(hidden)]
3994#[repr(C)]
3995#[derive(Debug, Copy, Clone)]
3996pub struct ImageFormatProperties2 {
3997  pub sType: StructureType,
3998  pub pNext: *mut c_void,
3999  pub imageFormatProperties: ImageFormatProperties,
4000}
4001#[doc(hidden)]
4002#[repr(C)]
4003#[derive(Debug, Copy, Clone)]
4004pub struct PhysicalDeviceImageFormatInfo2 {
4005  pub sType: StructureType,
4006  pub pNext: *const c_void,
4007  pub format: Format,
4008  pub typ: ImageType,
4009  pub tiling: ImageTiling,
4010  pub usage: ImageUsageFlags,
4011  pub flags: ImageCreateFlags,
4012}
4013#[doc(hidden)]
4014#[repr(C)]
4015#[derive(Debug, Copy, Clone)]
4016pub struct QueueFamilyProperties2 {
4017  pub sType: StructureType,
4018  pub pNext: *mut c_void,
4019  pub queueFamilyProperties: QueueFamilyProperties,
4020}
4021#[doc(hidden)]
4022#[repr(C)]
4023#[derive(Copy, Clone)]
4024pub struct PhysicalDeviceMemoryProperties2 {
4025  pub sType: StructureType,
4026  pub pNext: *mut c_void,
4027  pub memoryProperties: PhysicalDeviceMemoryProperties,
4028}
4029#[doc(hidden)]
4030#[repr(C)]
4031#[derive(Debug, Copy, Clone)]
4032pub struct SparseImageFormatProperties2 {
4033  pub sType: StructureType,
4034  pub pNext: *mut c_void,
4035  pub properties: SparseImageFormatProperties,
4036}
4037#[doc(hidden)]
4038#[repr(C)]
4039#[derive(Debug, Copy, Clone)]
4040pub struct PhysicalDeviceSparseImageFormatInfo2 {
4041  pub sType: StructureType,
4042  pub pNext: *const c_void,
4043  pub format: Format,
4044  pub typ: ImageType,
4045  pub samples: SampleCountFlagBits,
4046  pub usage: ImageUsageFlags,
4047  pub tiling: ImageTiling,
4048}
4049#[doc(hidden)]
4050#[repr(C)]
4051#[derive(Debug, Copy, Clone)]
4052pub struct PhysicalDevicePushDescriptorPropertiesKHR {
4053  pub sType: StructureType,
4054  pub pNext: *mut c_void,
4055  pub maxPushDescriptors: u32,
4056}
4057#[doc(hidden)]
4058#[repr(C)]
4059#[derive(Debug, Copy, Clone)]
4060pub struct ConformanceVersionKHR {
4061  pub major: u8,
4062  pub minor: u8,
4063  pub subminor: u8,
4064  pub patch: u8,
4065}
4066#[doc(hidden)]
4067#[repr(C)]
4068#[derive(Copy, Clone)]
4069pub struct PhysicalDeviceDriverPropertiesKHR {
4070  pub sType: StructureType,
4071  pub pNext: *mut c_void,
4072  pub driverID: DriverIdKHR,
4073  pub driverName: [c_char; MAX_DRIVER_NAME_SIZE_KHR as usize],
4074  pub driverInfo: [c_char; MAX_DRIVER_INFO_SIZE_KHR as usize],
4075  pub conformanceVersion: ConformanceVersionKHR,
4076}
4077#[doc(hidden)]
4078#[repr(C)]
4079#[derive(Debug, Copy, Clone)]
4080pub struct PresentRegionsKHR {
4081  pub sType: StructureType,
4082  pub pNext: *const c_void,
4083  pub swapchainCount: u32,
4084  pub pRegions: *const PresentRegionKHR,
4085}
4086#[doc(hidden)]
4087#[repr(C)]
4088#[derive(Debug, Copy, Clone)]
4089pub struct PresentRegionKHR {
4090  pub rectangleCount: u32,
4091  pub pRectangles: *const RectLayerKHR,
4092}
4093#[doc(hidden)]
4094#[repr(C)]
4095#[derive(Debug, Copy, Clone)]
4096pub struct RectLayerKHR {
4097  pub offset: Offset2D,
4098  pub extent: Extent2D,
4099  pub layer: u32,
4100}
4101#[doc(hidden)]
4102#[repr(C)]
4103#[derive(Debug, Copy, Clone)]
4104pub struct PhysicalDeviceVariablePointerFeatures {
4105  pub sType: StructureType,
4106  pub pNext: *mut c_void,
4107  pub variablePointersStorageBuffer: Bool32,
4108  pub variablePointers: Bool32,
4109}
4110#[doc(hidden)]
4111#[repr(C)]
4112#[derive(Debug, Copy, Clone)]
4113pub struct ExternalMemoryProperties {
4114  pub externalMemoryFeatures: ExternalMemoryFeatureFlags,
4115  pub exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
4116  pub compatibleHandleTypes: ExternalMemoryHandleTypeFlags,
4117}
4118#[doc(hidden)]
4119#[repr(C)]
4120#[derive(Debug, Copy, Clone)]
4121pub struct PhysicalDeviceExternalImageFormatInfo {
4122  pub sType: StructureType,
4123  pub pNext: *const c_void,
4124  pub handleType: ExternalMemoryHandleTypeFlagBits,
4125}
4126#[doc(hidden)]
4127#[repr(C)]
4128#[derive(Debug, Copy, Clone)]
4129pub struct ExternalImageFormatProperties {
4130  pub sType: StructureType,
4131  pub pNext: *mut c_void,
4132  pub externalMemoryProperties: ExternalMemoryProperties,
4133}
4134#[doc(hidden)]
4135#[repr(C)]
4136#[derive(Debug, Copy, Clone)]
4137pub struct PhysicalDeviceExternalBufferInfo {
4138  pub sType: StructureType,
4139  pub pNext: *const c_void,
4140  pub flags: BufferCreateFlags,
4141  pub usage: BufferUsageFlags,
4142  pub handleType: ExternalMemoryHandleTypeFlagBits,
4143}
4144#[doc(hidden)]
4145#[repr(C)]
4146#[derive(Debug, Copy, Clone)]
4147pub struct ExternalBufferProperties {
4148  pub sType: StructureType,
4149  pub pNext: *mut c_void,
4150  pub externalMemoryProperties: ExternalMemoryProperties,
4151}
4152#[doc(hidden)]
4153#[repr(C)]
4154#[derive(Copy, Clone)]
4155pub struct PhysicalDeviceIDProperties {
4156  pub sType: StructureType,
4157  pub pNext: *mut c_void,
4158  pub deviceUUID: [u8; UUID_SIZE as usize],
4159  pub driverUUID: [u8; UUID_SIZE as usize],
4160  pub deviceLUID: [u8; LUID_SIZE as usize],
4161  pub deviceNodeMask: u32,
4162  pub deviceLUIDValid: Bool32,
4163}
4164#[doc(hidden)]
4165#[repr(C)]
4166#[derive(Debug, Copy, Clone)]
4167pub struct ExternalMemoryImageCreateInfo {
4168  pub sType: StructureType,
4169  pub pNext: *const c_void,
4170  pub handleTypes: ExternalMemoryHandleTypeFlags,
4171}
4172#[doc(hidden)]
4173#[repr(C)]
4174#[derive(Debug, Copy, Clone)]
4175pub struct ExternalMemoryBufferCreateInfo {
4176  pub sType: StructureType,
4177  pub pNext: *const c_void,
4178  pub handleTypes: ExternalMemoryHandleTypeFlags,
4179}
4180#[doc(hidden)]
4181#[repr(C)]
4182#[derive(Debug, Copy, Clone)]
4183pub struct ExportMemoryAllocateInfo {
4184  pub sType: StructureType,
4185  pub pNext: *const c_void,
4186  pub handleTypes: ExternalMemoryHandleTypeFlags,
4187}
4188#[doc(hidden)]
4189#[repr(C)]
4190#[derive(Debug, Copy, Clone)]
4191pub struct ImportMemoryWin32HandleInfoKHR {
4192  pub sType: StructureType,
4193  pub pNext: *const c_void,
4194  pub handleType: ExternalMemoryHandleTypeFlagBits,
4195  pub handle: HANDLE,
4196  pub name: LPCWSTR,
4197}
4198#[doc(hidden)]
4199#[repr(C)]
4200#[derive(Debug, Copy, Clone)]
4201pub struct ExportMemoryWin32HandleInfoKHR {
4202  pub sType: StructureType,
4203  pub pNext: *const c_void,
4204  pub pAttributes: *const n32_SECURITY_ATTRIBUTES,
4205  pub dwAccess: DWORD,
4206  pub name: LPCWSTR,
4207}
4208#[doc(hidden)]
4209#[repr(C)]
4210#[derive(Debug, Copy, Clone)]
4211pub struct MemoryWin32HandlePropertiesKHR {
4212  pub sType: StructureType,
4213  pub pNext: *mut c_void,
4214  pub memoryTypeBits: u32,
4215}
4216#[doc(hidden)]
4217#[repr(C)]
4218#[derive(Debug, Copy, Clone)]
4219pub struct MemoryGetWin32HandleInfoKHR {
4220  pub sType: StructureType,
4221  pub pNext: *const c_void,
4222  pub memory: DeviceMemory,
4223  pub handleType: ExternalMemoryHandleTypeFlagBits,
4224}
4225#[doc(hidden)]
4226#[repr(C)]
4227#[derive(Debug, Copy, Clone)]
4228pub struct ImportMemoryFdInfoKHR {
4229  pub sType: StructureType,
4230  pub pNext: *const c_void,
4231  pub handleType: ExternalMemoryHandleTypeFlagBits,
4232  pub fd: i32,
4233}
4234#[doc(hidden)]
4235#[repr(C)]
4236#[derive(Debug, Copy, Clone)]
4237pub struct MemoryFdPropertiesKHR {
4238  pub sType: StructureType,
4239  pub pNext: *mut c_void,
4240  pub memoryTypeBits: u32,
4241}
4242#[doc(hidden)]
4243#[repr(C)]
4244#[derive(Debug, Copy, Clone)]
4245pub struct MemoryGetFdInfoKHR {
4246  pub sType: StructureType,
4247  pub pNext: *const c_void,
4248  pub memory: DeviceMemory,
4249  pub handleType: ExternalMemoryHandleTypeFlagBits,
4250}
4251#[doc(hidden)]
4252#[repr(C)]
4253#[derive(Debug, Copy, Clone)]
4254pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
4255  pub sType: StructureType,
4256  pub pNext: *const c_void,
4257  pub acquireCount: u32,
4258  pub pAcquireSyncs: *const DeviceMemory,
4259  pub pAcquireKeys: *const u64,
4260  pub pAcquireTimeouts: *const u32,
4261  pub releaseCount: u32,
4262  pub pReleaseSyncs: *const DeviceMemory,
4263  pub pReleaseKeys: *const u64,
4264}
4265#[doc(hidden)]
4266#[repr(C)]
4267#[derive(Debug, Copy, Clone)]
4268pub struct PhysicalDeviceExternalSemaphoreInfo {
4269  pub sType: StructureType,
4270  pub pNext: *const c_void,
4271  pub handleType: ExternalSemaphoreHandleTypeFlagBits,
4272}
4273#[doc(hidden)]
4274#[repr(C)]
4275#[derive(Debug, Copy, Clone)]
4276pub struct ExternalSemaphoreProperties {
4277  pub sType: StructureType,
4278  pub pNext: *mut c_void,
4279  pub exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
4280  pub compatibleHandleTypes: ExternalSemaphoreHandleTypeFlags,
4281  pub externalSemaphoreFeatures: ExternalSemaphoreFeatureFlags,
4282}
4283#[doc(hidden)]
4284#[repr(C)]
4285#[derive(Debug, Copy, Clone)]
4286pub struct ExportSemaphoreCreateInfo {
4287  pub sType: StructureType,
4288  pub pNext: *const c_void,
4289  pub handleTypes: ExternalSemaphoreHandleTypeFlags,
4290}
4291#[doc(hidden)]
4292#[repr(C)]
4293#[derive(Debug, Copy, Clone)]
4294pub struct ImportSemaphoreWin32HandleInfoKHR {
4295  pub sType: StructureType,
4296  pub pNext: *const c_void,
4297  pub semaphore: Semaphore,
4298  pub flags: SemaphoreImportFlags,
4299  pub handleType: ExternalSemaphoreHandleTypeFlagBits,
4300  pub handle: HANDLE,
4301  pub name: LPCWSTR,
4302}
4303#[doc(hidden)]
4304#[repr(C)]
4305#[derive(Debug, Copy, Clone)]
4306pub struct ExportSemaphoreWin32HandleInfoKHR {
4307  pub sType: StructureType,
4308  pub pNext: *const c_void,
4309  pub pAttributes: *const n32_SECURITY_ATTRIBUTES,
4310  pub dwAccess: DWORD,
4311  pub name: LPCWSTR,
4312}
4313#[doc(hidden)]
4314#[repr(C)]
4315#[derive(Debug, Copy, Clone)]
4316pub struct D3D12FenceSubmitInfoKHR {
4317  pub sType: StructureType,
4318  pub pNext: *const c_void,
4319  pub waitSemaphoreValuesCount: u32,
4320  pub pWaitSemaphoreValues: *const u64,
4321  pub signalSemaphoreValuesCount: u32,
4322  pub pSignalSemaphoreValues: *const u64,
4323}
4324#[doc(hidden)]
4325#[repr(C)]
4326#[derive(Debug, Copy, Clone)]
4327pub struct SemaphoreGetWin32HandleInfoKHR {
4328  pub sType: StructureType,
4329  pub pNext: *const c_void,
4330  pub semaphore: Semaphore,
4331  pub handleType: ExternalSemaphoreHandleTypeFlagBits,
4332}
4333#[doc(hidden)]
4334#[repr(C)]
4335#[derive(Debug, Copy, Clone)]
4336pub struct ImportSemaphoreFdInfoKHR {
4337  pub sType: StructureType,
4338  pub pNext: *const c_void,
4339  pub semaphore: Semaphore,
4340  pub flags: SemaphoreImportFlags,
4341  pub handleType: ExternalSemaphoreHandleTypeFlagBits,
4342  pub fd: i32,
4343}
4344#[doc(hidden)]
4345#[repr(C)]
4346#[derive(Debug, Copy, Clone)]
4347pub struct SemaphoreGetFdInfoKHR {
4348  pub sType: StructureType,
4349  pub pNext: *const c_void,
4350  pub semaphore: Semaphore,
4351  pub handleType: ExternalSemaphoreHandleTypeFlagBits,
4352}
4353#[doc(hidden)]
4354#[repr(C)]
4355#[derive(Debug, Copy, Clone)]
4356pub struct PhysicalDeviceExternalFenceInfo {
4357  pub sType: StructureType,
4358  pub pNext: *const c_void,
4359  pub handleType: ExternalFenceHandleTypeFlagBits,
4360}
4361#[doc(hidden)]
4362#[repr(C)]
4363#[derive(Debug, Copy, Clone)]
4364pub struct ExternalFenceProperties {
4365  pub sType: StructureType,
4366  pub pNext: *mut c_void,
4367  pub exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
4368  pub compatibleHandleTypes: ExternalFenceHandleTypeFlags,
4369  pub externalFenceFeatures: ExternalFenceFeatureFlags,
4370}
4371#[doc(hidden)]
4372#[repr(C)]
4373#[derive(Debug, Copy, Clone)]
4374pub struct ExportFenceCreateInfo {
4375  pub sType: StructureType,
4376  pub pNext: *const c_void,
4377  pub handleTypes: ExternalFenceHandleTypeFlags,
4378}
4379#[doc(hidden)]
4380#[repr(C)]
4381#[derive(Debug, Copy, Clone)]
4382pub struct ImportFenceWin32HandleInfoKHR {
4383  pub sType: StructureType,
4384  pub pNext: *const c_void,
4385  pub fence: Fence,
4386  pub flags: FenceImportFlags,
4387  pub handleType: ExternalFenceHandleTypeFlagBits,
4388  pub handle: HANDLE,
4389  pub name: LPCWSTR,
4390}
4391#[doc(hidden)]
4392#[repr(C)]
4393#[derive(Debug, Copy, Clone)]
4394pub struct ExportFenceWin32HandleInfoKHR {
4395  pub sType: StructureType,
4396  pub pNext: *const c_void,
4397  pub pAttributes: *const n32_SECURITY_ATTRIBUTES,
4398  pub dwAccess: DWORD,
4399  pub name: LPCWSTR,
4400}
4401#[doc(hidden)]
4402#[repr(C)]
4403#[derive(Debug, Copy, Clone)]
4404pub struct FenceGetWin32HandleInfoKHR {
4405  pub sType: StructureType,
4406  pub pNext: *const c_void,
4407  pub fence: Fence,
4408  pub handleType: ExternalFenceHandleTypeFlagBits,
4409}
4410#[doc(hidden)]
4411#[repr(C)]
4412#[derive(Debug, Copy, Clone)]
4413pub struct ImportFenceFdInfoKHR {
4414  pub sType: StructureType,
4415  pub pNext: *const c_void,
4416  pub fence: Fence,
4417  pub flags: FenceImportFlags,
4418  pub handleType: ExternalFenceHandleTypeFlagBits,
4419  pub fd: i32,
4420}
4421#[doc(hidden)]
4422#[repr(C)]
4423#[derive(Debug, Copy, Clone)]
4424pub struct FenceGetFdInfoKHR {
4425  pub sType: StructureType,
4426  pub pNext: *const c_void,
4427  pub fence: Fence,
4428  pub handleType: ExternalFenceHandleTypeFlagBits,
4429}
4430#[doc(hidden)]
4431#[repr(C)]
4432#[derive(Debug, Copy, Clone)]
4433pub struct PhysicalDeviceMultiviewFeatures {
4434  pub sType: StructureType,
4435  pub pNext: *mut c_void,
4436  pub multiview: Bool32,
4437  pub multiviewGeometryShader: Bool32,
4438  pub multiviewTessellationShader: Bool32,
4439}
4440#[doc(hidden)]
4441#[repr(C)]
4442#[derive(Debug, Copy, Clone)]
4443pub struct PhysicalDeviceMultiviewProperties {
4444  pub sType: StructureType,
4445  pub pNext: *mut c_void,
4446  pub maxMultiviewViewCount: u32,
4447  pub maxMultiviewInstanceIndex: u32,
4448}
4449#[doc(hidden)]
4450#[repr(C)]
4451#[derive(Debug, Copy, Clone)]
4452pub struct RenderPassMultiviewCreateInfo {
4453  pub sType: StructureType,
4454  pub pNext: *const c_void,
4455  pub subpassCount: u32,
4456  pub pViewMasks: *const u32,
4457  pub dependencyCount: u32,
4458  pub pViewOffsets: *const i32,
4459  pub correlationMaskCount: u32,
4460  pub pCorrelationMasks: *const u32,
4461}
4462#[doc(hidden)]
4463#[repr(C)]
4464#[derive(Debug, Copy, Clone)]
4465pub struct SurfaceCapabilities2EXT {
4466  pub sType: StructureType,
4467  pub pNext: *mut c_void,
4468  pub minImageCount: u32,
4469  pub maxImageCount: u32,
4470  pub currentExtent: Extent2D,
4471  pub minImageExtent: Extent2D,
4472  pub maxImageExtent: Extent2D,
4473  pub maxImageArrayLayers: u32,
4474  pub supportedTransforms: SurfaceTransformFlagsKHR,
4475  pub currentTransform: SurfaceTransformFlagBitsKHR,
4476  pub supportedCompositeAlpha: CompositeAlphaFlagsKHR,
4477  pub supportedUsageFlags: ImageUsageFlags,
4478  pub supportedSurfaceCounters: SurfaceCounterFlagsEXT,
4479}
4480#[doc(hidden)]
4481#[repr(C)]
4482#[derive(Debug, Copy, Clone)]
4483pub struct DisplayPowerInfoEXT {
4484  pub sType: StructureType,
4485  pub pNext: *const c_void,
4486  pub powerState: DisplayPowerStateEXT,
4487}
4488#[doc(hidden)]
4489#[repr(C)]
4490#[derive(Debug, Copy, Clone)]
4491pub struct DeviceEventInfoEXT {
4492  pub sType: StructureType,
4493  pub pNext: *const c_void,
4494  pub deviceEvent: DeviceEventTypeEXT,
4495}
4496#[doc(hidden)]
4497#[repr(C)]
4498#[derive(Debug, Copy, Clone)]
4499pub struct DisplayEventInfoEXT {
4500  pub sType: StructureType,
4501  pub pNext: *const c_void,
4502  pub displayEvent: DisplayEventTypeEXT,
4503}
4504#[doc(hidden)]
4505#[repr(C)]
4506#[derive(Debug, Copy, Clone)]
4507pub struct SwapchainCounterCreateInfoEXT {
4508  pub sType: StructureType,
4509  pub pNext: *const c_void,
4510  pub surfaceCounters: SurfaceCounterFlagsEXT,
4511}
4512#[doc(hidden)]
4513#[repr(C)]
4514#[derive(Copy, Clone)]
4515pub struct PhysicalDeviceGroupProperties {
4516  pub sType: StructureType,
4517  pub pNext: *mut c_void,
4518  pub physicalDeviceCount: u32,
4519  pub physicalDevices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE as usize],
4520  pub subsetAllocation: Bool32,
4521}
4522#[doc(hidden)]
4523#[repr(C)]
4524#[derive(Debug, Copy, Clone)]
4525pub struct MemoryAllocateFlagsInfo {
4526  pub sType: StructureType,
4527  pub pNext: *const c_void,
4528  pub flags: MemoryAllocateFlags,
4529  pub deviceMask: u32,
4530}
4531#[doc(hidden)]
4532#[repr(C)]
4533#[derive(Debug, Copy, Clone)]
4534pub struct BindBufferMemoryInfo {
4535  pub sType: StructureType,
4536  pub pNext: *const c_void,
4537  pub buffer: Buffer,
4538  pub memory: DeviceMemory,
4539  pub memoryOffset: DeviceSize,
4540}
4541#[doc(hidden)]
4542#[repr(C)]
4543#[derive(Debug, Copy, Clone)]
4544pub struct BindBufferMemoryDeviceGroupInfo {
4545  pub sType: StructureType,
4546  pub pNext: *const c_void,
4547  pub deviceIndexCount: u32,
4548  pub pDeviceIndices: *const u32,
4549}
4550#[doc(hidden)]
4551#[repr(C)]
4552#[derive(Debug, Copy, Clone)]
4553pub struct BindImageMemoryInfo {
4554  pub sType: StructureType,
4555  pub pNext: *const c_void,
4556  pub image: Image,
4557  pub memory: DeviceMemory,
4558  pub memoryOffset: DeviceSize,
4559}
4560#[doc(hidden)]
4561#[repr(C)]
4562#[derive(Debug, Copy, Clone)]
4563pub struct BindImageMemoryDeviceGroupInfo {
4564  pub sType: StructureType,
4565  pub pNext: *const c_void,
4566  pub deviceIndexCount: u32,
4567  pub pDeviceIndices: *const u32,
4568  pub splitInstanceBindRegionCount: u32,
4569  pub pSplitInstanceBindRegions: *const Rect2D,
4570}
4571#[doc(hidden)]
4572#[repr(C)]
4573#[derive(Debug, Copy, Clone)]
4574pub struct DeviceGroupRenderPassBeginInfo {
4575  pub sType: StructureType,
4576  pub pNext: *const c_void,
4577  pub deviceMask: u32,
4578  pub deviceRenderAreaCount: u32,
4579  pub pDeviceRenderAreas: *const Rect2D,
4580}
4581#[doc(hidden)]
4582#[repr(C)]
4583#[derive(Debug, Copy, Clone)]
4584pub struct DeviceGroupCommandBufferBeginInfo {
4585  pub sType: StructureType,
4586  pub pNext: *const c_void,
4587  pub deviceMask: u32,
4588}
4589#[doc(hidden)]
4590#[repr(C)]
4591#[derive(Debug, Copy, Clone)]
4592pub struct DeviceGroupSubmitInfo {
4593  pub sType: StructureType,
4594  pub pNext: *const c_void,
4595  pub waitSemaphoreCount: u32,
4596  pub pWaitSemaphoreDeviceIndices: *const u32,
4597  pub commandBufferCount: u32,
4598  pub pCommandBufferDeviceMasks: *const u32,
4599  pub signalSemaphoreCount: u32,
4600  pub pSignalSemaphoreDeviceIndices: *const u32,
4601}
4602#[doc(hidden)]
4603#[repr(C)]
4604#[derive(Debug, Copy, Clone)]
4605pub struct DeviceGroupBindSparseInfo {
4606  pub sType: StructureType,
4607  pub pNext: *const c_void,
4608  pub resourceDeviceIndex: u32,
4609  pub memoryDeviceIndex: u32,
4610}
4611#[doc(hidden)]
4612#[repr(C)]
4613#[derive(Copy, Clone)]
4614pub struct DeviceGroupPresentCapabilitiesKHR {
4615  pub sType: StructureType,
4616  pub pNext: *const c_void,
4617  pub presentMask: [u32; MAX_DEVICE_GROUP_SIZE as usize],
4618  pub modes: DeviceGroupPresentModeFlagsKHR,
4619}
4620#[doc(hidden)]
4621#[repr(C)]
4622#[derive(Debug, Copy, Clone)]
4623pub struct ImageSwapchainCreateInfoKHR {
4624  pub sType: StructureType,
4625  pub pNext: *const c_void,
4626  pub swapchain: SwapchainKHR,
4627}
4628#[doc(hidden)]
4629#[repr(C)]
4630#[derive(Debug, Copy, Clone)]
4631pub struct BindImageMemorySwapchainInfoKHR {
4632  pub sType: StructureType,
4633  pub pNext: *const c_void,
4634  pub swapchain: SwapchainKHR,
4635  pub imageIndex: u32,
4636}
4637#[doc(hidden)]
4638#[repr(C)]
4639#[derive(Debug, Copy, Clone)]
4640pub struct AcquireNextImageInfoKHR {
4641  pub sType: StructureType,
4642  pub pNext: *const c_void,
4643  pub swapchain: SwapchainKHR,
4644  pub timeout: u64,
4645  pub semaphore: Semaphore,
4646  pub fence: Fence,
4647  pub deviceMask: u32,
4648}
4649#[doc(hidden)]
4650#[repr(C)]
4651#[derive(Debug, Copy, Clone)]
4652pub struct DeviceGroupPresentInfoKHR {
4653  pub sType: StructureType,
4654  pub pNext: *const c_void,
4655  pub swapchainCount: u32,
4656  pub pDeviceMasks: *const u32,
4657  pub mode: DeviceGroupPresentModeFlagBitsKHR,
4658}
4659#[doc(hidden)]
4660#[repr(C)]
4661#[derive(Debug, Copy, Clone)]
4662pub struct DeviceGroupDeviceCreateInfo {
4663  pub sType: StructureType,
4664  pub pNext: *const c_void,
4665  pub physicalDeviceCount: u32,
4666  pub pPhysicalDevices: *const PhysicalDevice,
4667}
4668#[doc(hidden)]
4669#[repr(C)]
4670#[derive(Debug, Copy, Clone)]
4671pub struct DeviceGroupSwapchainCreateInfoKHR {
4672  pub sType: StructureType,
4673  pub pNext: *const c_void,
4674  pub modes: DeviceGroupPresentModeFlagsKHR,
4675}
4676#[doc(hidden)]
4677#[repr(C)]
4678#[derive(Debug, Copy, Clone)]
4679pub struct DescriptorUpdateTemplateEntry {
4680  pub dstBinding: u32,
4681  pub dstArrayElement: u32,
4682  pub descriptorCount: u32,
4683  pub descriptorType: DescriptorType,
4684  pub offset: usize,
4685  pub stride: usize,
4686}
4687#[doc(hidden)]
4688#[repr(C)]
4689#[derive(Debug, Copy, Clone)]
4690pub struct DescriptorUpdateTemplateCreateInfo {
4691  pub sType: StructureType,
4692  pub pNext: *const c_void,
4693  pub flags: DescriptorUpdateTemplateCreateFlags,
4694  pub descriptorUpdateEntryCount: u32,
4695  pub pDescriptorUpdateEntries: *const DescriptorUpdateTemplateEntry,
4696  pub templateType: DescriptorUpdateTemplateType,
4697  pub descriptorSetLayout: DescriptorSetLayout,
4698  pub pipelineBindPoint: PipelineBindPoint,
4699  pub pipelineLayout: PipelineLayout,
4700  pub set: u32,
4701}
4702#[doc(hidden)]
4703#[repr(C)]
4704#[derive(Debug, Copy, Clone)]
4705pub struct XYColorEXT {
4706  pub x: f32,
4707  pub y: f32,
4708}
4709#[doc(hidden)]
4710#[repr(C)]
4711#[derive(Debug, Copy, Clone)]
4712pub struct HdrMetadataEXT {
4713  pub sType: StructureType,
4714  pub pNext: *const c_void,
4715  pub displayPrimaryRed: XYColorEXT,
4716  pub displayPrimaryGreen: XYColorEXT,
4717  pub displayPrimaryBlue: XYColorEXT,
4718  pub whitePoint: XYColorEXT,
4719  pub maxLuminance: f32,
4720  pub minLuminance: f32,
4721  pub maxContentLightLevel: f32,
4722  pub maxFrameAverageLightLevel: f32,
4723}
4724#[doc(hidden)]
4725#[repr(C)]
4726#[derive(Debug, Copy, Clone)]
4727pub struct RefreshCycleDurationGOOGLE {
4728  pub refreshDuration: u64,
4729}
4730#[doc(hidden)]
4731#[repr(C)]
4732#[derive(Debug, Copy, Clone)]
4733pub struct PastPresentationTimingGOOGLE {
4734  pub presentID: u32,
4735  pub desiredPresentTime: u64,
4736  pub actualPresentTime: u64,
4737  pub earliestPresentTime: u64,
4738  pub presentMargin: u64,
4739}
4740#[doc(hidden)]
4741#[repr(C)]
4742#[derive(Debug, Copy, Clone)]
4743pub struct PresentTimesInfoGOOGLE {
4744  pub sType: StructureType,
4745  pub pNext: *const c_void,
4746  pub swapchainCount: u32,
4747  pub pTimes: *const PresentTimeGOOGLE,
4748}
4749#[doc(hidden)]
4750#[repr(C)]
4751#[derive(Debug, Copy, Clone)]
4752pub struct PresentTimeGOOGLE {
4753  pub presentID: u32,
4754  pub desiredPresentTime: u64,
4755}
4756#[doc(hidden)]
4757#[repr(C)]
4758#[derive(Debug, Copy, Clone)]
4759pub struct IOSSurfaceCreateInfoMVK {
4760  pub sType: StructureType,
4761  pub pNext: *const c_void,
4762  pub flags: IOSSurfaceCreateFlagsMVK,
4763  pub pView: *const c_void,
4764}
4765#[doc(hidden)]
4766#[repr(C)]
4767#[derive(Debug, Copy, Clone)]
4768pub struct MacOSSurfaceCreateInfoMVK {
4769  pub sType: StructureType,
4770  pub pNext: *const c_void,
4771  pub flags: MacOSSurfaceCreateFlagsMVK,
4772  pub pView: *const c_void,
4773}
4774#[doc(hidden)]
4775#[repr(C)]
4776#[derive(Debug, Copy, Clone)]
4777pub struct ViewportWScalingNV {
4778  pub xcoeff: f32,
4779  pub ycoeff: f32,
4780}
4781#[doc(hidden)]
4782#[repr(C)]
4783#[derive(Debug, Copy, Clone)]
4784pub struct PipelineViewportWScalingStateCreateInfoNV {
4785  pub sType: StructureType,
4786  pub pNext: *const c_void,
4787  pub viewportWScalingEnable: Bool32,
4788  pub viewportCount: u32,
4789  pub pViewportWScalings: *const ViewportWScalingNV,
4790}
4791#[doc(hidden)]
4792#[repr(C)]
4793#[derive(Debug, Copy, Clone)]
4794pub struct ViewportSwizzleNV {
4795  pub x: ViewportCoordinateSwizzleNV,
4796  pub y: ViewportCoordinateSwizzleNV,
4797  pub z: ViewportCoordinateSwizzleNV,
4798  pub w: ViewportCoordinateSwizzleNV,
4799}
4800#[doc(hidden)]
4801#[repr(C)]
4802#[derive(Debug, Copy, Clone)]
4803pub struct PipelineViewportSwizzleStateCreateInfoNV {
4804  pub sType: StructureType,
4805  pub pNext: *const c_void,
4806  pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
4807  pub viewportCount: u32,
4808  pub pViewportSwizzles: *const ViewportSwizzleNV,
4809}
4810#[doc(hidden)]
4811#[repr(C)]
4812#[derive(Debug, Copy, Clone)]
4813pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
4814  pub sType: StructureType,
4815  pub pNext: *mut c_void,
4816  pub maxDiscardRectangles: u32,
4817}
4818#[doc(hidden)]
4819#[repr(C)]
4820#[derive(Debug, Copy, Clone)]
4821pub struct PipelineDiscardRectangleStateCreateInfoEXT {
4822  pub sType: StructureType,
4823  pub pNext: *const c_void,
4824  pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
4825  pub discardRectangleMode: DiscardRectangleModeEXT,
4826  pub discardRectangleCount: u32,
4827  pub pDiscardRectangles: *const Rect2D,
4828}
4829#[doc(hidden)]
4830#[repr(C)]
4831#[derive(Debug, Copy, Clone)]
4832pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
4833  pub sType: StructureType,
4834  pub pNext: *mut c_void,
4835  pub perViewPositionAllComponents: Bool32,
4836}
4837#[doc(hidden)]
4838#[repr(C)]
4839#[derive(Debug, Copy, Clone)]
4840pub struct InputAttachmentAspectReference {
4841  pub subpass: u32,
4842  pub inputAttachmentIndex: u32,
4843  pub aspectMask: ImageAspectFlags,
4844}
4845#[doc(hidden)]
4846#[repr(C)]
4847#[derive(Debug, Copy, Clone)]
4848pub struct RenderPassInputAttachmentAspectCreateInfo {
4849  pub sType: StructureType,
4850  pub pNext: *const c_void,
4851  pub aspectReferenceCount: u32,
4852  pub pAspectReferences: *const InputAttachmentAspectReference,
4853}
4854#[doc(hidden)]
4855#[repr(C)]
4856#[derive(Debug, Copy, Clone)]
4857pub struct PhysicalDeviceSurfaceInfo2KHR {
4858  pub sType: StructureType,
4859  pub pNext: *const c_void,
4860  pub surface: SurfaceKHR,
4861}
4862#[doc(hidden)]
4863#[repr(C)]
4864#[derive(Debug, Copy, Clone)]
4865pub struct SurfaceCapabilities2KHR {
4866  pub sType: StructureType,
4867  pub pNext: *mut c_void,
4868  pub surfaceCapabilities: SurfaceCapabilitiesKHR,
4869}
4870#[doc(hidden)]
4871#[repr(C)]
4872#[derive(Debug, Copy, Clone)]
4873pub struct SurfaceFormat2KHR {
4874  pub sType: StructureType,
4875  pub pNext: *mut c_void,
4876  pub surfaceFormat: SurfaceFormatKHR,
4877}
4878#[doc(hidden)]
4879#[repr(C)]
4880#[derive(Debug, Copy, Clone)]
4881pub struct DisplayProperties2KHR {
4882  pub sType: StructureType,
4883  pub pNext: *mut c_void,
4884  pub displayProperties: DisplayPropertiesKHR,
4885}
4886#[doc(hidden)]
4887#[repr(C)]
4888#[derive(Debug, Copy, Clone)]
4889pub struct DisplayPlaneProperties2KHR {
4890  pub sType: StructureType,
4891  pub pNext: *mut c_void,
4892  pub displayPlaneProperties: DisplayPlanePropertiesKHR,
4893}
4894#[doc(hidden)]
4895#[repr(C)]
4896#[derive(Debug, Copy, Clone)]
4897pub struct DisplayModeProperties2KHR {
4898  pub sType: StructureType,
4899  pub pNext: *mut c_void,
4900  pub displayModeProperties: DisplayModePropertiesKHR,
4901}
4902#[doc(hidden)]
4903#[repr(C)]
4904#[derive(Debug, Copy, Clone)]
4905pub struct DisplayPlaneInfo2KHR {
4906  pub sType: StructureType,
4907  pub pNext: *const c_void,
4908  pub mode: DisplayModeKHR,
4909  pub planeIndex: u32,
4910}
4911#[doc(hidden)]
4912#[repr(C)]
4913#[derive(Debug, Copy, Clone)]
4914pub struct DisplayPlaneCapabilities2KHR {
4915  pub sType: StructureType,
4916  pub pNext: *mut c_void,
4917  pub capabilities: DisplayPlaneCapabilitiesKHR,
4918}
4919#[doc(hidden)]
4920#[repr(C)]
4921#[derive(Debug, Copy, Clone)]
4922pub struct SharedPresentSurfaceCapabilitiesKHR {
4923  pub sType: StructureType,
4924  pub pNext: *mut c_void,
4925  pub sharedPresentSupportedUsageFlags: ImageUsageFlags,
4926}
4927#[doc(hidden)]
4928#[repr(C)]
4929#[derive(Debug, Copy, Clone)]
4930pub struct PhysicalDevice16BitStorageFeatures {
4931  pub sType: StructureType,
4932  pub pNext: *mut c_void,
4933  pub storageBuffer16BitAccess: Bool32,
4934  pub uniformAndStorageBuffer16BitAccess: Bool32,
4935  pub storagePushConstant16: Bool32,
4936  pub storageInputOutput16: Bool32,
4937}
4938#[doc(hidden)]
4939#[repr(C)]
4940#[derive(Debug, Copy, Clone)]
4941pub struct PhysicalDeviceSubgroupProperties {
4942  pub sType: StructureType,
4943  pub pNext: *mut c_void,
4944  pub subgroupSize: u32,
4945  pub supportedStages: ShaderStageFlags,
4946  pub supportedOperations: SubgroupFeatureFlags,
4947  pub quadOperationsInAllStages: Bool32,
4948}
4949#[doc(hidden)]
4950#[repr(C)]
4951#[derive(Debug, Copy, Clone)]
4952pub struct BufferMemoryRequirementsInfo2 {
4953  pub sType: StructureType,
4954  pub pNext: *const c_void,
4955  pub buffer: Buffer,
4956}
4957#[doc(hidden)]
4958#[repr(C)]
4959#[derive(Debug, Copy, Clone)]
4960pub struct ImageMemoryRequirementsInfo2 {
4961  pub sType: StructureType,
4962  pub pNext: *const c_void,
4963  pub image: Image,
4964}
4965#[doc(hidden)]
4966#[repr(C)]
4967#[derive(Debug, Copy, Clone)]
4968pub struct ImageSparseMemoryRequirementsInfo2 {
4969  pub sType: StructureType,
4970  pub pNext: *const c_void,
4971  pub image: Image,
4972}
4973#[doc(hidden)]
4974#[repr(C)]
4975#[derive(Debug, Copy, Clone)]
4976pub struct MemoryRequirements2 {
4977  pub sType: StructureType,
4978  pub pNext: *mut c_void,
4979  pub memoryRequirements: MemoryRequirements,
4980}
4981#[doc(hidden)]
4982#[repr(C)]
4983#[derive(Debug, Copy, Clone)]
4984pub struct SparseImageMemoryRequirements2 {
4985  pub sType: StructureType,
4986  pub pNext: *mut c_void,
4987  pub memoryRequirements: SparseImageMemoryRequirements,
4988}
4989#[doc(hidden)]
4990#[repr(C)]
4991#[derive(Debug, Copy, Clone)]
4992pub struct PhysicalDevicePointClippingProperties {
4993  pub sType: StructureType,
4994  pub pNext: *mut c_void,
4995  pub pointClippingBehavior: PointClippingBehavior,
4996}
4997#[doc(hidden)]
4998#[repr(C)]
4999#[derive(Debug, Copy, Clone)]
5000pub struct MemoryDedicatedRequirements {
5001  pub sType: StructureType,
5002  pub pNext: *mut c_void,
5003  pub prefersDedicatedAllocation: Bool32,
5004  pub requiresDedicatedAllocation: Bool32,
5005}
5006#[doc(hidden)]
5007#[repr(C)]
5008#[derive(Debug, Copy, Clone)]
5009pub struct MemoryDedicatedAllocateInfo {
5010  pub sType: StructureType,
5011  pub pNext: *const c_void,
5012  pub image: Image,
5013  pub buffer: Buffer,
5014}
5015#[doc(hidden)]
5016#[repr(C)]
5017#[derive(Debug, Copy, Clone)]
5018pub struct ImageViewUsageCreateInfo {
5019  pub sType: StructureType,
5020  pub pNext: *const c_void,
5021  pub usage: ImageUsageFlags,
5022}
5023#[doc(hidden)]
5024#[repr(C)]
5025#[derive(Debug, Copy, Clone)]
5026pub struct PipelineTessellationDomainOriginStateCreateInfo {
5027  pub sType: StructureType,
5028  pub pNext: *const c_void,
5029  pub domainOrigin: TessellationDomainOrigin,
5030}
5031#[doc(hidden)]
5032#[repr(C)]
5033#[derive(Debug, Copy, Clone)]
5034pub struct SamplerYcbcrConversionInfo {
5035  pub sType: StructureType,
5036  pub pNext: *const c_void,
5037  pub conversion: SamplerYcbcrConversion,
5038}
5039#[doc(hidden)]
5040#[repr(C)]
5041#[derive(Debug, Copy, Clone)]
5042pub struct SamplerYcbcrConversionCreateInfo {
5043  pub sType: StructureType,
5044  pub pNext: *const c_void,
5045  pub format: Format,
5046  pub ycbcrModel: SamplerYcbcrModelConversion,
5047  pub ycbcrRange: SamplerYcbcrRange,
5048  pub components: ComponentMapping,
5049  pub xChromaOffset: ChromaLocation,
5050  pub yChromaOffset: ChromaLocation,
5051  pub chromaFilter: Filter,
5052  pub forceExplicitReconstruction: Bool32,
5053}
5054#[doc(hidden)]
5055#[repr(C)]
5056#[derive(Debug, Copy, Clone)]
5057pub struct BindImagePlaneMemoryInfo {
5058  pub sType: StructureType,
5059  pub pNext: *const c_void,
5060  pub planeAspect: ImageAspectFlagBits,
5061}
5062#[doc(hidden)]
5063#[repr(C)]
5064#[derive(Debug, Copy, Clone)]
5065pub struct ImagePlaneMemoryRequirementsInfo {
5066  pub sType: StructureType,
5067  pub pNext: *const c_void,
5068  pub planeAspect: ImageAspectFlagBits,
5069}
5070#[doc(hidden)]
5071#[repr(C)]
5072#[derive(Debug, Copy, Clone)]
5073pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
5074  pub sType: StructureType,
5075  pub pNext: *mut c_void,
5076  pub samplerYcbcrConversion: Bool32,
5077}
5078#[doc(hidden)]
5079#[repr(C)]
5080#[derive(Debug, Copy, Clone)]
5081pub struct SamplerYcbcrConversionImageFormatProperties {
5082  pub sType: StructureType,
5083  pub pNext: *mut c_void,
5084  pub combinedImageSamplerDescriptorCount: u32,
5085}
5086#[doc(hidden)]
5087#[repr(C)]
5088#[derive(Debug, Copy, Clone)]
5089pub struct TextureLODGatherFormatPropertiesAMD {
5090  pub sType: StructureType,
5091  pub pNext: *mut c_void,
5092  pub supportsTextureGatherLODBiasAMD: Bool32,
5093}
5094#[doc(hidden)]
5095#[repr(C)]
5096#[derive(Debug, Copy, Clone)]
5097pub struct ConditionalRenderingBeginInfoEXT {
5098  pub sType: StructureType,
5099  pub pNext: *const c_void,
5100  pub buffer: Buffer,
5101  pub offset: DeviceSize,
5102  pub flags: ConditionalRenderingFlagsEXT,
5103}
5104#[doc(hidden)]
5105#[repr(C)]
5106#[derive(Debug, Copy, Clone)]
5107pub struct ProtectedSubmitInfo {
5108  pub sType: StructureType,
5109  pub pNext: *const c_void,
5110  pub protectedSubmit: Bool32,
5111}
5112#[doc(hidden)]
5113#[repr(C)]
5114#[derive(Debug, Copy, Clone)]
5115pub struct PhysicalDeviceProtectedMemoryFeatures {
5116  pub sType: StructureType,
5117  pub pNext: *mut c_void,
5118  pub protectedMemory: Bool32,
5119}
5120#[doc(hidden)]
5121#[repr(C)]
5122#[derive(Debug, Copy, Clone)]
5123pub struct PhysicalDeviceProtectedMemoryProperties {
5124  pub sType: StructureType,
5125  pub pNext: *mut c_void,
5126  pub protectedNoFault: Bool32,
5127}
5128#[doc(hidden)]
5129#[repr(C)]
5130#[derive(Debug, Copy, Clone)]
5131pub struct DeviceQueueInfo2 {
5132  pub sType: StructureType,
5133  pub pNext: *const c_void,
5134  pub flags: DeviceQueueCreateFlags,
5135  pub queueFamilyIndex: u32,
5136  pub queueIndex: u32,
5137}
5138#[doc(hidden)]
5139#[repr(C)]
5140#[derive(Debug, Copy, Clone)]
5141pub struct PipelineCoverageToColorStateCreateInfoNV {
5142  pub sType: StructureType,
5143  pub pNext: *const c_void,
5144  pub flags: PipelineCoverageToColorStateCreateFlagsNV,
5145  pub coverageToColorEnable: Bool32,
5146  pub coverageToColorLocation: u32,
5147}
5148#[doc(hidden)]
5149#[repr(C)]
5150#[derive(Debug, Copy, Clone)]
5151pub struct PhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
5152  pub sType: StructureType,
5153  pub pNext: *mut c_void,
5154  pub filterMinmaxSingleComponentFormats: Bool32,
5155  pub filterMinmaxImageComponentMapping: Bool32,
5156}
5157#[doc(hidden)]
5158#[repr(C)]
5159#[derive(Debug, Copy, Clone)]
5160pub struct SampleLocationEXT {
5161  pub x: f32,
5162  pub y: f32,
5163}
5164#[doc(hidden)]
5165#[repr(C)]
5166#[derive(Debug, Copy, Clone)]
5167pub struct SampleLocationsInfoEXT {
5168  pub sType: StructureType,
5169  pub pNext: *const c_void,
5170  pub sampleLocationsPerPixel: SampleCountFlagBits,
5171  pub sampleLocationGridSize: Extent2D,
5172  pub sampleLocationsCount: u32,
5173  pub pSampleLocations: *const SampleLocationEXT,
5174}
5175#[doc(hidden)]
5176#[repr(C)]
5177#[derive(Debug, Copy, Clone)]
5178pub struct AttachmentSampleLocationsEXT {
5179  pub attachmentIndex: u32,
5180  pub sampleLocationsInfo: SampleLocationsInfoEXT,
5181}
5182#[doc(hidden)]
5183#[repr(C)]
5184#[derive(Debug, Copy, Clone)]
5185pub struct SubpassSampleLocationsEXT {
5186  pub subpassIndex: u32,
5187  pub sampleLocationsInfo: SampleLocationsInfoEXT,
5188}
5189#[doc(hidden)]
5190#[repr(C)]
5191#[derive(Debug, Copy, Clone)]
5192pub struct RenderPassSampleLocationsBeginInfoEXT {
5193  pub sType: StructureType,
5194  pub pNext: *const c_void,
5195  pub attachmentInitialSampleLocationsCount: u32,
5196  pub pAttachmentInitialSampleLocations: *const AttachmentSampleLocationsEXT,
5197  pub postSubpassSampleLocationsCount: u32,
5198  pub pPostSubpassSampleLocations: *const SubpassSampleLocationsEXT,
5199}
5200#[doc(hidden)]
5201#[repr(C)]
5202#[derive(Debug, Copy, Clone)]
5203pub struct PipelineSampleLocationsStateCreateInfoEXT {
5204  pub sType: StructureType,
5205  pub pNext: *const c_void,
5206  pub sampleLocationsEnable: Bool32,
5207  pub sampleLocationsInfo: SampleLocationsInfoEXT,
5208}
5209#[doc(hidden)]
5210#[repr(C)]
5211#[derive(Copy, Clone)]
5212pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
5213  pub sType: StructureType,
5214  pub pNext: *mut c_void,
5215  pub sampleLocationSampleCounts: SampleCountFlags,
5216  pub maxSampleLocationGridSize: Extent2D,
5217  pub sampleLocationCoordinateRange: [f32; 2],
5218  pub sampleLocationSubPixelBits: u32,
5219  pub variableSampleLocations: Bool32,
5220}
5221#[doc(hidden)]
5222#[repr(C)]
5223#[derive(Debug, Copy, Clone)]
5224pub struct MultisamplePropertiesEXT {
5225  pub sType: StructureType,
5226  pub pNext: *mut c_void,
5227  pub maxSampleLocationGridSize: Extent2D,
5228}
5229#[doc(hidden)]
5230#[repr(C)]
5231#[derive(Debug, Copy, Clone)]
5232pub struct SamplerReductionModeCreateInfoEXT {
5233  pub sType: StructureType,
5234  pub pNext: *const c_void,
5235  pub reductionMode: SamplerReductionModeEXT,
5236}
5237#[doc(hidden)]
5238#[repr(C)]
5239#[derive(Debug, Copy, Clone)]
5240pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
5241  pub sType: StructureType,
5242  pub pNext: *mut c_void,
5243  pub advancedBlendCoherentOperations: Bool32,
5244}
5245#[doc(hidden)]
5246#[repr(C)]
5247#[derive(Debug, Copy, Clone)]
5248pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
5249  pub sType: StructureType,
5250  pub pNext: *mut c_void,
5251  pub advancedBlendMaxColorAttachments: u32,
5252  pub advancedBlendIndependentBlend: Bool32,
5253  pub advancedBlendNonPremultipliedSrcColor: Bool32,
5254  pub advancedBlendNonPremultipliedDstColor: Bool32,
5255  pub advancedBlendCorrelatedOverlap: Bool32,
5256  pub advancedBlendAllOperations: Bool32,
5257}
5258#[doc(hidden)]
5259#[repr(C)]
5260#[derive(Debug, Copy, Clone)]
5261pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
5262  pub sType: StructureType,
5263  pub pNext: *const c_void,
5264  pub srcPremultiplied: Bool32,
5265  pub dstPremultiplied: Bool32,
5266  pub blendOverlap: BlendOverlapEXT,
5267}
5268#[doc(hidden)]
5269#[repr(C)]
5270#[derive(Debug, Copy, Clone)]
5271pub struct PhysicalDeviceInlineUniformBlockFeaturesEXT {
5272  pub sType: StructureType,
5273  pub pNext: *mut c_void,
5274  pub inlineUniformBlock: Bool32,
5275  pub descriptorBindingInlineUniformBlockUpdateAfterBind: Bool32,
5276}
5277#[doc(hidden)]
5278#[repr(C)]
5279#[derive(Debug, Copy, Clone)]
5280pub struct PhysicalDeviceInlineUniformBlockPropertiesEXT {
5281  pub sType: StructureType,
5282  pub pNext: *mut c_void,
5283  pub maxInlineUniformBlockSize: u32,
5284  pub maxPerStageDescriptorInlineUniformBlocks: u32,
5285  pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
5286  pub maxDescriptorSetInlineUniformBlocks: u32,
5287  pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
5288}
5289#[doc(hidden)]
5290#[repr(C)]
5291#[derive(Debug, Copy, Clone)]
5292pub struct WriteDescriptorSetInlineUniformBlockEXT {
5293  pub sType: StructureType,
5294  pub pNext: *const c_void,
5295  pub dataSize: u32,
5296  pub pData: *const c_void,
5297}
5298#[doc(hidden)]
5299#[repr(C)]
5300#[derive(Debug, Copy, Clone)]
5301pub struct DescriptorPoolInlineUniformBlockCreateInfoEXT {
5302  pub sType: StructureType,
5303  pub pNext: *const c_void,
5304  pub maxInlineUniformBlockBindings: u32,
5305}
5306#[doc(hidden)]
5307#[repr(C)]
5308#[derive(Debug, Copy, Clone)]
5309pub struct PipelineCoverageModulationStateCreateInfoNV {
5310  pub sType: StructureType,
5311  pub pNext: *const c_void,
5312  pub flags: PipelineCoverageModulationStateCreateFlagsNV,
5313  pub coverageModulationMode: CoverageModulationModeNV,
5314  pub coverageModulationTableEnable: Bool32,
5315  pub coverageModulationTableCount: u32,
5316  pub pCoverageModulationTable: *const f32,
5317}
5318#[doc(hidden)]
5319#[repr(C)]
5320#[derive(Debug, Copy, Clone)]
5321pub struct ImageFormatListCreateInfoKHR {
5322  pub sType: StructureType,
5323  pub pNext: *const c_void,
5324  pub viewFormatCount: u32,
5325  pub pViewFormats: *const Format,
5326}
5327#[doc(hidden)]
5328#[repr(C)]
5329#[derive(Debug, Copy, Clone)]
5330pub struct ValidationCacheCreateInfoEXT {
5331  pub sType: StructureType,
5332  pub pNext: *const c_void,
5333  pub flags: ValidationCacheCreateFlagsEXT,
5334  pub initialDataSize: usize,
5335  pub pInitialData: *const c_void,
5336}
5337#[doc(hidden)]
5338#[repr(C)]
5339#[derive(Debug, Copy, Clone)]
5340pub struct ShaderModuleValidationCacheCreateInfoEXT {
5341  pub sType: StructureType,
5342  pub pNext: *const c_void,
5343  pub validationCache: ValidationCacheEXT,
5344}
5345#[doc(hidden)]
5346#[repr(C)]
5347#[derive(Debug, Copy, Clone)]
5348pub struct PhysicalDeviceMaintenance3Properties {
5349  pub sType: StructureType,
5350  pub pNext: *mut c_void,
5351  pub maxPerSetDescriptors: u32,
5352  pub maxMemoryAllocationSize: DeviceSize,
5353}
5354#[doc(hidden)]
5355#[repr(C)]
5356#[derive(Debug, Copy, Clone)]
5357pub struct DescriptorSetLayoutSupport {
5358  pub sType: StructureType,
5359  pub pNext: *mut c_void,
5360  pub supported: Bool32,
5361}
5362#[doc(hidden)]
5363#[repr(C)]
5364#[derive(Debug, Copy, Clone)]
5365pub struct PhysicalDeviceShaderDrawParameterFeatures {
5366  pub sType: StructureType,
5367  pub pNext: *mut c_void,
5368  pub shaderDrawParameters: Bool32,
5369}
5370#[doc(hidden)]
5371#[repr(C)]
5372#[derive(Debug, Copy, Clone)]
5373pub struct PhysicalDeviceFloat16Int8FeaturesKHR {
5374  pub sType: StructureType,
5375  pub pNext: *mut c_void,
5376  pub shaderFloat16: Bool32,
5377  pub shaderInt8: Bool32,
5378}
5379#[doc(hidden)]
5380#[repr(C)]
5381#[derive(Debug, Copy, Clone)]
5382pub struct PhysicalDeviceFloatControlsPropertiesKHR {
5383  pub sType: StructureType,
5384  pub pNext: *mut c_void,
5385  pub separateDenormSettings: Bool32,
5386  pub separateRoundingModeSettings: Bool32,
5387  pub shaderSignedZeroInfNanPreserveFloat16: Bool32,
5388  pub shaderSignedZeroInfNanPreserveFloat32: Bool32,
5389  pub shaderSignedZeroInfNanPreserveFloat64: Bool32,
5390  pub shaderDenormPreserveFloat16: Bool32,
5391  pub shaderDenormPreserveFloat32: Bool32,
5392  pub shaderDenormPreserveFloat64: Bool32,
5393  pub shaderDenormFlushToZeroFloat16: Bool32,
5394  pub shaderDenormFlushToZeroFloat32: Bool32,
5395  pub shaderDenormFlushToZeroFloat64: Bool32,
5396  pub shaderRoundingModeRTEFloat16: Bool32,
5397  pub shaderRoundingModeRTEFloat32: Bool32,
5398  pub shaderRoundingModeRTEFloat64: Bool32,
5399  pub shaderRoundingModeRTZFloat16: Bool32,
5400  pub shaderRoundingModeRTZFloat32: Bool32,
5401  pub shaderRoundingModeRTZFloat64: Bool32,
5402}
5403#[doc(hidden)]
5404#[repr(C)]
5405#[derive(Debug, Copy, Clone)]
5406pub struct ShaderResourceUsageAMD {
5407  pub numUsedVgprs: u32,
5408  pub numUsedSgprs: u32,
5409  pub ldsSizePerLocalWorkGroup: u32,
5410  pub ldsUsageSizeInBytes: usize,
5411  pub scratchMemUsageInBytes: usize,
5412}
5413#[doc(hidden)]
5414#[repr(C)]
5415#[derive(Copy, Clone)]
5416pub struct ShaderStatisticsInfoAMD {
5417  pub shaderStageMask: ShaderStageFlags,
5418  pub resourceUsage: ShaderResourceUsageAMD,
5419  pub numPhysicalVgprs: u32,
5420  pub numPhysicalSgprs: u32,
5421  pub numAvailableVgprs: u32,
5422  pub numAvailableSgprs: u32,
5423  pub computeWorkGroupSize: [u32; 3],
5424}
5425#[doc(hidden)]
5426#[repr(C)]
5427#[derive(Debug, Copy, Clone)]
5428pub struct DeviceQueueGlobalPriorityCreateInfoEXT {
5429  pub sType: StructureType,
5430  pub pNext: *const c_void,
5431  pub globalPriority: QueueGlobalPriorityEXT,
5432}
5433#[doc(hidden)]
5434#[repr(C)]
5435#[derive(Debug, Copy, Clone)]
5436pub struct DebugUtilsObjectNameInfoEXT {
5437  pub sType: StructureType,
5438  pub pNext: *const c_void,
5439  pub objectType: ObjectType,
5440  pub objectHandle: u64,
5441  pub pObjectName: *const c_char,
5442}
5443#[doc(hidden)]
5444#[repr(C)]
5445#[derive(Debug, Copy, Clone)]
5446pub struct DebugUtilsObjectTagInfoEXT {
5447  pub sType: StructureType,
5448  pub pNext: *const c_void,
5449  pub objectType: ObjectType,
5450  pub objectHandle: u64,
5451  pub tagName: u64,
5452  pub tagSize: usize,
5453  pub pTag: *const c_void,
5454}
5455#[doc(hidden)]
5456#[repr(C)]
5457#[derive(Copy, Clone)]
5458pub struct DebugUtilsLabelEXT {
5459  pub sType: StructureType,
5460  pub pNext: *const c_void,
5461  pub pLabelName: *const c_char,
5462  pub color: [f32; 4],
5463}
5464#[doc(hidden)]
5465#[repr(C)]
5466#[derive(Copy, Clone)]
5467pub struct DebugUtilsMessengerCreateInfoEXT {
5468  pub sType: StructureType,
5469  pub pNext: *const c_void,
5470  pub flags: DebugUtilsMessengerCreateFlagsEXT,
5471  pub messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
5472  pub messageType: DebugUtilsMessageTypeFlagsEXT,
5473  pub pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT,
5474  pub pUserData: *mut c_void,
5475}
5476#[doc(hidden)]
5477#[repr(C)]
5478#[derive(Copy, Clone)]
5479pub struct DebugUtilsMessengerCallbackDataEXT {
5480  pub sType: StructureType,
5481  pub pNext: *const c_void,
5482  pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
5483  pub pMessageIdName: *const c_char,
5484  pub messageIdNumber: i32,
5485  pub pMessage: *const c_char,
5486  pub queueLabelCount: u32,
5487  pub pQueueLabels: *const DebugUtilsLabelEXT,
5488  pub cmdBufLabelCount: u32,
5489  pub pCmdBufLabels: *const DebugUtilsLabelEXT,
5490  pub objectCount: u32,
5491  pub pObjects: *const DebugUtilsObjectNameInfoEXT,
5492}
5493#[doc(hidden)]
5494#[repr(C)]
5495#[derive(Debug, Copy, Clone)]
5496pub struct ImportMemoryHostPointerInfoEXT {
5497  pub sType: StructureType,
5498  pub pNext: *const c_void,
5499  pub handleType: ExternalMemoryHandleTypeFlagBits,
5500  pub pHostPointer: *mut c_void,
5501}
5502#[doc(hidden)]
5503#[repr(C)]
5504#[derive(Debug, Copy, Clone)]
5505pub struct MemoryHostPointerPropertiesEXT {
5506  pub sType: StructureType,
5507  pub pNext: *mut c_void,
5508  pub memoryTypeBits: u32,
5509}
5510#[doc(hidden)]
5511#[repr(C)]
5512#[derive(Debug, Copy, Clone)]
5513pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
5514  pub sType: StructureType,
5515  pub pNext: *mut c_void,
5516  pub minImportedHostPointerAlignment: DeviceSize,
5517}
5518#[doc(hidden)]
5519#[repr(C)]
5520#[derive(Debug, Copy, Clone)]
5521pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
5522  pub sType: StructureType,
5523  pub pNext: *mut c_void,
5524  pub primitiveOverestimationSize: f32,
5525  pub maxExtraPrimitiveOverestimationSize: f32,
5526  pub extraPrimitiveOverestimationSizeGranularity: f32,
5527  pub primitiveUnderestimation: Bool32,
5528  pub conservativePointAndLineRasterization: Bool32,
5529  pub degenerateTrianglesRasterized: Bool32,
5530  pub degenerateLinesRasterized: Bool32,
5531  pub fullyCoveredFragmentShaderInputVariable: Bool32,
5532  pub conservativeRasterizationPostDepthCoverage: Bool32,
5533}
5534#[doc(hidden)]
5535#[repr(C)]
5536#[derive(Debug, Copy, Clone)]
5537pub struct CalibratedTimestampInfoEXT {
5538  pub sType: StructureType,
5539  pub pNext: *const c_void,
5540  pub timeDomain: TimeDomainEXT,
5541}
5542#[doc(hidden)]
5543#[repr(C)]
5544#[derive(Debug, Copy, Clone)]
5545pub struct PhysicalDeviceShaderCorePropertiesAMD {
5546  pub sType: StructureType,
5547  pub pNext: *mut c_void,
5548  pub shaderEngineCount: u32,
5549  pub shaderArraysPerEngineCount: u32,
5550  pub computeUnitsPerShaderArray: u32,
5551  pub simdPerComputeUnit: u32,
5552  pub wavefrontsPerSimd: u32,
5553  pub wavefrontSize: u32,
5554  pub sgprsPerSimd: u32,
5555  pub minSgprAllocation: u32,
5556  pub maxSgprAllocation: u32,
5557  pub sgprAllocationGranularity: u32,
5558  pub vgprsPerSimd: u32,
5559  pub minVgprAllocation: u32,
5560  pub maxVgprAllocation: u32,
5561  pub vgprAllocationGranularity: u32,
5562}
5563#[doc(hidden)]
5564#[repr(C)]
5565#[derive(Debug, Copy, Clone)]
5566pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
5567  pub sType: StructureType,
5568  pub pNext: *const c_void,
5569  pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
5570  pub conservativeRasterizationMode: ConservativeRasterizationModeEXT,
5571  pub extraPrimitiveOverestimationSize: f32,
5572}
5573#[doc(hidden)]
5574#[repr(C)]
5575#[derive(Debug, Copy, Clone)]
5576pub struct PhysicalDeviceDescriptorIndexingFeaturesEXT {
5577  pub sType: StructureType,
5578  pub pNext: *mut c_void,
5579  pub shaderInputAttachmentArrayDynamicIndexing: Bool32,
5580  pub shaderUniformTexelBufferArrayDynamicIndexing: Bool32,
5581  pub shaderStorageTexelBufferArrayDynamicIndexing: Bool32,
5582  pub shaderUniformBufferArrayNonUniformIndexing: Bool32,
5583  pub shaderSampledImageArrayNonUniformIndexing: Bool32,
5584  pub shaderStorageBufferArrayNonUniformIndexing: Bool32,
5585  pub shaderStorageImageArrayNonUniformIndexing: Bool32,
5586  pub shaderInputAttachmentArrayNonUniformIndexing: Bool32,
5587  pub shaderUniformTexelBufferArrayNonUniformIndexing: Bool32,
5588  pub shaderStorageTexelBufferArrayNonUniformIndexing: Bool32,
5589  pub descriptorBindingUniformBufferUpdateAfterBind: Bool32,
5590  pub descriptorBindingSampledImageUpdateAfterBind: Bool32,
5591  pub descriptorBindingStorageImageUpdateAfterBind: Bool32,
5592  pub descriptorBindingStorageBufferUpdateAfterBind: Bool32,
5593  pub descriptorBindingUniformTexelBufferUpdateAfterBind: Bool32,
5594  pub descriptorBindingStorageTexelBufferUpdateAfterBind: Bool32,
5595  pub descriptorBindingUpdateUnusedWhilePending: Bool32,
5596  pub descriptorBindingPartiallyBound: Bool32,
5597  pub descriptorBindingVariableDescriptorCount: Bool32,
5598  pub runtimeDescriptorArray: Bool32,
5599}
5600#[doc(hidden)]
5601#[repr(C)]
5602#[derive(Debug, Copy, Clone)]
5603pub struct PhysicalDeviceDescriptorIndexingPropertiesEXT {
5604  pub sType: StructureType,
5605  pub pNext: *mut c_void,
5606  pub maxUpdateAfterBindDescriptorsInAllPools: u32,
5607  pub shaderUniformBufferArrayNonUniformIndexingNative: Bool32,
5608  pub shaderSampledImageArrayNonUniformIndexingNative: Bool32,
5609  pub shaderStorageBufferArrayNonUniformIndexingNative: Bool32,
5610  pub shaderStorageImageArrayNonUniformIndexingNative: Bool32,
5611  pub shaderInputAttachmentArrayNonUniformIndexingNative: Bool32,
5612  pub robustBufferAccessUpdateAfterBind: Bool32,
5613  pub quadDivergentImplicitLod: Bool32,
5614  pub maxPerStageDescriptorUpdateAfterBindSamplers: u32,
5615  pub maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
5616  pub maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
5617  pub maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
5618  pub maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
5619  pub maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
5620  pub maxPerStageUpdateAfterBindResources: u32,
5621  pub maxDescriptorSetUpdateAfterBindSamplers: u32,
5622  pub maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
5623  pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
5624  pub maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
5625  pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
5626  pub maxDescriptorSetUpdateAfterBindSampledImages: u32,
5627  pub maxDescriptorSetUpdateAfterBindStorageImages: u32,
5628  pub maxDescriptorSetUpdateAfterBindInputAttachments: u32,
5629}
5630#[doc(hidden)]
5631#[repr(C)]
5632#[derive(Debug, Copy, Clone)]
5633pub struct DescriptorSetLayoutBindingFlagsCreateInfoEXT {
5634  pub sType: StructureType,
5635  pub pNext: *const c_void,
5636  pub bindingCount: u32,
5637  pub pBindingFlags: *const DescriptorBindingFlagsEXT,
5638}
5639#[doc(hidden)]
5640#[repr(C)]
5641#[derive(Debug, Copy, Clone)]
5642pub struct DescriptorSetVariableDescriptorCountAllocateInfoEXT {
5643  pub sType: StructureType,
5644  pub pNext: *const c_void,
5645  pub descriptorSetCount: u32,
5646  pub pDescriptorCounts: *const u32,
5647}
5648#[doc(hidden)]
5649#[repr(C)]
5650#[derive(Debug, Copy, Clone)]
5651pub struct DescriptorSetVariableDescriptorCountLayoutSupportEXT {
5652  pub sType: StructureType,
5653  pub pNext: *mut c_void,
5654  pub maxVariableDescriptorCount: u32,
5655}
5656#[doc(hidden)]
5657#[repr(C)]
5658#[derive(Debug, Copy, Clone)]
5659pub struct AttachmentDescription2KHR {
5660  pub sType: StructureType,
5661  pub pNext: *const c_void,
5662  pub flags: AttachmentDescriptionFlags,
5663  pub format: Format,
5664  pub samples: SampleCountFlagBits,
5665  pub loadOp: AttachmentLoadOp,
5666  pub storeOp: AttachmentStoreOp,
5667  pub stencilLoadOp: AttachmentLoadOp,
5668  pub stencilStoreOp: AttachmentStoreOp,
5669  pub initialLayout: ImageLayout,
5670  pub finalLayout: ImageLayout,
5671}
5672#[doc(hidden)]
5673#[repr(C)]
5674#[derive(Debug, Copy, Clone)]
5675pub struct AttachmentReference2KHR {
5676  pub sType: StructureType,
5677  pub pNext: *const c_void,
5678  pub attachment: u32,
5679  pub layout: ImageLayout,
5680  pub aspectMask: ImageAspectFlags,
5681}
5682#[doc(hidden)]
5683#[repr(C)]
5684#[derive(Debug, Copy, Clone)]
5685pub struct SubpassDescription2KHR {
5686  pub sType: StructureType,
5687  pub pNext: *const c_void,
5688  pub flags: SubpassDescriptionFlags,
5689  pub pipelineBindPoint: PipelineBindPoint,
5690  pub viewMask: u32,
5691  pub inputAttachmentCount: u32,
5692  pub pInputAttachments: *const AttachmentReference2KHR,
5693  pub colorAttachmentCount: u32,
5694  pub pColorAttachments: *const AttachmentReference2KHR,
5695  pub pResolveAttachments: *const AttachmentReference2KHR,
5696  pub pDepthStencilAttachment: *const AttachmentReference2KHR,
5697  pub preserveAttachmentCount: u32,
5698  pub pPreserveAttachments: *const u32,
5699}
5700#[doc(hidden)]
5701#[repr(C)]
5702#[derive(Debug, Copy, Clone)]
5703pub struct SubpassDependency2KHR {
5704  pub sType: StructureType,
5705  pub pNext: *const c_void,
5706  pub srcSubpass: u32,
5707  pub dstSubpass: u32,
5708  pub srcStageMask: PipelineStageFlags,
5709  pub dstStageMask: PipelineStageFlags,
5710  pub srcAccessMask: AccessFlags,
5711  pub dstAccessMask: AccessFlags,
5712  pub dependencyFlags: DependencyFlags,
5713  pub viewOffset: i32,
5714}
5715#[doc(hidden)]
5716#[repr(C)]
5717#[derive(Debug, Copy, Clone)]
5718pub struct RenderPassCreateInfo2KHR {
5719  pub sType: StructureType,
5720  pub pNext: *const c_void,
5721  pub flags: RenderPassCreateFlags,
5722  pub attachmentCount: u32,
5723  pub pAttachments: *const AttachmentDescription2KHR,
5724  pub subpassCount: u32,
5725  pub pSubpasses: *const SubpassDescription2KHR,
5726  pub dependencyCount: u32,
5727  pub pDependencies: *const SubpassDependency2KHR,
5728  pub correlatedViewMaskCount: u32,
5729  pub pCorrelatedViewMasks: *const u32,
5730}
5731#[doc(hidden)]
5732#[repr(C)]
5733#[derive(Debug, Copy, Clone)]
5734pub struct SubpassBeginInfoKHR {
5735  pub sType: StructureType,
5736  pub pNext: *const c_void,
5737  pub contents: SubpassContents,
5738}
5739#[doc(hidden)]
5740#[repr(C)]
5741#[derive(Debug, Copy, Clone)]
5742pub struct SubpassEndInfoKHR {
5743  pub sType: StructureType,
5744  pub pNext: *const c_void,
5745}
5746#[doc(hidden)]
5747#[repr(C)]
5748#[derive(Debug, Copy, Clone)]
5749pub struct VertexInputBindingDivisorDescriptionEXT {
5750  pub binding: u32,
5751  pub divisor: u32,
5752}
5753#[doc(hidden)]
5754#[repr(C)]
5755#[derive(Debug, Copy, Clone)]
5756pub struct PipelineVertexInputDivisorStateCreateInfoEXT {
5757  pub sType: StructureType,
5758  pub pNext: *const c_void,
5759  pub vertexBindingDivisorCount: u32,
5760  pub pVertexBindingDivisors: *const VertexInputBindingDivisorDescriptionEXT,
5761}
5762#[doc(hidden)]
5763#[repr(C)]
5764#[derive(Debug, Copy, Clone)]
5765pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
5766  pub sType: StructureType,
5767  pub pNext: *mut c_void,
5768  pub maxVertexAttribDivisor: u32,
5769}
5770#[doc(hidden)]
5771#[repr(C)]
5772#[derive(Debug, Copy, Clone)]
5773pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
5774  pub sType: StructureType,
5775  pub pNext: *mut c_void,
5776  pub pciDomain: u16,
5777  pub pciBus: u8,
5778  pub pciDevice: u8,
5779  pub pciFunction: u8,
5780}
5781#[doc(hidden)]
5782#[repr(C)]
5783#[derive(Debug, Copy, Clone)]
5784pub struct ImportAndroidHardwareBufferInfoANDROID {
5785  pub sType: StructureType,
5786  pub pNext: *const c_void,
5787  pub buffer: *mut AHardwareBuffer,
5788}
5789#[doc(hidden)]
5790#[repr(C)]
5791#[derive(Debug, Copy, Clone)]
5792pub struct AndroidHardwareBufferUsageANDROID {
5793  pub sType: StructureType,
5794  pub pNext: *mut c_void,
5795  pub androidHardwareBufferUsage: u64,
5796}
5797#[doc(hidden)]
5798#[repr(C)]
5799#[derive(Debug, Copy, Clone)]
5800pub struct AndroidHardwareBufferPropertiesANDROID {
5801  pub sType: StructureType,
5802  pub pNext: *mut c_void,
5803  pub allocationSize: DeviceSize,
5804  pub memoryTypeBits: u32,
5805}
5806#[doc(hidden)]
5807#[repr(C)]
5808#[derive(Debug, Copy, Clone)]
5809pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
5810  pub sType: StructureType,
5811  pub pNext: *const c_void,
5812  pub memory: DeviceMemory,
5813}
5814#[doc(hidden)]
5815#[repr(C)]
5816#[derive(Debug, Copy, Clone)]
5817pub struct AndroidHardwareBufferFormatPropertiesANDROID {
5818  pub sType: StructureType,
5819  pub pNext: *mut c_void,
5820  pub format: Format,
5821  pub externalFormat: u64,
5822  pub formatFeatures: FormatFeatureFlags,
5823  pub samplerYcbcrConversionComponents: ComponentMapping,
5824  pub suggestedYcbcrModel: SamplerYcbcrModelConversion,
5825  pub suggestedYcbcrRange: SamplerYcbcrRange,
5826  pub suggestedXChromaOffset: ChromaLocation,
5827  pub suggestedYChromaOffset: ChromaLocation,
5828}
5829#[doc(hidden)]
5830#[repr(C)]
5831#[derive(Debug, Copy, Clone)]
5832pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
5833  pub sType: StructureType,
5834  pub pNext: *const c_void,
5835  pub conditionalRenderingEnable: Bool32,
5836}
5837#[doc(hidden)]
5838#[repr(C)]
5839#[derive(Debug, Copy, Clone)]
5840pub struct ExternalFormatANDROID {
5841  pub sType: StructureType,
5842  pub pNext: *mut c_void,
5843  pub externalFormat: u64,
5844}
5845#[doc(hidden)]
5846#[repr(C)]
5847#[derive(Debug, Copy, Clone)]
5848pub struct PhysicalDevice8BitStorageFeaturesKHR {
5849  pub sType: StructureType,
5850  pub pNext: *mut c_void,
5851  pub storageBuffer8BitAccess: Bool32,
5852  pub uniformAndStorageBuffer8BitAccess: Bool32,
5853  pub storagePushConstant8: Bool32,
5854}
5855#[doc(hidden)]
5856#[repr(C)]
5857#[derive(Debug, Copy, Clone)]
5858pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
5859  pub sType: StructureType,
5860  pub pNext: *mut c_void,
5861  pub conditionalRendering: Bool32,
5862  pub inheritedConditionalRendering: Bool32,
5863}
5864#[doc(hidden)]
5865#[repr(C)]
5866#[derive(Debug, Copy, Clone)]
5867pub struct PhysicalDeviceVulkanMemoryModelFeaturesKHR {
5868  pub sType: StructureType,
5869  pub pNext: *mut c_void,
5870  pub vulkanMemoryModel: Bool32,
5871  pub vulkanMemoryModelDeviceScope: Bool32,
5872}
5873#[doc(hidden)]
5874#[repr(C)]
5875#[derive(Debug, Copy, Clone)]
5876pub struct PhysicalDeviceShaderAtomicInt64FeaturesKHR {
5877  pub sType: StructureType,
5878  pub pNext: *mut c_void,
5879  pub shaderBufferInt64Atomics: Bool32,
5880  pub shaderSharedInt64Atomics: Bool32,
5881}
5882#[doc(hidden)]
5883#[repr(C)]
5884#[derive(Debug, Copy, Clone)]
5885pub struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
5886  pub sType: StructureType,
5887  pub pNext: *mut c_void,
5888  pub vertexAttributeInstanceRateDivisor: Bool32,
5889  pub vertexAttributeInstanceRateZeroDivisor: Bool32,
5890}
5891#[doc(hidden)]
5892#[repr(C)]
5893#[derive(Debug, Copy, Clone)]
5894pub struct QueueFamilyCheckpointPropertiesNV {
5895  pub sType: StructureType,
5896  pub pNext: *mut c_void,
5897  pub checkpointExecutionStageMask: PipelineStageFlags,
5898}
5899#[doc(hidden)]
5900#[repr(C)]
5901#[derive(Debug, Copy, Clone)]
5902pub struct CheckpointDataNV {
5903  pub sType: StructureType,
5904  pub pNext: *mut c_void,
5905  pub stage: PipelineStageFlagBits,
5906  pub pCheckpointMarker: *mut c_void,
5907}
5908#[doc(hidden)]
5909#[repr(C)]
5910#[derive(Debug, Copy, Clone)]
5911pub struct ImageViewASTCDecodeModeEXT {
5912  pub sType: StructureType,
5913  pub pNext: *const c_void,
5914  pub decodeMode: Format,
5915}
5916#[doc(hidden)]
5917#[repr(C)]
5918#[derive(Debug, Copy, Clone)]
5919pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
5920  pub sType: StructureType,
5921  pub pNext: *mut c_void,
5922  pub decodeModeSharedExponent: Bool32,
5923}
5924#[doc(hidden)]
5925#[repr(C)]
5926#[derive(Debug, Copy, Clone)]
5927pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
5928  pub sType: StructureType,
5929  pub pNext: *mut c_void,
5930  pub transformFeedback: Bool32,
5931  pub geometryStreams: Bool32,
5932}
5933#[doc(hidden)]
5934#[repr(C)]
5935#[derive(Debug, Copy, Clone)]
5936pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
5937  pub sType: StructureType,
5938  pub pNext: *mut c_void,
5939  pub maxTransformFeedbackStreams: u32,
5940  pub maxTransformFeedbackBuffers: u32,
5941  pub maxTransformFeedbackBufferSize: DeviceSize,
5942  pub maxTransformFeedbackStreamDataSize: u32,
5943  pub maxTransformFeedbackBufferDataSize: u32,
5944  pub maxTransformFeedbackBufferDataStride: u32,
5945  pub transformFeedbackQueries: Bool32,
5946  pub transformFeedbackStreamsLinesTriangles: Bool32,
5947  pub transformFeedbackRasterizationStreamSelect: Bool32,
5948  pub transformFeedbackDraw: Bool32,
5949}
5950#[doc(hidden)]
5951#[repr(C)]
5952#[derive(Debug, Copy, Clone)]
5953pub struct PipelineRasterizationStateStreamCreateInfoEXT {
5954  pub sType: StructureType,
5955  pub pNext: *const c_void,
5956  pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
5957  pub rasterizationStream: u32,
5958}
5959#[doc(hidden)]
5960#[repr(C)]
5961#[derive(Debug, Copy, Clone)]
5962pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
5963  pub sType: StructureType,
5964  pub pNext: *mut c_void,
5965  pub representativeFragmentTest: Bool32,
5966}
5967#[doc(hidden)]
5968#[repr(C)]
5969#[derive(Debug, Copy, Clone)]
5970pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
5971  pub sType: StructureType,
5972  pub pNext: *const c_void,
5973  pub representativeFragmentTestEnable: Bool32,
5974}
5975#[doc(hidden)]
5976#[repr(C)]
5977#[derive(Debug, Copy, Clone)]
5978pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
5979  pub sType: StructureType,
5980  pub pNext: *mut c_void,
5981  pub exclusiveScissor: Bool32,
5982}
5983#[doc(hidden)]
5984#[repr(C)]
5985#[derive(Debug, Copy, Clone)]
5986pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
5987  pub sType: StructureType,
5988  pub pNext: *const c_void,
5989  pub exclusiveScissorCount: u32,
5990  pub pExclusiveScissors: *const Rect2D,
5991}
5992#[doc(hidden)]
5993#[repr(C)]
5994#[derive(Debug, Copy, Clone)]
5995pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
5996  pub sType: StructureType,
5997  pub pNext: *mut c_void,
5998  pub cornerSampledImage: Bool32,
5999}
6000#[doc(hidden)]
6001#[repr(C)]
6002#[derive(Debug, Copy, Clone)]
6003pub struct PhysicalDeviceComputeShaderDerivativesFeaturesNV {
6004  pub sType: StructureType,
6005  pub pNext: *mut c_void,
6006  pub computeDerivativeGroupQuads: Bool32,
6007  pub computeDerivativeGroupLinear: Bool32,
6008}
6009#[doc(hidden)]
6010#[repr(C)]
6011#[derive(Debug, Copy, Clone)]
6012pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
6013  pub sType: StructureType,
6014  pub pNext: *mut c_void,
6015  pub fragmentShaderBarycentric: Bool32,
6016}
6017#[doc(hidden)]
6018#[repr(C)]
6019#[derive(Debug, Copy, Clone)]
6020pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
6021  pub sType: StructureType,
6022  pub pNext: *mut c_void,
6023  pub imageFootprint: Bool32,
6024}
6025#[doc(hidden)]
6026#[repr(C)]
6027#[derive(Debug, Copy, Clone)]
6028pub struct ShadingRatePaletteNV {
6029  pub shadingRatePaletteEntryCount: u32,
6030  pub pShadingRatePaletteEntries: *const ShadingRatePaletteEntryNV,
6031}
6032#[doc(hidden)]
6033#[repr(C)]
6034#[derive(Debug, Copy, Clone)]
6035pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
6036  pub sType: StructureType,
6037  pub pNext: *const c_void,
6038  pub shadingRateImageEnable: Bool32,
6039  pub viewportCount: u32,
6040  pub pShadingRatePalettes: *const ShadingRatePaletteNV,
6041}
6042#[doc(hidden)]
6043#[repr(C)]
6044#[derive(Debug, Copy, Clone)]
6045pub struct PhysicalDeviceShadingRateImageFeaturesNV {
6046  pub sType: StructureType,
6047  pub pNext: *mut c_void,
6048  pub shadingRateImage: Bool32,
6049  pub shadingRateCoarseSampleOrder: Bool32,
6050}
6051#[doc(hidden)]
6052#[repr(C)]
6053#[derive(Debug, Copy, Clone)]
6054pub struct PhysicalDeviceShadingRateImagePropertiesNV {
6055  pub sType: StructureType,
6056  pub pNext: *mut c_void,
6057  pub shadingRateTexelSize: Extent2D,
6058  pub shadingRatePaletteSize: u32,
6059  pub shadingRateMaxCoarseSamples: u32,
6060}
6061#[doc(hidden)]
6062#[repr(C)]
6063#[derive(Debug, Copy, Clone)]
6064pub struct CoarseSampleLocationNV {
6065  pub pixelX: u32,
6066  pub pixelY: u32,
6067  pub sample: u32,
6068}
6069#[doc(hidden)]
6070#[repr(C)]
6071#[derive(Debug, Copy, Clone)]
6072pub struct CoarseSampleOrderCustomNV {
6073  pub shadingRate: ShadingRatePaletteEntryNV,
6074  pub sampleCount: u32,
6075  pub sampleLocationCount: u32,
6076  pub pSampleLocations: *const CoarseSampleLocationNV,
6077}
6078#[doc(hidden)]
6079#[repr(C)]
6080#[derive(Debug, Copy, Clone)]
6081pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
6082  pub sType: StructureType,
6083  pub pNext: *const c_void,
6084  pub sampleOrderType: CoarseSampleOrderTypeNV,
6085  pub customSampleOrderCount: u32,
6086  pub pCustomSampleOrders: *const CoarseSampleOrderCustomNV,
6087}
6088#[doc(hidden)]
6089#[repr(C)]
6090#[derive(Debug, Copy, Clone)]
6091pub struct PhysicalDeviceMeshShaderFeaturesNV {
6092  pub sType: StructureType,
6093  pub pNext: *mut c_void,
6094  pub taskShader: Bool32,
6095  pub meshShader: Bool32,
6096}
6097#[doc(hidden)]
6098#[repr(C)]
6099#[derive(Copy, Clone)]
6100pub struct PhysicalDeviceMeshShaderPropertiesNV {
6101  pub sType: StructureType,
6102  pub pNext: *mut c_void,
6103  pub maxDrawMeshTasksCount: u32,
6104  pub maxTaskWorkGroupInvocations: u32,
6105  pub maxTaskWorkGroupSize: [u32; 3],
6106  pub maxTaskTotalMemorySize: u32,
6107  pub maxTaskOutputCount: u32,
6108  pub maxMeshWorkGroupInvocations: u32,
6109  pub maxMeshWorkGroupSize: [u32; 3],
6110  pub maxMeshTotalMemorySize: u32,
6111  pub maxMeshOutputVertices: u32,
6112  pub maxMeshOutputPrimitives: u32,
6113  pub maxMeshMultiviewViewCount: u32,
6114  pub meshOutputPerVertexGranularity: u32,
6115  pub meshOutputPerPrimitiveGranularity: u32,
6116}
6117#[doc(hidden)]
6118#[repr(C)]
6119#[derive(Debug, Copy, Clone)]
6120pub struct DrawMeshTasksIndirectCommandNV {
6121  pub taskCount: u32,
6122  pub firstTask: u32,
6123}
6124#[doc(hidden)]
6125#[repr(C)]
6126#[derive(Debug, Copy, Clone)]
6127pub struct RayTracingShaderGroupCreateInfoNV {
6128  pub sType: StructureType,
6129  pub pNext: *const c_void,
6130  pub typ: RayTracingShaderGroupTypeNV,
6131  pub generalShader: u32,
6132  pub closestHitShader: u32,
6133  pub anyHitShader: u32,
6134  pub intersectionShader: u32,
6135}
6136#[doc(hidden)]
6137#[repr(C)]
6138#[derive(Debug, Copy, Clone)]
6139pub struct RayTracingPipelineCreateInfoNV {
6140  pub sType: StructureType,
6141  pub pNext: *const c_void,
6142  pub flags: PipelineCreateFlags,
6143  pub stageCount: u32,
6144  pub pStages: *const PipelineShaderStageCreateInfo,
6145  pub groupCount: u32,
6146  pub pGroups: *const RayTracingShaderGroupCreateInfoNV,
6147  pub maxRecursionDepth: u32,
6148  pub layout: PipelineLayout,
6149  pub basePipelineHandle: Pipeline,
6150  pub basePipelineIndex: i32,
6151}
6152#[doc(hidden)]
6153#[repr(C)]
6154#[derive(Debug, Copy, Clone)]
6155pub struct GeometryTrianglesNV {
6156  pub sType: StructureType,
6157  pub pNext: *const c_void,
6158  pub vertexData: Buffer,
6159  pub vertexOffset: DeviceSize,
6160  pub vertexCount: u32,
6161  pub vertexStride: DeviceSize,
6162  pub vertexFormat: Format,
6163  pub indexData: Buffer,
6164  pub indexOffset: DeviceSize,
6165  pub indexCount: u32,
6166  pub indexType: IndexType,
6167  pub transformData: Buffer,
6168  pub transformOffset: DeviceSize,
6169}
6170#[doc(hidden)]
6171#[repr(C)]
6172#[derive(Debug, Copy, Clone)]
6173pub struct GeometryAABBNV {
6174  pub sType: StructureType,
6175  pub pNext: *const c_void,
6176  pub aabbData: Buffer,
6177  pub numAABBs: u32,
6178  pub stride: u32,
6179  pub offset: DeviceSize,
6180}
6181#[doc(hidden)]
6182#[repr(C)]
6183#[derive(Debug, Copy, Clone)]
6184pub struct GeometryDataNV {
6185  pub triangles: GeometryTrianglesNV,
6186  pub aabbs: GeometryAABBNV,
6187}
6188#[doc(hidden)]
6189#[repr(C)]
6190#[derive(Debug, Copy, Clone)]
6191pub struct GeometryNV {
6192  pub sType: StructureType,
6193  pub pNext: *const c_void,
6194  pub geometryType: GeometryTypeNV,
6195  pub geometry: GeometryDataNV,
6196  pub flags: GeometryFlagsNV,
6197}
6198#[doc(hidden)]
6199#[repr(C)]
6200#[derive(Debug, Copy, Clone)]
6201pub struct AccelerationStructureInfoNV {
6202  pub sType: StructureType,
6203  pub pNext: *const c_void,
6204  pub typ: AccelerationStructureTypeNV,
6205  pub flags: BuildAccelerationStructureFlagsNV,
6206  pub instanceCount: u32,
6207  pub geometryCount: u32,
6208  pub pGeometries: *const GeometryNV,
6209}
6210#[doc(hidden)]
6211#[repr(C)]
6212#[derive(Debug, Copy, Clone)]
6213pub struct AccelerationStructureCreateInfoNV {
6214  pub sType: StructureType,
6215  pub pNext: *const c_void,
6216  pub compactedSize: DeviceSize,
6217  pub info: AccelerationStructureInfoNV,
6218}
6219#[doc(hidden)]
6220#[repr(C)]
6221#[derive(Debug, Copy, Clone)]
6222pub struct BindAccelerationStructureMemoryInfoNV {
6223  pub sType: StructureType,
6224  pub pNext: *const c_void,
6225  pub accelerationStructure: AccelerationStructureNV,
6226  pub memory: DeviceMemory,
6227  pub memoryOffset: DeviceSize,
6228  pub deviceIndexCount: u32,
6229  pub pDeviceIndices: *const u32,
6230}
6231#[doc(hidden)]
6232#[repr(C)]
6233#[derive(Debug, Copy, Clone)]
6234pub struct WriteDescriptorSetAccelerationStructureNV {
6235  pub sType: StructureType,
6236  pub pNext: *const c_void,
6237  pub accelerationStructureCount: u32,
6238  pub pAccelerationStructures: *const AccelerationStructureNV,
6239}
6240#[doc(hidden)]
6241#[repr(C)]
6242#[derive(Debug, Copy, Clone)]
6243pub struct AccelerationStructureMemoryRequirementsInfoNV {
6244  pub sType: StructureType,
6245  pub pNext: *const c_void,
6246  pub typ: AccelerationStructureMemoryRequirementsTypeNV,
6247  pub accelerationStructure: AccelerationStructureNV,
6248}
6249#[doc(hidden)]
6250#[repr(C)]
6251#[derive(Debug, Copy, Clone)]
6252pub struct PhysicalDeviceRayTracingPropertiesNV {
6253  pub sType: StructureType,
6254  pub pNext: *mut c_void,
6255  pub shaderGroupHandleSize: u32,
6256  pub maxRecursionDepth: u32,
6257  pub maxShaderGroupStride: u32,
6258  pub shaderGroupBaseAlignment: u32,
6259  pub maxGeometryCount: u64,
6260  pub maxInstanceCount: u64,
6261  pub maxTriangleCount: u64,
6262  pub maxDescriptorSetAccelerationStructures: u32,
6263}
6264#[doc(hidden)]
6265#[repr(C)]
6266#[derive(Debug, Copy, Clone)]
6267pub struct DrmFormatModifierPropertiesListEXT {
6268  pub sType: StructureType,
6269  pub pNext: *mut c_void,
6270  pub drmFormatModifierCount: u32,
6271  pub pDrmFormatModifierProperties: *mut DrmFormatModifierPropertiesEXT,
6272}
6273#[doc(hidden)]
6274#[repr(C)]
6275#[derive(Debug, Copy, Clone)]
6276pub struct DrmFormatModifierPropertiesEXT {
6277  pub drmFormatModifier: u64,
6278  pub drmFormatModifierPlaneCount: u32,
6279  pub drmFormatModifierTilingFeatures: FormatFeatureFlags,
6280}
6281#[doc(hidden)]
6282#[repr(C)]
6283#[derive(Debug, Copy, Clone)]
6284pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
6285  pub sType: StructureType,
6286  pub pNext: *const c_void,
6287  pub drmFormatModifier: u64,
6288  pub sharingMode: SharingMode,
6289  pub queueFamilyIndexCount: u32,
6290  pub pQueueFamilyIndices: *const u32,
6291}
6292#[doc(hidden)]
6293#[repr(C)]
6294#[derive(Debug, Copy, Clone)]
6295pub struct ImageDrmFormatModifierListCreateInfoEXT {
6296  pub sType: StructureType,
6297  pub pNext: *const c_void,
6298  pub drmFormatModifierCount: u32,
6299  pub pDrmFormatModifiers: *const u64,
6300}
6301#[doc(hidden)]
6302#[repr(C)]
6303#[derive(Debug, Copy, Clone)]
6304pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
6305  pub sType: StructureType,
6306  pub pNext: *const c_void,
6307  pub drmFormatModifier: u64,
6308  pub drmFormatModifierPlaneCount: u32,
6309  pub pPlaneLayouts: *const SubresourceLayout,
6310}
6311#[doc(hidden)]
6312#[repr(C)]
6313#[derive(Debug, Copy, Clone)]
6314pub struct ImageDrmFormatModifierPropertiesEXT {
6315  pub sType: StructureType,
6316  pub pNext: *mut c_void,
6317  pub drmFormatModifier: u64,
6318}
6319#[doc(hidden)]
6320#[repr(C)]
6321#[derive(Debug, Copy, Clone)]
6322pub struct ImageStencilUsageCreateInfoEXT {
6323  pub sType: StructureType,
6324  pub pNext: *const c_void,
6325  pub stencilUsage: ImageUsageFlags,
6326}
6327#[doc(hidden)]
6328#[repr(C)]
6329#[derive(Debug, Copy, Clone)]
6330pub struct DeviceMemoryOverallocationCreateInfoAMD {
6331  pub sType: StructureType,
6332  pub pNext: *const c_void,
6333  pub overallocationBehavior: MemoryOverallocationBehaviorAMD,
6334}
6335#[doc(hidden)]
6336#[repr(C)]
6337#[derive(Debug, Copy, Clone)]
6338pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
6339  pub sType: StructureType,
6340  pub pNext: *mut c_void,
6341  pub fragmentDensityMap: Bool32,
6342  pub fragmentDensityMapDynamic: Bool32,
6343  pub fragmentDensityMapNonSubsampledImages: Bool32,
6344}
6345#[doc(hidden)]
6346#[repr(C)]
6347#[derive(Debug, Copy, Clone)]
6348pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
6349  pub sType: StructureType,
6350  pub pNext: *mut c_void,
6351  pub minFragmentDensityTexelSize: Extent2D,
6352  pub maxFragmentDensityTexelSize: Extent2D,
6353  pub fragmentDensityInvocations: Bool32,
6354}
6355#[doc(hidden)]
6356#[repr(C)]
6357#[derive(Debug, Copy, Clone)]
6358pub struct RenderPassFragmentDensityMapCreateInfoEXT {
6359  pub sType: StructureType,
6360  pub pNext: *const c_void,
6361  pub fragmentDensityMapAttachment: AttachmentReference,
6362}
6363#[doc(hidden)]
6364#[repr(C)]
6365#[derive(Debug, Copy, Clone)]
6366pub struct PhysicalDeviceScalarBlockLayoutFeaturesEXT {
6367  pub sType: StructureType,
6368  pub pNext: *mut c_void,
6369  pub scalarBlockLayout: Bool32,
6370}
6371#[doc(hidden)]
6372#[repr(C)]
6373#[derive(Debug, Copy, Clone)]
6374pub struct n32_SECURITY_ATTRIBUTES {
6375  pub nLenght: DWORD,
6376  pub lpSecurityDescriptor: LPVOID,
6377  pub bInheritHandle: BOOL,
6378}
6379
6380
6381#[doc(hidden)] pub type Display = c_void;
6382#[doc(hidden)] pub type Window = c_ulong;
6383#[doc(hidden)] pub type RROutput = c_ulong;
6384#[doc(hidden)] pub type VisualID = u32;
6385#[doc(hidden)] pub type xcb_connection_t = c_void;
6386#[doc(hidden)] pub type xcb_window_t = u32;
6387#[doc(hidden)] pub type xcb_visualid_t = u32;
6388#[doc(hidden)] pub type wl_display = c_void;
6389#[doc(hidden)] pub type wl_surface = c_void;
6390#[doc(hidden)] pub type HINSTANCE = *mut c_void;
6391#[doc(hidden)] pub type HWND = *mut c_void;
6392#[doc(hidden)] pub type HANDLE = *mut c_void;
6393#[doc(hidden)] pub type DWORD = c_ulong;
6394#[doc(hidden)] pub type LPVOID = *mut c_void;
6395#[doc(hidden)] pub type BOOL = i32;
6396#[doc(hidden)] pub type LPCWSTR = *mut c_ushort;
6397#[doc(hidden)] pub type ANativeWindow = c_void;
6398#[doc(hidden)] pub type AHardwareBuffer = c_void;
6399#[doc(hidden)] pub type zx_handle_t = u32;
6400
6401
6402/// Create a version number from a major, minor and patch as it is defined in
6403/// [vulkan version numbers and semantics](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#fundamentals-versionnum)
6404/// 
6405/// May be used to set the `applicationVersion`, `pEngineName` and `apiVersion` fields in [ApplicationInfo](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkApplicationInfo.htm)
6406#[macro_export]
6407macro_rules! make_version {
6408  ($major:expr, $minor:expr, $patch:expr) => ((($major) << 22) | (($minor) << 12) | ($patch))
6409}
6410/// Extract major number from version, created with [make_version](macro.make_version.html) or retrieved from vulkan
6411#[macro_export]
6412macro_rules! version_major {
6413  ($ver:expr) => ($ver >> 22)
6414}
6415/// Extract minor number from version, created with [make_version](macro.make_version.html) or retrieved from vulkan
6416#[macro_export]
6417macro_rules! version_minor {
6418  ($ver:expr) => (($ver >> 12) & 0x3ff)
6419}
6420/// Extract patch number from version, created with [make_version](macro.make_version.html) or retrieved from vulkan
6421#[macro_export]
6422macro_rules! version_patch {
6423  ($ver:expr) => ($ver & 0xfff)
6424}
6425pub const VERSION_1_0: u32 = make_version!(1, 0, 0);
6426pub const VERSION_1_1: u32 = make_version!(1, 1, 0);
6427
6428
6429
6430
6431#[doc(hidden)] pub type PFN_vkCreateInstance = extern "system" fn (pCreateInfo: *const InstanceCreateInfo, pAllocator: *const AllocationCallbacks, pInstance: *mut Instance) -> Result;
6432#[doc(hidden)] pub type PFN_vkDestroyInstance = extern "system" fn (instance: Instance, pAllocator: *const AllocationCallbacks);
6433#[doc(hidden)] pub type PFN_vkEnumeratePhysicalDevices = extern "system" fn (instance: Instance, pPhysicalDeviceCount: *mut u32, pPhysicalDevices: *mut PhysicalDevice) -> Result;
6434#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceFeatures = extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures);
6435#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceFormatProperties = extern "system" fn (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties);
6436#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceImageFormatProperties = extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: *mut ImageFormatProperties) -> Result;
6437#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceProperties = extern "system" fn (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties);
6438#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = extern "system" fn (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties);
6439#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceMemoryProperties = extern "system" fn (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties);
6440#[doc(hidden)] pub type PFN_vkGetInstanceProcAddr = extern "system" fn (instance: Instance, pName: *const c_char) -> PFN_vkVoidFunction;
6441#[doc(hidden)] pub type PFN_vkGetDeviceProcAddr = extern "system" fn (device: Device, pName: *const c_char) -> PFN_vkVoidFunction;
6442#[doc(hidden)] pub type PFN_vkCreateDevice = extern "system" fn (physicalDevice: PhysicalDevice, pCreateInfo: *const DeviceCreateInfo, pAllocator: *const AllocationCallbacks, pDevice: *mut Device) -> Result;
6443#[doc(hidden)] pub type PFN_vkDestroyDevice = extern "system" fn (device: Device, pAllocator: *const AllocationCallbacks);
6444#[doc(hidden)] pub type PFN_vkEnumerateInstanceExtensionProperties = extern "system" fn (pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result;
6445#[doc(hidden)] pub type PFN_vkEnumerateDeviceExtensionProperties = extern "system" fn (physicalDevice: PhysicalDevice, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result;
6446#[doc(hidden)] pub type PFN_vkEnumerateInstanceLayerProperties = extern "system" fn (pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result;
6447#[doc(hidden)] pub type PFN_vkEnumerateDeviceLayerProperties = extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result;
6448#[doc(hidden)] pub type PFN_vkGetDeviceQueue = extern "system" fn (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut Queue);
6449#[doc(hidden)] pub type PFN_vkQueueSubmit = extern "system" fn (queue: Queue, submitCount: u32, pSubmits: *const SubmitInfo, fence: Fence) -> Result;
6450#[doc(hidden)] pub type PFN_vkQueueWaitIdle = extern "system" fn (queue: Queue) -> Result;
6451#[doc(hidden)] pub type PFN_vkDeviceWaitIdle = extern "system" fn (device: Device) -> Result;
6452#[doc(hidden)] pub type PFN_vkAllocateMemory = extern "system" fn (device: Device, pAllocateInfo: *const MemoryAllocateInfo, pAllocator: *const AllocationCallbacks, pMemory: *mut DeviceMemory) -> Result;
6453#[doc(hidden)] pub type PFN_vkFreeMemory = extern "system" fn (device: Device, memory: DeviceMemory, pAllocator: *const AllocationCallbacks);
6454#[doc(hidden)] pub type PFN_vkMapMemory = extern "system" fn (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: *mut *mut c_void) -> Result;
6455#[doc(hidden)] pub type PFN_vkUnmapMemory = extern "system" fn (device: Device, memory: DeviceMemory);
6456#[doc(hidden)] pub type PFN_vkFlushMappedMemoryRanges = extern "system" fn (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result;
6457#[doc(hidden)] pub type PFN_vkInvalidateMappedMemoryRanges = extern "system" fn (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result;
6458#[doc(hidden)] pub type PFN_vkGetDeviceMemoryCommitment = extern "system" fn (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: *mut DeviceSize);
6459#[doc(hidden)] pub type PFN_vkBindBufferMemory = extern "system" fn (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result;
6460#[doc(hidden)] pub type PFN_vkBindImageMemory = extern "system" fn (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result;
6461#[doc(hidden)] pub type PFN_vkGetBufferMemoryRequirements = extern "system" fn (device: Device, buffer: Buffer, pMemoryRequirements: *mut MemoryRequirements);
6462#[doc(hidden)] pub type PFN_vkGetImageMemoryRequirements = extern "system" fn (device: Device, image: Image, pMemoryRequirements: *mut MemoryRequirements);
6463#[doc(hidden)] pub type PFN_vkGetImageSparseMemoryRequirements = extern "system" fn (device: Device, image: Image, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements);
6464#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, samples: SampleCountFlagBits, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties);
6465#[doc(hidden)] pub type PFN_vkQueueBindSparse = extern "system" fn (queue: Queue, bindInfoCount: u32, pBindInfo: *const BindSparseInfo, fence: Fence) -> Result;
6466#[doc(hidden)] pub type PFN_vkCreateFence = extern "system" fn (device: Device, pCreateInfo: *const FenceCreateInfo, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result;
6467#[doc(hidden)] pub type PFN_vkDestroyFence = extern "system" fn (device: Device, fence: Fence, pAllocator: *const AllocationCallbacks);
6468#[doc(hidden)] pub type PFN_vkResetFences = extern "system" fn (device: Device, fenceCount: u32, pFences: *const Fence) -> Result;
6469#[doc(hidden)] pub type PFN_vkGetFenceStatus = extern "system" fn (device: Device, fence: Fence) -> Result;
6470#[doc(hidden)] pub type PFN_vkWaitForFences = extern "system" fn (device: Device, fenceCount: u32, pFences: *const Fence, waitAll: Bool32, timeout: u64) -> Result;
6471#[doc(hidden)] pub type PFN_vkCreateSemaphore = extern "system" fn (device: Device, pCreateInfo: *const SemaphoreCreateInfo, pAllocator: *const AllocationCallbacks, pSemaphore: *mut Semaphore) -> Result;
6472#[doc(hidden)] pub type PFN_vkDestroySemaphore = extern "system" fn (device: Device, semaphore: Semaphore, pAllocator: *const AllocationCallbacks);
6473#[doc(hidden)] pub type PFN_vkCreateEvent = extern "system" fn (device: Device, pCreateInfo: *const EventCreateInfo, pAllocator: *const AllocationCallbacks, pEvent: *mut Event) -> Result;
6474#[doc(hidden)] pub type PFN_vkDestroyEvent = extern "system" fn (device: Device, event: Event, pAllocator: *const AllocationCallbacks);
6475#[doc(hidden)] pub type PFN_vkGetEventStatus = extern "system" fn (device: Device, event: Event) -> Result;
6476#[doc(hidden)] pub type PFN_vkSetEvent = extern "system" fn (device: Device, event: Event) -> Result;
6477#[doc(hidden)] pub type PFN_vkResetEvent = extern "system" fn (device: Device, event: Event) -> Result;
6478#[doc(hidden)] pub type PFN_vkCreateQueryPool = extern "system" fn (device: Device, pCreateInfo: *const QueryPoolCreateInfo, pAllocator: *const AllocationCallbacks, pQueryPool: *mut QueryPool) -> Result;
6479#[doc(hidden)] pub type PFN_vkDestroyQueryPool = extern "system" fn (device: Device, queryPool: QueryPool, pAllocator: *const AllocationCallbacks);
6480#[doc(hidden)] pub type PFN_vkGetQueryPoolResults = extern "system" fn (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: usize, pData: *mut c_void, stride: DeviceSize, flags: QueryResultFlags) -> Result;
6481#[doc(hidden)] pub type PFN_vkCreateBuffer = extern "system" fn (device: Device, pCreateInfo: *const BufferCreateInfo, pAllocator: *const AllocationCallbacks, pBuffer: *mut Buffer) -> Result;
6482#[doc(hidden)] pub type PFN_vkDestroyBuffer = extern "system" fn (device: Device, buffer: Buffer, pAllocator: *const AllocationCallbacks);
6483#[doc(hidden)] pub type PFN_vkCreateBufferView = extern "system" fn (device: Device, pCreateInfo: *const BufferViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut BufferView) -> Result;
6484#[doc(hidden)] pub type PFN_vkDestroyBufferView = extern "system" fn (device: Device, bufferView: BufferView, pAllocator: *const AllocationCallbacks);
6485#[doc(hidden)] pub type PFN_vkCreateImage = extern "system" fn (device: Device, pCreateInfo: *const ImageCreateInfo, pAllocator: *const AllocationCallbacks, pImage: *mut Image) -> Result;
6486#[doc(hidden)] pub type PFN_vkDestroyImage = extern "system" fn (device: Device, image: Image, pAllocator: *const AllocationCallbacks);
6487#[doc(hidden)] pub type PFN_vkGetImageSubresourceLayout = extern "system" fn (device: Device, image: Image, pSubresource: *const ImageSubresource, pLayout: *mut SubresourceLayout);
6488#[doc(hidden)] pub type PFN_vkCreateImageView = extern "system" fn (device: Device, pCreateInfo: *const ImageViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut ImageView) -> Result;
6489#[doc(hidden)] pub type PFN_vkDestroyImageView = extern "system" fn (device: Device, imageView: ImageView, pAllocator: *const AllocationCallbacks);
6490#[doc(hidden)] pub type PFN_vkCreateShaderModule = extern "system" fn (device: Device, pCreateInfo: *const ShaderModuleCreateInfo, pAllocator: *const AllocationCallbacks, pShaderModule: *mut ShaderModule) -> Result;
6491#[doc(hidden)] pub type PFN_vkDestroyShaderModule = extern "system" fn (device: Device, shaderModule: ShaderModule, pAllocator: *const AllocationCallbacks);
6492#[doc(hidden)] pub type PFN_vkCreatePipelineCache = extern "system" fn (device: Device, pCreateInfo: *const PipelineCacheCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineCache: *mut PipelineCache) -> Result;
6493#[doc(hidden)] pub type PFN_vkDestroyPipelineCache = extern "system" fn (device: Device, pipelineCache: PipelineCache, pAllocator: *const AllocationCallbacks);
6494#[doc(hidden)] pub type PFN_vkGetPipelineCacheData = extern "system" fn (device: Device, pipelineCache: PipelineCache, pDataSize: *mut usize, pData: *mut c_void) -> Result;
6495#[doc(hidden)] pub type PFN_vkMergePipelineCaches = extern "system" fn (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: *const PipelineCache) -> Result;
6496#[doc(hidden)] pub type PFN_vkCreateGraphicsPipelines = extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const GraphicsPipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result;
6497#[doc(hidden)] pub type PFN_vkCreateComputePipelines = extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const ComputePipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result;
6498#[doc(hidden)] pub type PFN_vkDestroyPipeline = extern "system" fn (device: Device, pipeline: Pipeline, pAllocator: *const AllocationCallbacks);
6499#[doc(hidden)] pub type PFN_vkCreatePipelineLayout = extern "system" fn (device: Device, pCreateInfo: *const PipelineLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineLayout: *mut PipelineLayout) -> Result;
6500#[doc(hidden)] pub type PFN_vkDestroyPipelineLayout = extern "system" fn (device: Device, pipelineLayout: PipelineLayout, pAllocator: *const AllocationCallbacks);
6501#[doc(hidden)] pub type PFN_vkCreateSampler = extern "system" fn (device: Device, pCreateInfo: *const SamplerCreateInfo, pAllocator: *const AllocationCallbacks, pSampler: *mut Sampler) -> Result;
6502#[doc(hidden)] pub type PFN_vkDestroySampler = extern "system" fn (device: Device, sampler: Sampler, pAllocator: *const AllocationCallbacks);
6503#[doc(hidden)] pub type PFN_vkCreateDescriptorSetLayout = extern "system" fn (device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pSetLayout: *mut DescriptorSetLayout) -> Result;
6504#[doc(hidden)] pub type PFN_vkDestroyDescriptorSetLayout = extern "system" fn (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: *const AllocationCallbacks);
6505#[doc(hidden)] pub type PFN_vkCreateDescriptorPool = extern "system" fn (device: Device, pCreateInfo: *const DescriptorPoolCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorPool: *mut DescriptorPool) -> Result;
6506#[doc(hidden)] pub type PFN_vkDestroyDescriptorPool = extern "system" fn (device: Device, descriptorPool: DescriptorPool, pAllocator: *const AllocationCallbacks);
6507#[doc(hidden)] pub type PFN_vkResetDescriptorPool = extern "system" fn (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result;
6508#[doc(hidden)] pub type PFN_vkAllocateDescriptorSets = extern "system" fn (device: Device, pAllocateInfo: *const DescriptorSetAllocateInfo, pDescriptorSets: *mut DescriptorSet) -> Result;
6509#[doc(hidden)] pub type PFN_vkFreeDescriptorSets = extern "system" fn (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet) -> Result;
6510#[doc(hidden)] pub type PFN_vkUpdateDescriptorSets = extern "system" fn (device: Device, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: *const CopyDescriptorSet);
6511#[doc(hidden)] pub type PFN_vkCreateFramebuffer = extern "system" fn (device: Device, pCreateInfo: *const FramebufferCreateInfo, pAllocator: *const AllocationCallbacks, pFramebuffer: *mut Framebuffer) -> Result;
6512#[doc(hidden)] pub type PFN_vkDestroyFramebuffer = extern "system" fn (device: Device, framebuffer: Framebuffer, pAllocator: *const AllocationCallbacks);
6513#[doc(hidden)] pub type PFN_vkCreateRenderPass = extern "system" fn (device: Device, pCreateInfo: *const RenderPassCreateInfo, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result;
6514#[doc(hidden)] pub type PFN_vkDestroyRenderPass = extern "system" fn (device: Device, renderPass: RenderPass, pAllocator: *const AllocationCallbacks);
6515#[doc(hidden)] pub type PFN_vkGetRenderAreaGranularity = extern "system" fn (device: Device, renderPass: RenderPass, pGranularity: *mut Extent2D);
6516#[doc(hidden)] pub type PFN_vkCreateCommandPool = extern "system" fn (device: Device, pCreateInfo: *const CommandPoolCreateInfo, pAllocator: *const AllocationCallbacks, pCommandPool: *mut CommandPool) -> Result;
6517#[doc(hidden)] pub type PFN_vkDestroyCommandPool = extern "system" fn (device: Device, commandPool: CommandPool, pAllocator: *const AllocationCallbacks);
6518#[doc(hidden)] pub type PFN_vkResetCommandPool = extern "system" fn (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result;
6519#[doc(hidden)] pub type PFN_vkAllocateCommandBuffers = extern "system" fn (device: Device, pAllocateInfo: *const CommandBufferAllocateInfo, pCommandBuffers: *mut CommandBuffer) -> Result;
6520#[doc(hidden)] pub type PFN_vkFreeCommandBuffers = extern "system" fn (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer);
6521#[doc(hidden)] pub type PFN_vkBeginCommandBuffer = extern "system" fn (commandBuffer: CommandBuffer, pBeginInfo: *const CommandBufferBeginInfo) -> Result;
6522#[doc(hidden)] pub type PFN_vkEndCommandBuffer = extern "system" fn (commandBuffer: CommandBuffer) -> Result;
6523#[doc(hidden)] pub type PFN_vkResetCommandBuffer = extern "system" fn (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result;
6524#[doc(hidden)] pub type PFN_vkCmdBindPipeline = extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline);
6525#[doc(hidden)] pub type PFN_vkCmdSetViewport = extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: *const Viewport);
6526#[doc(hidden)] pub type PFN_vkCmdSetScissor = extern "system" fn (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: *const Rect2D);
6527#[doc(hidden)] pub type PFN_vkCmdSetLineWidth = extern "system" fn (commandBuffer: CommandBuffer, lineWidth: f32);
6528#[doc(hidden)] pub type PFN_vkCmdSetDepthBias = extern "system" fn (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32);
6529#[doc(hidden)] pub type PFN_vkCmdSetBlendConstants = extern "system" fn (commandBuffer: CommandBuffer, blendConstants: [f32; 4]);
6530#[doc(hidden)] pub type PFN_vkCmdSetDepthBounds = extern "system" fn (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32);
6531#[doc(hidden)] pub type PFN_vkCmdSetStencilCompareMask = extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32);
6532#[doc(hidden)] pub type PFN_vkCmdSetStencilWriteMask = extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32);
6533#[doc(hidden)] pub type PFN_vkCmdSetStencilReference = extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32);
6534#[doc(hidden)] pub type PFN_vkCmdBindDescriptorSets = extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: *const u32);
6535#[doc(hidden)] pub type PFN_vkCmdBindIndexBuffer = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType);
6536#[doc(hidden)] pub type PFN_vkCmdBindVertexBuffers = extern "system" fn (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize);
6537#[doc(hidden)] pub type PFN_vkCmdDraw = extern "system" fn (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32);
6538#[doc(hidden)] pub type PFN_vkCmdDrawIndexed = extern "system" fn (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32);
6539#[doc(hidden)] pub type PFN_vkCmdDrawIndirect = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32);
6540#[doc(hidden)] pub type PFN_vkCmdDrawIndexedIndirect = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32);
6541#[doc(hidden)] pub type PFN_vkCmdDispatch = extern "system" fn (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32);
6542#[doc(hidden)] pub type PFN_vkCmdDispatchIndirect = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize);
6543#[doc(hidden)] pub type PFN_vkCmdCopyBuffer = extern "system" fn (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferCopy);
6544#[doc(hidden)] pub type PFN_vkCmdCopyImage = extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageCopy);
6545#[doc(hidden)] pub type PFN_vkCmdBlitImage = extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageBlit, filter: Filter);
6546#[doc(hidden)] pub type PFN_vkCmdCopyBufferToImage = extern "system" fn (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const BufferImageCopy);
6547#[doc(hidden)] pub type PFN_vkCmdCopyImageToBuffer = extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferImageCopy);
6548#[doc(hidden)] pub type PFN_vkCmdUpdateBuffer = extern "system" fn (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: *const c_void);
6549#[doc(hidden)] pub type PFN_vkCmdFillBuffer = extern "system" fn (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32);
6550#[doc(hidden)] pub type PFN_vkCmdClearColorImage = extern "system" fn (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: *const ClearColorValue, rangeCount: u32, pRanges: *const ImageSubresourceRange);
6551#[doc(hidden)] pub type PFN_vkCmdClearDepthStencilImage = extern "system" fn (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: *const ClearDepthStencilValue, rangeCount: u32, pRanges: *const ImageSubresourceRange);
6552#[doc(hidden)] pub type PFN_vkCmdClearAttachments = extern "system" fn (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: *const ClearAttachment, rectCount: u32, pRects: *const ClearRect);
6553#[doc(hidden)] pub type PFN_vkCmdResolveImage = extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageResolve);
6554#[doc(hidden)] pub type PFN_vkCmdSetEvent = extern "system" fn (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags);
6555#[doc(hidden)] pub type PFN_vkCmdResetEvent = extern "system" fn (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags);
6556#[doc(hidden)] pub type PFN_vkCmdWaitEvents = extern "system" fn (commandBuffer: CommandBuffer, eventCount: u32, pEvents: *const Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier);
6557#[doc(hidden)] pub type PFN_vkCmdPipelineBarrier = extern "system" fn (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier);
6558#[doc(hidden)] pub type PFN_vkCmdBeginQuery = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags);
6559#[doc(hidden)] pub type PFN_vkCmdEndQuery = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32);
6560#[doc(hidden)] pub type PFN_vkCmdResetQueryPool = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32);
6561#[doc(hidden)] pub type PFN_vkCmdWriteTimestamp = extern "system" fn (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, queryPool: QueryPool, query: u32);
6562#[doc(hidden)] pub type PFN_vkCmdCopyQueryPoolResults = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags);
6563#[doc(hidden)] pub type PFN_vkCmdPushConstants = extern "system" fn (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: *const c_void);
6564#[doc(hidden)] pub type PFN_vkCmdBeginRenderPass = extern "system" fn (commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, contents: SubpassContents);
6565#[doc(hidden)] pub type PFN_vkCmdNextSubpass = extern "system" fn (commandBuffer: CommandBuffer, contents: SubpassContents);
6566#[doc(hidden)] pub type PFN_vkCmdEndRenderPass = extern "system" fn (commandBuffer: CommandBuffer);
6567#[doc(hidden)] pub type PFN_vkCmdExecuteCommands = extern "system" fn (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer);
6568#[doc(hidden)] pub type PFN_vkEnumerateInstanceVersion = extern "system" fn (pApiVersion: *mut u32) -> Result;
6569#[doc(hidden)] pub type PFN_vkBindBufferMemory2 = extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindBufferMemoryInfo) -> Result;
6570#[doc(hidden)] pub type PFN_vkBindImageMemory2 = extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindImageMemoryInfo) -> Result;
6571#[doc(hidden)] pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = extern "system" fn (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: *mut PeerMemoryFeatureFlags);
6572#[doc(hidden)] pub type PFN_vkCmdSetDeviceMask = extern "system" fn (commandBuffer: CommandBuffer, deviceMask: u32);
6573#[doc(hidden)] pub type PFN_vkCmdDispatchBase = extern "system" fn (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32);
6574#[doc(hidden)] pub type PFN_vkEnumeratePhysicalDeviceGroups = extern "system" fn (instance: Instance, pPhysicalDeviceGroupCount: *mut u32, pPhysicalDeviceGroupProperties: *mut PhysicalDeviceGroupProperties) -> Result;
6575#[doc(hidden)] pub type PFN_vkGetImageMemoryRequirements2 = extern "system" fn (device: Device, pInfo: *const ImageMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2);
6576#[doc(hidden)] pub type PFN_vkGetBufferMemoryRequirements2 = extern "system" fn (device: Device, pInfo: *const BufferMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2);
6577#[doc(hidden)] pub type PFN_vkGetImageSparseMemoryRequirements2 = extern "system" fn (device: Device, pInfo: *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements2);
6578#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceFeatures2 = extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures2);
6579#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties2);
6580#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceFormatProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties2);
6581#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties: *mut ImageFormatProperties2) -> Result;
6582#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties2);
6583#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties2);
6584#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = extern "system" fn (physicalDevice: PhysicalDevice, pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties2);
6585#[doc(hidden)] pub type PFN_vkTrimCommandPool = extern "system" fn (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags);
6586#[doc(hidden)] pub type PFN_vkGetDeviceQueue2 = extern "system" fn (device: Device, pQueueInfo: *const DeviceQueueInfo2, pQueue: *mut Queue);
6587#[doc(hidden)] pub type PFN_vkCreateSamplerYcbcrConversion = extern "system" fn (device: Device, pCreateInfo: *const SamplerYcbcrConversionCreateInfo, pAllocator: *const AllocationCallbacks, pYcbcrConversion: *mut SamplerYcbcrConversion) -> Result;
6588#[doc(hidden)] pub type PFN_vkDestroySamplerYcbcrConversion = extern "system" fn (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: *const AllocationCallbacks);
6589#[doc(hidden)] pub type PFN_vkCreateDescriptorUpdateTemplate = extern "system" fn (device: Device, pCreateInfo: *const DescriptorUpdateTemplateCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplate) -> Result;
6590#[doc(hidden)] pub type PFN_vkDestroyDescriptorUpdateTemplate = extern "system" fn (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: *const AllocationCallbacks);
6591#[doc(hidden)] pub type PFN_vkUpdateDescriptorSetWithTemplate = extern "system" fn (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: *const c_void);
6592#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = extern "system" fn (physicalDevice: PhysicalDevice, pExternalBufferInfo: *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: *mut ExternalBufferProperties);
6593#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = extern "system" fn (physicalDevice: PhysicalDevice, pExternalFenceInfo: *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: *mut ExternalFenceProperties);
6594#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = extern "system" fn (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: *mut ExternalSemaphoreProperties);
6595#[doc(hidden)] pub type PFN_vkGetDescriptorSetLayoutSupport = extern "system" fn (device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pSupport: *mut DescriptorSetLayoutSupport);
6596#[doc(hidden)] pub type PFN_vkDestroySurfaceKHR = extern "system" fn (instance: Instance, surface: SurfaceKHR, pAllocator: *const AllocationCallbacks);
6597#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: *mut Bool32) -> Result;
6598#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result;
6599#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormatKHR) -> Result;
6600#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: *mut u32, pPresentModes: *mut PresentModeKHR) -> Result;
6601#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPropertiesKHR) -> Result;
6602#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlanePropertiesKHR) -> Result;
6603#[doc(hidden)] pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = extern "system" fn (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: *mut u32, pDisplays: *mut DisplayKHR) -> Result;
6604#[doc(hidden)] pub type PFN_vkGetDisplayModePropertiesKHR = extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModePropertiesKHR) -> Result;
6605#[doc(hidden)] pub type PFN_vkCreateDisplayModeKHR = extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: *const DisplayModeCreateInfoKHR, pAllocator: *const AllocationCallbacks, pMode: *mut DisplayModeKHR) -> Result;
6606#[doc(hidden)] pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = extern "system" fn (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result;
6607#[doc(hidden)] pub type PFN_vkCreateDisplayPlaneSurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const DisplaySurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6608#[doc(hidden)] pub type PFN_vkCreateXlibSurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const XlibSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6609#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR = extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, dpy: *mut Display, visualID: VisualID) -> Bool32;
6610#[doc(hidden)] pub type PFN_vkCreateXcbSurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const XcbSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6611#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> Bool32;
6612#[doc(hidden)] pub type PFN_vkCreateWaylandSurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const WaylandSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6613#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR = extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: *mut wl_display) -> Bool32;
6614#[doc(hidden)] pub type PFN_vkCreateAndroidSurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const AndroidSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6615#[doc(hidden)] pub type PFN_vkCreateWin32SurfaceKHR = extern "system" fn (instance: Instance, pCreateInfo: *const Win32SurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6616#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR = extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> Bool32;
6617#[doc(hidden)] pub type PFN_vkCreateDebugReportCallbackEXT = extern "system" fn (instance: Instance, pCreateInfo: *const DebugReportCallbackCreateInfoEXT, pAllocator: *const AllocationCallbacks, pCallback: *mut DebugReportCallbackEXT) -> Result;
6618#[doc(hidden)] pub type PFN_vkDestroyDebugReportCallbackEXT = extern "system" fn (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: *const AllocationCallbacks);
6619#[doc(hidden)] pub type PFN_vkDebugReportMessageEXT = extern "system" fn (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: usize, messageCode: i32, pLayerPrefix: *const c_char, pMessage: *const c_char);
6620#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: *mut ExternalImageFormatPropertiesNV) -> Result;
6621#[doc(hidden)] pub type PFN_vkCreateViSurfaceNN = extern "system" fn (instance: Instance, pCreateInfo: *const ViSurfaceCreateInfoNN, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6622#[doc(hidden)] pub type PFN_vkReleaseDisplayEXT = extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result;
6623#[doc(hidden)] pub type PFN_vkAcquireXlibDisplayEXT = extern "system" fn (physicalDevice: PhysicalDevice, dpy: *mut Display, display: DisplayKHR) -> Result;
6624#[doc(hidden)] pub type PFN_vkGetRandROutputDisplayEXT = extern "system" fn (physicalDevice: PhysicalDevice, dpy: *mut Display, rrOutput: RROutput, pDisplay: *mut DisplayKHR) -> Result;
6625#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilities2EXT) -> Result;
6626#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = extern "system" fn (physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: *mut SurfaceCapabilities2KHR) -> Result;
6627#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = extern "system" fn (physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormat2KHR) -> Result;
6628#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayProperties2KHR) -> Result;
6629#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlaneProperties2KHR) -> Result;
6630#[doc(hidden)] pub type PFN_vkGetDisplayModeProperties2KHR = extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModeProperties2KHR) -> Result;
6631#[doc(hidden)] pub type PFN_vkGetDisplayPlaneCapabilities2KHR = extern "system" fn (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: *const DisplayPlaneInfo2KHR, pCapabilities: *mut DisplayPlaneCapabilities2KHR) -> Result;
6632#[doc(hidden)] pub type PFN_vkCreateIOSSurfaceMVK = extern "system" fn (instance: Instance, pCreateInfo: *const IOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6633#[doc(hidden)] pub type PFN_vkCreateMacOSSurfaceMVK = extern "system" fn (instance: Instance, pCreateInfo: *const MacOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6634#[doc(hidden)] pub type PFN_vkSetDebugUtilsObjectNameEXT = extern "system" fn (device: Device, pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result;
6635#[doc(hidden)] pub type PFN_vkSetDebugUtilsObjectTagEXT = extern "system" fn (device: Device, pTagInfo: *const DebugUtilsObjectTagInfoEXT) -> Result;
6636#[doc(hidden)] pub type PFN_vkQueueBeginDebugUtilsLabelEXT = extern "system" fn (queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT);
6637#[doc(hidden)] pub type PFN_vkQueueEndDebugUtilsLabelEXT = extern "system" fn (queue: Queue);
6638#[doc(hidden)] pub type PFN_vkQueueInsertDebugUtilsLabelEXT = extern "system" fn (queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT);
6639#[doc(hidden)] pub type PFN_vkCmdBeginDebugUtilsLabelEXT = extern "system" fn (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT);
6640#[doc(hidden)] pub type PFN_vkCmdEndDebugUtilsLabelEXT = extern "system" fn (commandBuffer: CommandBuffer);
6641#[doc(hidden)] pub type PFN_vkCmdInsertDebugUtilsLabelEXT = extern "system" fn (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT);
6642#[doc(hidden)] pub type PFN_vkCreateDebugUtilsMessengerEXT = extern "system" fn (instance: Instance, pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, pAllocator: *const AllocationCallbacks, pMessenger: *mut DebugUtilsMessengerEXT) -> Result;
6643#[doc(hidden)] pub type PFN_vkDestroyDebugUtilsMessengerEXT = extern "system" fn (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: *const AllocationCallbacks);
6644#[doc(hidden)] pub type PFN_vkSubmitDebugUtilsMessageEXT = extern "system" fn (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: *const DebugUtilsMessengerCallbackDataEXT);
6645#[doc(hidden)] pub type PFN_vkCreateImagePipeSurfaceFUCHSIA = extern "system" fn (instance: Instance, pCreateInfo: *const ImagePipeSurfaceCreateInfoFUCHSIA, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result;
6646#[doc(hidden)] pub type PFN_vkCreateSwapchainKHR = extern "system" fn (device: Device, pCreateInfo: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchain: *mut SwapchainKHR) -> Result;
6647#[doc(hidden)] pub type PFN_vkDestroySwapchainKHR = extern "system" fn (device: Device, swapchain: SwapchainKHR, pAllocator: *const AllocationCallbacks);
6648#[doc(hidden)] pub type PFN_vkGetSwapchainImagesKHR = extern "system" fn (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: *mut u32, pSwapchainImages: *mut Image) -> Result;
6649#[doc(hidden)] pub type PFN_vkAcquireNextImageKHR = extern "system" fn (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: *mut u32) -> Result;
6650#[doc(hidden)] pub type PFN_vkQueuePresentKHR = extern "system" fn (queue: Queue, pPresentInfo: *const PresentInfoKHR) -> Result;
6651#[doc(hidden)] pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = extern "system" fn (device: Device, pDeviceGroupPresentCapabilities: *mut DeviceGroupPresentCapabilitiesKHR) -> Result;
6652#[doc(hidden)] pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = extern "system" fn (device: Device, surface: SurfaceKHR, pModes: *mut DeviceGroupPresentModeFlagsKHR) -> Result;
6653#[doc(hidden)] pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: *mut u32, pRects: *mut Rect2D) -> Result;
6654#[doc(hidden)] pub type PFN_vkAcquireNextImage2KHR = extern "system" fn (device: Device, pAcquireInfo: *const AcquireNextImageInfoKHR, pImageIndex: *mut u32) -> Result;
6655#[doc(hidden)] pub type PFN_vkCreateSharedSwapchainsKHR = extern "system" fn (device: Device, swapchainCount: u32, pCreateInfos: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchains: *mut SwapchainKHR) -> Result;
6656#[doc(hidden)] pub type PFN_vkDebugMarkerSetObjectTagEXT = extern "system" fn (device: Device, pTagInfo: *const DebugMarkerObjectTagInfoEXT) -> Result;
6657#[doc(hidden)] pub type PFN_vkDebugMarkerSetObjectNameEXT = extern "system" fn (device: Device, pNameInfo: *const DebugMarkerObjectNameInfoEXT) -> Result;
6658#[doc(hidden)] pub type PFN_vkCmdDebugMarkerBeginEXT = extern "system" fn (commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT);
6659#[doc(hidden)] pub type PFN_vkCmdDebugMarkerEndEXT = extern "system" fn (commandBuffer: CommandBuffer);
6660#[doc(hidden)] pub type PFN_vkCmdDebugMarkerInsertEXT = extern "system" fn (commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT);
6661#[doc(hidden)] pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = extern "system" fn (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize, pSizes: *const DeviceSize);
6662#[doc(hidden)] pub type PFN_vkCmdBeginTransformFeedbackEXT = extern "system" fn (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize);
6663#[doc(hidden)] pub type PFN_vkCmdEndTransformFeedbackEXT = extern "system" fn (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize);
6664#[doc(hidden)] pub type PFN_vkCmdBeginQueryIndexedEXT = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32);
6665#[doc(hidden)] pub type PFN_vkCmdEndQueryIndexedEXT = extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32);
6666#[doc(hidden)] pub type PFN_vkCmdDrawIndirectByteCountEXT = extern "system" fn (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32);
6667#[doc(hidden)] pub type PFN_vkCmdDrawIndirectCountAMD = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32);
6668#[doc(hidden)] pub type PFN_vkCmdDrawIndexedIndirectCountAMD = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32);
6669#[doc(hidden)] pub type PFN_vkGetShaderInfoAMD = extern "system" fn (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlagBits, infoType: ShaderInfoTypeAMD, pInfoSize: *mut usize, pInfo: *mut c_void) -> Result;
6670#[doc(hidden)] pub type PFN_vkGetMemoryWin32HandleNV = extern "system" fn (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: *mut HANDLE) -> Result;
6671#[doc(hidden)] pub type PFN_vkGetMemoryWin32HandleKHR = extern "system" fn (device: Device, pGetWin32HandleInfo: *const MemoryGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result;
6672#[doc(hidden)] pub type PFN_vkGetMemoryWin32HandlePropertiesKHR = extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, handle: HANDLE, pMemoryWin32HandleProperties: *mut MemoryWin32HandlePropertiesKHR) -> Result;
6673#[doc(hidden)] pub type PFN_vkGetMemoryFdKHR = extern "system" fn (device: Device, pGetFdInfo: *const MemoryGetFdInfoKHR, pFd: *mut i32) -> Result;
6674#[doc(hidden)] pub type PFN_vkGetMemoryFdPropertiesKHR = extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, fd: i32, pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result;
6675#[doc(hidden)] pub type PFN_vkImportSemaphoreWin32HandleKHR = extern "system" fn (device: Device, pImportSemaphoreWin32HandleInfo: *const ImportSemaphoreWin32HandleInfoKHR) -> Result;
6676#[doc(hidden)] pub type PFN_vkGetSemaphoreWin32HandleKHR = extern "system" fn (device: Device, pGetWin32HandleInfo: *const SemaphoreGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result;
6677#[doc(hidden)] pub type PFN_vkImportSemaphoreFdKHR = extern "system" fn (device: Device, pImportSemaphoreFdInfo: *const ImportSemaphoreFdInfoKHR) -> Result;
6678#[doc(hidden)] pub type PFN_vkGetSemaphoreFdKHR = extern "system" fn (device: Device, pGetFdInfo: *const SemaphoreGetFdInfoKHR, pFd: *mut i32) -> Result;
6679#[doc(hidden)] pub type PFN_vkCmdPushDescriptorSetKHR = extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet);
6680#[doc(hidden)] pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = extern "system" fn (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: *const c_void);
6681#[doc(hidden)] pub type PFN_vkCmdBeginConditionalRenderingEXT = extern "system" fn (commandBuffer: CommandBuffer, pConditionalRenderingBegin: *const ConditionalRenderingBeginInfoEXT);
6682#[doc(hidden)] pub type PFN_vkCmdEndConditionalRenderingEXT = extern "system" fn (commandBuffer: CommandBuffer);
6683#[doc(hidden)] pub type PFN_vkCmdProcessCommandsNVX = extern "system" fn (commandBuffer: CommandBuffer, pProcessCommandsInfo: *const CmdProcessCommandsInfoNVX);
6684#[doc(hidden)] pub type PFN_vkCmdReserveSpaceForCommandsNVX = extern "system" fn (commandBuffer: CommandBuffer, pReserveSpaceInfo: *const CmdReserveSpaceForCommandsInfoNVX);
6685#[doc(hidden)] pub type PFN_vkCreateIndirectCommandsLayoutNVX = extern "system" fn (device: Device, pCreateInfo: *const IndirectCommandsLayoutCreateInfoNVX, pAllocator: *const AllocationCallbacks, pIndirectCommandsLayout: *mut IndirectCommandsLayoutNVX) -> Result;
6686#[doc(hidden)] pub type PFN_vkDestroyIndirectCommandsLayoutNVX = extern "system" fn (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNVX, pAllocator: *const AllocationCallbacks);
6687#[doc(hidden)] pub type PFN_vkCreateObjectTableNVX = extern "system" fn (device: Device, pCreateInfo: *const ObjectTableCreateInfoNVX, pAllocator: *const AllocationCallbacks, pObjectTable: *mut ObjectTableNVX) -> Result;
6688#[doc(hidden)] pub type PFN_vkDestroyObjectTableNVX = extern "system" fn (device: Device, objectTable: ObjectTableNVX, pAllocator: *const AllocationCallbacks);
6689#[doc(hidden)] pub type PFN_vkRegisterObjectsNVX = extern "system" fn (device: Device, objectTable: ObjectTableNVX, objectCount: u32, ppObjectTableEntries: *const *const ObjectTableEntryNVX, pObjectIndices: *const u32) -> Result;
6690#[doc(hidden)] pub type PFN_vkUnregisterObjectsNVX = extern "system" fn (device: Device, objectTable: ObjectTableNVX, objectCount: u32, pObjectEntryTypes: *const ObjectEntryTypeNVX, pObjectIndices: *const u32) -> Result;
6691#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut DeviceGeneratedCommandsFeaturesNVX, pLimits: *mut DeviceGeneratedCommandsLimitsNVX);
6692#[doc(hidden)] pub type PFN_vkCmdSetViewportWScalingNV = extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: *const ViewportWScalingNV);
6693#[doc(hidden)] pub type PFN_vkDisplayPowerControlEXT = extern "system" fn (device: Device, display: DisplayKHR, pDisplayPowerInfo: *const DisplayPowerInfoEXT) -> Result;
6694#[doc(hidden)] pub type PFN_vkRegisterDeviceEventEXT = extern "system" fn (device: Device, pDeviceEventInfo: *const DeviceEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result;
6695#[doc(hidden)] pub type PFN_vkRegisterDisplayEventEXT = extern "system" fn (device: Device, display: DisplayKHR, pDisplayEventInfo: *const DisplayEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result;
6696#[doc(hidden)] pub type PFN_vkGetSwapchainCounterEXT = extern "system" fn (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagBitsEXT, pCounterValue: *mut u64) -> Result;
6697#[doc(hidden)] pub type PFN_vkGetRefreshCycleDurationGOOGLE = extern "system" fn (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: *mut RefreshCycleDurationGOOGLE) -> Result;
6698#[doc(hidden)] pub type PFN_vkGetPastPresentationTimingGOOGLE = extern "system" fn (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: *mut u32, pPresentationTimings: *mut PastPresentationTimingGOOGLE) -> Result;
6699#[doc(hidden)] pub type PFN_vkCmdSetDiscardRectangleEXT = extern "system" fn (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: *const Rect2D);
6700#[doc(hidden)] pub type PFN_vkSetHdrMetadataEXT = extern "system" fn (device: Device, swapchainCount: u32, pSwapchains: *const SwapchainKHR, pMetadata: *const HdrMetadataEXT);
6701#[doc(hidden)] pub type PFN_vkCreateRenderPass2KHR = extern "system" fn (device: Device, pCreateInfo: *const RenderPassCreateInfo2KHR, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result;
6702#[doc(hidden)] pub type PFN_vkCmdBeginRenderPass2KHR = extern "system" fn (commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, pSubpassBeginInfo: *const SubpassBeginInfoKHR);
6703#[doc(hidden)] pub type PFN_vkCmdNextSubpass2KHR = extern "system" fn (commandBuffer: CommandBuffer, pSubpassBeginInfo: *const SubpassBeginInfoKHR, pSubpassEndInfo: *const SubpassEndInfoKHR);
6704#[doc(hidden)] pub type PFN_vkCmdEndRenderPass2KHR = extern "system" fn (commandBuffer: CommandBuffer, pSubpassEndInfo: *const SubpassEndInfoKHR);
6705#[doc(hidden)] pub type PFN_vkGetSwapchainStatusKHR = extern "system" fn (device: Device, swapchain: SwapchainKHR) -> Result;
6706#[doc(hidden)] pub type PFN_vkImportFenceWin32HandleKHR = extern "system" fn (device: Device, pImportFenceWin32HandleInfo: *const ImportFenceWin32HandleInfoKHR) -> Result;
6707#[doc(hidden)] pub type PFN_vkGetFenceWin32HandleKHR = extern "system" fn (device: Device, pGetWin32HandleInfo: *const FenceGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result;
6708#[doc(hidden)] pub type PFN_vkImportFenceFdKHR = extern "system" fn (device: Device, pImportFenceFdInfo: *const ImportFenceFdInfoKHR) -> Result;
6709#[doc(hidden)] pub type PFN_vkGetFenceFdKHR = extern "system" fn (device: Device, pGetFdInfo: *const FenceGetFdInfoKHR, pFd: *mut i32) -> Result;
6710#[doc(hidden)] pub type PFN_vkGetAndroidHardwareBufferPropertiesANDROID = extern "system" fn (device: Device, buffer: *const AHardwareBuffer, pProperties: *mut AndroidHardwareBufferPropertiesANDROID) -> Result;
6711#[doc(hidden)] pub type PFN_vkGetMemoryAndroidHardwareBufferANDROID = extern "system" fn (device: Device, pInfo: *const MemoryGetAndroidHardwareBufferInfoANDROID, pBuffer: *mut *mut AHardwareBuffer) -> Result;
6712#[doc(hidden)] pub type PFN_vkCmdSetSampleLocationsEXT = extern "system" fn (commandBuffer: CommandBuffer, pSampleLocationsInfo: *const SampleLocationsInfoEXT);
6713#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = extern "system" fn (physicalDevice: PhysicalDevice, samples: SampleCountFlagBits, pMultisampleProperties: *mut MultisamplePropertiesEXT);
6714#[doc(hidden)] pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = extern "system" fn (device: Device, image: Image, pProperties: *mut ImageDrmFormatModifierPropertiesEXT) -> Result;
6715#[doc(hidden)] pub type PFN_vkCreateValidationCacheEXT = extern "system" fn (device: Device, pCreateInfo: *const ValidationCacheCreateInfoEXT, pAllocator: *const AllocationCallbacks, pValidationCache: *mut ValidationCacheEXT) -> Result;
6716#[doc(hidden)] pub type PFN_vkDestroyValidationCacheEXT = extern "system" fn (device: Device, validationCache: ValidationCacheEXT, pAllocator: *const AllocationCallbacks);
6717#[doc(hidden)] pub type PFN_vkMergeValidationCachesEXT = extern "system" fn (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: *const ValidationCacheEXT) -> Result;
6718#[doc(hidden)] pub type PFN_vkGetValidationCacheDataEXT = extern "system" fn (device: Device, validationCache: ValidationCacheEXT, pDataSize: *mut usize, pData: *mut c_void) -> Result;
6719#[doc(hidden)] pub type PFN_vkCmdBindShadingRateImageNV = extern "system" fn (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout);
6720#[doc(hidden)] pub type PFN_vkCmdSetViewportShadingRatePaletteNV = extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: *const ShadingRatePaletteNV);
6721#[doc(hidden)] pub type PFN_vkCmdSetCoarseSampleOrderNV = extern "system" fn (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: *const CoarseSampleOrderCustomNV);
6722#[doc(hidden)] pub type PFN_vkCreateAccelerationStructureNV = extern "system" fn (device: Device, pCreateInfo: *const AccelerationStructureCreateInfoNV, pAllocator: *const AllocationCallbacks, pAccelerationStructure: *mut AccelerationStructureNV) -> Result;
6723#[doc(hidden)] pub type PFN_vkDestroyAccelerationStructureNV = extern "system" fn (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: *const AllocationCallbacks);
6724#[doc(hidden)] pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = extern "system" fn (device: Device, pInfo: *const AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: *mut MemoryRequirements2);
6725#[doc(hidden)] pub type PFN_vkBindAccelerationStructureMemoryNV = extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindAccelerationStructureMemoryInfoNV) -> Result;
6726#[doc(hidden)] pub type PFN_vkCmdBuildAccelerationStructureNV = extern "system" fn (commandBuffer: CommandBuffer, pInfo: *const AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize);
6727#[doc(hidden)] pub type PFN_vkCmdCopyAccelerationStructureNV = extern "system" fn (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV);
6728#[doc(hidden)] pub type PFN_vkCmdTraceRaysNV = extern "system" fn (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32);
6729#[doc(hidden)] pub type PFN_vkCreateRayTracingPipelinesNV = extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const RayTracingPipelineCreateInfoNV, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result;
6730#[doc(hidden)] pub type PFN_vkGetRayTracingShaderGroupHandlesNV = extern "system" fn (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: usize, pData: *mut c_void) -> Result;
6731#[doc(hidden)] pub type PFN_vkGetAccelerationStructureHandleNV = extern "system" fn (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: usize, pData: *mut c_void) -> Result;
6732#[doc(hidden)] pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = extern "system" fn (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: *const AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32);
6733#[doc(hidden)] pub type PFN_vkCompileDeferredNV = extern "system" fn (device: Device, pipeline: Pipeline, shader: u32) -> Result;
6734#[doc(hidden)] pub type PFN_vkCmdDrawIndirectCountKHR = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32);
6735#[doc(hidden)] pub type PFN_vkCmdDrawIndexedIndirectCountKHR = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32);
6736#[doc(hidden)] pub type PFN_vkGetMemoryHostPointerPropertiesEXT = extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, pHostPointer: *const c_void, pMemoryHostPointerProperties: *mut MemoryHostPointerPropertiesEXT) -> Result;
6737#[doc(hidden)] pub type PFN_vkCmdWriteBufferMarkerAMD = extern "system" fn (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32);
6738#[doc(hidden)] pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = extern "system" fn (physicalDevice: PhysicalDevice, pTimeDomainCount: *mut u32, pTimeDomains: *mut TimeDomainEXT) -> Result;
6739#[doc(hidden)] pub type PFN_vkGetCalibratedTimestampsEXT = extern "system" fn (device: Device, timestampCount: u32, pTimestampInfos: *const CalibratedTimestampInfoEXT, pTimestamps: *mut u64, pMaxDeviation: *mut u64) -> Result;
6740#[doc(hidden)] pub type PFN_vkCmdDrawMeshTasksNV = extern "system" fn (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32);
6741#[doc(hidden)] pub type PFN_vkCmdDrawMeshTasksIndirectNV = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32);
6742#[doc(hidden)] pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32);
6743#[doc(hidden)] pub type PFN_vkCmdSetExclusiveScissorNV = extern "system" fn (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: *const Rect2D);
6744#[doc(hidden)] pub type PFN_vkCmdSetCheckpointNV = extern "system" fn (commandBuffer: CommandBuffer, pCheckpointMarker: *const c_void);
6745#[doc(hidden)] pub type PFN_vkGetQueueCheckpointDataNV = extern "system" fn (queue: Queue, pCheckpointDataCount: *mut u32, pCheckpointData: *mut CheckpointDataNV);
6746
6747
6748/// Vulkan library initialization struct
6749///
6750/// This struct is used to initialize vulkan commands and holds function pointers to them.
6751/// Function pointers are initialized during construction.
6752///
6753/// After successfull instantiation the global vulkan functions are ready to use.
6754/// There must always be only a single instance maximum of this struct.
6755pub struct VkLib {
6756  #[allow(dead_code)]
6757  lib: shared_library::dynamic_library::DynamicLibrary,
6758  feature: u32,
6759  CreateInstance_ptr: extern "system" fn (pCreateInfo: *const InstanceCreateInfo, pAllocator: *const AllocationCallbacks, pInstance: *mut Instance) -> Result,
6760  DestroyInstance_ptr: extern "system" fn (instance: Instance, pAllocator: *const AllocationCallbacks),
6761  EnumeratePhysicalDevices_ptr: extern "system" fn (instance: Instance, pPhysicalDeviceCount: *mut u32, pPhysicalDevices: *mut PhysicalDevice) -> Result,
6762  GetPhysicalDeviceFeatures_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures),
6763  GetPhysicalDeviceFormatProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties),
6764  GetPhysicalDeviceImageFormatProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: *mut ImageFormatProperties) -> Result,
6765  GetPhysicalDeviceProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties),
6766  GetPhysicalDeviceQueueFamilyProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties),
6767  GetPhysicalDeviceMemoryProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties),
6768  GetInstanceProcAddr_ptr: extern "system" fn (instance: Instance, pName: *const c_char) -> PFN_vkVoidFunction,
6769  GetDeviceProcAddr_ptr: extern "system" fn (device: Device, pName: *const c_char) -> PFN_vkVoidFunction,
6770  CreateDevice_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pCreateInfo: *const DeviceCreateInfo, pAllocator: *const AllocationCallbacks, pDevice: *mut Device) -> Result,
6771  DestroyDevice_ptr: extern "system" fn (device: Device, pAllocator: *const AllocationCallbacks),
6772  EnumerateInstanceExtensionProperties_ptr: extern "system" fn (pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result,
6773  EnumerateDeviceExtensionProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result,
6774  EnumerateInstanceLayerProperties_ptr: extern "system" fn (pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result,
6775  EnumerateDeviceLayerProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result,
6776  GetDeviceQueue_ptr: extern "system" fn (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut Queue),
6777  QueueSubmit_ptr: extern "system" fn (queue: Queue, submitCount: u32, pSubmits: *const SubmitInfo, fence: Fence) -> Result,
6778  QueueWaitIdle_ptr: extern "system" fn (queue: Queue) -> Result,
6779  DeviceWaitIdle_ptr: extern "system" fn (device: Device) -> Result,
6780  AllocateMemory_ptr: extern "system" fn (device: Device, pAllocateInfo: *const MemoryAllocateInfo, pAllocator: *const AllocationCallbacks, pMemory: *mut DeviceMemory) -> Result,
6781  FreeMemory_ptr: extern "system" fn (device: Device, memory: DeviceMemory, pAllocator: *const AllocationCallbacks),
6782  MapMemory_ptr: extern "system" fn (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: *mut *mut c_void) -> Result,
6783  UnmapMemory_ptr: extern "system" fn (device: Device, memory: DeviceMemory),
6784  FlushMappedMemoryRanges_ptr: extern "system" fn (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result,
6785  InvalidateMappedMemoryRanges_ptr: extern "system" fn (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result,
6786  GetDeviceMemoryCommitment_ptr: extern "system" fn (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: *mut DeviceSize),
6787  BindBufferMemory_ptr: extern "system" fn (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result,
6788  BindImageMemory_ptr: extern "system" fn (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result,
6789  GetBufferMemoryRequirements_ptr: extern "system" fn (device: Device, buffer: Buffer, pMemoryRequirements: *mut MemoryRequirements),
6790  GetImageMemoryRequirements_ptr: extern "system" fn (device: Device, image: Image, pMemoryRequirements: *mut MemoryRequirements),
6791  GetImageSparseMemoryRequirements_ptr: extern "system" fn (device: Device, image: Image, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements),
6792  GetPhysicalDeviceSparseImageFormatProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, samples: SampleCountFlagBits, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties),
6793  QueueBindSparse_ptr: extern "system" fn (queue: Queue, bindInfoCount: u32, pBindInfo: *const BindSparseInfo, fence: Fence) -> Result,
6794  CreateFence_ptr: extern "system" fn (device: Device, pCreateInfo: *const FenceCreateInfo, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result,
6795  DestroyFence_ptr: extern "system" fn (device: Device, fence: Fence, pAllocator: *const AllocationCallbacks),
6796  ResetFences_ptr: extern "system" fn (device: Device, fenceCount: u32, pFences: *const Fence) -> Result,
6797  GetFenceStatus_ptr: extern "system" fn (device: Device, fence: Fence) -> Result,
6798  WaitForFences_ptr: extern "system" fn (device: Device, fenceCount: u32, pFences: *const Fence, waitAll: Bool32, timeout: u64) -> Result,
6799  CreateSemaphore_ptr: extern "system" fn (device: Device, pCreateInfo: *const SemaphoreCreateInfo, pAllocator: *const AllocationCallbacks, pSemaphore: *mut Semaphore) -> Result,
6800  DestroySemaphore_ptr: extern "system" fn (device: Device, semaphore: Semaphore, pAllocator: *const AllocationCallbacks),
6801  CreateEvent_ptr: extern "system" fn (device: Device, pCreateInfo: *const EventCreateInfo, pAllocator: *const AllocationCallbacks, pEvent: *mut Event) -> Result,
6802  DestroyEvent_ptr: extern "system" fn (device: Device, event: Event, pAllocator: *const AllocationCallbacks),
6803  GetEventStatus_ptr: extern "system" fn (device: Device, event: Event) -> Result,
6804  SetEvent_ptr: extern "system" fn (device: Device, event: Event) -> Result,
6805  ResetEvent_ptr: extern "system" fn (device: Device, event: Event) -> Result,
6806  CreateQueryPool_ptr: extern "system" fn (device: Device, pCreateInfo: *const QueryPoolCreateInfo, pAllocator: *const AllocationCallbacks, pQueryPool: *mut QueryPool) -> Result,
6807  DestroyQueryPool_ptr: extern "system" fn (device: Device, queryPool: QueryPool, pAllocator: *const AllocationCallbacks),
6808  GetQueryPoolResults_ptr: extern "system" fn (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: usize, pData: *mut c_void, stride: DeviceSize, flags: QueryResultFlags) -> Result,
6809  CreateBuffer_ptr: extern "system" fn (device: Device, pCreateInfo: *const BufferCreateInfo, pAllocator: *const AllocationCallbacks, pBuffer: *mut Buffer) -> Result,
6810  DestroyBuffer_ptr: extern "system" fn (device: Device, buffer: Buffer, pAllocator: *const AllocationCallbacks),
6811  CreateBufferView_ptr: extern "system" fn (device: Device, pCreateInfo: *const BufferViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut BufferView) -> Result,
6812  DestroyBufferView_ptr: extern "system" fn (device: Device, bufferView: BufferView, pAllocator: *const AllocationCallbacks),
6813  CreateImage_ptr: extern "system" fn (device: Device, pCreateInfo: *const ImageCreateInfo, pAllocator: *const AllocationCallbacks, pImage: *mut Image) -> Result,
6814  DestroyImage_ptr: extern "system" fn (device: Device, image: Image, pAllocator: *const AllocationCallbacks),
6815  GetImageSubresourceLayout_ptr: extern "system" fn (device: Device, image: Image, pSubresource: *const ImageSubresource, pLayout: *mut SubresourceLayout),
6816  CreateImageView_ptr: extern "system" fn (device: Device, pCreateInfo: *const ImageViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut ImageView) -> Result,
6817  DestroyImageView_ptr: extern "system" fn (device: Device, imageView: ImageView, pAllocator: *const AllocationCallbacks),
6818  CreateShaderModule_ptr: extern "system" fn (device: Device, pCreateInfo: *const ShaderModuleCreateInfo, pAllocator: *const AllocationCallbacks, pShaderModule: *mut ShaderModule) -> Result,
6819  DestroyShaderModule_ptr: extern "system" fn (device: Device, shaderModule: ShaderModule, pAllocator: *const AllocationCallbacks),
6820  CreatePipelineCache_ptr: extern "system" fn (device: Device, pCreateInfo: *const PipelineCacheCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineCache: *mut PipelineCache) -> Result,
6821  DestroyPipelineCache_ptr: extern "system" fn (device: Device, pipelineCache: PipelineCache, pAllocator: *const AllocationCallbacks),
6822  GetPipelineCacheData_ptr: extern "system" fn (device: Device, pipelineCache: PipelineCache, pDataSize: *mut usize, pData: *mut c_void) -> Result,
6823  MergePipelineCaches_ptr: extern "system" fn (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: *const PipelineCache) -> Result,
6824  CreateGraphicsPipelines_ptr: extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const GraphicsPipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result,
6825  CreateComputePipelines_ptr: extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const ComputePipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result,
6826  DestroyPipeline_ptr: extern "system" fn (device: Device, pipeline: Pipeline, pAllocator: *const AllocationCallbacks),
6827  CreatePipelineLayout_ptr: extern "system" fn (device: Device, pCreateInfo: *const PipelineLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineLayout: *mut PipelineLayout) -> Result,
6828  DestroyPipelineLayout_ptr: extern "system" fn (device: Device, pipelineLayout: PipelineLayout, pAllocator: *const AllocationCallbacks),
6829  CreateSampler_ptr: extern "system" fn (device: Device, pCreateInfo: *const SamplerCreateInfo, pAllocator: *const AllocationCallbacks, pSampler: *mut Sampler) -> Result,
6830  DestroySampler_ptr: extern "system" fn (device: Device, sampler: Sampler, pAllocator: *const AllocationCallbacks),
6831  CreateDescriptorSetLayout_ptr: extern "system" fn (device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pSetLayout: *mut DescriptorSetLayout) -> Result,
6832  DestroyDescriptorSetLayout_ptr: extern "system" fn (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: *const AllocationCallbacks),
6833  CreateDescriptorPool_ptr: extern "system" fn (device: Device, pCreateInfo: *const DescriptorPoolCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorPool: *mut DescriptorPool) -> Result,
6834  DestroyDescriptorPool_ptr: extern "system" fn (device: Device, descriptorPool: DescriptorPool, pAllocator: *const AllocationCallbacks),
6835  ResetDescriptorPool_ptr: extern "system" fn (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result,
6836  AllocateDescriptorSets_ptr: extern "system" fn (device: Device, pAllocateInfo: *const DescriptorSetAllocateInfo, pDescriptorSets: *mut DescriptorSet) -> Result,
6837  FreeDescriptorSets_ptr: extern "system" fn (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet) -> Result,
6838  UpdateDescriptorSets_ptr: extern "system" fn (device: Device, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: *const CopyDescriptorSet),
6839  CreateFramebuffer_ptr: extern "system" fn (device: Device, pCreateInfo: *const FramebufferCreateInfo, pAllocator: *const AllocationCallbacks, pFramebuffer: *mut Framebuffer) -> Result,
6840  DestroyFramebuffer_ptr: extern "system" fn (device: Device, framebuffer: Framebuffer, pAllocator: *const AllocationCallbacks),
6841  CreateRenderPass_ptr: extern "system" fn (device: Device, pCreateInfo: *const RenderPassCreateInfo, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result,
6842  DestroyRenderPass_ptr: extern "system" fn (device: Device, renderPass: RenderPass, pAllocator: *const AllocationCallbacks),
6843  GetRenderAreaGranularity_ptr: extern "system" fn (device: Device, renderPass: RenderPass, pGranularity: *mut Extent2D),
6844  CreateCommandPool_ptr: extern "system" fn (device: Device, pCreateInfo: *const CommandPoolCreateInfo, pAllocator: *const AllocationCallbacks, pCommandPool: *mut CommandPool) -> Result,
6845  DestroyCommandPool_ptr: extern "system" fn (device: Device, commandPool: CommandPool, pAllocator: *const AllocationCallbacks),
6846  ResetCommandPool_ptr: extern "system" fn (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result,
6847  AllocateCommandBuffers_ptr: extern "system" fn (device: Device, pAllocateInfo: *const CommandBufferAllocateInfo, pCommandBuffers: *mut CommandBuffer) -> Result,
6848  FreeCommandBuffers_ptr: extern "system" fn (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer),
6849  BeginCommandBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, pBeginInfo: *const CommandBufferBeginInfo) -> Result,
6850  EndCommandBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer) -> Result,
6851  ResetCommandBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result,
6852  CmdBindPipeline_ptr: extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline),
6853  CmdSetViewport_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: *const Viewport),
6854  CmdSetScissor_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: *const Rect2D),
6855  CmdSetLineWidth_ptr: extern "system" fn (commandBuffer: CommandBuffer, lineWidth: f32),
6856  CmdSetDepthBias_ptr: extern "system" fn (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32),
6857  CmdSetBlendConstants_ptr: extern "system" fn (commandBuffer: CommandBuffer, blendConstants: [f32; 4]),
6858  CmdSetDepthBounds_ptr: extern "system" fn (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32),
6859  CmdSetStencilCompareMask_ptr: extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32),
6860  CmdSetStencilWriteMask_ptr: extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32),
6861  CmdSetStencilReference_ptr: extern "system" fn (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32),
6862  CmdBindDescriptorSets_ptr: extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: *const u32),
6863  CmdBindIndexBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType),
6864  CmdBindVertexBuffers_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize),
6865  CmdDraw_ptr: extern "system" fn (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32),
6866  CmdDrawIndexed_ptr: extern "system" fn (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32),
6867  CmdDrawIndirect_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32),
6868  CmdDrawIndexedIndirect_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32),
6869  CmdDispatch_ptr: extern "system" fn (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32),
6870  CmdDispatchIndirect_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize),
6871  CmdCopyBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferCopy),
6872  CmdCopyImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageCopy),
6873  CmdBlitImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageBlit, filter: Filter),
6874  CmdCopyBufferToImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const BufferImageCopy),
6875  CmdCopyImageToBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferImageCopy),
6876  CmdUpdateBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: *const c_void),
6877  CmdFillBuffer_ptr: extern "system" fn (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32),
6878  CmdClearColorImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: *const ClearColorValue, rangeCount: u32, pRanges: *const ImageSubresourceRange),
6879  CmdClearDepthStencilImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: *const ClearDepthStencilValue, rangeCount: u32, pRanges: *const ImageSubresourceRange),
6880  CmdClearAttachments_ptr: extern "system" fn (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: *const ClearAttachment, rectCount: u32, pRects: *const ClearRect),
6881  CmdResolveImage_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageResolve),
6882  CmdSetEvent_ptr: extern "system" fn (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags),
6883  CmdResetEvent_ptr: extern "system" fn (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags),
6884  CmdWaitEvents_ptr: extern "system" fn (commandBuffer: CommandBuffer, eventCount: u32, pEvents: *const Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier),
6885  CmdPipelineBarrier_ptr: extern "system" fn (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier),
6886  CmdBeginQuery_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags),
6887  CmdEndQuery_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32),
6888  CmdResetQueryPool_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32),
6889  CmdWriteTimestamp_ptr: extern "system" fn (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, queryPool: QueryPool, query: u32),
6890  CmdCopyQueryPoolResults_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags),
6891  CmdPushConstants_ptr: extern "system" fn (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: *const c_void),
6892  CmdBeginRenderPass_ptr: extern "system" fn (commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, contents: SubpassContents),
6893  CmdNextSubpass_ptr: extern "system" fn (commandBuffer: CommandBuffer, contents: SubpassContents),
6894  CmdEndRenderPass_ptr: extern "system" fn (commandBuffer: CommandBuffer),
6895  CmdExecuteCommands_ptr: extern "system" fn (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer),
6896  EnumerateInstanceVersion_ptr: extern "system" fn (pApiVersion: *mut u32) -> Result,
6897  BindBufferMemory2_ptr: extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindBufferMemoryInfo) -> Result,
6898  BindImageMemory2_ptr: extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindImageMemoryInfo) -> Result,
6899  GetDeviceGroupPeerMemoryFeatures_ptr: extern "system" fn (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: *mut PeerMemoryFeatureFlags),
6900  CmdSetDeviceMask_ptr: extern "system" fn (commandBuffer: CommandBuffer, deviceMask: u32),
6901  CmdDispatchBase_ptr: extern "system" fn (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32),
6902  EnumeratePhysicalDeviceGroups_ptr: extern "system" fn (instance: Instance, pPhysicalDeviceGroupCount: *mut u32, pPhysicalDeviceGroupProperties: *mut PhysicalDeviceGroupProperties) -> Result,
6903  GetImageMemoryRequirements2_ptr: extern "system" fn (device: Device, pInfo: *const ImageMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2),
6904  GetBufferMemoryRequirements2_ptr: extern "system" fn (device: Device, pInfo: *const BufferMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2),
6905  GetImageSparseMemoryRequirements2_ptr: extern "system" fn (device: Device, pInfo: *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements2),
6906  GetPhysicalDeviceFeatures2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures2),
6907  GetPhysicalDeviceProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties2),
6908  GetPhysicalDeviceFormatProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties2),
6909  GetPhysicalDeviceImageFormatProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties: *mut ImageFormatProperties2) -> Result,
6910  GetPhysicalDeviceQueueFamilyProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties2),
6911  GetPhysicalDeviceMemoryProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties2),
6912  GetPhysicalDeviceSparseImageFormatProperties2_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties2),
6913  TrimCommandPool_ptr: extern "system" fn (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags),
6914  GetDeviceQueue2_ptr: extern "system" fn (device: Device, pQueueInfo: *const DeviceQueueInfo2, pQueue: *mut Queue),
6915  CreateSamplerYcbcrConversion_ptr: extern "system" fn (device: Device, pCreateInfo: *const SamplerYcbcrConversionCreateInfo, pAllocator: *const AllocationCallbacks, pYcbcrConversion: *mut SamplerYcbcrConversion) -> Result,
6916  DestroySamplerYcbcrConversion_ptr: extern "system" fn (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: *const AllocationCallbacks),
6917  CreateDescriptorUpdateTemplate_ptr: extern "system" fn (device: Device, pCreateInfo: *const DescriptorUpdateTemplateCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplate) -> Result,
6918  DestroyDescriptorUpdateTemplate_ptr: extern "system" fn (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: *const AllocationCallbacks),
6919  UpdateDescriptorSetWithTemplate_ptr: extern "system" fn (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: *const c_void),
6920  GetPhysicalDeviceExternalBufferProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pExternalBufferInfo: *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: *mut ExternalBufferProperties),
6921  GetPhysicalDeviceExternalFenceProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pExternalFenceInfo: *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: *mut ExternalFenceProperties),
6922  GetPhysicalDeviceExternalSemaphoreProperties_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: *mut ExternalSemaphoreProperties),
6923  GetDescriptorSetLayoutSupport_ptr: extern "system" fn (device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pSupport: *mut DescriptorSetLayoutSupport),
6924  DestroySurfaceKHR_ptr: extern "system" fn (instance: Instance, surface: SurfaceKHR, pAllocator: *const AllocationCallbacks),
6925  GetPhysicalDeviceSurfaceSupportKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: *mut Bool32) -> Result,
6926  GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result,
6927  GetPhysicalDeviceSurfaceFormatsKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormatKHR) -> Result,
6928  GetPhysicalDeviceSurfacePresentModesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: *mut u32, pPresentModes: *mut PresentModeKHR) -> Result,
6929  GetPhysicalDeviceDisplayPropertiesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPropertiesKHR) -> Result,
6930  GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlanePropertiesKHR) -> Result,
6931  GetDisplayPlaneSupportedDisplaysKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: *mut u32, pDisplays: *mut DisplayKHR) -> Result,
6932  GetDisplayModePropertiesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModePropertiesKHR) -> Result,
6933  CreateDisplayModeKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: *const DisplayModeCreateInfoKHR, pAllocator: *const AllocationCallbacks, pMode: *mut DisplayModeKHR) -> Result,
6934  GetDisplayPlaneCapabilitiesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result,
6935  CreateDisplayPlaneSurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const DisplaySurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6936  CreateXlibSurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const XlibSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6937  GetPhysicalDeviceXlibPresentationSupportKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, dpy: *mut Display, visualID: VisualID) -> Bool32,
6938  CreateXcbSurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const XcbSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6939  GetPhysicalDeviceXcbPresentationSupportKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> Bool32,
6940  CreateWaylandSurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const WaylandSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6941  GetPhysicalDeviceWaylandPresentationSupportKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: *mut wl_display) -> Bool32,
6942  CreateAndroidSurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const AndroidSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6943  CreateWin32SurfaceKHR_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const Win32SurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6944  GetPhysicalDeviceWin32PresentationSupportKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> Bool32,
6945  CreateDebugReportCallbackEXT_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const DebugReportCallbackCreateInfoEXT, pAllocator: *const AllocationCallbacks, pCallback: *mut DebugReportCallbackEXT) -> Result,
6946  DestroyDebugReportCallbackEXT_ptr: extern "system" fn (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: *const AllocationCallbacks),
6947  DebugReportMessageEXT_ptr: extern "system" fn (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: usize, messageCode: i32, pLayerPrefix: *const c_char, pMessage: *const c_char),
6948  GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr: extern "system" fn (physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: *mut ExternalImageFormatPropertiesNV) -> Result,
6949  CreateViSurfaceNN_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const ViSurfaceCreateInfoNN, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6950  ReleaseDisplayEXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result,
6951  AcquireXlibDisplayEXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, dpy: *mut Display, display: DisplayKHR) -> Result,
6952  GetRandROutputDisplayEXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, dpy: *mut Display, rrOutput: RROutput, pDisplay: *mut DisplayKHR) -> Result,
6953  GetPhysicalDeviceSurfaceCapabilities2EXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilities2EXT) -> Result,
6954  GetPhysicalDeviceSurfaceCapabilities2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: *mut SurfaceCapabilities2KHR) -> Result,
6955  GetPhysicalDeviceSurfaceFormats2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormat2KHR) -> Result,
6956  GetPhysicalDeviceDisplayProperties2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayProperties2KHR) -> Result,
6957  GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlaneProperties2KHR) -> Result,
6958  GetDisplayModeProperties2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModeProperties2KHR) -> Result,
6959  GetDisplayPlaneCapabilities2KHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: *const DisplayPlaneInfo2KHR, pCapabilities: *mut DisplayPlaneCapabilities2KHR) -> Result,
6960  CreateIOSSurfaceMVK_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const IOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6961  CreateMacOSSurfaceMVK_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const MacOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6962  SetDebugUtilsObjectNameEXT_ptr: extern "system" fn (device: Device, pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result,
6963  SetDebugUtilsObjectTagEXT_ptr: extern "system" fn (device: Device, pTagInfo: *const DebugUtilsObjectTagInfoEXT) -> Result,
6964  QueueBeginDebugUtilsLabelEXT_ptr: extern "system" fn (queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT),
6965  QueueEndDebugUtilsLabelEXT_ptr: extern "system" fn (queue: Queue),
6966  QueueInsertDebugUtilsLabelEXT_ptr: extern "system" fn (queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT),
6967  CmdBeginDebugUtilsLabelEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT),
6968  CmdEndDebugUtilsLabelEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer),
6969  CmdInsertDebugUtilsLabelEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT),
6970  CreateDebugUtilsMessengerEXT_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, pAllocator: *const AllocationCallbacks, pMessenger: *mut DebugUtilsMessengerEXT) -> Result,
6971  DestroyDebugUtilsMessengerEXT_ptr: extern "system" fn (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: *const AllocationCallbacks),
6972  SubmitDebugUtilsMessageEXT_ptr: extern "system" fn (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: *const DebugUtilsMessengerCallbackDataEXT),
6973  CreateImagePipeSurfaceFUCHSIA_ptr: extern "system" fn (instance: Instance, pCreateInfo: *const ImagePipeSurfaceCreateInfoFUCHSIA, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
6974  CreateSwapchainKHR_ptr: extern "system" fn (device: Device, pCreateInfo: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchain: *mut SwapchainKHR) -> Result,
6975  DestroySwapchainKHR_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, pAllocator: *const AllocationCallbacks),
6976  GetSwapchainImagesKHR_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: *mut u32, pSwapchainImages: *mut Image) -> Result,
6977  AcquireNextImageKHR_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: *mut u32) -> Result,
6978  QueuePresentKHR_ptr: extern "system" fn (queue: Queue, pPresentInfo: *const PresentInfoKHR) -> Result,
6979  GetDeviceGroupPresentCapabilitiesKHR_ptr: extern "system" fn (device: Device, pDeviceGroupPresentCapabilities: *mut DeviceGroupPresentCapabilitiesKHR) -> Result,
6980  GetDeviceGroupSurfacePresentModesKHR_ptr: extern "system" fn (device: Device, surface: SurfaceKHR, pModes: *mut DeviceGroupPresentModeFlagsKHR) -> Result,
6981  GetPhysicalDevicePresentRectanglesKHR_ptr: extern "system" fn (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: *mut u32, pRects: *mut Rect2D) -> Result,
6982  AcquireNextImage2KHR_ptr: extern "system" fn (device: Device, pAcquireInfo: *const AcquireNextImageInfoKHR, pImageIndex: *mut u32) -> Result,
6983  CreateSharedSwapchainsKHR_ptr: extern "system" fn (device: Device, swapchainCount: u32, pCreateInfos: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchains: *mut SwapchainKHR) -> Result,
6984  DebugMarkerSetObjectTagEXT_ptr: extern "system" fn (device: Device, pTagInfo: *const DebugMarkerObjectTagInfoEXT) -> Result,
6985  DebugMarkerSetObjectNameEXT_ptr: extern "system" fn (device: Device, pNameInfo: *const DebugMarkerObjectNameInfoEXT) -> Result,
6986  CmdDebugMarkerBeginEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT),
6987  CmdDebugMarkerEndEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer),
6988  CmdDebugMarkerInsertEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT),
6989  CmdBindTransformFeedbackBuffersEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize, pSizes: *const DeviceSize),
6990  CmdBeginTransformFeedbackEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize),
6991  CmdEndTransformFeedbackEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize),
6992  CmdBeginQueryIndexedEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32),
6993  CmdEndQueryIndexedEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32),
6994  CmdDrawIndirectByteCountEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32),
6995  CmdDrawIndirectCountAMD_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32),
6996  CmdDrawIndexedIndirectCountAMD_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32),
6997  GetShaderInfoAMD_ptr: extern "system" fn (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlagBits, infoType: ShaderInfoTypeAMD, pInfoSize: *mut usize, pInfo: *mut c_void) -> Result,
6998  GetMemoryWin32HandleNV_ptr: extern "system" fn (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: *mut HANDLE) -> Result,
6999  GetMemoryWin32HandleKHR_ptr: extern "system" fn (device: Device, pGetWin32HandleInfo: *const MemoryGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result,
7000  GetMemoryWin32HandlePropertiesKHR_ptr: extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, handle: HANDLE, pMemoryWin32HandleProperties: *mut MemoryWin32HandlePropertiesKHR) -> Result,
7001  GetMemoryFdKHR_ptr: extern "system" fn (device: Device, pGetFdInfo: *const MemoryGetFdInfoKHR, pFd: *mut i32) -> Result,
7002  GetMemoryFdPropertiesKHR_ptr: extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, fd: i32, pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result,
7003  ImportSemaphoreWin32HandleKHR_ptr: extern "system" fn (device: Device, pImportSemaphoreWin32HandleInfo: *const ImportSemaphoreWin32HandleInfoKHR) -> Result,
7004  GetSemaphoreWin32HandleKHR_ptr: extern "system" fn (device: Device, pGetWin32HandleInfo: *const SemaphoreGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result,
7005  ImportSemaphoreFdKHR_ptr: extern "system" fn (device: Device, pImportSemaphoreFdInfo: *const ImportSemaphoreFdInfoKHR) -> Result,
7006  GetSemaphoreFdKHR_ptr: extern "system" fn (device: Device, pGetFdInfo: *const SemaphoreGetFdInfoKHR, pFd: *mut i32) -> Result,
7007  CmdPushDescriptorSetKHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet),
7008  CmdPushDescriptorSetWithTemplateKHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: *const c_void),
7009  CmdBeginConditionalRenderingEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pConditionalRenderingBegin: *const ConditionalRenderingBeginInfoEXT),
7010  CmdEndConditionalRenderingEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer),
7011  CmdProcessCommandsNVX_ptr: extern "system" fn (commandBuffer: CommandBuffer, pProcessCommandsInfo: *const CmdProcessCommandsInfoNVX),
7012  CmdReserveSpaceForCommandsNVX_ptr: extern "system" fn (commandBuffer: CommandBuffer, pReserveSpaceInfo: *const CmdReserveSpaceForCommandsInfoNVX),
7013  CreateIndirectCommandsLayoutNVX_ptr: extern "system" fn (device: Device, pCreateInfo: *const IndirectCommandsLayoutCreateInfoNVX, pAllocator: *const AllocationCallbacks, pIndirectCommandsLayout: *mut IndirectCommandsLayoutNVX) -> Result,
7014  DestroyIndirectCommandsLayoutNVX_ptr: extern "system" fn (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNVX, pAllocator: *const AllocationCallbacks),
7015  CreateObjectTableNVX_ptr: extern "system" fn (device: Device, pCreateInfo: *const ObjectTableCreateInfoNVX, pAllocator: *const AllocationCallbacks, pObjectTable: *mut ObjectTableNVX) -> Result,
7016  DestroyObjectTableNVX_ptr: extern "system" fn (device: Device, objectTable: ObjectTableNVX, pAllocator: *const AllocationCallbacks),
7017  RegisterObjectsNVX_ptr: extern "system" fn (device: Device, objectTable: ObjectTableNVX, objectCount: u32, ppObjectTableEntries: *const *const ObjectTableEntryNVX, pObjectIndices: *const u32) -> Result,
7018  UnregisterObjectsNVX_ptr: extern "system" fn (device: Device, objectTable: ObjectTableNVX, objectCount: u32, pObjectEntryTypes: *const ObjectEntryTypeNVX, pObjectIndices: *const u32) -> Result,
7019  GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pFeatures: *mut DeviceGeneratedCommandsFeaturesNVX, pLimits: *mut DeviceGeneratedCommandsLimitsNVX),
7020  CmdSetViewportWScalingNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: *const ViewportWScalingNV),
7021  DisplayPowerControlEXT_ptr: extern "system" fn (device: Device, display: DisplayKHR, pDisplayPowerInfo: *const DisplayPowerInfoEXT) -> Result,
7022  RegisterDeviceEventEXT_ptr: extern "system" fn (device: Device, pDeviceEventInfo: *const DeviceEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result,
7023  RegisterDisplayEventEXT_ptr: extern "system" fn (device: Device, display: DisplayKHR, pDisplayEventInfo: *const DisplayEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result,
7024  GetSwapchainCounterEXT_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagBitsEXT, pCounterValue: *mut u64) -> Result,
7025  GetRefreshCycleDurationGOOGLE_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: *mut RefreshCycleDurationGOOGLE) -> Result,
7026  GetPastPresentationTimingGOOGLE_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: *mut u32, pPresentationTimings: *mut PastPresentationTimingGOOGLE) -> Result,
7027  CmdSetDiscardRectangleEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: *const Rect2D),
7028  SetHdrMetadataEXT_ptr: extern "system" fn (device: Device, swapchainCount: u32, pSwapchains: *const SwapchainKHR, pMetadata: *const HdrMetadataEXT),
7029  CreateRenderPass2KHR_ptr: extern "system" fn (device: Device, pCreateInfo: *const RenderPassCreateInfo2KHR, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result,
7030  CmdBeginRenderPass2KHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, pSubpassBeginInfo: *const SubpassBeginInfoKHR),
7031  CmdNextSubpass2KHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, pSubpassBeginInfo: *const SubpassBeginInfoKHR, pSubpassEndInfo: *const SubpassEndInfoKHR),
7032  CmdEndRenderPass2KHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, pSubpassEndInfo: *const SubpassEndInfoKHR),
7033  GetSwapchainStatusKHR_ptr: extern "system" fn (device: Device, swapchain: SwapchainKHR) -> Result,
7034  ImportFenceWin32HandleKHR_ptr: extern "system" fn (device: Device, pImportFenceWin32HandleInfo: *const ImportFenceWin32HandleInfoKHR) -> Result,
7035  GetFenceWin32HandleKHR_ptr: extern "system" fn (device: Device, pGetWin32HandleInfo: *const FenceGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result,
7036  ImportFenceFdKHR_ptr: extern "system" fn (device: Device, pImportFenceFdInfo: *const ImportFenceFdInfoKHR) -> Result,
7037  GetFenceFdKHR_ptr: extern "system" fn (device: Device, pGetFdInfo: *const FenceGetFdInfoKHR, pFd: *mut i32) -> Result,
7038  GetAndroidHardwareBufferPropertiesANDROID_ptr: extern "system" fn (device: Device, buffer: *const AHardwareBuffer, pProperties: *mut AndroidHardwareBufferPropertiesANDROID) -> Result,
7039  GetMemoryAndroidHardwareBufferANDROID_ptr: extern "system" fn (device: Device, pInfo: *const MemoryGetAndroidHardwareBufferInfoANDROID, pBuffer: *mut *mut AHardwareBuffer) -> Result,
7040  CmdSetSampleLocationsEXT_ptr: extern "system" fn (commandBuffer: CommandBuffer, pSampleLocationsInfo: *const SampleLocationsInfoEXT),
7041  GetPhysicalDeviceMultisamplePropertiesEXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, samples: SampleCountFlagBits, pMultisampleProperties: *mut MultisamplePropertiesEXT),
7042  GetImageDrmFormatModifierPropertiesEXT_ptr: extern "system" fn (device: Device, image: Image, pProperties: *mut ImageDrmFormatModifierPropertiesEXT) -> Result,
7043  CreateValidationCacheEXT_ptr: extern "system" fn (device: Device, pCreateInfo: *const ValidationCacheCreateInfoEXT, pAllocator: *const AllocationCallbacks, pValidationCache: *mut ValidationCacheEXT) -> Result,
7044  DestroyValidationCacheEXT_ptr: extern "system" fn (device: Device, validationCache: ValidationCacheEXT, pAllocator: *const AllocationCallbacks),
7045  MergeValidationCachesEXT_ptr: extern "system" fn (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: *const ValidationCacheEXT) -> Result,
7046  GetValidationCacheDataEXT_ptr: extern "system" fn (device: Device, validationCache: ValidationCacheEXT, pDataSize: *mut usize, pData: *mut c_void) -> Result,
7047  CmdBindShadingRateImageNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout),
7048  CmdSetViewportShadingRatePaletteNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: *const ShadingRatePaletteNV),
7049  CmdSetCoarseSampleOrderNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: *const CoarseSampleOrderCustomNV),
7050  CreateAccelerationStructureNV_ptr: extern "system" fn (device: Device, pCreateInfo: *const AccelerationStructureCreateInfoNV, pAllocator: *const AllocationCallbacks, pAccelerationStructure: *mut AccelerationStructureNV) -> Result,
7051  DestroyAccelerationStructureNV_ptr: extern "system" fn (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: *const AllocationCallbacks),
7052  GetAccelerationStructureMemoryRequirementsNV_ptr: extern "system" fn (device: Device, pInfo: *const AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: *mut MemoryRequirements2),
7053  BindAccelerationStructureMemoryNV_ptr: extern "system" fn (device: Device, bindInfoCount: u32, pBindInfos: *const BindAccelerationStructureMemoryInfoNV) -> Result,
7054  CmdBuildAccelerationStructureNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, pInfo: *const AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize),
7055  CmdCopyAccelerationStructureNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV),
7056  CmdTraceRaysNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32),
7057  CreateRayTracingPipelinesNV_ptr: extern "system" fn (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const RayTracingPipelineCreateInfoNV, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result,
7058  GetRayTracingShaderGroupHandlesNV_ptr: extern "system" fn (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: usize, pData: *mut c_void) -> Result,
7059  GetAccelerationStructureHandleNV_ptr: extern "system" fn (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: usize, pData: *mut c_void) -> Result,
7060  CmdWriteAccelerationStructuresPropertiesNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: *const AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32),
7061  CompileDeferredNV_ptr: extern "system" fn (device: Device, pipeline: Pipeline, shader: u32) -> Result,
7062  CmdDrawIndirectCountKHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32),
7063  CmdDrawIndexedIndirectCountKHR_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32),
7064  GetMemoryHostPointerPropertiesEXT_ptr: extern "system" fn (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, pHostPointer: *const c_void, pMemoryHostPointerProperties: *mut MemoryHostPointerPropertiesEXT) -> Result,
7065  CmdWriteBufferMarkerAMD_ptr: extern "system" fn (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32),
7066  GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr: extern "system" fn (physicalDevice: PhysicalDevice, pTimeDomainCount: *mut u32, pTimeDomains: *mut TimeDomainEXT) -> Result,
7067  GetCalibratedTimestampsEXT_ptr: extern "system" fn (device: Device, timestampCount: u32, pTimestampInfos: *const CalibratedTimestampInfoEXT, pTimestamps: *mut u64, pMaxDeviation: *mut u64) -> Result,
7068  CmdDrawMeshTasksNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32),
7069  CmdDrawMeshTasksIndirectNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32),
7070  CmdDrawMeshTasksIndirectCountNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32),
7071  CmdSetExclusiveScissorNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: *const Rect2D),
7072  CmdSetCheckpointNV_ptr: extern "system" fn (commandBuffer: CommandBuffer, pCheckpointMarker: *const c_void),
7073  GetQueueCheckpointDataNV_ptr: extern "system" fn (queue: Queue, pCheckpointDataCount: *mut u32, pCheckpointData: *mut CheckpointDataNV),
7074}
7075
7076
7077extern "system" fn CreateInstance_panic(_pCreateInfo: *const InstanceCreateInfo, _pAllocator: *const AllocationCallbacks, _pInstance: *mut Instance) -> Result{
7078    panic!("extension vkCreateInstance not loaded")
7079}
7080extern "system" fn DestroyInstance_panic(_instance: Instance, _pAllocator: *const AllocationCallbacks){
7081    panic!("extension vkDestroyInstance not loaded")
7082}
7083extern "system" fn EnumeratePhysicalDevices_panic(_instance: Instance, _pPhysicalDeviceCount: *mut u32, _pPhysicalDevices: *mut PhysicalDevice) -> Result{
7084    panic!("extension vkEnumeratePhysicalDevices not loaded")
7085}
7086extern "system" fn GetPhysicalDeviceFeatures_panic(_physicalDevice: PhysicalDevice, _pFeatures: *mut PhysicalDeviceFeatures){
7087    panic!("extension vkGetPhysicalDeviceFeatures not loaded")
7088}
7089extern "system" fn GetPhysicalDeviceFormatProperties_panic(_physicalDevice: PhysicalDevice, _format: Format, _pFormatProperties: *mut FormatProperties){
7090    panic!("extension vkGetPhysicalDeviceFormatProperties not loaded")
7091}
7092extern "system" fn GetPhysicalDeviceImageFormatProperties_panic(_physicalDevice: PhysicalDevice, _format: Format, _typ: ImageType, _tiling: ImageTiling, _usage: ImageUsageFlags, _flags: ImageCreateFlags, _pImageFormatProperties: *mut ImageFormatProperties) -> Result{
7093    panic!("extension vkGetPhysicalDeviceImageFormatProperties not loaded")
7094}
7095extern "system" fn GetPhysicalDeviceProperties_panic(_physicalDevice: PhysicalDevice, _pProperties: *mut PhysicalDeviceProperties){
7096    panic!("extension vkGetPhysicalDeviceProperties not loaded")
7097}
7098extern "system" fn GetPhysicalDeviceQueueFamilyProperties_panic(_physicalDevice: PhysicalDevice, _pQueueFamilyPropertyCount: *mut u32, _pQueueFamilyProperties: *mut QueueFamilyProperties){
7099    panic!("extension vkGetPhysicalDeviceQueueFamilyProperties not loaded")
7100}
7101extern "system" fn GetPhysicalDeviceMemoryProperties_panic(_physicalDevice: PhysicalDevice, _pMemoryProperties: *mut PhysicalDeviceMemoryProperties){
7102    panic!("extension vkGetPhysicalDeviceMemoryProperties not loaded")
7103}
7104extern "system" fn GetInstanceProcAddr_panic(_instance: Instance, _pName: *const c_char) -> PFN_vkVoidFunction{
7105    panic!("extension vkGetInstanceProcAddr not loaded")
7106}
7107extern "system" fn GetDeviceProcAddr_panic(_device: Device, _pName: *const c_char) -> PFN_vkVoidFunction{
7108    panic!("extension vkGetDeviceProcAddr not loaded")
7109}
7110extern "system" fn CreateDevice_panic(_physicalDevice: PhysicalDevice, _pCreateInfo: *const DeviceCreateInfo, _pAllocator: *const AllocationCallbacks, _pDevice: *mut Device) -> Result{
7111    panic!("extension vkCreateDevice not loaded")
7112}
7113extern "system" fn DestroyDevice_panic(_device: Device, _pAllocator: *const AllocationCallbacks){
7114    panic!("extension vkDestroyDevice not loaded")
7115}
7116extern "system" fn EnumerateInstanceExtensionProperties_panic(_pLayerName: *const c_char, _pPropertyCount: *mut u32, _pProperties: *mut ExtensionProperties) -> Result{
7117    panic!("extension vkEnumerateInstanceExtensionProperties not loaded")
7118}
7119extern "system" fn EnumerateDeviceExtensionProperties_panic(_physicalDevice: PhysicalDevice, _pLayerName: *const c_char, _pPropertyCount: *mut u32, _pProperties: *mut ExtensionProperties) -> Result{
7120    panic!("extension vkEnumerateDeviceExtensionProperties not loaded")
7121}
7122extern "system" fn EnumerateInstanceLayerProperties_panic(_pPropertyCount: *mut u32, _pProperties: *mut LayerProperties) -> Result{
7123    panic!("extension vkEnumerateInstanceLayerProperties not loaded")
7124}
7125extern "system" fn EnumerateDeviceLayerProperties_panic(_physicalDevice: PhysicalDevice, _pPropertyCount: *mut u32, _pProperties: *mut LayerProperties) -> Result{
7126    panic!("extension vkEnumerateDeviceLayerProperties not loaded")
7127}
7128extern "system" fn GetDeviceQueue_panic(_device: Device, _queueFamilyIndex: u32, _queueIndex: u32, _pQueue: *mut Queue){
7129    panic!("extension vkGetDeviceQueue not loaded")
7130}
7131extern "system" fn QueueSubmit_panic(_queue: Queue, _submitCount: u32, _pSubmits: *const SubmitInfo, _fence: Fence) -> Result{
7132    panic!("extension vkQueueSubmit not loaded")
7133}
7134extern "system" fn QueueWaitIdle_panic(_queue: Queue) -> Result{
7135    panic!("extension vkQueueWaitIdle not loaded")
7136}
7137extern "system" fn DeviceWaitIdle_panic(_device: Device) -> Result{
7138    panic!("extension vkDeviceWaitIdle not loaded")
7139}
7140extern "system" fn AllocateMemory_panic(_device: Device, _pAllocateInfo: *const MemoryAllocateInfo, _pAllocator: *const AllocationCallbacks, _pMemory: *mut DeviceMemory) -> Result{
7141    panic!("extension vkAllocateMemory not loaded")
7142}
7143extern "system" fn FreeMemory_panic(_device: Device, _memory: DeviceMemory, _pAllocator: *const AllocationCallbacks){
7144    panic!("extension vkFreeMemory not loaded")
7145}
7146extern "system" fn MapMemory_panic(_device: Device, _memory: DeviceMemory, _offset: DeviceSize, _size: DeviceSize, _flags: MemoryMapFlags, _ppData: *mut *mut c_void) -> Result{
7147    panic!("extension vkMapMemory not loaded")
7148}
7149extern "system" fn UnmapMemory_panic(_device: Device, _memory: DeviceMemory){
7150    panic!("extension vkUnmapMemory not loaded")
7151}
7152extern "system" fn FlushMappedMemoryRanges_panic(_device: Device, _memoryRangeCount: u32, _pMemoryRanges: *const MappedMemoryRange) -> Result{
7153    panic!("extension vkFlushMappedMemoryRanges not loaded")
7154}
7155extern "system" fn InvalidateMappedMemoryRanges_panic(_device: Device, _memoryRangeCount: u32, _pMemoryRanges: *const MappedMemoryRange) -> Result{
7156    panic!("extension vkInvalidateMappedMemoryRanges not loaded")
7157}
7158extern "system" fn GetDeviceMemoryCommitment_panic(_device: Device, _memory: DeviceMemory, _pCommittedMemoryInBytes: *mut DeviceSize){
7159    panic!("extension vkGetDeviceMemoryCommitment not loaded")
7160}
7161extern "system" fn BindBufferMemory_panic(_device: Device, _buffer: Buffer, _memory: DeviceMemory, _memoryOffset: DeviceSize) -> Result{
7162    panic!("extension vkBindBufferMemory not loaded")
7163}
7164extern "system" fn BindImageMemory_panic(_device: Device, _image: Image, _memory: DeviceMemory, _memoryOffset: DeviceSize) -> Result{
7165    panic!("extension vkBindImageMemory not loaded")
7166}
7167extern "system" fn GetBufferMemoryRequirements_panic(_device: Device, _buffer: Buffer, _pMemoryRequirements: *mut MemoryRequirements){
7168    panic!("extension vkGetBufferMemoryRequirements not loaded")
7169}
7170extern "system" fn GetImageMemoryRequirements_panic(_device: Device, _image: Image, _pMemoryRequirements: *mut MemoryRequirements){
7171    panic!("extension vkGetImageMemoryRequirements not loaded")
7172}
7173extern "system" fn GetImageSparseMemoryRequirements_panic(_device: Device, _image: Image, _pSparseMemoryRequirementCount: *mut u32, _pSparseMemoryRequirements: *mut SparseImageMemoryRequirements){
7174    panic!("extension vkGetImageSparseMemoryRequirements not loaded")
7175}
7176extern "system" fn GetPhysicalDeviceSparseImageFormatProperties_panic(_physicalDevice: PhysicalDevice, _format: Format, _typ: ImageType, _samples: SampleCountFlagBits, _usage: ImageUsageFlags, _tiling: ImageTiling, _pPropertyCount: *mut u32, _pProperties: *mut SparseImageFormatProperties){
7177    panic!("extension vkGetPhysicalDeviceSparseImageFormatProperties not loaded")
7178}
7179extern "system" fn QueueBindSparse_panic(_queue: Queue, _bindInfoCount: u32, _pBindInfo: *const BindSparseInfo, _fence: Fence) -> Result{
7180    panic!("extension vkQueueBindSparse not loaded")
7181}
7182extern "system" fn CreateFence_panic(_device: Device, _pCreateInfo: *const FenceCreateInfo, _pAllocator: *const AllocationCallbacks, _pFence: *mut Fence) -> Result{
7183    panic!("extension vkCreateFence not loaded")
7184}
7185extern "system" fn DestroyFence_panic(_device: Device, _fence: Fence, _pAllocator: *const AllocationCallbacks){
7186    panic!("extension vkDestroyFence not loaded")
7187}
7188extern "system" fn ResetFences_panic(_device: Device, _fenceCount: u32, _pFences: *const Fence) -> Result{
7189    panic!("extension vkResetFences not loaded")
7190}
7191extern "system" fn GetFenceStatus_panic(_device: Device, _fence: Fence) -> Result{
7192    panic!("extension vkGetFenceStatus not loaded")
7193}
7194extern "system" fn WaitForFences_panic(_device: Device, _fenceCount: u32, _pFences: *const Fence, _waitAll: Bool32, _timeout: u64) -> Result{
7195    panic!("extension vkWaitForFences not loaded")
7196}
7197extern "system" fn CreateSemaphore_panic(_device: Device, _pCreateInfo: *const SemaphoreCreateInfo, _pAllocator: *const AllocationCallbacks, _pSemaphore: *mut Semaphore) -> Result{
7198    panic!("extension vkCreateSemaphore not loaded")
7199}
7200extern "system" fn DestroySemaphore_panic(_device: Device, _semaphore: Semaphore, _pAllocator: *const AllocationCallbacks){
7201    panic!("extension vkDestroySemaphore not loaded")
7202}
7203extern "system" fn CreateEvent_panic(_device: Device, _pCreateInfo: *const EventCreateInfo, _pAllocator: *const AllocationCallbacks, _pEvent: *mut Event) -> Result{
7204    panic!("extension vkCreateEvent not loaded")
7205}
7206extern "system" fn DestroyEvent_panic(_device: Device, _event: Event, _pAllocator: *const AllocationCallbacks){
7207    panic!("extension vkDestroyEvent not loaded")
7208}
7209extern "system" fn GetEventStatus_panic(_device: Device, _event: Event) -> Result{
7210    panic!("extension vkGetEventStatus not loaded")
7211}
7212extern "system" fn SetEvent_panic(_device: Device, _event: Event) -> Result{
7213    panic!("extension vkSetEvent not loaded")
7214}
7215extern "system" fn ResetEvent_panic(_device: Device, _event: Event) -> Result{
7216    panic!("extension vkResetEvent not loaded")
7217}
7218extern "system" fn CreateQueryPool_panic(_device: Device, _pCreateInfo: *const QueryPoolCreateInfo, _pAllocator: *const AllocationCallbacks, _pQueryPool: *mut QueryPool) -> Result{
7219    panic!("extension vkCreateQueryPool not loaded")
7220}
7221extern "system" fn DestroyQueryPool_panic(_device: Device, _queryPool: QueryPool, _pAllocator: *const AllocationCallbacks){
7222    panic!("extension vkDestroyQueryPool not loaded")
7223}
7224extern "system" fn GetQueryPoolResults_panic(_device: Device, _queryPool: QueryPool, _firstQuery: u32, _queryCount: u32, _dataSize: usize, _pData: *mut c_void, _stride: DeviceSize, _flags: QueryResultFlags) -> Result{
7225    panic!("extension vkGetQueryPoolResults not loaded")
7226}
7227extern "system" fn CreateBuffer_panic(_device: Device, _pCreateInfo: *const BufferCreateInfo, _pAllocator: *const AllocationCallbacks, _pBuffer: *mut Buffer) -> Result{
7228    panic!("extension vkCreateBuffer not loaded")
7229}
7230extern "system" fn DestroyBuffer_panic(_device: Device, _buffer: Buffer, _pAllocator: *const AllocationCallbacks){
7231    panic!("extension vkDestroyBuffer not loaded")
7232}
7233extern "system" fn CreateBufferView_panic(_device: Device, _pCreateInfo: *const BufferViewCreateInfo, _pAllocator: *const AllocationCallbacks, _pView: *mut BufferView) -> Result{
7234    panic!("extension vkCreateBufferView not loaded")
7235}
7236extern "system" fn DestroyBufferView_panic(_device: Device, _bufferView: BufferView, _pAllocator: *const AllocationCallbacks){
7237    panic!("extension vkDestroyBufferView not loaded")
7238}
7239extern "system" fn CreateImage_panic(_device: Device, _pCreateInfo: *const ImageCreateInfo, _pAllocator: *const AllocationCallbacks, _pImage: *mut Image) -> Result{
7240    panic!("extension vkCreateImage not loaded")
7241}
7242extern "system" fn DestroyImage_panic(_device: Device, _image: Image, _pAllocator: *const AllocationCallbacks){
7243    panic!("extension vkDestroyImage not loaded")
7244}
7245extern "system" fn GetImageSubresourceLayout_panic(_device: Device, _image: Image, _pSubresource: *const ImageSubresource, _pLayout: *mut SubresourceLayout){
7246    panic!("extension vkGetImageSubresourceLayout not loaded")
7247}
7248extern "system" fn CreateImageView_panic(_device: Device, _pCreateInfo: *const ImageViewCreateInfo, _pAllocator: *const AllocationCallbacks, _pView: *mut ImageView) -> Result{
7249    panic!("extension vkCreateImageView not loaded")
7250}
7251extern "system" fn DestroyImageView_panic(_device: Device, _imageView: ImageView, _pAllocator: *const AllocationCallbacks){
7252    panic!("extension vkDestroyImageView not loaded")
7253}
7254extern "system" fn CreateShaderModule_panic(_device: Device, _pCreateInfo: *const ShaderModuleCreateInfo, _pAllocator: *const AllocationCallbacks, _pShaderModule: *mut ShaderModule) -> Result{
7255    panic!("extension vkCreateShaderModule not loaded")
7256}
7257extern "system" fn DestroyShaderModule_panic(_device: Device, _shaderModule: ShaderModule, _pAllocator: *const AllocationCallbacks){
7258    panic!("extension vkDestroyShaderModule not loaded")
7259}
7260extern "system" fn CreatePipelineCache_panic(_device: Device, _pCreateInfo: *const PipelineCacheCreateInfo, _pAllocator: *const AllocationCallbacks, _pPipelineCache: *mut PipelineCache) -> Result{
7261    panic!("extension vkCreatePipelineCache not loaded")
7262}
7263extern "system" fn DestroyPipelineCache_panic(_device: Device, _pipelineCache: PipelineCache, _pAllocator: *const AllocationCallbacks){
7264    panic!("extension vkDestroyPipelineCache not loaded")
7265}
7266extern "system" fn GetPipelineCacheData_panic(_device: Device, _pipelineCache: PipelineCache, _pDataSize: *mut usize, _pData: *mut c_void) -> Result{
7267    panic!("extension vkGetPipelineCacheData not loaded")
7268}
7269extern "system" fn MergePipelineCaches_panic(_device: Device, _dstCache: PipelineCache, _srcCacheCount: u32, _pSrcCaches: *const PipelineCache) -> Result{
7270    panic!("extension vkMergePipelineCaches not loaded")
7271}
7272extern "system" fn CreateGraphicsPipelines_panic(_device: Device, _pipelineCache: PipelineCache, _createInfoCount: u32, _pCreateInfos: *const GraphicsPipelineCreateInfo, _pAllocator: *const AllocationCallbacks, _pPipelines: *mut Pipeline) -> Result{
7273    panic!("extension vkCreateGraphicsPipelines not loaded")
7274}
7275extern "system" fn CreateComputePipelines_panic(_device: Device, _pipelineCache: PipelineCache, _createInfoCount: u32, _pCreateInfos: *const ComputePipelineCreateInfo, _pAllocator: *const AllocationCallbacks, _pPipelines: *mut Pipeline) -> Result{
7276    panic!("extension vkCreateComputePipelines not loaded")
7277}
7278extern "system" fn DestroyPipeline_panic(_device: Device, _pipeline: Pipeline, _pAllocator: *const AllocationCallbacks){
7279    panic!("extension vkDestroyPipeline not loaded")
7280}
7281extern "system" fn CreatePipelineLayout_panic(_device: Device, _pCreateInfo: *const PipelineLayoutCreateInfo, _pAllocator: *const AllocationCallbacks, _pPipelineLayout: *mut PipelineLayout) -> Result{
7282    panic!("extension vkCreatePipelineLayout not loaded")
7283}
7284extern "system" fn DestroyPipelineLayout_panic(_device: Device, _pipelineLayout: PipelineLayout, _pAllocator: *const AllocationCallbacks){
7285    panic!("extension vkDestroyPipelineLayout not loaded")
7286}
7287extern "system" fn CreateSampler_panic(_device: Device, _pCreateInfo: *const SamplerCreateInfo, _pAllocator: *const AllocationCallbacks, _pSampler: *mut Sampler) -> Result{
7288    panic!("extension vkCreateSampler not loaded")
7289}
7290extern "system" fn DestroySampler_panic(_device: Device, _sampler: Sampler, _pAllocator: *const AllocationCallbacks){
7291    panic!("extension vkDestroySampler not loaded")
7292}
7293extern "system" fn CreateDescriptorSetLayout_panic(_device: Device, _pCreateInfo: *const DescriptorSetLayoutCreateInfo, _pAllocator: *const AllocationCallbacks, _pSetLayout: *mut DescriptorSetLayout) -> Result{
7294    panic!("extension vkCreateDescriptorSetLayout not loaded")
7295}
7296extern "system" fn DestroyDescriptorSetLayout_panic(_device: Device, _descriptorSetLayout: DescriptorSetLayout, _pAllocator: *const AllocationCallbacks){
7297    panic!("extension vkDestroyDescriptorSetLayout not loaded")
7298}
7299extern "system" fn CreateDescriptorPool_panic(_device: Device, _pCreateInfo: *const DescriptorPoolCreateInfo, _pAllocator: *const AllocationCallbacks, _pDescriptorPool: *mut DescriptorPool) -> Result{
7300    panic!("extension vkCreateDescriptorPool not loaded")
7301}
7302extern "system" fn DestroyDescriptorPool_panic(_device: Device, _descriptorPool: DescriptorPool, _pAllocator: *const AllocationCallbacks){
7303    panic!("extension vkDestroyDescriptorPool not loaded")
7304}
7305extern "system" fn ResetDescriptorPool_panic(_device: Device, _descriptorPool: DescriptorPool, _flags: DescriptorPoolResetFlags) -> Result{
7306    panic!("extension vkResetDescriptorPool not loaded")
7307}
7308extern "system" fn AllocateDescriptorSets_panic(_device: Device, _pAllocateInfo: *const DescriptorSetAllocateInfo, _pDescriptorSets: *mut DescriptorSet) -> Result{
7309    panic!("extension vkAllocateDescriptorSets not loaded")
7310}
7311extern "system" fn FreeDescriptorSets_panic(_device: Device, _descriptorPool: DescriptorPool, _descriptorSetCount: u32, _pDescriptorSets: *const DescriptorSet) -> Result{
7312    panic!("extension vkFreeDescriptorSets not loaded")
7313}
7314extern "system" fn UpdateDescriptorSets_panic(_device: Device, _descriptorWriteCount: u32, _pDescriptorWrites: *const WriteDescriptorSet, _descriptorCopyCount: u32, _pDescriptorCopies: *const CopyDescriptorSet){
7315    panic!("extension vkUpdateDescriptorSets not loaded")
7316}
7317extern "system" fn CreateFramebuffer_panic(_device: Device, _pCreateInfo: *const FramebufferCreateInfo, _pAllocator: *const AllocationCallbacks, _pFramebuffer: *mut Framebuffer) -> Result{
7318    panic!("extension vkCreateFramebuffer not loaded")
7319}
7320extern "system" fn DestroyFramebuffer_panic(_device: Device, _framebuffer: Framebuffer, _pAllocator: *const AllocationCallbacks){
7321    panic!("extension vkDestroyFramebuffer not loaded")
7322}
7323extern "system" fn CreateRenderPass_panic(_device: Device, _pCreateInfo: *const RenderPassCreateInfo, _pAllocator: *const AllocationCallbacks, _pRenderPass: *mut RenderPass) -> Result{
7324    panic!("extension vkCreateRenderPass not loaded")
7325}
7326extern "system" fn DestroyRenderPass_panic(_device: Device, _renderPass: RenderPass, _pAllocator: *const AllocationCallbacks){
7327    panic!("extension vkDestroyRenderPass not loaded")
7328}
7329extern "system" fn GetRenderAreaGranularity_panic(_device: Device, _renderPass: RenderPass, _pGranularity: *mut Extent2D){
7330    panic!("extension vkGetRenderAreaGranularity not loaded")
7331}
7332extern "system" fn CreateCommandPool_panic(_device: Device, _pCreateInfo: *const CommandPoolCreateInfo, _pAllocator: *const AllocationCallbacks, _pCommandPool: *mut CommandPool) -> Result{
7333    panic!("extension vkCreateCommandPool not loaded")
7334}
7335extern "system" fn DestroyCommandPool_panic(_device: Device, _commandPool: CommandPool, _pAllocator: *const AllocationCallbacks){
7336    panic!("extension vkDestroyCommandPool not loaded")
7337}
7338extern "system" fn ResetCommandPool_panic(_device: Device, _commandPool: CommandPool, _flags: CommandPoolResetFlags) -> Result{
7339    panic!("extension vkResetCommandPool not loaded")
7340}
7341extern "system" fn AllocateCommandBuffers_panic(_device: Device, _pAllocateInfo: *const CommandBufferAllocateInfo, _pCommandBuffers: *mut CommandBuffer) -> Result{
7342    panic!("extension vkAllocateCommandBuffers not loaded")
7343}
7344extern "system" fn FreeCommandBuffers_panic(_device: Device, _commandPool: CommandPool, _commandBufferCount: u32, _pCommandBuffers: *const CommandBuffer){
7345    panic!("extension vkFreeCommandBuffers not loaded")
7346}
7347extern "system" fn BeginCommandBuffer_panic(_commandBuffer: CommandBuffer, _pBeginInfo: *const CommandBufferBeginInfo) -> Result{
7348    panic!("extension vkBeginCommandBuffer not loaded")
7349}
7350extern "system" fn EndCommandBuffer_panic(_commandBuffer: CommandBuffer) -> Result{
7351    panic!("extension vkEndCommandBuffer not loaded")
7352}
7353extern "system" fn ResetCommandBuffer_panic(_commandBuffer: CommandBuffer, _flags: CommandBufferResetFlags) -> Result{
7354    panic!("extension vkResetCommandBuffer not loaded")
7355}
7356extern "system" fn CmdBindPipeline_panic(_commandBuffer: CommandBuffer, _pipelineBindPoint: PipelineBindPoint, _pipeline: Pipeline){
7357    panic!("extension vkCmdBindPipeline not loaded")
7358}
7359extern "system" fn CmdSetViewport_panic(_commandBuffer: CommandBuffer, _firstViewport: u32, _viewportCount: u32, _pViewports: *const Viewport){
7360    panic!("extension vkCmdSetViewport not loaded")
7361}
7362extern "system" fn CmdSetScissor_panic(_commandBuffer: CommandBuffer, _firstScissor: u32, _scissorCount: u32, _pScissors: *const Rect2D){
7363    panic!("extension vkCmdSetScissor not loaded")
7364}
7365extern "system" fn CmdSetLineWidth_panic(_commandBuffer: CommandBuffer, _lineWidth: f32){
7366    panic!("extension vkCmdSetLineWidth not loaded")
7367}
7368extern "system" fn CmdSetDepthBias_panic(_commandBuffer: CommandBuffer, _depthBiasConstantFactor: f32, _depthBiasClamp: f32, _depthBiasSlopeFactor: f32){
7369    panic!("extension vkCmdSetDepthBias not loaded")
7370}
7371extern "system" fn CmdSetBlendConstants_panic(_commandBuffer: CommandBuffer, _blendConstants: [f32; 4]){
7372    panic!("extension vkCmdSetBlendConstants not loaded")
7373}
7374extern "system" fn CmdSetDepthBounds_panic(_commandBuffer: CommandBuffer, _minDepthBounds: f32, _maxDepthBounds: f32){
7375    panic!("extension vkCmdSetDepthBounds not loaded")
7376}
7377extern "system" fn CmdSetStencilCompareMask_panic(_commandBuffer: CommandBuffer, _faceMask: StencilFaceFlags, _compareMask: u32){
7378    panic!("extension vkCmdSetStencilCompareMask not loaded")
7379}
7380extern "system" fn CmdSetStencilWriteMask_panic(_commandBuffer: CommandBuffer, _faceMask: StencilFaceFlags, _writeMask: u32){
7381    panic!("extension vkCmdSetStencilWriteMask not loaded")
7382}
7383extern "system" fn CmdSetStencilReference_panic(_commandBuffer: CommandBuffer, _faceMask: StencilFaceFlags, _reference: u32){
7384    panic!("extension vkCmdSetStencilReference not loaded")
7385}
7386extern "system" fn CmdBindDescriptorSets_panic(_commandBuffer: CommandBuffer, _pipelineBindPoint: PipelineBindPoint, _layout: PipelineLayout, _firstSet: u32, _descriptorSetCount: u32, _pDescriptorSets: *const DescriptorSet, _dynamicOffsetCount: u32, _pDynamicOffsets: *const u32){
7387    panic!("extension vkCmdBindDescriptorSets not loaded")
7388}
7389extern "system" fn CmdBindIndexBuffer_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _indexType: IndexType){
7390    panic!("extension vkCmdBindIndexBuffer not loaded")
7391}
7392extern "system" fn CmdBindVertexBuffers_panic(_commandBuffer: CommandBuffer, _firstBinding: u32, _bindingCount: u32, _pBuffers: *const Buffer, _pOffsets: *const DeviceSize){
7393    panic!("extension vkCmdBindVertexBuffers not loaded")
7394}
7395extern "system" fn CmdDraw_panic(_commandBuffer: CommandBuffer, _vertexCount: u32, _instanceCount: u32, _firstVertex: u32, _firstInstance: u32){
7396    panic!("extension vkCmdDraw not loaded")
7397}
7398extern "system" fn CmdDrawIndexed_panic(_commandBuffer: CommandBuffer, _indexCount: u32, _instanceCount: u32, _firstIndex: u32, _vertexOffset: i32, _firstInstance: u32){
7399    panic!("extension vkCmdDrawIndexed not loaded")
7400}
7401extern "system" fn CmdDrawIndirect_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _drawCount: u32, _stride: u32){
7402    panic!("extension vkCmdDrawIndirect not loaded")
7403}
7404extern "system" fn CmdDrawIndexedIndirect_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _drawCount: u32, _stride: u32){
7405    panic!("extension vkCmdDrawIndexedIndirect not loaded")
7406}
7407extern "system" fn CmdDispatch_panic(_commandBuffer: CommandBuffer, _groupCountX: u32, _groupCountY: u32, _groupCountZ: u32){
7408    panic!("extension vkCmdDispatch not loaded")
7409}
7410extern "system" fn CmdDispatchIndirect_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize){
7411    panic!("extension vkCmdDispatchIndirect not loaded")
7412}
7413extern "system" fn CmdCopyBuffer_panic(_commandBuffer: CommandBuffer, _srcBuffer: Buffer, _dstBuffer: Buffer, _regionCount: u32, _pRegions: *const BufferCopy){
7414    panic!("extension vkCmdCopyBuffer not loaded")
7415}
7416extern "system" fn CmdCopyImage_panic(_commandBuffer: CommandBuffer, _srcImage: Image, _srcImageLayout: ImageLayout, _dstImage: Image, _dstImageLayout: ImageLayout, _regionCount: u32, _pRegions: *const ImageCopy){
7417    panic!("extension vkCmdCopyImage not loaded")
7418}
7419extern "system" fn CmdBlitImage_panic(_commandBuffer: CommandBuffer, _srcImage: Image, _srcImageLayout: ImageLayout, _dstImage: Image, _dstImageLayout: ImageLayout, _regionCount: u32, _pRegions: *const ImageBlit, _filter: Filter){
7420    panic!("extension vkCmdBlitImage not loaded")
7421}
7422extern "system" fn CmdCopyBufferToImage_panic(_commandBuffer: CommandBuffer, _srcBuffer: Buffer, _dstImage: Image, _dstImageLayout: ImageLayout, _regionCount: u32, _pRegions: *const BufferImageCopy){
7423    panic!("extension vkCmdCopyBufferToImage not loaded")
7424}
7425extern "system" fn CmdCopyImageToBuffer_panic(_commandBuffer: CommandBuffer, _srcImage: Image, _srcImageLayout: ImageLayout, _dstBuffer: Buffer, _regionCount: u32, _pRegions: *const BufferImageCopy){
7426    panic!("extension vkCmdCopyImageToBuffer not loaded")
7427}
7428extern "system" fn CmdUpdateBuffer_panic(_commandBuffer: CommandBuffer, _dstBuffer: Buffer, _dstOffset: DeviceSize, _dataSize: DeviceSize, _pData: *const c_void){
7429    panic!("extension vkCmdUpdateBuffer not loaded")
7430}
7431extern "system" fn CmdFillBuffer_panic(_commandBuffer: CommandBuffer, _dstBuffer: Buffer, _dstOffset: DeviceSize, _size: DeviceSize, _data: u32){
7432    panic!("extension vkCmdFillBuffer not loaded")
7433}
7434extern "system" fn CmdClearColorImage_panic(_commandBuffer: CommandBuffer, _image: Image, _imageLayout: ImageLayout, _pColor: *const ClearColorValue, _rangeCount: u32, _pRanges: *const ImageSubresourceRange){
7435    panic!("extension vkCmdClearColorImage not loaded")
7436}
7437extern "system" fn CmdClearDepthStencilImage_panic(_commandBuffer: CommandBuffer, _image: Image, _imageLayout: ImageLayout, _pDepthStencil: *const ClearDepthStencilValue, _rangeCount: u32, _pRanges: *const ImageSubresourceRange){
7438    panic!("extension vkCmdClearDepthStencilImage not loaded")
7439}
7440extern "system" fn CmdClearAttachments_panic(_commandBuffer: CommandBuffer, _attachmentCount: u32, _pAttachments: *const ClearAttachment, _rectCount: u32, _pRects: *const ClearRect){
7441    panic!("extension vkCmdClearAttachments not loaded")
7442}
7443extern "system" fn CmdResolveImage_panic(_commandBuffer: CommandBuffer, _srcImage: Image, _srcImageLayout: ImageLayout, _dstImage: Image, _dstImageLayout: ImageLayout, _regionCount: u32, _pRegions: *const ImageResolve){
7444    panic!("extension vkCmdResolveImage not loaded")
7445}
7446extern "system" fn CmdSetEvent_panic(_commandBuffer: CommandBuffer, _event: Event, _stageMask: PipelineStageFlags){
7447    panic!("extension vkCmdSetEvent not loaded")
7448}
7449extern "system" fn CmdResetEvent_panic(_commandBuffer: CommandBuffer, _event: Event, _stageMask: PipelineStageFlags){
7450    panic!("extension vkCmdResetEvent not loaded")
7451}
7452extern "system" fn CmdWaitEvents_panic(_commandBuffer: CommandBuffer, _eventCount: u32, _pEvents: *const Event, _srcStageMask: PipelineStageFlags, _dstStageMask: PipelineStageFlags, _memoryBarrierCount: u32, _pMemoryBarriers: *const MemoryBarrier, _bufferMemoryBarrierCount: u32, _pBufferMemoryBarriers: *const BufferMemoryBarrier, _imageMemoryBarrierCount: u32, _pImageMemoryBarriers: *const ImageMemoryBarrier){
7453    panic!("extension vkCmdWaitEvents not loaded")
7454}
7455extern "system" fn CmdPipelineBarrier_panic(_commandBuffer: CommandBuffer, _srcStageMask: PipelineStageFlags, _dstStageMask: PipelineStageFlags, _dependencyFlags: DependencyFlags, _memoryBarrierCount: u32, _pMemoryBarriers: *const MemoryBarrier, _bufferMemoryBarrierCount: u32, _pBufferMemoryBarriers: *const BufferMemoryBarrier, _imageMemoryBarrierCount: u32, _pImageMemoryBarriers: *const ImageMemoryBarrier){
7456    panic!("extension vkCmdPipelineBarrier not loaded")
7457}
7458extern "system" fn CmdBeginQuery_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _query: u32, _flags: QueryControlFlags){
7459    panic!("extension vkCmdBeginQuery not loaded")
7460}
7461extern "system" fn CmdEndQuery_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _query: u32){
7462    panic!("extension vkCmdEndQuery not loaded")
7463}
7464extern "system" fn CmdResetQueryPool_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _firstQuery: u32, _queryCount: u32){
7465    panic!("extension vkCmdResetQueryPool not loaded")
7466}
7467extern "system" fn CmdWriteTimestamp_panic(_commandBuffer: CommandBuffer, _pipelineStage: PipelineStageFlagBits, _queryPool: QueryPool, _query: u32){
7468    panic!("extension vkCmdWriteTimestamp not loaded")
7469}
7470extern "system" fn CmdCopyQueryPoolResults_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _firstQuery: u32, _queryCount: u32, _dstBuffer: Buffer, _dstOffset: DeviceSize, _stride: DeviceSize, _flags: QueryResultFlags){
7471    panic!("extension vkCmdCopyQueryPoolResults not loaded")
7472}
7473extern "system" fn CmdPushConstants_panic(_commandBuffer: CommandBuffer, _layout: PipelineLayout, _stageFlags: ShaderStageFlags, _offset: u32, _size: u32, _pValues: *const c_void){
7474    panic!("extension vkCmdPushConstants not loaded")
7475}
7476extern "system" fn CmdBeginRenderPass_panic(_commandBuffer: CommandBuffer, _pRenderPassBegin: *const RenderPassBeginInfo, _contents: SubpassContents){
7477    panic!("extension vkCmdBeginRenderPass not loaded")
7478}
7479extern "system" fn CmdNextSubpass_panic(_commandBuffer: CommandBuffer, _contents: SubpassContents){
7480    panic!("extension vkCmdNextSubpass not loaded")
7481}
7482extern "system" fn CmdEndRenderPass_panic(_commandBuffer: CommandBuffer){
7483    panic!("extension vkCmdEndRenderPass not loaded")
7484}
7485extern "system" fn CmdExecuteCommands_panic(_commandBuffer: CommandBuffer, _commandBufferCount: u32, _pCommandBuffers: *const CommandBuffer){
7486    panic!("extension vkCmdExecuteCommands not loaded")
7487}
7488extern "system" fn EnumerateInstanceVersion_panic(_pApiVersion: *mut u32) -> Result{
7489    panic!("extension vkEnumerateInstanceVersion not loaded")
7490}
7491extern "system" fn BindBufferMemory2_panic(_device: Device, _bindInfoCount: u32, _pBindInfos: *const BindBufferMemoryInfo) -> Result{
7492    panic!("extension vkBindBufferMemory2 not loaded")
7493}
7494extern "system" fn BindImageMemory2_panic(_device: Device, _bindInfoCount: u32, _pBindInfos: *const BindImageMemoryInfo) -> Result{
7495    panic!("extension vkBindImageMemory2 not loaded")
7496}
7497extern "system" fn GetDeviceGroupPeerMemoryFeatures_panic(_device: Device, _heapIndex: u32, _localDeviceIndex: u32, _remoteDeviceIndex: u32, _pPeerMemoryFeatures: *mut PeerMemoryFeatureFlags){
7498    panic!("extension vkGetDeviceGroupPeerMemoryFeatures not loaded")
7499}
7500extern "system" fn CmdSetDeviceMask_panic(_commandBuffer: CommandBuffer, _deviceMask: u32){
7501    panic!("extension vkCmdSetDeviceMask not loaded")
7502}
7503extern "system" fn CmdDispatchBase_panic(_commandBuffer: CommandBuffer, _baseGroupX: u32, _baseGroupY: u32, _baseGroupZ: u32, _groupCountX: u32, _groupCountY: u32, _groupCountZ: u32){
7504    panic!("extension vkCmdDispatchBase not loaded")
7505}
7506extern "system" fn EnumeratePhysicalDeviceGroups_panic(_instance: Instance, _pPhysicalDeviceGroupCount: *mut u32, _pPhysicalDeviceGroupProperties: *mut PhysicalDeviceGroupProperties) -> Result{
7507    panic!("extension vkEnumeratePhysicalDeviceGroups not loaded")
7508}
7509extern "system" fn GetImageMemoryRequirements2_panic(_device: Device, _pInfo: *const ImageMemoryRequirementsInfo2, _pMemoryRequirements: *mut MemoryRequirements2){
7510    panic!("extension vkGetImageMemoryRequirements2 not loaded")
7511}
7512extern "system" fn GetBufferMemoryRequirements2_panic(_device: Device, _pInfo: *const BufferMemoryRequirementsInfo2, _pMemoryRequirements: *mut MemoryRequirements2){
7513    panic!("extension vkGetBufferMemoryRequirements2 not loaded")
7514}
7515extern "system" fn GetImageSparseMemoryRequirements2_panic(_device: Device, _pInfo: *const ImageSparseMemoryRequirementsInfo2, _pSparseMemoryRequirementCount: *mut u32, _pSparseMemoryRequirements: *mut SparseImageMemoryRequirements2){
7516    panic!("extension vkGetImageSparseMemoryRequirements2 not loaded")
7517}
7518extern "system" fn GetPhysicalDeviceFeatures2_panic(_physicalDevice: PhysicalDevice, _pFeatures: *mut PhysicalDeviceFeatures2){
7519    panic!("extension vkGetPhysicalDeviceFeatures2 not loaded")
7520}
7521extern "system" fn GetPhysicalDeviceProperties2_panic(_physicalDevice: PhysicalDevice, _pProperties: *mut PhysicalDeviceProperties2){
7522    panic!("extension vkGetPhysicalDeviceProperties2 not loaded")
7523}
7524extern "system" fn GetPhysicalDeviceFormatProperties2_panic(_physicalDevice: PhysicalDevice, _format: Format, _pFormatProperties: *mut FormatProperties2){
7525    panic!("extension vkGetPhysicalDeviceFormatProperties2 not loaded")
7526}
7527extern "system" fn GetPhysicalDeviceImageFormatProperties2_panic(_physicalDevice: PhysicalDevice, _pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2, _pImageFormatProperties: *mut ImageFormatProperties2) -> Result{
7528    panic!("extension vkGetPhysicalDeviceImageFormatProperties2 not loaded")
7529}
7530extern "system" fn GetPhysicalDeviceQueueFamilyProperties2_panic(_physicalDevice: PhysicalDevice, _pQueueFamilyPropertyCount: *mut u32, _pQueueFamilyProperties: *mut QueueFamilyProperties2){
7531    panic!("extension vkGetPhysicalDeviceQueueFamilyProperties2 not loaded")
7532}
7533extern "system" fn GetPhysicalDeviceMemoryProperties2_panic(_physicalDevice: PhysicalDevice, _pMemoryProperties: *mut PhysicalDeviceMemoryProperties2){
7534    panic!("extension vkGetPhysicalDeviceMemoryProperties2 not loaded")
7535}
7536extern "system" fn GetPhysicalDeviceSparseImageFormatProperties2_panic(_physicalDevice: PhysicalDevice, _pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2, _pPropertyCount: *mut u32, _pProperties: *mut SparseImageFormatProperties2){
7537    panic!("extension vkGetPhysicalDeviceSparseImageFormatProperties2 not loaded")
7538}
7539extern "system" fn TrimCommandPool_panic(_device: Device, _commandPool: CommandPool, _flags: CommandPoolTrimFlags){
7540    panic!("extension vkTrimCommandPool not loaded")
7541}
7542extern "system" fn GetDeviceQueue2_panic(_device: Device, _pQueueInfo: *const DeviceQueueInfo2, _pQueue: *mut Queue){
7543    panic!("extension vkGetDeviceQueue2 not loaded")
7544}
7545extern "system" fn CreateSamplerYcbcrConversion_panic(_device: Device, _pCreateInfo: *const SamplerYcbcrConversionCreateInfo, _pAllocator: *const AllocationCallbacks, _pYcbcrConversion: *mut SamplerYcbcrConversion) -> Result{
7546    panic!("extension vkCreateSamplerYcbcrConversion not loaded")
7547}
7548extern "system" fn DestroySamplerYcbcrConversion_panic(_device: Device, _ycbcrConversion: SamplerYcbcrConversion, _pAllocator: *const AllocationCallbacks){
7549    panic!("extension vkDestroySamplerYcbcrConversion not loaded")
7550}
7551extern "system" fn CreateDescriptorUpdateTemplate_panic(_device: Device, _pCreateInfo: *const DescriptorUpdateTemplateCreateInfo, _pAllocator: *const AllocationCallbacks, _pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplate) -> Result{
7552    panic!("extension vkCreateDescriptorUpdateTemplate not loaded")
7553}
7554extern "system" fn DestroyDescriptorUpdateTemplate_panic(_device: Device, _descriptorUpdateTemplate: DescriptorUpdateTemplate, _pAllocator: *const AllocationCallbacks){
7555    panic!("extension vkDestroyDescriptorUpdateTemplate not loaded")
7556}
7557extern "system" fn UpdateDescriptorSetWithTemplate_panic(_device: Device, _descriptorSet: DescriptorSet, _descriptorUpdateTemplate: DescriptorUpdateTemplate, _pData: *const c_void){
7558    panic!("extension vkUpdateDescriptorSetWithTemplate not loaded")
7559}
7560extern "system" fn GetPhysicalDeviceExternalBufferProperties_panic(_physicalDevice: PhysicalDevice, _pExternalBufferInfo: *const PhysicalDeviceExternalBufferInfo, _pExternalBufferProperties: *mut ExternalBufferProperties){
7561    panic!("extension vkGetPhysicalDeviceExternalBufferProperties not loaded")
7562}
7563extern "system" fn GetPhysicalDeviceExternalFenceProperties_panic(_physicalDevice: PhysicalDevice, _pExternalFenceInfo: *const PhysicalDeviceExternalFenceInfo, _pExternalFenceProperties: *mut ExternalFenceProperties){
7564    panic!("extension vkGetPhysicalDeviceExternalFenceProperties not loaded")
7565}
7566extern "system" fn GetPhysicalDeviceExternalSemaphoreProperties_panic(_physicalDevice: PhysicalDevice, _pExternalSemaphoreInfo: *const PhysicalDeviceExternalSemaphoreInfo, _pExternalSemaphoreProperties: *mut ExternalSemaphoreProperties){
7567    panic!("extension vkGetPhysicalDeviceExternalSemaphoreProperties not loaded")
7568}
7569extern "system" fn GetDescriptorSetLayoutSupport_panic(_device: Device, _pCreateInfo: *const DescriptorSetLayoutCreateInfo, _pSupport: *mut DescriptorSetLayoutSupport){
7570    panic!("extension vkGetDescriptorSetLayoutSupport not loaded")
7571}
7572extern "system" fn DestroySurfaceKHR_panic(_instance: Instance, _surface: SurfaceKHR, _pAllocator: *const AllocationCallbacks){
7573    panic!("extension vkDestroySurfaceKHR not loaded")
7574}
7575extern "system" fn GetPhysicalDeviceSurfaceSupportKHR_panic(_physicalDevice: PhysicalDevice, _queueFamilyIndex: u32, _surface: SurfaceKHR, _pSupported: *mut Bool32) -> Result{
7576    panic!("extension vkGetPhysicalDeviceSurfaceSupportKHR not loaded")
7577}
7578extern "system" fn GetPhysicalDeviceSurfaceCapabilitiesKHR_panic(_physicalDevice: PhysicalDevice, _surface: SurfaceKHR, _pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result{
7579    panic!("extension vkGetPhysicalDeviceSurfaceCapabilitiesKHR not loaded")
7580}
7581extern "system" fn GetPhysicalDeviceSurfaceFormatsKHR_panic(_physicalDevice: PhysicalDevice, _surface: SurfaceKHR, _pSurfaceFormatCount: *mut u32, _pSurfaceFormats: *mut SurfaceFormatKHR) -> Result{
7582    panic!("extension vkGetPhysicalDeviceSurfaceFormatsKHR not loaded")
7583}
7584extern "system" fn GetPhysicalDeviceSurfacePresentModesKHR_panic(_physicalDevice: PhysicalDevice, _surface: SurfaceKHR, _pPresentModeCount: *mut u32, _pPresentModes: *mut PresentModeKHR) -> Result{
7585    panic!("extension vkGetPhysicalDeviceSurfacePresentModesKHR not loaded")
7586}
7587extern "system" fn GetPhysicalDeviceDisplayPropertiesKHR_panic(_physicalDevice: PhysicalDevice, _pPropertyCount: *mut u32, _pProperties: *mut DisplayPropertiesKHR) -> Result{
7588    panic!("extension vkGetPhysicalDeviceDisplayPropertiesKHR not loaded")
7589}
7590extern "system" fn GetPhysicalDeviceDisplayPlanePropertiesKHR_panic(_physicalDevice: PhysicalDevice, _pPropertyCount: *mut u32, _pProperties: *mut DisplayPlanePropertiesKHR) -> Result{
7591    panic!("extension vkGetPhysicalDeviceDisplayPlanePropertiesKHR not loaded")
7592}
7593extern "system" fn GetDisplayPlaneSupportedDisplaysKHR_panic(_physicalDevice: PhysicalDevice, _planeIndex: u32, _pDisplayCount: *mut u32, _pDisplays: *mut DisplayKHR) -> Result{
7594    panic!("extension vkGetDisplayPlaneSupportedDisplaysKHR not loaded")
7595}
7596extern "system" fn GetDisplayModePropertiesKHR_panic(_physicalDevice: PhysicalDevice, _display: DisplayKHR, _pPropertyCount: *mut u32, _pProperties: *mut DisplayModePropertiesKHR) -> Result{
7597    panic!("extension vkGetDisplayModePropertiesKHR not loaded")
7598}
7599extern "system" fn CreateDisplayModeKHR_panic(_physicalDevice: PhysicalDevice, _display: DisplayKHR, _pCreateInfo: *const DisplayModeCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pMode: *mut DisplayModeKHR) -> Result{
7600    panic!("extension vkCreateDisplayModeKHR not loaded")
7601}
7602extern "system" fn GetDisplayPlaneCapabilitiesKHR_panic(_physicalDevice: PhysicalDevice, _mode: DisplayModeKHR, _planeIndex: u32, _pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result{
7603    panic!("extension vkGetDisplayPlaneCapabilitiesKHR not loaded")
7604}
7605extern "system" fn CreateDisplayPlaneSurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const DisplaySurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7606    panic!("extension vkCreateDisplayPlaneSurfaceKHR not loaded")
7607}
7608extern "system" fn CreateXlibSurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const XlibSurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7609    panic!("extension vkCreateXlibSurfaceKHR not loaded")
7610}
7611extern "system" fn GetPhysicalDeviceXlibPresentationSupportKHR_panic(_physicalDevice: PhysicalDevice, _queueFamilyIndex: u32, _dpy: *mut Display, _visualID: VisualID) -> Bool32{
7612    panic!("extension vkGetPhysicalDeviceXlibPresentationSupportKHR not loaded")
7613}
7614extern "system" fn CreateXcbSurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const XcbSurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7615    panic!("extension vkCreateXcbSurfaceKHR not loaded")
7616}
7617extern "system" fn GetPhysicalDeviceXcbPresentationSupportKHR_panic(_physicalDevice: PhysicalDevice, _queueFamilyIndex: u32, _connection: *mut xcb_connection_t, _visual_id: xcb_visualid_t) -> Bool32{
7618    panic!("extension vkGetPhysicalDeviceXcbPresentationSupportKHR not loaded")
7619}
7620extern "system" fn CreateWaylandSurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const WaylandSurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7621    panic!("extension vkCreateWaylandSurfaceKHR not loaded")
7622}
7623extern "system" fn GetPhysicalDeviceWaylandPresentationSupportKHR_panic(_physicalDevice: PhysicalDevice, _queueFamilyIndex: u32, _display: *mut wl_display) -> Bool32{
7624    panic!("extension vkGetPhysicalDeviceWaylandPresentationSupportKHR not loaded")
7625}
7626extern "system" fn CreateAndroidSurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const AndroidSurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7627    panic!("extension vkCreateAndroidSurfaceKHR not loaded")
7628}
7629extern "system" fn CreateWin32SurfaceKHR_panic(_instance: Instance, _pCreateInfo: *const Win32SurfaceCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7630    panic!("extension vkCreateWin32SurfaceKHR not loaded")
7631}
7632extern "system" fn GetPhysicalDeviceWin32PresentationSupportKHR_panic(_physicalDevice: PhysicalDevice, _queueFamilyIndex: u32) -> Bool32{
7633    panic!("extension vkGetPhysicalDeviceWin32PresentationSupportKHR not loaded")
7634}
7635extern "system" fn CreateDebugReportCallbackEXT_panic(_instance: Instance, _pCreateInfo: *const DebugReportCallbackCreateInfoEXT, _pAllocator: *const AllocationCallbacks, _pCallback: *mut DebugReportCallbackEXT) -> Result{
7636    panic!("extension vkCreateDebugReportCallbackEXT not loaded")
7637}
7638extern "system" fn DestroyDebugReportCallbackEXT_panic(_instance: Instance, _callback: DebugReportCallbackEXT, _pAllocator: *const AllocationCallbacks){
7639    panic!("extension vkDestroyDebugReportCallbackEXT not loaded")
7640}
7641extern "system" fn DebugReportMessageEXT_panic(_instance: Instance, _flags: DebugReportFlagsEXT, _objectType: DebugReportObjectTypeEXT, _object: u64, _location: usize, _messageCode: i32, _pLayerPrefix: *const c_char, _pMessage: *const c_char){
7642    panic!("extension vkDebugReportMessageEXT not loaded")
7643}
7644extern "system" fn GetPhysicalDeviceExternalImageFormatPropertiesNV_panic(_physicalDevice: PhysicalDevice, _format: Format, _typ: ImageType, _tiling: ImageTiling, _usage: ImageUsageFlags, _flags: ImageCreateFlags, _externalHandleType: ExternalMemoryHandleTypeFlagsNV, _pExternalImageFormatProperties: *mut ExternalImageFormatPropertiesNV) -> Result{
7645    panic!("extension vkGetPhysicalDeviceExternalImageFormatPropertiesNV not loaded")
7646}
7647extern "system" fn CreateViSurfaceNN_panic(_instance: Instance, _pCreateInfo: *const ViSurfaceCreateInfoNN, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7648    panic!("extension vkCreateViSurfaceNN not loaded")
7649}
7650extern "system" fn ReleaseDisplayEXT_panic(_physicalDevice: PhysicalDevice, _display: DisplayKHR) -> Result{
7651    panic!("extension vkReleaseDisplayEXT not loaded")
7652}
7653extern "system" fn AcquireXlibDisplayEXT_panic(_physicalDevice: PhysicalDevice, _dpy: *mut Display, _display: DisplayKHR) -> Result{
7654    panic!("extension vkAcquireXlibDisplayEXT not loaded")
7655}
7656extern "system" fn GetRandROutputDisplayEXT_panic(_physicalDevice: PhysicalDevice, _dpy: *mut Display, _rrOutput: RROutput, _pDisplay: *mut DisplayKHR) -> Result{
7657    panic!("extension vkGetRandROutputDisplayEXT not loaded")
7658}
7659extern "system" fn GetPhysicalDeviceSurfaceCapabilities2EXT_panic(_physicalDevice: PhysicalDevice, _surface: SurfaceKHR, _pSurfaceCapabilities: *mut SurfaceCapabilities2EXT) -> Result{
7660    panic!("extension vkGetPhysicalDeviceSurfaceCapabilities2EXT not loaded")
7661}
7662extern "system" fn GetPhysicalDeviceSurfaceCapabilities2KHR_panic(_physicalDevice: PhysicalDevice, _pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, _pSurfaceCapabilities: *mut SurfaceCapabilities2KHR) -> Result{
7663    panic!("extension vkGetPhysicalDeviceSurfaceCapabilities2KHR not loaded")
7664}
7665extern "system" fn GetPhysicalDeviceSurfaceFormats2KHR_panic(_physicalDevice: PhysicalDevice, _pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, _pSurfaceFormatCount: *mut u32, _pSurfaceFormats: *mut SurfaceFormat2KHR) -> Result{
7666    panic!("extension vkGetPhysicalDeviceSurfaceFormats2KHR not loaded")
7667}
7668extern "system" fn GetPhysicalDeviceDisplayProperties2KHR_panic(_physicalDevice: PhysicalDevice, _pPropertyCount: *mut u32, _pProperties: *mut DisplayProperties2KHR) -> Result{
7669    panic!("extension vkGetPhysicalDeviceDisplayProperties2KHR not loaded")
7670}
7671extern "system" fn GetPhysicalDeviceDisplayPlaneProperties2KHR_panic(_physicalDevice: PhysicalDevice, _pPropertyCount: *mut u32, _pProperties: *mut DisplayPlaneProperties2KHR) -> Result{
7672    panic!("extension vkGetPhysicalDeviceDisplayPlaneProperties2KHR not loaded")
7673}
7674extern "system" fn GetDisplayModeProperties2KHR_panic(_physicalDevice: PhysicalDevice, _display: DisplayKHR, _pPropertyCount: *mut u32, _pProperties: *mut DisplayModeProperties2KHR) -> Result{
7675    panic!("extension vkGetDisplayModeProperties2KHR not loaded")
7676}
7677extern "system" fn GetDisplayPlaneCapabilities2KHR_panic(_physicalDevice: PhysicalDevice, _pDisplayPlaneInfo: *const DisplayPlaneInfo2KHR, _pCapabilities: *mut DisplayPlaneCapabilities2KHR) -> Result{
7678    panic!("extension vkGetDisplayPlaneCapabilities2KHR not loaded")
7679}
7680extern "system" fn CreateIOSSurfaceMVK_panic(_instance: Instance, _pCreateInfo: *const IOSSurfaceCreateInfoMVK, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7681    panic!("extension vkCreateIOSSurfaceMVK not loaded")
7682}
7683extern "system" fn CreateMacOSSurfaceMVK_panic(_instance: Instance, _pCreateInfo: *const MacOSSurfaceCreateInfoMVK, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7684    panic!("extension vkCreateMacOSSurfaceMVK not loaded")
7685}
7686extern "system" fn SetDebugUtilsObjectNameEXT_panic(_device: Device, _pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result{
7687    panic!("extension vkSetDebugUtilsObjectNameEXT not loaded")
7688}
7689extern "system" fn SetDebugUtilsObjectTagEXT_panic(_device: Device, _pTagInfo: *const DebugUtilsObjectTagInfoEXT) -> Result{
7690    panic!("extension vkSetDebugUtilsObjectTagEXT not loaded")
7691}
7692extern "system" fn QueueBeginDebugUtilsLabelEXT_panic(_queue: Queue, _pLabelInfo: *const DebugUtilsLabelEXT){
7693    panic!("extension vkQueueBeginDebugUtilsLabelEXT not loaded")
7694}
7695extern "system" fn QueueEndDebugUtilsLabelEXT_panic(_queue: Queue){
7696    panic!("extension vkQueueEndDebugUtilsLabelEXT not loaded")
7697}
7698extern "system" fn QueueInsertDebugUtilsLabelEXT_panic(_queue: Queue, _pLabelInfo: *const DebugUtilsLabelEXT){
7699    panic!("extension vkQueueInsertDebugUtilsLabelEXT not loaded")
7700}
7701extern "system" fn CmdBeginDebugUtilsLabelEXT_panic(_commandBuffer: CommandBuffer, _pLabelInfo: *const DebugUtilsLabelEXT){
7702    panic!("extension vkCmdBeginDebugUtilsLabelEXT not loaded")
7703}
7704extern "system" fn CmdEndDebugUtilsLabelEXT_panic(_commandBuffer: CommandBuffer){
7705    panic!("extension vkCmdEndDebugUtilsLabelEXT not loaded")
7706}
7707extern "system" fn CmdInsertDebugUtilsLabelEXT_panic(_commandBuffer: CommandBuffer, _pLabelInfo: *const DebugUtilsLabelEXT){
7708    panic!("extension vkCmdInsertDebugUtilsLabelEXT not loaded")
7709}
7710extern "system" fn CreateDebugUtilsMessengerEXT_panic(_instance: Instance, _pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, _pAllocator: *const AllocationCallbacks, _pMessenger: *mut DebugUtilsMessengerEXT) -> Result{
7711    panic!("extension vkCreateDebugUtilsMessengerEXT not loaded")
7712}
7713extern "system" fn DestroyDebugUtilsMessengerEXT_panic(_instance: Instance, _messenger: DebugUtilsMessengerEXT, _pAllocator: *const AllocationCallbacks){
7714    panic!("extension vkDestroyDebugUtilsMessengerEXT not loaded")
7715}
7716extern "system" fn SubmitDebugUtilsMessageEXT_panic(_instance: Instance, _messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, _messageTypes: DebugUtilsMessageTypeFlagsEXT, _pCallbackData: *const DebugUtilsMessengerCallbackDataEXT){
7717    panic!("extension vkSubmitDebugUtilsMessageEXT not loaded")
7718}
7719extern "system" fn CreateImagePipeSurfaceFUCHSIA_panic(_instance: Instance, _pCreateInfo: *const ImagePipeSurfaceCreateInfoFUCHSIA, _pAllocator: *const AllocationCallbacks, _pSurface: *mut SurfaceKHR) -> Result{
7720    panic!("extension vkCreateImagePipeSurfaceFUCHSIA not loaded")
7721}
7722extern "system" fn CreateSwapchainKHR_panic(_device: Device, _pCreateInfo: *const SwapchainCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSwapchain: *mut SwapchainKHR) -> Result{
7723    panic!("extension vkCreateSwapchainKHR not loaded")
7724}
7725extern "system" fn DestroySwapchainKHR_panic(_device: Device, _swapchain: SwapchainKHR, _pAllocator: *const AllocationCallbacks){
7726    panic!("extension vkDestroySwapchainKHR not loaded")
7727}
7728extern "system" fn GetSwapchainImagesKHR_panic(_device: Device, _swapchain: SwapchainKHR, _pSwapchainImageCount: *mut u32, _pSwapchainImages: *mut Image) -> Result{
7729    panic!("extension vkGetSwapchainImagesKHR not loaded")
7730}
7731extern "system" fn AcquireNextImageKHR_panic(_device: Device, _swapchain: SwapchainKHR, _timeout: u64, _semaphore: Semaphore, _fence: Fence, _pImageIndex: *mut u32) -> Result{
7732    panic!("extension vkAcquireNextImageKHR not loaded")
7733}
7734extern "system" fn QueuePresentKHR_panic(_queue: Queue, _pPresentInfo: *const PresentInfoKHR) -> Result{
7735    panic!("extension vkQueuePresentKHR not loaded")
7736}
7737extern "system" fn GetDeviceGroupPresentCapabilitiesKHR_panic(_device: Device, _pDeviceGroupPresentCapabilities: *mut DeviceGroupPresentCapabilitiesKHR) -> Result{
7738    panic!("extension vkGetDeviceGroupPresentCapabilitiesKHR not loaded")
7739}
7740extern "system" fn GetDeviceGroupSurfacePresentModesKHR_panic(_device: Device, _surface: SurfaceKHR, _pModes: *mut DeviceGroupPresentModeFlagsKHR) -> Result{
7741    panic!("extension vkGetDeviceGroupSurfacePresentModesKHR not loaded")
7742}
7743extern "system" fn GetPhysicalDevicePresentRectanglesKHR_panic(_physicalDevice: PhysicalDevice, _surface: SurfaceKHR, _pRectCount: *mut u32, _pRects: *mut Rect2D) -> Result{
7744    panic!("extension vkGetPhysicalDevicePresentRectanglesKHR not loaded")
7745}
7746extern "system" fn AcquireNextImage2KHR_panic(_device: Device, _pAcquireInfo: *const AcquireNextImageInfoKHR, _pImageIndex: *mut u32) -> Result{
7747    panic!("extension vkAcquireNextImage2KHR not loaded")
7748}
7749extern "system" fn CreateSharedSwapchainsKHR_panic(_device: Device, _swapchainCount: u32, _pCreateInfos: *const SwapchainCreateInfoKHR, _pAllocator: *const AllocationCallbacks, _pSwapchains: *mut SwapchainKHR) -> Result{
7750    panic!("extension vkCreateSharedSwapchainsKHR not loaded")
7751}
7752extern "system" fn DebugMarkerSetObjectTagEXT_panic(_device: Device, _pTagInfo: *const DebugMarkerObjectTagInfoEXT) -> Result{
7753    panic!("extension vkDebugMarkerSetObjectTagEXT not loaded")
7754}
7755extern "system" fn DebugMarkerSetObjectNameEXT_panic(_device: Device, _pNameInfo: *const DebugMarkerObjectNameInfoEXT) -> Result{
7756    panic!("extension vkDebugMarkerSetObjectNameEXT not loaded")
7757}
7758extern "system" fn CmdDebugMarkerBeginEXT_panic(_commandBuffer: CommandBuffer, _pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
7759    panic!("extension vkCmdDebugMarkerBeginEXT not loaded")
7760}
7761extern "system" fn CmdDebugMarkerEndEXT_panic(_commandBuffer: CommandBuffer){
7762    panic!("extension vkCmdDebugMarkerEndEXT not loaded")
7763}
7764extern "system" fn CmdDebugMarkerInsertEXT_panic(_commandBuffer: CommandBuffer, _pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
7765    panic!("extension vkCmdDebugMarkerInsertEXT not loaded")
7766}
7767extern "system" fn CmdBindTransformFeedbackBuffersEXT_panic(_commandBuffer: CommandBuffer, _firstBinding: u32, _bindingCount: u32, _pBuffers: *const Buffer, _pOffsets: *const DeviceSize, _pSizes: *const DeviceSize){
7768    panic!("extension vkCmdBindTransformFeedbackBuffersEXT not loaded")
7769}
7770extern "system" fn CmdBeginTransformFeedbackEXT_panic(_commandBuffer: CommandBuffer, _firstCounterBuffer: u32, _counterBufferCount: u32, _pCounterBuffers: *const Buffer, _pCounterBufferOffsets: *const DeviceSize){
7771    panic!("extension vkCmdBeginTransformFeedbackEXT not loaded")
7772}
7773extern "system" fn CmdEndTransformFeedbackEXT_panic(_commandBuffer: CommandBuffer, _firstCounterBuffer: u32, _counterBufferCount: u32, _pCounterBuffers: *const Buffer, _pCounterBufferOffsets: *const DeviceSize){
7774    panic!("extension vkCmdEndTransformFeedbackEXT not loaded")
7775}
7776extern "system" fn CmdBeginQueryIndexedEXT_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _query: u32, _flags: QueryControlFlags, _index: u32){
7777    panic!("extension vkCmdBeginQueryIndexedEXT not loaded")
7778}
7779extern "system" fn CmdEndQueryIndexedEXT_panic(_commandBuffer: CommandBuffer, _queryPool: QueryPool, _query: u32, _index: u32){
7780    panic!("extension vkCmdEndQueryIndexedEXT not loaded")
7781}
7782extern "system" fn CmdDrawIndirectByteCountEXT_panic(_commandBuffer: CommandBuffer, _instanceCount: u32, _firstInstance: u32, _counterBuffer: Buffer, _counterBufferOffset: DeviceSize, _counterOffset: u32, _vertexStride: u32){
7783    panic!("extension vkCmdDrawIndirectByteCountEXT not loaded")
7784}
7785extern "system" fn CmdDrawIndirectCountAMD_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _countBuffer: Buffer, _countBufferOffset: DeviceSize, _maxDrawCount: u32, _stride: u32){
7786    panic!("extension vkCmdDrawIndirectCountAMD not loaded")
7787}
7788extern "system" fn CmdDrawIndexedIndirectCountAMD_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _countBuffer: Buffer, _countBufferOffset: DeviceSize, _maxDrawCount: u32, _stride: u32){
7789    panic!("extension vkCmdDrawIndexedIndirectCountAMD not loaded")
7790}
7791extern "system" fn GetShaderInfoAMD_panic(_device: Device, _pipeline: Pipeline, _shaderStage: ShaderStageFlagBits, _infoType: ShaderInfoTypeAMD, _pInfoSize: *mut usize, _pInfo: *mut c_void) -> Result{
7792    panic!("extension vkGetShaderInfoAMD not loaded")
7793}
7794extern "system" fn GetMemoryWin32HandleNV_panic(_device: Device, _memory: DeviceMemory, _handleType: ExternalMemoryHandleTypeFlagsNV, _pHandle: *mut HANDLE) -> Result{
7795    panic!("extension vkGetMemoryWin32HandleNV not loaded")
7796}
7797extern "system" fn GetMemoryWin32HandleKHR_panic(_device: Device, _pGetWin32HandleInfo: *const MemoryGetWin32HandleInfoKHR, _pHandle: *mut HANDLE) -> Result{
7798    panic!("extension vkGetMemoryWin32HandleKHR not loaded")
7799}
7800extern "system" fn GetMemoryWin32HandlePropertiesKHR_panic(_device: Device, _handleType: ExternalMemoryHandleTypeFlagBits, _handle: HANDLE, _pMemoryWin32HandleProperties: *mut MemoryWin32HandlePropertiesKHR) -> Result{
7801    panic!("extension vkGetMemoryWin32HandlePropertiesKHR not loaded")
7802}
7803extern "system" fn GetMemoryFdKHR_panic(_device: Device, _pGetFdInfo: *const MemoryGetFdInfoKHR, _pFd: *mut i32) -> Result{
7804    panic!("extension vkGetMemoryFdKHR not loaded")
7805}
7806extern "system" fn GetMemoryFdPropertiesKHR_panic(_device: Device, _handleType: ExternalMemoryHandleTypeFlagBits, _fd: i32, _pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result{
7807    panic!("extension vkGetMemoryFdPropertiesKHR not loaded")
7808}
7809extern "system" fn ImportSemaphoreWin32HandleKHR_panic(_device: Device, _pImportSemaphoreWin32HandleInfo: *const ImportSemaphoreWin32HandleInfoKHR) -> Result{
7810    panic!("extension vkImportSemaphoreWin32HandleKHR not loaded")
7811}
7812extern "system" fn GetSemaphoreWin32HandleKHR_panic(_device: Device, _pGetWin32HandleInfo: *const SemaphoreGetWin32HandleInfoKHR, _pHandle: *mut HANDLE) -> Result{
7813    panic!("extension vkGetSemaphoreWin32HandleKHR not loaded")
7814}
7815extern "system" fn ImportSemaphoreFdKHR_panic(_device: Device, _pImportSemaphoreFdInfo: *const ImportSemaphoreFdInfoKHR) -> Result{
7816    panic!("extension vkImportSemaphoreFdKHR not loaded")
7817}
7818extern "system" fn GetSemaphoreFdKHR_panic(_device: Device, _pGetFdInfo: *const SemaphoreGetFdInfoKHR, _pFd: *mut i32) -> Result{
7819    panic!("extension vkGetSemaphoreFdKHR not loaded")
7820}
7821extern "system" fn CmdPushDescriptorSetKHR_panic(_commandBuffer: CommandBuffer, _pipelineBindPoint: PipelineBindPoint, _layout: PipelineLayout, _set: u32, _descriptorWriteCount: u32, _pDescriptorWrites: *const WriteDescriptorSet){
7822    panic!("extension vkCmdPushDescriptorSetKHR not loaded")
7823}
7824extern "system" fn CmdPushDescriptorSetWithTemplateKHR_panic(_commandBuffer: CommandBuffer, _descriptorUpdateTemplate: DescriptorUpdateTemplate, _layout: PipelineLayout, _set: u32, _pData: *const c_void){
7825    panic!("extension vkCmdPushDescriptorSetWithTemplateKHR not loaded")
7826}
7827extern "system" fn CmdBeginConditionalRenderingEXT_panic(_commandBuffer: CommandBuffer, _pConditionalRenderingBegin: *const ConditionalRenderingBeginInfoEXT){
7828    panic!("extension vkCmdBeginConditionalRenderingEXT not loaded")
7829}
7830extern "system" fn CmdEndConditionalRenderingEXT_panic(_commandBuffer: CommandBuffer){
7831    panic!("extension vkCmdEndConditionalRenderingEXT not loaded")
7832}
7833extern "system" fn CmdProcessCommandsNVX_panic(_commandBuffer: CommandBuffer, _pProcessCommandsInfo: *const CmdProcessCommandsInfoNVX){
7834    panic!("extension vkCmdProcessCommandsNVX not loaded")
7835}
7836extern "system" fn CmdReserveSpaceForCommandsNVX_panic(_commandBuffer: CommandBuffer, _pReserveSpaceInfo: *const CmdReserveSpaceForCommandsInfoNVX){
7837    panic!("extension vkCmdReserveSpaceForCommandsNVX not loaded")
7838}
7839extern "system" fn CreateIndirectCommandsLayoutNVX_panic(_device: Device, _pCreateInfo: *const IndirectCommandsLayoutCreateInfoNVX, _pAllocator: *const AllocationCallbacks, _pIndirectCommandsLayout: *mut IndirectCommandsLayoutNVX) -> Result{
7840    panic!("extension vkCreateIndirectCommandsLayoutNVX not loaded")
7841}
7842extern "system" fn DestroyIndirectCommandsLayoutNVX_panic(_device: Device, _indirectCommandsLayout: IndirectCommandsLayoutNVX, _pAllocator: *const AllocationCallbacks){
7843    panic!("extension vkDestroyIndirectCommandsLayoutNVX not loaded")
7844}
7845extern "system" fn CreateObjectTableNVX_panic(_device: Device, _pCreateInfo: *const ObjectTableCreateInfoNVX, _pAllocator: *const AllocationCallbacks, _pObjectTable: *mut ObjectTableNVX) -> Result{
7846    panic!("extension vkCreateObjectTableNVX not loaded")
7847}
7848extern "system" fn DestroyObjectTableNVX_panic(_device: Device, _objectTable: ObjectTableNVX, _pAllocator: *const AllocationCallbacks){
7849    panic!("extension vkDestroyObjectTableNVX not loaded")
7850}
7851extern "system" fn RegisterObjectsNVX_panic(_device: Device, _objectTable: ObjectTableNVX, _objectCount: u32, _ppObjectTableEntries: *const *const ObjectTableEntryNVX, _pObjectIndices: *const u32) -> Result{
7852    panic!("extension vkRegisterObjectsNVX not loaded")
7853}
7854extern "system" fn UnregisterObjectsNVX_panic(_device: Device, _objectTable: ObjectTableNVX, _objectCount: u32, _pObjectEntryTypes: *const ObjectEntryTypeNVX, _pObjectIndices: *const u32) -> Result{
7855    panic!("extension vkUnregisterObjectsNVX not loaded")
7856}
7857extern "system" fn GetPhysicalDeviceGeneratedCommandsPropertiesNVX_panic(_physicalDevice: PhysicalDevice, _pFeatures: *mut DeviceGeneratedCommandsFeaturesNVX, _pLimits: *mut DeviceGeneratedCommandsLimitsNVX){
7858    panic!("extension vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX not loaded")
7859}
7860extern "system" fn CmdSetViewportWScalingNV_panic(_commandBuffer: CommandBuffer, _firstViewport: u32, _viewportCount: u32, _pViewportWScalings: *const ViewportWScalingNV){
7861    panic!("extension vkCmdSetViewportWScalingNV not loaded")
7862}
7863extern "system" fn DisplayPowerControlEXT_panic(_device: Device, _display: DisplayKHR, _pDisplayPowerInfo: *const DisplayPowerInfoEXT) -> Result{
7864    panic!("extension vkDisplayPowerControlEXT not loaded")
7865}
7866extern "system" fn RegisterDeviceEventEXT_panic(_device: Device, _pDeviceEventInfo: *const DeviceEventInfoEXT, _pAllocator: *const AllocationCallbacks, _pFence: *mut Fence) -> Result{
7867    panic!("extension vkRegisterDeviceEventEXT not loaded")
7868}
7869extern "system" fn RegisterDisplayEventEXT_panic(_device: Device, _display: DisplayKHR, _pDisplayEventInfo: *const DisplayEventInfoEXT, _pAllocator: *const AllocationCallbacks, _pFence: *mut Fence) -> Result{
7870    panic!("extension vkRegisterDisplayEventEXT not loaded")
7871}
7872extern "system" fn GetSwapchainCounterEXT_panic(_device: Device, _swapchain: SwapchainKHR, _counter: SurfaceCounterFlagBitsEXT, _pCounterValue: *mut u64) -> Result{
7873    panic!("extension vkGetSwapchainCounterEXT not loaded")
7874}
7875extern "system" fn GetRefreshCycleDurationGOOGLE_panic(_device: Device, _swapchain: SwapchainKHR, _pDisplayTimingProperties: *mut RefreshCycleDurationGOOGLE) -> Result{
7876    panic!("extension vkGetRefreshCycleDurationGOOGLE not loaded")
7877}
7878extern "system" fn GetPastPresentationTimingGOOGLE_panic(_device: Device, _swapchain: SwapchainKHR, _pPresentationTimingCount: *mut u32, _pPresentationTimings: *mut PastPresentationTimingGOOGLE) -> Result{
7879    panic!("extension vkGetPastPresentationTimingGOOGLE not loaded")
7880}
7881extern "system" fn CmdSetDiscardRectangleEXT_panic(_commandBuffer: CommandBuffer, _firstDiscardRectangle: u32, _discardRectangleCount: u32, _pDiscardRectangles: *const Rect2D){
7882    panic!("extension vkCmdSetDiscardRectangleEXT not loaded")
7883}
7884extern "system" fn SetHdrMetadataEXT_panic(_device: Device, _swapchainCount: u32, _pSwapchains: *const SwapchainKHR, _pMetadata: *const HdrMetadataEXT){
7885    panic!("extension vkSetHdrMetadataEXT not loaded")
7886}
7887extern "system" fn CreateRenderPass2KHR_panic(_device: Device, _pCreateInfo: *const RenderPassCreateInfo2KHR, _pAllocator: *const AllocationCallbacks, _pRenderPass: *mut RenderPass) -> Result{
7888    panic!("extension vkCreateRenderPass2KHR not loaded")
7889}
7890extern "system" fn CmdBeginRenderPass2KHR_panic(_commandBuffer: CommandBuffer, _pRenderPassBegin: *const RenderPassBeginInfo, _pSubpassBeginInfo: *const SubpassBeginInfoKHR){
7891    panic!("extension vkCmdBeginRenderPass2KHR not loaded")
7892}
7893extern "system" fn CmdNextSubpass2KHR_panic(_commandBuffer: CommandBuffer, _pSubpassBeginInfo: *const SubpassBeginInfoKHR, _pSubpassEndInfo: *const SubpassEndInfoKHR){
7894    panic!("extension vkCmdNextSubpass2KHR not loaded")
7895}
7896extern "system" fn CmdEndRenderPass2KHR_panic(_commandBuffer: CommandBuffer, _pSubpassEndInfo: *const SubpassEndInfoKHR){
7897    panic!("extension vkCmdEndRenderPass2KHR not loaded")
7898}
7899extern "system" fn GetSwapchainStatusKHR_panic(_device: Device, _swapchain: SwapchainKHR) -> Result{
7900    panic!("extension vkGetSwapchainStatusKHR not loaded")
7901}
7902extern "system" fn ImportFenceWin32HandleKHR_panic(_device: Device, _pImportFenceWin32HandleInfo: *const ImportFenceWin32HandleInfoKHR) -> Result{
7903    panic!("extension vkImportFenceWin32HandleKHR not loaded")
7904}
7905extern "system" fn GetFenceWin32HandleKHR_panic(_device: Device, _pGetWin32HandleInfo: *const FenceGetWin32HandleInfoKHR, _pHandle: *mut HANDLE) -> Result{
7906    panic!("extension vkGetFenceWin32HandleKHR not loaded")
7907}
7908extern "system" fn ImportFenceFdKHR_panic(_device: Device, _pImportFenceFdInfo: *const ImportFenceFdInfoKHR) -> Result{
7909    panic!("extension vkImportFenceFdKHR not loaded")
7910}
7911extern "system" fn GetFenceFdKHR_panic(_device: Device, _pGetFdInfo: *const FenceGetFdInfoKHR, _pFd: *mut i32) -> Result{
7912    panic!("extension vkGetFenceFdKHR not loaded")
7913}
7914extern "system" fn GetAndroidHardwareBufferPropertiesANDROID_panic(_device: Device, _buffer: *const AHardwareBuffer, _pProperties: *mut AndroidHardwareBufferPropertiesANDROID) -> Result{
7915    panic!("extension vkGetAndroidHardwareBufferPropertiesANDROID not loaded")
7916}
7917extern "system" fn GetMemoryAndroidHardwareBufferANDROID_panic(_device: Device, _pInfo: *const MemoryGetAndroidHardwareBufferInfoANDROID, _pBuffer: *mut *mut AHardwareBuffer) -> Result{
7918    panic!("extension vkGetMemoryAndroidHardwareBufferANDROID not loaded")
7919}
7920extern "system" fn CmdSetSampleLocationsEXT_panic(_commandBuffer: CommandBuffer, _pSampleLocationsInfo: *const SampleLocationsInfoEXT){
7921    panic!("extension vkCmdSetSampleLocationsEXT not loaded")
7922}
7923extern "system" fn GetPhysicalDeviceMultisamplePropertiesEXT_panic(_physicalDevice: PhysicalDevice, _samples: SampleCountFlagBits, _pMultisampleProperties: *mut MultisamplePropertiesEXT){
7924    panic!("extension vkGetPhysicalDeviceMultisamplePropertiesEXT not loaded")
7925}
7926extern "system" fn GetImageDrmFormatModifierPropertiesEXT_panic(_device: Device, _image: Image, _pProperties: *mut ImageDrmFormatModifierPropertiesEXT) -> Result{
7927    panic!("extension vkGetImageDrmFormatModifierPropertiesEXT not loaded")
7928}
7929extern "system" fn CreateValidationCacheEXT_panic(_device: Device, _pCreateInfo: *const ValidationCacheCreateInfoEXT, _pAllocator: *const AllocationCallbacks, _pValidationCache: *mut ValidationCacheEXT) -> Result{
7930    panic!("extension vkCreateValidationCacheEXT not loaded")
7931}
7932extern "system" fn DestroyValidationCacheEXT_panic(_device: Device, _validationCache: ValidationCacheEXT, _pAllocator: *const AllocationCallbacks){
7933    panic!("extension vkDestroyValidationCacheEXT not loaded")
7934}
7935extern "system" fn MergeValidationCachesEXT_panic(_device: Device, _dstCache: ValidationCacheEXT, _srcCacheCount: u32, _pSrcCaches: *const ValidationCacheEXT) -> Result{
7936    panic!("extension vkMergeValidationCachesEXT not loaded")
7937}
7938extern "system" fn GetValidationCacheDataEXT_panic(_device: Device, _validationCache: ValidationCacheEXT, _pDataSize: *mut usize, _pData: *mut c_void) -> Result{
7939    panic!("extension vkGetValidationCacheDataEXT not loaded")
7940}
7941extern "system" fn CmdBindShadingRateImageNV_panic(_commandBuffer: CommandBuffer, _imageView: ImageView, _imageLayout: ImageLayout){
7942    panic!("extension vkCmdBindShadingRateImageNV not loaded")
7943}
7944extern "system" fn CmdSetViewportShadingRatePaletteNV_panic(_commandBuffer: CommandBuffer, _firstViewport: u32, _viewportCount: u32, _pShadingRatePalettes: *const ShadingRatePaletteNV){
7945    panic!("extension vkCmdSetViewportShadingRatePaletteNV not loaded")
7946}
7947extern "system" fn CmdSetCoarseSampleOrderNV_panic(_commandBuffer: CommandBuffer, _sampleOrderType: CoarseSampleOrderTypeNV, _customSampleOrderCount: u32, _pCustomSampleOrders: *const CoarseSampleOrderCustomNV){
7948    panic!("extension vkCmdSetCoarseSampleOrderNV not loaded")
7949}
7950extern "system" fn CreateAccelerationStructureNV_panic(_device: Device, _pCreateInfo: *const AccelerationStructureCreateInfoNV, _pAllocator: *const AllocationCallbacks, _pAccelerationStructure: *mut AccelerationStructureNV) -> Result{
7951    panic!("extension vkCreateAccelerationStructureNV not loaded")
7952}
7953extern "system" fn DestroyAccelerationStructureNV_panic(_device: Device, _accelerationStructure: AccelerationStructureNV, _pAllocator: *const AllocationCallbacks){
7954    panic!("extension vkDestroyAccelerationStructureNV not loaded")
7955}
7956extern "system" fn GetAccelerationStructureMemoryRequirementsNV_panic(_device: Device, _pInfo: *const AccelerationStructureMemoryRequirementsInfoNV, _pMemoryRequirements: *mut MemoryRequirements2){
7957    panic!("extension vkGetAccelerationStructureMemoryRequirementsNV not loaded")
7958}
7959extern "system" fn BindAccelerationStructureMemoryNV_panic(_device: Device, _bindInfoCount: u32, _pBindInfos: *const BindAccelerationStructureMemoryInfoNV) -> Result{
7960    panic!("extension vkBindAccelerationStructureMemoryNV not loaded")
7961}
7962extern "system" fn CmdBuildAccelerationStructureNV_panic(_commandBuffer: CommandBuffer, _pInfo: *const AccelerationStructureInfoNV, _instanceData: Buffer, _instanceOffset: DeviceSize, _update: Bool32, _dst: AccelerationStructureNV, _src: AccelerationStructureNV, _scratch: Buffer, _scratchOffset: DeviceSize){
7963    panic!("extension vkCmdBuildAccelerationStructureNV not loaded")
7964}
7965extern "system" fn CmdCopyAccelerationStructureNV_panic(_commandBuffer: CommandBuffer, _dst: AccelerationStructureNV, _src: AccelerationStructureNV, _mode: CopyAccelerationStructureModeNV){
7966    panic!("extension vkCmdCopyAccelerationStructureNV not loaded")
7967}
7968extern "system" fn CmdTraceRaysNV_panic(_commandBuffer: CommandBuffer, _raygenShaderBindingTableBuffer: Buffer, _raygenShaderBindingOffset: DeviceSize, _missShaderBindingTableBuffer: Buffer, _missShaderBindingOffset: DeviceSize, _missShaderBindingStride: DeviceSize, _hitShaderBindingTableBuffer: Buffer, _hitShaderBindingOffset: DeviceSize, _hitShaderBindingStride: DeviceSize, _callableShaderBindingTableBuffer: Buffer, _callableShaderBindingOffset: DeviceSize, _callableShaderBindingStride: DeviceSize, _width: u32, _height: u32, _depth: u32){
7969    panic!("extension vkCmdTraceRaysNV not loaded")
7970}
7971extern "system" fn CreateRayTracingPipelinesNV_panic(_device: Device, _pipelineCache: PipelineCache, _createInfoCount: u32, _pCreateInfos: *const RayTracingPipelineCreateInfoNV, _pAllocator: *const AllocationCallbacks, _pPipelines: *mut Pipeline) -> Result{
7972    panic!("extension vkCreateRayTracingPipelinesNV not loaded")
7973}
7974extern "system" fn GetRayTracingShaderGroupHandlesNV_panic(_device: Device, _pipeline: Pipeline, _firstGroup: u32, _groupCount: u32, _dataSize: usize, _pData: *mut c_void) -> Result{
7975    panic!("extension vkGetRayTracingShaderGroupHandlesNV not loaded")
7976}
7977extern "system" fn GetAccelerationStructureHandleNV_panic(_device: Device, _accelerationStructure: AccelerationStructureNV, _dataSize: usize, _pData: *mut c_void) -> Result{
7978    panic!("extension vkGetAccelerationStructureHandleNV not loaded")
7979}
7980extern "system" fn CmdWriteAccelerationStructuresPropertiesNV_panic(_commandBuffer: CommandBuffer, _accelerationStructureCount: u32, _pAccelerationStructures: *const AccelerationStructureNV, _queryType: QueryType, _queryPool: QueryPool, _firstQuery: u32){
7981    panic!("extension vkCmdWriteAccelerationStructuresPropertiesNV not loaded")
7982}
7983extern "system" fn CompileDeferredNV_panic(_device: Device, _pipeline: Pipeline, _shader: u32) -> Result{
7984    panic!("extension vkCompileDeferredNV not loaded")
7985}
7986extern "system" fn CmdDrawIndirectCountKHR_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _countBuffer: Buffer, _countBufferOffset: DeviceSize, _maxDrawCount: u32, _stride: u32){
7987    panic!("extension vkCmdDrawIndirectCountKHR not loaded")
7988}
7989extern "system" fn CmdDrawIndexedIndirectCountKHR_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _countBuffer: Buffer, _countBufferOffset: DeviceSize, _maxDrawCount: u32, _stride: u32){
7990    panic!("extension vkCmdDrawIndexedIndirectCountKHR not loaded")
7991}
7992extern "system" fn GetMemoryHostPointerPropertiesEXT_panic(_device: Device, _handleType: ExternalMemoryHandleTypeFlagBits, _pHostPointer: *const c_void, _pMemoryHostPointerProperties: *mut MemoryHostPointerPropertiesEXT) -> Result{
7993    panic!("extension vkGetMemoryHostPointerPropertiesEXT not loaded")
7994}
7995extern "system" fn CmdWriteBufferMarkerAMD_panic(_commandBuffer: CommandBuffer, _pipelineStage: PipelineStageFlagBits, _dstBuffer: Buffer, _dstOffset: DeviceSize, _marker: u32){
7996    panic!("extension vkCmdWriteBufferMarkerAMD not loaded")
7997}
7998extern "system" fn GetPhysicalDeviceCalibrateableTimeDomainsEXT_panic(_physicalDevice: PhysicalDevice, _pTimeDomainCount: *mut u32, _pTimeDomains: *mut TimeDomainEXT) -> Result{
7999    panic!("extension vkGetPhysicalDeviceCalibrateableTimeDomainsEXT not loaded")
8000}
8001extern "system" fn GetCalibratedTimestampsEXT_panic(_device: Device, _timestampCount: u32, _pTimestampInfos: *const CalibratedTimestampInfoEXT, _pTimestamps: *mut u64, _pMaxDeviation: *mut u64) -> Result{
8002    panic!("extension vkGetCalibratedTimestampsEXT not loaded")
8003}
8004extern "system" fn CmdDrawMeshTasksNV_panic(_commandBuffer: CommandBuffer, _taskCount: u32, _firstTask: u32){
8005    panic!("extension vkCmdDrawMeshTasksNV not loaded")
8006}
8007extern "system" fn CmdDrawMeshTasksIndirectNV_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _drawCount: u32, _stride: u32){
8008    panic!("extension vkCmdDrawMeshTasksIndirectNV not loaded")
8009}
8010extern "system" fn CmdDrawMeshTasksIndirectCountNV_panic(_commandBuffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize, _countBuffer: Buffer, _countBufferOffset: DeviceSize, _maxDrawCount: u32, _stride: u32){
8011    panic!("extension vkCmdDrawMeshTasksIndirectCountNV not loaded")
8012}
8013extern "system" fn CmdSetExclusiveScissorNV_panic(_commandBuffer: CommandBuffer, _firstExclusiveScissor: u32, _exclusiveScissorCount: u32, _pExclusiveScissors: *const Rect2D){
8014    panic!("extension vkCmdSetExclusiveScissorNV not loaded")
8015}
8016extern "system" fn CmdSetCheckpointNV_panic(_commandBuffer: CommandBuffer, _pCheckpointMarker: *const c_void){
8017    panic!("extension vkCmdSetCheckpointNV not loaded")
8018}
8019extern "system" fn GetQueueCheckpointDataNV_panic(_queue: Queue, _pCheckpointDataCount: *mut u32, _pCheckpointData: *mut CheckpointDataNV){
8020    panic!("extension vkGetQueueCheckpointDataNV not loaded")
8021}
8022
8023
8024impl Default for VkLib {
8025  /// Initializes all function pointers to functions that immediately panic.
8026  fn default() -> VkLib {
8027    VkLib {
8028      lib: shared_library::dynamic_library::DynamicLibrary::open(None).expect("can not open library"),
8029      feature: 0,
8030      CreateInstance_ptr: CreateInstance_panic,
8031      DestroyInstance_ptr: DestroyInstance_panic,
8032      EnumeratePhysicalDevices_ptr: EnumeratePhysicalDevices_panic,
8033      GetPhysicalDeviceFeatures_ptr: GetPhysicalDeviceFeatures_panic,
8034      GetPhysicalDeviceFormatProperties_ptr: GetPhysicalDeviceFormatProperties_panic,
8035      GetPhysicalDeviceImageFormatProperties_ptr: GetPhysicalDeviceImageFormatProperties_panic,
8036      GetPhysicalDeviceProperties_ptr: GetPhysicalDeviceProperties_panic,
8037      GetPhysicalDeviceQueueFamilyProperties_ptr: GetPhysicalDeviceQueueFamilyProperties_panic,
8038      GetPhysicalDeviceMemoryProperties_ptr: GetPhysicalDeviceMemoryProperties_panic,
8039      GetInstanceProcAddr_ptr: GetInstanceProcAddr_panic,
8040      GetDeviceProcAddr_ptr: GetDeviceProcAddr_panic,
8041      CreateDevice_ptr: CreateDevice_panic,
8042      DestroyDevice_ptr: DestroyDevice_panic,
8043      EnumerateInstanceExtensionProperties_ptr: EnumerateInstanceExtensionProperties_panic,
8044      EnumerateDeviceExtensionProperties_ptr: EnumerateDeviceExtensionProperties_panic,
8045      EnumerateInstanceLayerProperties_ptr: EnumerateInstanceLayerProperties_panic,
8046      EnumerateDeviceLayerProperties_ptr: EnumerateDeviceLayerProperties_panic,
8047      GetDeviceQueue_ptr: GetDeviceQueue_panic,
8048      QueueSubmit_ptr: QueueSubmit_panic,
8049      QueueWaitIdle_ptr: QueueWaitIdle_panic,
8050      DeviceWaitIdle_ptr: DeviceWaitIdle_panic,
8051      AllocateMemory_ptr: AllocateMemory_panic,
8052      FreeMemory_ptr: FreeMemory_panic,
8053      MapMemory_ptr: MapMemory_panic,
8054      UnmapMemory_ptr: UnmapMemory_panic,
8055      FlushMappedMemoryRanges_ptr: FlushMappedMemoryRanges_panic,
8056      InvalidateMappedMemoryRanges_ptr: InvalidateMappedMemoryRanges_panic,
8057      GetDeviceMemoryCommitment_ptr: GetDeviceMemoryCommitment_panic,
8058      BindBufferMemory_ptr: BindBufferMemory_panic,
8059      BindImageMemory_ptr: BindImageMemory_panic,
8060      GetBufferMemoryRequirements_ptr: GetBufferMemoryRequirements_panic,
8061      GetImageMemoryRequirements_ptr: GetImageMemoryRequirements_panic,
8062      GetImageSparseMemoryRequirements_ptr: GetImageSparseMemoryRequirements_panic,
8063      GetPhysicalDeviceSparseImageFormatProperties_ptr: GetPhysicalDeviceSparseImageFormatProperties_panic,
8064      QueueBindSparse_ptr: QueueBindSparse_panic,
8065      CreateFence_ptr: CreateFence_panic,
8066      DestroyFence_ptr: DestroyFence_panic,
8067      ResetFences_ptr: ResetFences_panic,
8068      GetFenceStatus_ptr: GetFenceStatus_panic,
8069      WaitForFences_ptr: WaitForFences_panic,
8070      CreateSemaphore_ptr: CreateSemaphore_panic,
8071      DestroySemaphore_ptr: DestroySemaphore_panic,
8072      CreateEvent_ptr: CreateEvent_panic,
8073      DestroyEvent_ptr: DestroyEvent_panic,
8074      GetEventStatus_ptr: GetEventStatus_panic,
8075      SetEvent_ptr: SetEvent_panic,
8076      ResetEvent_ptr: ResetEvent_panic,
8077      CreateQueryPool_ptr: CreateQueryPool_panic,
8078      DestroyQueryPool_ptr: DestroyQueryPool_panic,
8079      GetQueryPoolResults_ptr: GetQueryPoolResults_panic,
8080      CreateBuffer_ptr: CreateBuffer_panic,
8081      DestroyBuffer_ptr: DestroyBuffer_panic,
8082      CreateBufferView_ptr: CreateBufferView_panic,
8083      DestroyBufferView_ptr: DestroyBufferView_panic,
8084      CreateImage_ptr: CreateImage_panic,
8085      DestroyImage_ptr: DestroyImage_panic,
8086      GetImageSubresourceLayout_ptr: GetImageSubresourceLayout_panic,
8087      CreateImageView_ptr: CreateImageView_panic,
8088      DestroyImageView_ptr: DestroyImageView_panic,
8089      CreateShaderModule_ptr: CreateShaderModule_panic,
8090      DestroyShaderModule_ptr: DestroyShaderModule_panic,
8091      CreatePipelineCache_ptr: CreatePipelineCache_panic,
8092      DestroyPipelineCache_ptr: DestroyPipelineCache_panic,
8093      GetPipelineCacheData_ptr: GetPipelineCacheData_panic,
8094      MergePipelineCaches_ptr: MergePipelineCaches_panic,
8095      CreateGraphicsPipelines_ptr: CreateGraphicsPipelines_panic,
8096      CreateComputePipelines_ptr: CreateComputePipelines_panic,
8097      DestroyPipeline_ptr: DestroyPipeline_panic,
8098      CreatePipelineLayout_ptr: CreatePipelineLayout_panic,
8099      DestroyPipelineLayout_ptr: DestroyPipelineLayout_panic,
8100      CreateSampler_ptr: CreateSampler_panic,
8101      DestroySampler_ptr: DestroySampler_panic,
8102      CreateDescriptorSetLayout_ptr: CreateDescriptorSetLayout_panic,
8103      DestroyDescriptorSetLayout_ptr: DestroyDescriptorSetLayout_panic,
8104      CreateDescriptorPool_ptr: CreateDescriptorPool_panic,
8105      DestroyDescriptorPool_ptr: DestroyDescriptorPool_panic,
8106      ResetDescriptorPool_ptr: ResetDescriptorPool_panic,
8107      AllocateDescriptorSets_ptr: AllocateDescriptorSets_panic,
8108      FreeDescriptorSets_ptr: FreeDescriptorSets_panic,
8109      UpdateDescriptorSets_ptr: UpdateDescriptorSets_panic,
8110      CreateFramebuffer_ptr: CreateFramebuffer_panic,
8111      DestroyFramebuffer_ptr: DestroyFramebuffer_panic,
8112      CreateRenderPass_ptr: CreateRenderPass_panic,
8113      DestroyRenderPass_ptr: DestroyRenderPass_panic,
8114      GetRenderAreaGranularity_ptr: GetRenderAreaGranularity_panic,
8115      CreateCommandPool_ptr: CreateCommandPool_panic,
8116      DestroyCommandPool_ptr: DestroyCommandPool_panic,
8117      ResetCommandPool_ptr: ResetCommandPool_panic,
8118      AllocateCommandBuffers_ptr: AllocateCommandBuffers_panic,
8119      FreeCommandBuffers_ptr: FreeCommandBuffers_panic,
8120      BeginCommandBuffer_ptr: BeginCommandBuffer_panic,
8121      EndCommandBuffer_ptr: EndCommandBuffer_panic,
8122      ResetCommandBuffer_ptr: ResetCommandBuffer_panic,
8123      CmdBindPipeline_ptr: CmdBindPipeline_panic,
8124      CmdSetViewport_ptr: CmdSetViewport_panic,
8125      CmdSetScissor_ptr: CmdSetScissor_panic,
8126      CmdSetLineWidth_ptr: CmdSetLineWidth_panic,
8127      CmdSetDepthBias_ptr: CmdSetDepthBias_panic,
8128      CmdSetBlendConstants_ptr: CmdSetBlendConstants_panic,
8129      CmdSetDepthBounds_ptr: CmdSetDepthBounds_panic,
8130      CmdSetStencilCompareMask_ptr: CmdSetStencilCompareMask_panic,
8131      CmdSetStencilWriteMask_ptr: CmdSetStencilWriteMask_panic,
8132      CmdSetStencilReference_ptr: CmdSetStencilReference_panic,
8133      CmdBindDescriptorSets_ptr: CmdBindDescriptorSets_panic,
8134      CmdBindIndexBuffer_ptr: CmdBindIndexBuffer_panic,
8135      CmdBindVertexBuffers_ptr: CmdBindVertexBuffers_panic,
8136      CmdDraw_ptr: CmdDraw_panic,
8137      CmdDrawIndexed_ptr: CmdDrawIndexed_panic,
8138      CmdDrawIndirect_ptr: CmdDrawIndirect_panic,
8139      CmdDrawIndexedIndirect_ptr: CmdDrawIndexedIndirect_panic,
8140      CmdDispatch_ptr: CmdDispatch_panic,
8141      CmdDispatchIndirect_ptr: CmdDispatchIndirect_panic,
8142      CmdCopyBuffer_ptr: CmdCopyBuffer_panic,
8143      CmdCopyImage_ptr: CmdCopyImage_panic,
8144      CmdBlitImage_ptr: CmdBlitImage_panic,
8145      CmdCopyBufferToImage_ptr: CmdCopyBufferToImage_panic,
8146      CmdCopyImageToBuffer_ptr: CmdCopyImageToBuffer_panic,
8147      CmdUpdateBuffer_ptr: CmdUpdateBuffer_panic,
8148      CmdFillBuffer_ptr: CmdFillBuffer_panic,
8149      CmdClearColorImage_ptr: CmdClearColorImage_panic,
8150      CmdClearDepthStencilImage_ptr: CmdClearDepthStencilImage_panic,
8151      CmdClearAttachments_ptr: CmdClearAttachments_panic,
8152      CmdResolveImage_ptr: CmdResolveImage_panic,
8153      CmdSetEvent_ptr: CmdSetEvent_panic,
8154      CmdResetEvent_ptr: CmdResetEvent_panic,
8155      CmdWaitEvents_ptr: CmdWaitEvents_panic,
8156      CmdPipelineBarrier_ptr: CmdPipelineBarrier_panic,
8157      CmdBeginQuery_ptr: CmdBeginQuery_panic,
8158      CmdEndQuery_ptr: CmdEndQuery_panic,
8159      CmdResetQueryPool_ptr: CmdResetQueryPool_panic,
8160      CmdWriteTimestamp_ptr: CmdWriteTimestamp_panic,
8161      CmdCopyQueryPoolResults_ptr: CmdCopyQueryPoolResults_panic,
8162      CmdPushConstants_ptr: CmdPushConstants_panic,
8163      CmdBeginRenderPass_ptr: CmdBeginRenderPass_panic,
8164      CmdNextSubpass_ptr: CmdNextSubpass_panic,
8165      CmdEndRenderPass_ptr: CmdEndRenderPass_panic,
8166      CmdExecuteCommands_ptr: CmdExecuteCommands_panic,
8167      EnumerateInstanceVersion_ptr: EnumerateInstanceVersion_panic,
8168      BindBufferMemory2_ptr: BindBufferMemory2_panic,
8169      BindImageMemory2_ptr: BindImageMemory2_panic,
8170      GetDeviceGroupPeerMemoryFeatures_ptr: GetDeviceGroupPeerMemoryFeatures_panic,
8171      CmdSetDeviceMask_ptr: CmdSetDeviceMask_panic,
8172      CmdDispatchBase_ptr: CmdDispatchBase_panic,
8173      EnumeratePhysicalDeviceGroups_ptr: EnumeratePhysicalDeviceGroups_panic,
8174      GetImageMemoryRequirements2_ptr: GetImageMemoryRequirements2_panic,
8175      GetBufferMemoryRequirements2_ptr: GetBufferMemoryRequirements2_panic,
8176      GetImageSparseMemoryRequirements2_ptr: GetImageSparseMemoryRequirements2_panic,
8177      GetPhysicalDeviceFeatures2_ptr: GetPhysicalDeviceFeatures2_panic,
8178      GetPhysicalDeviceProperties2_ptr: GetPhysicalDeviceProperties2_panic,
8179      GetPhysicalDeviceFormatProperties2_ptr: GetPhysicalDeviceFormatProperties2_panic,
8180      GetPhysicalDeviceImageFormatProperties2_ptr: GetPhysicalDeviceImageFormatProperties2_panic,
8181      GetPhysicalDeviceQueueFamilyProperties2_ptr: GetPhysicalDeviceQueueFamilyProperties2_panic,
8182      GetPhysicalDeviceMemoryProperties2_ptr: GetPhysicalDeviceMemoryProperties2_panic,
8183      GetPhysicalDeviceSparseImageFormatProperties2_ptr: GetPhysicalDeviceSparseImageFormatProperties2_panic,
8184      TrimCommandPool_ptr: TrimCommandPool_panic,
8185      GetDeviceQueue2_ptr: GetDeviceQueue2_panic,
8186      CreateSamplerYcbcrConversion_ptr: CreateSamplerYcbcrConversion_panic,
8187      DestroySamplerYcbcrConversion_ptr: DestroySamplerYcbcrConversion_panic,
8188      CreateDescriptorUpdateTemplate_ptr: CreateDescriptorUpdateTemplate_panic,
8189      DestroyDescriptorUpdateTemplate_ptr: DestroyDescriptorUpdateTemplate_panic,
8190      UpdateDescriptorSetWithTemplate_ptr: UpdateDescriptorSetWithTemplate_panic,
8191      GetPhysicalDeviceExternalBufferProperties_ptr: GetPhysicalDeviceExternalBufferProperties_panic,
8192      GetPhysicalDeviceExternalFenceProperties_ptr: GetPhysicalDeviceExternalFenceProperties_panic,
8193      GetPhysicalDeviceExternalSemaphoreProperties_ptr: GetPhysicalDeviceExternalSemaphoreProperties_panic,
8194      GetDescriptorSetLayoutSupport_ptr: GetDescriptorSetLayoutSupport_panic,
8195      DestroySurfaceKHR_ptr: DestroySurfaceKHR_panic,
8196      GetPhysicalDeviceSurfaceSupportKHR_ptr: GetPhysicalDeviceSurfaceSupportKHR_panic,
8197      GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr: GetPhysicalDeviceSurfaceCapabilitiesKHR_panic,
8198      GetPhysicalDeviceSurfaceFormatsKHR_ptr: GetPhysicalDeviceSurfaceFormatsKHR_panic,
8199      GetPhysicalDeviceSurfacePresentModesKHR_ptr: GetPhysicalDeviceSurfacePresentModesKHR_panic,
8200      GetPhysicalDeviceDisplayPropertiesKHR_ptr: GetPhysicalDeviceDisplayPropertiesKHR_panic,
8201      GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr: GetPhysicalDeviceDisplayPlanePropertiesKHR_panic,
8202      GetDisplayPlaneSupportedDisplaysKHR_ptr: GetDisplayPlaneSupportedDisplaysKHR_panic,
8203      GetDisplayModePropertiesKHR_ptr: GetDisplayModePropertiesKHR_panic,
8204      CreateDisplayModeKHR_ptr: CreateDisplayModeKHR_panic,
8205      GetDisplayPlaneCapabilitiesKHR_ptr: GetDisplayPlaneCapabilitiesKHR_panic,
8206      CreateDisplayPlaneSurfaceKHR_ptr: CreateDisplayPlaneSurfaceKHR_panic,
8207      CreateXlibSurfaceKHR_ptr: CreateXlibSurfaceKHR_panic,
8208      GetPhysicalDeviceXlibPresentationSupportKHR_ptr: GetPhysicalDeviceXlibPresentationSupportKHR_panic,
8209      CreateXcbSurfaceKHR_ptr: CreateXcbSurfaceKHR_panic,
8210      GetPhysicalDeviceXcbPresentationSupportKHR_ptr: GetPhysicalDeviceXcbPresentationSupportKHR_panic,
8211      CreateWaylandSurfaceKHR_ptr: CreateWaylandSurfaceKHR_panic,
8212      GetPhysicalDeviceWaylandPresentationSupportKHR_ptr: GetPhysicalDeviceWaylandPresentationSupportKHR_panic,
8213      CreateAndroidSurfaceKHR_ptr: CreateAndroidSurfaceKHR_panic,
8214      CreateWin32SurfaceKHR_ptr: CreateWin32SurfaceKHR_panic,
8215      GetPhysicalDeviceWin32PresentationSupportKHR_ptr: GetPhysicalDeviceWin32PresentationSupportKHR_panic,
8216      CreateDebugReportCallbackEXT_ptr: CreateDebugReportCallbackEXT_panic,
8217      DestroyDebugReportCallbackEXT_ptr: DestroyDebugReportCallbackEXT_panic,
8218      DebugReportMessageEXT_ptr: DebugReportMessageEXT_panic,
8219      GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr: GetPhysicalDeviceExternalImageFormatPropertiesNV_panic,
8220      CreateViSurfaceNN_ptr: CreateViSurfaceNN_panic,
8221      ReleaseDisplayEXT_ptr: ReleaseDisplayEXT_panic,
8222      AcquireXlibDisplayEXT_ptr: AcquireXlibDisplayEXT_panic,
8223      GetRandROutputDisplayEXT_ptr: GetRandROutputDisplayEXT_panic,
8224      GetPhysicalDeviceSurfaceCapabilities2EXT_ptr: GetPhysicalDeviceSurfaceCapabilities2EXT_panic,
8225      GetPhysicalDeviceSurfaceCapabilities2KHR_ptr: GetPhysicalDeviceSurfaceCapabilities2KHR_panic,
8226      GetPhysicalDeviceSurfaceFormats2KHR_ptr: GetPhysicalDeviceSurfaceFormats2KHR_panic,
8227      GetPhysicalDeviceDisplayProperties2KHR_ptr: GetPhysicalDeviceDisplayProperties2KHR_panic,
8228      GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr: GetPhysicalDeviceDisplayPlaneProperties2KHR_panic,
8229      GetDisplayModeProperties2KHR_ptr: GetDisplayModeProperties2KHR_panic,
8230      GetDisplayPlaneCapabilities2KHR_ptr: GetDisplayPlaneCapabilities2KHR_panic,
8231      CreateIOSSurfaceMVK_ptr: CreateIOSSurfaceMVK_panic,
8232      CreateMacOSSurfaceMVK_ptr: CreateMacOSSurfaceMVK_panic,
8233      SetDebugUtilsObjectNameEXT_ptr: SetDebugUtilsObjectNameEXT_panic,
8234      SetDebugUtilsObjectTagEXT_ptr: SetDebugUtilsObjectTagEXT_panic,
8235      QueueBeginDebugUtilsLabelEXT_ptr: QueueBeginDebugUtilsLabelEXT_panic,
8236      QueueEndDebugUtilsLabelEXT_ptr: QueueEndDebugUtilsLabelEXT_panic,
8237      QueueInsertDebugUtilsLabelEXT_ptr: QueueInsertDebugUtilsLabelEXT_panic,
8238      CmdBeginDebugUtilsLabelEXT_ptr: CmdBeginDebugUtilsLabelEXT_panic,
8239      CmdEndDebugUtilsLabelEXT_ptr: CmdEndDebugUtilsLabelEXT_panic,
8240      CmdInsertDebugUtilsLabelEXT_ptr: CmdInsertDebugUtilsLabelEXT_panic,
8241      CreateDebugUtilsMessengerEXT_ptr: CreateDebugUtilsMessengerEXT_panic,
8242      DestroyDebugUtilsMessengerEXT_ptr: DestroyDebugUtilsMessengerEXT_panic,
8243      SubmitDebugUtilsMessageEXT_ptr: SubmitDebugUtilsMessageEXT_panic,
8244      CreateImagePipeSurfaceFUCHSIA_ptr: CreateImagePipeSurfaceFUCHSIA_panic,
8245      CreateSwapchainKHR_ptr: CreateSwapchainKHR_panic,
8246      DestroySwapchainKHR_ptr: DestroySwapchainKHR_panic,
8247      GetSwapchainImagesKHR_ptr: GetSwapchainImagesKHR_panic,
8248      AcquireNextImageKHR_ptr: AcquireNextImageKHR_panic,
8249      QueuePresentKHR_ptr: QueuePresentKHR_panic,
8250      GetDeviceGroupPresentCapabilitiesKHR_ptr: GetDeviceGroupPresentCapabilitiesKHR_panic,
8251      GetDeviceGroupSurfacePresentModesKHR_ptr: GetDeviceGroupSurfacePresentModesKHR_panic,
8252      GetPhysicalDevicePresentRectanglesKHR_ptr: GetPhysicalDevicePresentRectanglesKHR_panic,
8253      AcquireNextImage2KHR_ptr: AcquireNextImage2KHR_panic,
8254      CreateSharedSwapchainsKHR_ptr: CreateSharedSwapchainsKHR_panic,
8255      DebugMarkerSetObjectTagEXT_ptr: DebugMarkerSetObjectTagEXT_panic,
8256      DebugMarkerSetObjectNameEXT_ptr: DebugMarkerSetObjectNameEXT_panic,
8257      CmdDebugMarkerBeginEXT_ptr: CmdDebugMarkerBeginEXT_panic,
8258      CmdDebugMarkerEndEXT_ptr: CmdDebugMarkerEndEXT_panic,
8259      CmdDebugMarkerInsertEXT_ptr: CmdDebugMarkerInsertEXT_panic,
8260      CmdBindTransformFeedbackBuffersEXT_ptr: CmdBindTransformFeedbackBuffersEXT_panic,
8261      CmdBeginTransformFeedbackEXT_ptr: CmdBeginTransformFeedbackEXT_panic,
8262      CmdEndTransformFeedbackEXT_ptr: CmdEndTransformFeedbackEXT_panic,
8263      CmdBeginQueryIndexedEXT_ptr: CmdBeginQueryIndexedEXT_panic,
8264      CmdEndQueryIndexedEXT_ptr: CmdEndQueryIndexedEXT_panic,
8265      CmdDrawIndirectByteCountEXT_ptr: CmdDrawIndirectByteCountEXT_panic,
8266      CmdDrawIndirectCountAMD_ptr: CmdDrawIndirectCountAMD_panic,
8267      CmdDrawIndexedIndirectCountAMD_ptr: CmdDrawIndexedIndirectCountAMD_panic,
8268      GetShaderInfoAMD_ptr: GetShaderInfoAMD_panic,
8269      GetMemoryWin32HandleNV_ptr: GetMemoryWin32HandleNV_panic,
8270      GetMemoryWin32HandleKHR_ptr: GetMemoryWin32HandleKHR_panic,
8271      GetMemoryWin32HandlePropertiesKHR_ptr: GetMemoryWin32HandlePropertiesKHR_panic,
8272      GetMemoryFdKHR_ptr: GetMemoryFdKHR_panic,
8273      GetMemoryFdPropertiesKHR_ptr: GetMemoryFdPropertiesKHR_panic,
8274      ImportSemaphoreWin32HandleKHR_ptr: ImportSemaphoreWin32HandleKHR_panic,
8275      GetSemaphoreWin32HandleKHR_ptr: GetSemaphoreWin32HandleKHR_panic,
8276      ImportSemaphoreFdKHR_ptr: ImportSemaphoreFdKHR_panic,
8277      GetSemaphoreFdKHR_ptr: GetSemaphoreFdKHR_panic,
8278      CmdPushDescriptorSetKHR_ptr: CmdPushDescriptorSetKHR_panic,
8279      CmdPushDescriptorSetWithTemplateKHR_ptr: CmdPushDescriptorSetWithTemplateKHR_panic,
8280      CmdBeginConditionalRenderingEXT_ptr: CmdBeginConditionalRenderingEXT_panic,
8281      CmdEndConditionalRenderingEXT_ptr: CmdEndConditionalRenderingEXT_panic,
8282      CmdProcessCommandsNVX_ptr: CmdProcessCommandsNVX_panic,
8283      CmdReserveSpaceForCommandsNVX_ptr: CmdReserveSpaceForCommandsNVX_panic,
8284      CreateIndirectCommandsLayoutNVX_ptr: CreateIndirectCommandsLayoutNVX_panic,
8285      DestroyIndirectCommandsLayoutNVX_ptr: DestroyIndirectCommandsLayoutNVX_panic,
8286      CreateObjectTableNVX_ptr: CreateObjectTableNVX_panic,
8287      DestroyObjectTableNVX_ptr: DestroyObjectTableNVX_panic,
8288      RegisterObjectsNVX_ptr: RegisterObjectsNVX_panic,
8289      UnregisterObjectsNVX_ptr: UnregisterObjectsNVX_panic,
8290      GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr: GetPhysicalDeviceGeneratedCommandsPropertiesNVX_panic,
8291      CmdSetViewportWScalingNV_ptr: CmdSetViewportWScalingNV_panic,
8292      DisplayPowerControlEXT_ptr: DisplayPowerControlEXT_panic,
8293      RegisterDeviceEventEXT_ptr: RegisterDeviceEventEXT_panic,
8294      RegisterDisplayEventEXT_ptr: RegisterDisplayEventEXT_panic,
8295      GetSwapchainCounterEXT_ptr: GetSwapchainCounterEXT_panic,
8296      GetRefreshCycleDurationGOOGLE_ptr: GetRefreshCycleDurationGOOGLE_panic,
8297      GetPastPresentationTimingGOOGLE_ptr: GetPastPresentationTimingGOOGLE_panic,
8298      CmdSetDiscardRectangleEXT_ptr: CmdSetDiscardRectangleEXT_panic,
8299      SetHdrMetadataEXT_ptr: SetHdrMetadataEXT_panic,
8300      CreateRenderPass2KHR_ptr: CreateRenderPass2KHR_panic,
8301      CmdBeginRenderPass2KHR_ptr: CmdBeginRenderPass2KHR_panic,
8302      CmdNextSubpass2KHR_ptr: CmdNextSubpass2KHR_panic,
8303      CmdEndRenderPass2KHR_ptr: CmdEndRenderPass2KHR_panic,
8304      GetSwapchainStatusKHR_ptr: GetSwapchainStatusKHR_panic,
8305      ImportFenceWin32HandleKHR_ptr: ImportFenceWin32HandleKHR_panic,
8306      GetFenceWin32HandleKHR_ptr: GetFenceWin32HandleKHR_panic,
8307      ImportFenceFdKHR_ptr: ImportFenceFdKHR_panic,
8308      GetFenceFdKHR_ptr: GetFenceFdKHR_panic,
8309      GetAndroidHardwareBufferPropertiesANDROID_ptr: GetAndroidHardwareBufferPropertiesANDROID_panic,
8310      GetMemoryAndroidHardwareBufferANDROID_ptr: GetMemoryAndroidHardwareBufferANDROID_panic,
8311      CmdSetSampleLocationsEXT_ptr: CmdSetSampleLocationsEXT_panic,
8312      GetPhysicalDeviceMultisamplePropertiesEXT_ptr: GetPhysicalDeviceMultisamplePropertiesEXT_panic,
8313      GetImageDrmFormatModifierPropertiesEXT_ptr: GetImageDrmFormatModifierPropertiesEXT_panic,
8314      CreateValidationCacheEXT_ptr: CreateValidationCacheEXT_panic,
8315      DestroyValidationCacheEXT_ptr: DestroyValidationCacheEXT_panic,
8316      MergeValidationCachesEXT_ptr: MergeValidationCachesEXT_panic,
8317      GetValidationCacheDataEXT_ptr: GetValidationCacheDataEXT_panic,
8318      CmdBindShadingRateImageNV_ptr: CmdBindShadingRateImageNV_panic,
8319      CmdSetViewportShadingRatePaletteNV_ptr: CmdSetViewportShadingRatePaletteNV_panic,
8320      CmdSetCoarseSampleOrderNV_ptr: CmdSetCoarseSampleOrderNV_panic,
8321      CreateAccelerationStructureNV_ptr: CreateAccelerationStructureNV_panic,
8322      DestroyAccelerationStructureNV_ptr: DestroyAccelerationStructureNV_panic,
8323      GetAccelerationStructureMemoryRequirementsNV_ptr: GetAccelerationStructureMemoryRequirementsNV_panic,
8324      BindAccelerationStructureMemoryNV_ptr: BindAccelerationStructureMemoryNV_panic,
8325      CmdBuildAccelerationStructureNV_ptr: CmdBuildAccelerationStructureNV_panic,
8326      CmdCopyAccelerationStructureNV_ptr: CmdCopyAccelerationStructureNV_panic,
8327      CmdTraceRaysNV_ptr: CmdTraceRaysNV_panic,
8328      CreateRayTracingPipelinesNV_ptr: CreateRayTracingPipelinesNV_panic,
8329      GetRayTracingShaderGroupHandlesNV_ptr: GetRayTracingShaderGroupHandlesNV_panic,
8330      GetAccelerationStructureHandleNV_ptr: GetAccelerationStructureHandleNV_panic,
8331      CmdWriteAccelerationStructuresPropertiesNV_ptr: CmdWriteAccelerationStructuresPropertiesNV_panic,
8332      CompileDeferredNV_ptr: CompileDeferredNV_panic,
8333      CmdDrawIndirectCountKHR_ptr: CmdDrawIndirectCountKHR_panic,
8334      CmdDrawIndexedIndirectCountKHR_ptr: CmdDrawIndexedIndirectCountKHR_panic,
8335      GetMemoryHostPointerPropertiesEXT_ptr: GetMemoryHostPointerPropertiesEXT_panic,
8336      CmdWriteBufferMarkerAMD_ptr: CmdWriteBufferMarkerAMD_panic,
8337      GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr: GetPhysicalDeviceCalibrateableTimeDomainsEXT_panic,
8338      GetCalibratedTimestampsEXT_ptr: GetCalibratedTimestampsEXT_panic,
8339      CmdDrawMeshTasksNV_ptr: CmdDrawMeshTasksNV_panic,
8340      CmdDrawMeshTasksIndirectNV_ptr: CmdDrawMeshTasksIndirectNV_panic,
8341      CmdDrawMeshTasksIndirectCountNV_ptr: CmdDrawMeshTasksIndirectCountNV_panic,
8342      CmdSetExclusiveScissorNV_ptr: CmdSetExclusiveScissorNV_panic,
8343      CmdSetCheckpointNV_ptr: CmdSetCheckpointNV_panic,
8344      GetQueueCheckpointDataNV_ptr: GetQueueCheckpointDataNV_panic,
8345    }
8346  }
8347}
8348
8349
8350impl VkLib {
8351  /// Initializes commands for the newest available vulkan version
8352  /// 
8353  /// ```
8354  /// let vk_lib = nobs_vk::VkLib::new();
8355  /// ```
8356  /// is the same as
8357  /// ```
8358  /// let vk_lib = nobs_vk::VkLib::with_feature(nobs_vk::VERSION_1_1);
8359  /// ```
8360  pub fn new() -> std::boxed::Box<VkLib> {
8361    Self::with_feature(VERSION_1_1)
8362  }
8363  /// Initializes commands for the specified vulkan feature
8364  /// 
8365  /// Select a feature either with the predefined constants `VERSION_x_x`,
8366  /// or use the [make_version](macro.make_version.html) macro
8367  pub fn with_feature(feature: u32) -> std::boxed::Box<VkLib> {
8368    #[cfg(windows)]
8369    fn open_lib() -> shared_library::dynamic_library::DynamicLibrary {
8370      shared_library::dynamic_library::DynamicLibrary::open(Some(std::path::Path::new("vulkan-1.dll"))).expect("vulkan not found");
8371    }
8372    #[cfg(all(unix, not(target_os = "android"), not(target_os = "macos")))]
8373    fn open_lib() -> shared_library::dynamic_library::DynamicLibrary {
8374      shared_library::dynamic_library::DynamicLibrary::open(Some(std::path::Path::new("libvulkan.so"))).expect("vulkan not found")
8375    }
8376    #[cfg(target_os = "macos")]
8377    fn open_lib() -> shared_library::dynamic_library::DynamicLibrary {
8378      shared_library::dynamic_library::DynamicLibrary::open(Some(std::path::Path::new("libvulkan.1.dylib"))).expect("vulkan not found")
8379    }
8380    let vk_dl = open_lib();
8381
8382    unsafe { 
8383        let CreateInstance_ptr = if feature < VERSION_1_0 {
8384          CreateInstance_panic as PFN_vkCreateInstance
8385        } else {
8386          mem::transmute(vk_dl.symbol::<c_void>("vkCreateInstance").expect("could not find symbol for vkCreateInstance"))
8387        };
8388        let DestroyInstance_ptr = if feature < VERSION_1_0 {
8389          DestroyInstance_panic as PFN_vkDestroyInstance
8390        } else {
8391          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyInstance").expect("could not find symbol for vkDestroyInstance"))
8392        };
8393        let EnumeratePhysicalDevices_ptr = if feature < VERSION_1_0 {
8394          EnumeratePhysicalDevices_panic as PFN_vkEnumeratePhysicalDevices
8395        } else {
8396          mem::transmute(vk_dl.symbol::<c_void>("vkEnumeratePhysicalDevices").expect("could not find symbol for vkEnumeratePhysicalDevices"))
8397        };
8398        let GetPhysicalDeviceFeatures_ptr = if feature < VERSION_1_0 {
8399          GetPhysicalDeviceFeatures_panic as PFN_vkGetPhysicalDeviceFeatures
8400        } else {
8401          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceFeatures").expect("could not find symbol for vkGetPhysicalDeviceFeatures"))
8402        };
8403        let GetPhysicalDeviceFormatProperties_ptr = if feature < VERSION_1_0 {
8404          GetPhysicalDeviceFormatProperties_panic as PFN_vkGetPhysicalDeviceFormatProperties
8405        } else {
8406          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceFormatProperties").expect("could not find symbol for vkGetPhysicalDeviceFormatProperties"))
8407        };
8408        let GetPhysicalDeviceImageFormatProperties_ptr = if feature < VERSION_1_0 {
8409          GetPhysicalDeviceImageFormatProperties_panic as PFN_vkGetPhysicalDeviceImageFormatProperties
8410        } else {
8411          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceImageFormatProperties").expect("could not find symbol for vkGetPhysicalDeviceImageFormatProperties"))
8412        };
8413        let GetPhysicalDeviceProperties_ptr = if feature < VERSION_1_0 {
8414          GetPhysicalDeviceProperties_panic as PFN_vkGetPhysicalDeviceProperties
8415        } else {
8416          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceProperties").expect("could not find symbol for vkGetPhysicalDeviceProperties"))
8417        };
8418        let GetPhysicalDeviceQueueFamilyProperties_ptr = if feature < VERSION_1_0 {
8419          GetPhysicalDeviceQueueFamilyProperties_panic as PFN_vkGetPhysicalDeviceQueueFamilyProperties
8420        } else {
8421          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceQueueFamilyProperties").expect("could not find symbol for vkGetPhysicalDeviceQueueFamilyProperties"))
8422        };
8423        let GetPhysicalDeviceMemoryProperties_ptr = if feature < VERSION_1_0 {
8424          GetPhysicalDeviceMemoryProperties_panic as PFN_vkGetPhysicalDeviceMemoryProperties
8425        } else {
8426          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceMemoryProperties").expect("could not find symbol for vkGetPhysicalDeviceMemoryProperties"))
8427        };
8428        let GetInstanceProcAddr_ptr = if feature < VERSION_1_0 {
8429          GetInstanceProcAddr_panic as PFN_vkGetInstanceProcAddr
8430        } else {
8431          mem::transmute(vk_dl.symbol::<c_void>("vkGetInstanceProcAddr").expect("could not find symbol for vkGetInstanceProcAddr"))
8432        };
8433        let GetDeviceProcAddr_ptr = if feature < VERSION_1_0 {
8434          GetDeviceProcAddr_panic as PFN_vkGetDeviceProcAddr
8435        } else {
8436          mem::transmute(vk_dl.symbol::<c_void>("vkGetDeviceProcAddr").expect("could not find symbol for vkGetDeviceProcAddr"))
8437        };
8438        let CreateDevice_ptr = if feature < VERSION_1_0 {
8439          CreateDevice_panic as PFN_vkCreateDevice
8440        } else {
8441          mem::transmute(vk_dl.symbol::<c_void>("vkCreateDevice").expect("could not find symbol for vkCreateDevice"))
8442        };
8443        let DestroyDevice_ptr = if feature < VERSION_1_0 {
8444          DestroyDevice_panic as PFN_vkDestroyDevice
8445        } else {
8446          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyDevice").expect("could not find symbol for vkDestroyDevice"))
8447        };
8448        let EnumerateInstanceExtensionProperties_ptr = if feature < VERSION_1_0 {
8449          EnumerateInstanceExtensionProperties_panic as PFN_vkEnumerateInstanceExtensionProperties
8450        } else {
8451          mem::transmute(vk_dl.symbol::<c_void>("vkEnumerateInstanceExtensionProperties").expect("could not find symbol for vkEnumerateInstanceExtensionProperties"))
8452        };
8453        let EnumerateDeviceExtensionProperties_ptr = if feature < VERSION_1_0 {
8454          EnumerateDeviceExtensionProperties_panic as PFN_vkEnumerateDeviceExtensionProperties
8455        } else {
8456          mem::transmute(vk_dl.symbol::<c_void>("vkEnumerateDeviceExtensionProperties").expect("could not find symbol for vkEnumerateDeviceExtensionProperties"))
8457        };
8458        let EnumerateInstanceLayerProperties_ptr = if feature < VERSION_1_0 {
8459          EnumerateInstanceLayerProperties_panic as PFN_vkEnumerateInstanceLayerProperties
8460        } else {
8461          mem::transmute(vk_dl.symbol::<c_void>("vkEnumerateInstanceLayerProperties").expect("could not find symbol for vkEnumerateInstanceLayerProperties"))
8462        };
8463        let EnumerateDeviceLayerProperties_ptr = if feature < VERSION_1_0 {
8464          EnumerateDeviceLayerProperties_panic as PFN_vkEnumerateDeviceLayerProperties
8465        } else {
8466          mem::transmute(vk_dl.symbol::<c_void>("vkEnumerateDeviceLayerProperties").expect("could not find symbol for vkEnumerateDeviceLayerProperties"))
8467        };
8468        let GetDeviceQueue_ptr = if feature < VERSION_1_0 {
8469          GetDeviceQueue_panic as PFN_vkGetDeviceQueue
8470        } else {
8471          mem::transmute(vk_dl.symbol::<c_void>("vkGetDeviceQueue").expect("could not find symbol for vkGetDeviceQueue"))
8472        };
8473        let QueueSubmit_ptr = if feature < VERSION_1_0 {
8474          QueueSubmit_panic as PFN_vkQueueSubmit
8475        } else {
8476          mem::transmute(vk_dl.symbol::<c_void>("vkQueueSubmit").expect("could not find symbol for vkQueueSubmit"))
8477        };
8478        let QueueWaitIdle_ptr = if feature < VERSION_1_0 {
8479          QueueWaitIdle_panic as PFN_vkQueueWaitIdle
8480        } else {
8481          mem::transmute(vk_dl.symbol::<c_void>("vkQueueWaitIdle").expect("could not find symbol for vkQueueWaitIdle"))
8482        };
8483        let DeviceWaitIdle_ptr = if feature < VERSION_1_0 {
8484          DeviceWaitIdle_panic as PFN_vkDeviceWaitIdle
8485        } else {
8486          mem::transmute(vk_dl.symbol::<c_void>("vkDeviceWaitIdle").expect("could not find symbol for vkDeviceWaitIdle"))
8487        };
8488        let AllocateMemory_ptr = if feature < VERSION_1_0 {
8489          AllocateMemory_panic as PFN_vkAllocateMemory
8490        } else {
8491          mem::transmute(vk_dl.symbol::<c_void>("vkAllocateMemory").expect("could not find symbol for vkAllocateMemory"))
8492        };
8493        let FreeMemory_ptr = if feature < VERSION_1_0 {
8494          FreeMemory_panic as PFN_vkFreeMemory
8495        } else {
8496          mem::transmute(vk_dl.symbol::<c_void>("vkFreeMemory").expect("could not find symbol for vkFreeMemory"))
8497        };
8498        let MapMemory_ptr = if feature < VERSION_1_0 {
8499          MapMemory_panic as PFN_vkMapMemory
8500        } else {
8501          mem::transmute(vk_dl.symbol::<c_void>("vkMapMemory").expect("could not find symbol for vkMapMemory"))
8502        };
8503        let UnmapMemory_ptr = if feature < VERSION_1_0 {
8504          UnmapMemory_panic as PFN_vkUnmapMemory
8505        } else {
8506          mem::transmute(vk_dl.symbol::<c_void>("vkUnmapMemory").expect("could not find symbol for vkUnmapMemory"))
8507        };
8508        let FlushMappedMemoryRanges_ptr = if feature < VERSION_1_0 {
8509          FlushMappedMemoryRanges_panic as PFN_vkFlushMappedMemoryRanges
8510        } else {
8511          mem::transmute(vk_dl.symbol::<c_void>("vkFlushMappedMemoryRanges").expect("could not find symbol for vkFlushMappedMemoryRanges"))
8512        };
8513        let InvalidateMappedMemoryRanges_ptr = if feature < VERSION_1_0 {
8514          InvalidateMappedMemoryRanges_panic as PFN_vkInvalidateMappedMemoryRanges
8515        } else {
8516          mem::transmute(vk_dl.symbol::<c_void>("vkInvalidateMappedMemoryRanges").expect("could not find symbol for vkInvalidateMappedMemoryRanges"))
8517        };
8518        let GetDeviceMemoryCommitment_ptr = if feature < VERSION_1_0 {
8519          GetDeviceMemoryCommitment_panic as PFN_vkGetDeviceMemoryCommitment
8520        } else {
8521          mem::transmute(vk_dl.symbol::<c_void>("vkGetDeviceMemoryCommitment").expect("could not find symbol for vkGetDeviceMemoryCommitment"))
8522        };
8523        let BindBufferMemory_ptr = if feature < VERSION_1_0 {
8524          BindBufferMemory_panic as PFN_vkBindBufferMemory
8525        } else {
8526          mem::transmute(vk_dl.symbol::<c_void>("vkBindBufferMemory").expect("could not find symbol for vkBindBufferMemory"))
8527        };
8528        let BindImageMemory_ptr = if feature < VERSION_1_0 {
8529          BindImageMemory_panic as PFN_vkBindImageMemory
8530        } else {
8531          mem::transmute(vk_dl.symbol::<c_void>("vkBindImageMemory").expect("could not find symbol for vkBindImageMemory"))
8532        };
8533        let GetBufferMemoryRequirements_ptr = if feature < VERSION_1_0 {
8534          GetBufferMemoryRequirements_panic as PFN_vkGetBufferMemoryRequirements
8535        } else {
8536          mem::transmute(vk_dl.symbol::<c_void>("vkGetBufferMemoryRequirements").expect("could not find symbol for vkGetBufferMemoryRequirements"))
8537        };
8538        let GetImageMemoryRequirements_ptr = if feature < VERSION_1_0 {
8539          GetImageMemoryRequirements_panic as PFN_vkGetImageMemoryRequirements
8540        } else {
8541          mem::transmute(vk_dl.symbol::<c_void>("vkGetImageMemoryRequirements").expect("could not find symbol for vkGetImageMemoryRequirements"))
8542        };
8543        let GetImageSparseMemoryRequirements_ptr = if feature < VERSION_1_0 {
8544          GetImageSparseMemoryRequirements_panic as PFN_vkGetImageSparseMemoryRequirements
8545        } else {
8546          mem::transmute(vk_dl.symbol::<c_void>("vkGetImageSparseMemoryRequirements").expect("could not find symbol for vkGetImageSparseMemoryRequirements"))
8547        };
8548        let GetPhysicalDeviceSparseImageFormatProperties_ptr = if feature < VERSION_1_0 {
8549          GetPhysicalDeviceSparseImageFormatProperties_panic as PFN_vkGetPhysicalDeviceSparseImageFormatProperties
8550        } else {
8551          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSparseImageFormatProperties").expect("could not find symbol for vkGetPhysicalDeviceSparseImageFormatProperties"))
8552        };
8553        let QueueBindSparse_ptr = if feature < VERSION_1_0 {
8554          QueueBindSparse_panic as PFN_vkQueueBindSparse
8555        } else {
8556          mem::transmute(vk_dl.symbol::<c_void>("vkQueueBindSparse").expect("could not find symbol for vkQueueBindSparse"))
8557        };
8558        let CreateFence_ptr = if feature < VERSION_1_0 {
8559          CreateFence_panic as PFN_vkCreateFence
8560        } else {
8561          mem::transmute(vk_dl.symbol::<c_void>("vkCreateFence").expect("could not find symbol for vkCreateFence"))
8562        };
8563        let DestroyFence_ptr = if feature < VERSION_1_0 {
8564          DestroyFence_panic as PFN_vkDestroyFence
8565        } else {
8566          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyFence").expect("could not find symbol for vkDestroyFence"))
8567        };
8568        let ResetFences_ptr = if feature < VERSION_1_0 {
8569          ResetFences_panic as PFN_vkResetFences
8570        } else {
8571          mem::transmute(vk_dl.symbol::<c_void>("vkResetFences").expect("could not find symbol for vkResetFences"))
8572        };
8573        let GetFenceStatus_ptr = if feature < VERSION_1_0 {
8574          GetFenceStatus_panic as PFN_vkGetFenceStatus
8575        } else {
8576          mem::transmute(vk_dl.symbol::<c_void>("vkGetFenceStatus").expect("could not find symbol for vkGetFenceStatus"))
8577        };
8578        let WaitForFences_ptr = if feature < VERSION_1_0 {
8579          WaitForFences_panic as PFN_vkWaitForFences
8580        } else {
8581          mem::transmute(vk_dl.symbol::<c_void>("vkWaitForFences").expect("could not find symbol for vkWaitForFences"))
8582        };
8583        let CreateSemaphore_ptr = if feature < VERSION_1_0 {
8584          CreateSemaphore_panic as PFN_vkCreateSemaphore
8585        } else {
8586          mem::transmute(vk_dl.symbol::<c_void>("vkCreateSemaphore").expect("could not find symbol for vkCreateSemaphore"))
8587        };
8588        let DestroySemaphore_ptr = if feature < VERSION_1_0 {
8589          DestroySemaphore_panic as PFN_vkDestroySemaphore
8590        } else {
8591          mem::transmute(vk_dl.symbol::<c_void>("vkDestroySemaphore").expect("could not find symbol for vkDestroySemaphore"))
8592        };
8593        let CreateEvent_ptr = if feature < VERSION_1_0 {
8594          CreateEvent_panic as PFN_vkCreateEvent
8595        } else {
8596          mem::transmute(vk_dl.symbol::<c_void>("vkCreateEvent").expect("could not find symbol for vkCreateEvent"))
8597        };
8598        let DestroyEvent_ptr = if feature < VERSION_1_0 {
8599          DestroyEvent_panic as PFN_vkDestroyEvent
8600        } else {
8601          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyEvent").expect("could not find symbol for vkDestroyEvent"))
8602        };
8603        let GetEventStatus_ptr = if feature < VERSION_1_0 {
8604          GetEventStatus_panic as PFN_vkGetEventStatus
8605        } else {
8606          mem::transmute(vk_dl.symbol::<c_void>("vkGetEventStatus").expect("could not find symbol for vkGetEventStatus"))
8607        };
8608        let SetEvent_ptr = if feature < VERSION_1_0 {
8609          SetEvent_panic as PFN_vkSetEvent
8610        } else {
8611          mem::transmute(vk_dl.symbol::<c_void>("vkSetEvent").expect("could not find symbol for vkSetEvent"))
8612        };
8613        let ResetEvent_ptr = if feature < VERSION_1_0 {
8614          ResetEvent_panic as PFN_vkResetEvent
8615        } else {
8616          mem::transmute(vk_dl.symbol::<c_void>("vkResetEvent").expect("could not find symbol for vkResetEvent"))
8617        };
8618        let CreateQueryPool_ptr = if feature < VERSION_1_0 {
8619          CreateQueryPool_panic as PFN_vkCreateQueryPool
8620        } else {
8621          mem::transmute(vk_dl.symbol::<c_void>("vkCreateQueryPool").expect("could not find symbol for vkCreateQueryPool"))
8622        };
8623        let DestroyQueryPool_ptr = if feature < VERSION_1_0 {
8624          DestroyQueryPool_panic as PFN_vkDestroyQueryPool
8625        } else {
8626          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyQueryPool").expect("could not find symbol for vkDestroyQueryPool"))
8627        };
8628        let GetQueryPoolResults_ptr = if feature < VERSION_1_0 {
8629          GetQueryPoolResults_panic as PFN_vkGetQueryPoolResults
8630        } else {
8631          mem::transmute(vk_dl.symbol::<c_void>("vkGetQueryPoolResults").expect("could not find symbol for vkGetQueryPoolResults"))
8632        };
8633        let CreateBuffer_ptr = if feature < VERSION_1_0 {
8634          CreateBuffer_panic as PFN_vkCreateBuffer
8635        } else {
8636          mem::transmute(vk_dl.symbol::<c_void>("vkCreateBuffer").expect("could not find symbol for vkCreateBuffer"))
8637        };
8638        let DestroyBuffer_ptr = if feature < VERSION_1_0 {
8639          DestroyBuffer_panic as PFN_vkDestroyBuffer
8640        } else {
8641          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyBuffer").expect("could not find symbol for vkDestroyBuffer"))
8642        };
8643        let CreateBufferView_ptr = if feature < VERSION_1_0 {
8644          CreateBufferView_panic as PFN_vkCreateBufferView
8645        } else {
8646          mem::transmute(vk_dl.symbol::<c_void>("vkCreateBufferView").expect("could not find symbol for vkCreateBufferView"))
8647        };
8648        let DestroyBufferView_ptr = if feature < VERSION_1_0 {
8649          DestroyBufferView_panic as PFN_vkDestroyBufferView
8650        } else {
8651          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyBufferView").expect("could not find symbol for vkDestroyBufferView"))
8652        };
8653        let CreateImage_ptr = if feature < VERSION_1_0 {
8654          CreateImage_panic as PFN_vkCreateImage
8655        } else {
8656          mem::transmute(vk_dl.symbol::<c_void>("vkCreateImage").expect("could not find symbol for vkCreateImage"))
8657        };
8658        let DestroyImage_ptr = if feature < VERSION_1_0 {
8659          DestroyImage_panic as PFN_vkDestroyImage
8660        } else {
8661          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyImage").expect("could not find symbol for vkDestroyImage"))
8662        };
8663        let GetImageSubresourceLayout_ptr = if feature < VERSION_1_0 {
8664          GetImageSubresourceLayout_panic as PFN_vkGetImageSubresourceLayout
8665        } else {
8666          mem::transmute(vk_dl.symbol::<c_void>("vkGetImageSubresourceLayout").expect("could not find symbol for vkGetImageSubresourceLayout"))
8667        };
8668        let CreateImageView_ptr = if feature < VERSION_1_0 {
8669          CreateImageView_panic as PFN_vkCreateImageView
8670        } else {
8671          mem::transmute(vk_dl.symbol::<c_void>("vkCreateImageView").expect("could not find symbol for vkCreateImageView"))
8672        };
8673        let DestroyImageView_ptr = if feature < VERSION_1_0 {
8674          DestroyImageView_panic as PFN_vkDestroyImageView
8675        } else {
8676          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyImageView").expect("could not find symbol for vkDestroyImageView"))
8677        };
8678        let CreateShaderModule_ptr = if feature < VERSION_1_0 {
8679          CreateShaderModule_panic as PFN_vkCreateShaderModule
8680        } else {
8681          mem::transmute(vk_dl.symbol::<c_void>("vkCreateShaderModule").expect("could not find symbol for vkCreateShaderModule"))
8682        };
8683        let DestroyShaderModule_ptr = if feature < VERSION_1_0 {
8684          DestroyShaderModule_panic as PFN_vkDestroyShaderModule
8685        } else {
8686          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyShaderModule").expect("could not find symbol for vkDestroyShaderModule"))
8687        };
8688        let CreatePipelineCache_ptr = if feature < VERSION_1_0 {
8689          CreatePipelineCache_panic as PFN_vkCreatePipelineCache
8690        } else {
8691          mem::transmute(vk_dl.symbol::<c_void>("vkCreatePipelineCache").expect("could not find symbol for vkCreatePipelineCache"))
8692        };
8693        let DestroyPipelineCache_ptr = if feature < VERSION_1_0 {
8694          DestroyPipelineCache_panic as PFN_vkDestroyPipelineCache
8695        } else {
8696          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyPipelineCache").expect("could not find symbol for vkDestroyPipelineCache"))
8697        };
8698        let GetPipelineCacheData_ptr = if feature < VERSION_1_0 {
8699          GetPipelineCacheData_panic as PFN_vkGetPipelineCacheData
8700        } else {
8701          mem::transmute(vk_dl.symbol::<c_void>("vkGetPipelineCacheData").expect("could not find symbol for vkGetPipelineCacheData"))
8702        };
8703        let MergePipelineCaches_ptr = if feature < VERSION_1_0 {
8704          MergePipelineCaches_panic as PFN_vkMergePipelineCaches
8705        } else {
8706          mem::transmute(vk_dl.symbol::<c_void>("vkMergePipelineCaches").expect("could not find symbol for vkMergePipelineCaches"))
8707        };
8708        let CreateGraphicsPipelines_ptr = if feature < VERSION_1_0 {
8709          CreateGraphicsPipelines_panic as PFN_vkCreateGraphicsPipelines
8710        } else {
8711          mem::transmute(vk_dl.symbol::<c_void>("vkCreateGraphicsPipelines").expect("could not find symbol for vkCreateGraphicsPipelines"))
8712        };
8713        let CreateComputePipelines_ptr = if feature < VERSION_1_0 {
8714          CreateComputePipelines_panic as PFN_vkCreateComputePipelines
8715        } else {
8716          mem::transmute(vk_dl.symbol::<c_void>("vkCreateComputePipelines").expect("could not find symbol for vkCreateComputePipelines"))
8717        };
8718        let DestroyPipeline_ptr = if feature < VERSION_1_0 {
8719          DestroyPipeline_panic as PFN_vkDestroyPipeline
8720        } else {
8721          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyPipeline").expect("could not find symbol for vkDestroyPipeline"))
8722        };
8723        let CreatePipelineLayout_ptr = if feature < VERSION_1_0 {
8724          CreatePipelineLayout_panic as PFN_vkCreatePipelineLayout
8725        } else {
8726          mem::transmute(vk_dl.symbol::<c_void>("vkCreatePipelineLayout").expect("could not find symbol for vkCreatePipelineLayout"))
8727        };
8728        let DestroyPipelineLayout_ptr = if feature < VERSION_1_0 {
8729          DestroyPipelineLayout_panic as PFN_vkDestroyPipelineLayout
8730        } else {
8731          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyPipelineLayout").expect("could not find symbol for vkDestroyPipelineLayout"))
8732        };
8733        let CreateSampler_ptr = if feature < VERSION_1_0 {
8734          CreateSampler_panic as PFN_vkCreateSampler
8735        } else {
8736          mem::transmute(vk_dl.symbol::<c_void>("vkCreateSampler").expect("could not find symbol for vkCreateSampler"))
8737        };
8738        let DestroySampler_ptr = if feature < VERSION_1_0 {
8739          DestroySampler_panic as PFN_vkDestroySampler
8740        } else {
8741          mem::transmute(vk_dl.symbol::<c_void>("vkDestroySampler").expect("could not find symbol for vkDestroySampler"))
8742        };
8743        let CreateDescriptorSetLayout_ptr = if feature < VERSION_1_0 {
8744          CreateDescriptorSetLayout_panic as PFN_vkCreateDescriptorSetLayout
8745        } else {
8746          mem::transmute(vk_dl.symbol::<c_void>("vkCreateDescriptorSetLayout").expect("could not find symbol for vkCreateDescriptorSetLayout"))
8747        };
8748        let DestroyDescriptorSetLayout_ptr = if feature < VERSION_1_0 {
8749          DestroyDescriptorSetLayout_panic as PFN_vkDestroyDescriptorSetLayout
8750        } else {
8751          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyDescriptorSetLayout").expect("could not find symbol for vkDestroyDescriptorSetLayout"))
8752        };
8753        let CreateDescriptorPool_ptr = if feature < VERSION_1_0 {
8754          CreateDescriptorPool_panic as PFN_vkCreateDescriptorPool
8755        } else {
8756          mem::transmute(vk_dl.symbol::<c_void>("vkCreateDescriptorPool").expect("could not find symbol for vkCreateDescriptorPool"))
8757        };
8758        let DestroyDescriptorPool_ptr = if feature < VERSION_1_0 {
8759          DestroyDescriptorPool_panic as PFN_vkDestroyDescriptorPool
8760        } else {
8761          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyDescriptorPool").expect("could not find symbol for vkDestroyDescriptorPool"))
8762        };
8763        let ResetDescriptorPool_ptr = if feature < VERSION_1_0 {
8764          ResetDescriptorPool_panic as PFN_vkResetDescriptorPool
8765        } else {
8766          mem::transmute(vk_dl.symbol::<c_void>("vkResetDescriptorPool").expect("could not find symbol for vkResetDescriptorPool"))
8767        };
8768        let AllocateDescriptorSets_ptr = if feature < VERSION_1_0 {
8769          AllocateDescriptorSets_panic as PFN_vkAllocateDescriptorSets
8770        } else {
8771          mem::transmute(vk_dl.symbol::<c_void>("vkAllocateDescriptorSets").expect("could not find symbol for vkAllocateDescriptorSets"))
8772        };
8773        let FreeDescriptorSets_ptr = if feature < VERSION_1_0 {
8774          FreeDescriptorSets_panic as PFN_vkFreeDescriptorSets
8775        } else {
8776          mem::transmute(vk_dl.symbol::<c_void>("vkFreeDescriptorSets").expect("could not find symbol for vkFreeDescriptorSets"))
8777        };
8778        let UpdateDescriptorSets_ptr = if feature < VERSION_1_0 {
8779          UpdateDescriptorSets_panic as PFN_vkUpdateDescriptorSets
8780        } else {
8781          mem::transmute(vk_dl.symbol::<c_void>("vkUpdateDescriptorSets").expect("could not find symbol for vkUpdateDescriptorSets"))
8782        };
8783        let CreateFramebuffer_ptr = if feature < VERSION_1_0 {
8784          CreateFramebuffer_panic as PFN_vkCreateFramebuffer
8785        } else {
8786          mem::transmute(vk_dl.symbol::<c_void>("vkCreateFramebuffer").expect("could not find symbol for vkCreateFramebuffer"))
8787        };
8788        let DestroyFramebuffer_ptr = if feature < VERSION_1_0 {
8789          DestroyFramebuffer_panic as PFN_vkDestroyFramebuffer
8790        } else {
8791          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyFramebuffer").expect("could not find symbol for vkDestroyFramebuffer"))
8792        };
8793        let CreateRenderPass_ptr = if feature < VERSION_1_0 {
8794          CreateRenderPass_panic as PFN_vkCreateRenderPass
8795        } else {
8796          mem::transmute(vk_dl.symbol::<c_void>("vkCreateRenderPass").expect("could not find symbol for vkCreateRenderPass"))
8797        };
8798        let DestroyRenderPass_ptr = if feature < VERSION_1_0 {
8799          DestroyRenderPass_panic as PFN_vkDestroyRenderPass
8800        } else {
8801          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyRenderPass").expect("could not find symbol for vkDestroyRenderPass"))
8802        };
8803        let GetRenderAreaGranularity_ptr = if feature < VERSION_1_0 {
8804          GetRenderAreaGranularity_panic as PFN_vkGetRenderAreaGranularity
8805        } else {
8806          mem::transmute(vk_dl.symbol::<c_void>("vkGetRenderAreaGranularity").expect("could not find symbol for vkGetRenderAreaGranularity"))
8807        };
8808        let CreateCommandPool_ptr = if feature < VERSION_1_0 {
8809          CreateCommandPool_panic as PFN_vkCreateCommandPool
8810        } else {
8811          mem::transmute(vk_dl.symbol::<c_void>("vkCreateCommandPool").expect("could not find symbol for vkCreateCommandPool"))
8812        };
8813        let DestroyCommandPool_ptr = if feature < VERSION_1_0 {
8814          DestroyCommandPool_panic as PFN_vkDestroyCommandPool
8815        } else {
8816          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyCommandPool").expect("could not find symbol for vkDestroyCommandPool"))
8817        };
8818        let ResetCommandPool_ptr = if feature < VERSION_1_0 {
8819          ResetCommandPool_panic as PFN_vkResetCommandPool
8820        } else {
8821          mem::transmute(vk_dl.symbol::<c_void>("vkResetCommandPool").expect("could not find symbol for vkResetCommandPool"))
8822        };
8823        let AllocateCommandBuffers_ptr = if feature < VERSION_1_0 {
8824          AllocateCommandBuffers_panic as PFN_vkAllocateCommandBuffers
8825        } else {
8826          mem::transmute(vk_dl.symbol::<c_void>("vkAllocateCommandBuffers").expect("could not find symbol for vkAllocateCommandBuffers"))
8827        };
8828        let FreeCommandBuffers_ptr = if feature < VERSION_1_0 {
8829          FreeCommandBuffers_panic as PFN_vkFreeCommandBuffers
8830        } else {
8831          mem::transmute(vk_dl.symbol::<c_void>("vkFreeCommandBuffers").expect("could not find symbol for vkFreeCommandBuffers"))
8832        };
8833        let BeginCommandBuffer_ptr = if feature < VERSION_1_0 {
8834          BeginCommandBuffer_panic as PFN_vkBeginCommandBuffer
8835        } else {
8836          mem::transmute(vk_dl.symbol::<c_void>("vkBeginCommandBuffer").expect("could not find symbol for vkBeginCommandBuffer"))
8837        };
8838        let EndCommandBuffer_ptr = if feature < VERSION_1_0 {
8839          EndCommandBuffer_panic as PFN_vkEndCommandBuffer
8840        } else {
8841          mem::transmute(vk_dl.symbol::<c_void>("vkEndCommandBuffer").expect("could not find symbol for vkEndCommandBuffer"))
8842        };
8843        let ResetCommandBuffer_ptr = if feature < VERSION_1_0 {
8844          ResetCommandBuffer_panic as PFN_vkResetCommandBuffer
8845        } else {
8846          mem::transmute(vk_dl.symbol::<c_void>("vkResetCommandBuffer").expect("could not find symbol for vkResetCommandBuffer"))
8847        };
8848        let CmdBindPipeline_ptr = if feature < VERSION_1_0 {
8849          CmdBindPipeline_panic as PFN_vkCmdBindPipeline
8850        } else {
8851          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBindPipeline").expect("could not find symbol for vkCmdBindPipeline"))
8852        };
8853        let CmdSetViewport_ptr = if feature < VERSION_1_0 {
8854          CmdSetViewport_panic as PFN_vkCmdSetViewport
8855        } else {
8856          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetViewport").expect("could not find symbol for vkCmdSetViewport"))
8857        };
8858        let CmdSetScissor_ptr = if feature < VERSION_1_0 {
8859          CmdSetScissor_panic as PFN_vkCmdSetScissor
8860        } else {
8861          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetScissor").expect("could not find symbol for vkCmdSetScissor"))
8862        };
8863        let CmdSetLineWidth_ptr = if feature < VERSION_1_0 {
8864          CmdSetLineWidth_panic as PFN_vkCmdSetLineWidth
8865        } else {
8866          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetLineWidth").expect("could not find symbol for vkCmdSetLineWidth"))
8867        };
8868        let CmdSetDepthBias_ptr = if feature < VERSION_1_0 {
8869          CmdSetDepthBias_panic as PFN_vkCmdSetDepthBias
8870        } else {
8871          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetDepthBias").expect("could not find symbol for vkCmdSetDepthBias"))
8872        };
8873        let CmdSetBlendConstants_ptr = if feature < VERSION_1_0 {
8874          CmdSetBlendConstants_panic as PFN_vkCmdSetBlendConstants
8875        } else {
8876          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetBlendConstants").expect("could not find symbol for vkCmdSetBlendConstants"))
8877        };
8878        let CmdSetDepthBounds_ptr = if feature < VERSION_1_0 {
8879          CmdSetDepthBounds_panic as PFN_vkCmdSetDepthBounds
8880        } else {
8881          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetDepthBounds").expect("could not find symbol for vkCmdSetDepthBounds"))
8882        };
8883        let CmdSetStencilCompareMask_ptr = if feature < VERSION_1_0 {
8884          CmdSetStencilCompareMask_panic as PFN_vkCmdSetStencilCompareMask
8885        } else {
8886          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetStencilCompareMask").expect("could not find symbol for vkCmdSetStencilCompareMask"))
8887        };
8888        let CmdSetStencilWriteMask_ptr = if feature < VERSION_1_0 {
8889          CmdSetStencilWriteMask_panic as PFN_vkCmdSetStencilWriteMask
8890        } else {
8891          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetStencilWriteMask").expect("could not find symbol for vkCmdSetStencilWriteMask"))
8892        };
8893        let CmdSetStencilReference_ptr = if feature < VERSION_1_0 {
8894          CmdSetStencilReference_panic as PFN_vkCmdSetStencilReference
8895        } else {
8896          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetStencilReference").expect("could not find symbol for vkCmdSetStencilReference"))
8897        };
8898        let CmdBindDescriptorSets_ptr = if feature < VERSION_1_0 {
8899          CmdBindDescriptorSets_panic as PFN_vkCmdBindDescriptorSets
8900        } else {
8901          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBindDescriptorSets").expect("could not find symbol for vkCmdBindDescriptorSets"))
8902        };
8903        let CmdBindIndexBuffer_ptr = if feature < VERSION_1_0 {
8904          CmdBindIndexBuffer_panic as PFN_vkCmdBindIndexBuffer
8905        } else {
8906          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBindIndexBuffer").expect("could not find symbol for vkCmdBindIndexBuffer"))
8907        };
8908        let CmdBindVertexBuffers_ptr = if feature < VERSION_1_0 {
8909          CmdBindVertexBuffers_panic as PFN_vkCmdBindVertexBuffers
8910        } else {
8911          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBindVertexBuffers").expect("could not find symbol for vkCmdBindVertexBuffers"))
8912        };
8913        let CmdDraw_ptr = if feature < VERSION_1_0 {
8914          CmdDraw_panic as PFN_vkCmdDraw
8915        } else {
8916          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDraw").expect("could not find symbol for vkCmdDraw"))
8917        };
8918        let CmdDrawIndexed_ptr = if feature < VERSION_1_0 {
8919          CmdDrawIndexed_panic as PFN_vkCmdDrawIndexed
8920        } else {
8921          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDrawIndexed").expect("could not find symbol for vkCmdDrawIndexed"))
8922        };
8923        let CmdDrawIndirect_ptr = if feature < VERSION_1_0 {
8924          CmdDrawIndirect_panic as PFN_vkCmdDrawIndirect
8925        } else {
8926          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDrawIndirect").expect("could not find symbol for vkCmdDrawIndirect"))
8927        };
8928        let CmdDrawIndexedIndirect_ptr = if feature < VERSION_1_0 {
8929          CmdDrawIndexedIndirect_panic as PFN_vkCmdDrawIndexedIndirect
8930        } else {
8931          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDrawIndexedIndirect").expect("could not find symbol for vkCmdDrawIndexedIndirect"))
8932        };
8933        let CmdDispatch_ptr = if feature < VERSION_1_0 {
8934          CmdDispatch_panic as PFN_vkCmdDispatch
8935        } else {
8936          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDispatch").expect("could not find symbol for vkCmdDispatch"))
8937        };
8938        let CmdDispatchIndirect_ptr = if feature < VERSION_1_0 {
8939          CmdDispatchIndirect_panic as PFN_vkCmdDispatchIndirect
8940        } else {
8941          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDispatchIndirect").expect("could not find symbol for vkCmdDispatchIndirect"))
8942        };
8943        let CmdCopyBuffer_ptr = if feature < VERSION_1_0 {
8944          CmdCopyBuffer_panic as PFN_vkCmdCopyBuffer
8945        } else {
8946          mem::transmute(vk_dl.symbol::<c_void>("vkCmdCopyBuffer").expect("could not find symbol for vkCmdCopyBuffer"))
8947        };
8948        let CmdCopyImage_ptr = if feature < VERSION_1_0 {
8949          CmdCopyImage_panic as PFN_vkCmdCopyImage
8950        } else {
8951          mem::transmute(vk_dl.symbol::<c_void>("vkCmdCopyImage").expect("could not find symbol for vkCmdCopyImage"))
8952        };
8953        let CmdBlitImage_ptr = if feature < VERSION_1_0 {
8954          CmdBlitImage_panic as PFN_vkCmdBlitImage
8955        } else {
8956          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBlitImage").expect("could not find symbol for vkCmdBlitImage"))
8957        };
8958        let CmdCopyBufferToImage_ptr = if feature < VERSION_1_0 {
8959          CmdCopyBufferToImage_panic as PFN_vkCmdCopyBufferToImage
8960        } else {
8961          mem::transmute(vk_dl.symbol::<c_void>("vkCmdCopyBufferToImage").expect("could not find symbol for vkCmdCopyBufferToImage"))
8962        };
8963        let CmdCopyImageToBuffer_ptr = if feature < VERSION_1_0 {
8964          CmdCopyImageToBuffer_panic as PFN_vkCmdCopyImageToBuffer
8965        } else {
8966          mem::transmute(vk_dl.symbol::<c_void>("vkCmdCopyImageToBuffer").expect("could not find symbol for vkCmdCopyImageToBuffer"))
8967        };
8968        let CmdUpdateBuffer_ptr = if feature < VERSION_1_0 {
8969          CmdUpdateBuffer_panic as PFN_vkCmdUpdateBuffer
8970        } else {
8971          mem::transmute(vk_dl.symbol::<c_void>("vkCmdUpdateBuffer").expect("could not find symbol for vkCmdUpdateBuffer"))
8972        };
8973        let CmdFillBuffer_ptr = if feature < VERSION_1_0 {
8974          CmdFillBuffer_panic as PFN_vkCmdFillBuffer
8975        } else {
8976          mem::transmute(vk_dl.symbol::<c_void>("vkCmdFillBuffer").expect("could not find symbol for vkCmdFillBuffer"))
8977        };
8978        let CmdClearColorImage_ptr = if feature < VERSION_1_0 {
8979          CmdClearColorImage_panic as PFN_vkCmdClearColorImage
8980        } else {
8981          mem::transmute(vk_dl.symbol::<c_void>("vkCmdClearColorImage").expect("could not find symbol for vkCmdClearColorImage"))
8982        };
8983        let CmdClearDepthStencilImage_ptr = if feature < VERSION_1_0 {
8984          CmdClearDepthStencilImage_panic as PFN_vkCmdClearDepthStencilImage
8985        } else {
8986          mem::transmute(vk_dl.symbol::<c_void>("vkCmdClearDepthStencilImage").expect("could not find symbol for vkCmdClearDepthStencilImage"))
8987        };
8988        let CmdClearAttachments_ptr = if feature < VERSION_1_0 {
8989          CmdClearAttachments_panic as PFN_vkCmdClearAttachments
8990        } else {
8991          mem::transmute(vk_dl.symbol::<c_void>("vkCmdClearAttachments").expect("could not find symbol for vkCmdClearAttachments"))
8992        };
8993        let CmdResolveImage_ptr = if feature < VERSION_1_0 {
8994          CmdResolveImage_panic as PFN_vkCmdResolveImage
8995        } else {
8996          mem::transmute(vk_dl.symbol::<c_void>("vkCmdResolveImage").expect("could not find symbol for vkCmdResolveImage"))
8997        };
8998        let CmdSetEvent_ptr = if feature < VERSION_1_0 {
8999          CmdSetEvent_panic as PFN_vkCmdSetEvent
9000        } else {
9001          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetEvent").expect("could not find symbol for vkCmdSetEvent"))
9002        };
9003        let CmdResetEvent_ptr = if feature < VERSION_1_0 {
9004          CmdResetEvent_panic as PFN_vkCmdResetEvent
9005        } else {
9006          mem::transmute(vk_dl.symbol::<c_void>("vkCmdResetEvent").expect("could not find symbol for vkCmdResetEvent"))
9007        };
9008        let CmdWaitEvents_ptr = if feature < VERSION_1_0 {
9009          CmdWaitEvents_panic as PFN_vkCmdWaitEvents
9010        } else {
9011          mem::transmute(vk_dl.symbol::<c_void>("vkCmdWaitEvents").expect("could not find symbol for vkCmdWaitEvents"))
9012        };
9013        let CmdPipelineBarrier_ptr = if feature < VERSION_1_0 {
9014          CmdPipelineBarrier_panic as PFN_vkCmdPipelineBarrier
9015        } else {
9016          mem::transmute(vk_dl.symbol::<c_void>("vkCmdPipelineBarrier").expect("could not find symbol for vkCmdPipelineBarrier"))
9017        };
9018        let CmdBeginQuery_ptr = if feature < VERSION_1_0 {
9019          CmdBeginQuery_panic as PFN_vkCmdBeginQuery
9020        } else {
9021          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBeginQuery").expect("could not find symbol for vkCmdBeginQuery"))
9022        };
9023        let CmdEndQuery_ptr = if feature < VERSION_1_0 {
9024          CmdEndQuery_panic as PFN_vkCmdEndQuery
9025        } else {
9026          mem::transmute(vk_dl.symbol::<c_void>("vkCmdEndQuery").expect("could not find symbol for vkCmdEndQuery"))
9027        };
9028        let CmdResetQueryPool_ptr = if feature < VERSION_1_0 {
9029          CmdResetQueryPool_panic as PFN_vkCmdResetQueryPool
9030        } else {
9031          mem::transmute(vk_dl.symbol::<c_void>("vkCmdResetQueryPool").expect("could not find symbol for vkCmdResetQueryPool"))
9032        };
9033        let CmdWriteTimestamp_ptr = if feature < VERSION_1_0 {
9034          CmdWriteTimestamp_panic as PFN_vkCmdWriteTimestamp
9035        } else {
9036          mem::transmute(vk_dl.symbol::<c_void>("vkCmdWriteTimestamp").expect("could not find symbol for vkCmdWriteTimestamp"))
9037        };
9038        let CmdCopyQueryPoolResults_ptr = if feature < VERSION_1_0 {
9039          CmdCopyQueryPoolResults_panic as PFN_vkCmdCopyQueryPoolResults
9040        } else {
9041          mem::transmute(vk_dl.symbol::<c_void>("vkCmdCopyQueryPoolResults").expect("could not find symbol for vkCmdCopyQueryPoolResults"))
9042        };
9043        let CmdPushConstants_ptr = if feature < VERSION_1_0 {
9044          CmdPushConstants_panic as PFN_vkCmdPushConstants
9045        } else {
9046          mem::transmute(vk_dl.symbol::<c_void>("vkCmdPushConstants").expect("could not find symbol for vkCmdPushConstants"))
9047        };
9048        let CmdBeginRenderPass_ptr = if feature < VERSION_1_0 {
9049          CmdBeginRenderPass_panic as PFN_vkCmdBeginRenderPass
9050        } else {
9051          mem::transmute(vk_dl.symbol::<c_void>("vkCmdBeginRenderPass").expect("could not find symbol for vkCmdBeginRenderPass"))
9052        };
9053        let CmdNextSubpass_ptr = if feature < VERSION_1_0 {
9054          CmdNextSubpass_panic as PFN_vkCmdNextSubpass
9055        } else {
9056          mem::transmute(vk_dl.symbol::<c_void>("vkCmdNextSubpass").expect("could not find symbol for vkCmdNextSubpass"))
9057        };
9058        let CmdEndRenderPass_ptr = if feature < VERSION_1_0 {
9059          CmdEndRenderPass_panic as PFN_vkCmdEndRenderPass
9060        } else {
9061          mem::transmute(vk_dl.symbol::<c_void>("vkCmdEndRenderPass").expect("could not find symbol for vkCmdEndRenderPass"))
9062        };
9063        let CmdExecuteCommands_ptr = if feature < VERSION_1_0 {
9064          CmdExecuteCommands_panic as PFN_vkCmdExecuteCommands
9065        } else {
9066          mem::transmute(vk_dl.symbol::<c_void>("vkCmdExecuteCommands").expect("could not find symbol for vkCmdExecuteCommands"))
9067        };
9068        let EnumerateInstanceVersion_ptr = if feature < VERSION_1_1 {
9069          EnumerateInstanceVersion_panic as PFN_vkEnumerateInstanceVersion
9070        } else {
9071          mem::transmute(vk_dl.symbol::<c_void>("vkEnumerateInstanceVersion").expect("could not find symbol for vkEnumerateInstanceVersion"))
9072        };
9073        let BindBufferMemory2_ptr = if feature < VERSION_1_1 {
9074          BindBufferMemory2_panic as PFN_vkBindBufferMemory2
9075        } else {
9076          mem::transmute(vk_dl.symbol::<c_void>("vkBindBufferMemory2").expect("could not find symbol for vkBindBufferMemory2"))
9077        };
9078        let BindImageMemory2_ptr = if feature < VERSION_1_1 {
9079          BindImageMemory2_panic as PFN_vkBindImageMemory2
9080        } else {
9081          mem::transmute(vk_dl.symbol::<c_void>("vkBindImageMemory2").expect("could not find symbol for vkBindImageMemory2"))
9082        };
9083        let GetDeviceGroupPeerMemoryFeatures_ptr = if feature < VERSION_1_1 {
9084          GetDeviceGroupPeerMemoryFeatures_panic as PFN_vkGetDeviceGroupPeerMemoryFeatures
9085        } else {
9086          mem::transmute(vk_dl.symbol::<c_void>("vkGetDeviceGroupPeerMemoryFeatures").expect("could not find symbol for vkGetDeviceGroupPeerMemoryFeatures"))
9087        };
9088        let CmdSetDeviceMask_ptr = if feature < VERSION_1_1 {
9089          CmdSetDeviceMask_panic as PFN_vkCmdSetDeviceMask
9090        } else {
9091          mem::transmute(vk_dl.symbol::<c_void>("vkCmdSetDeviceMask").expect("could not find symbol for vkCmdSetDeviceMask"))
9092        };
9093        let CmdDispatchBase_ptr = if feature < VERSION_1_1 {
9094          CmdDispatchBase_panic as PFN_vkCmdDispatchBase
9095        } else {
9096          mem::transmute(vk_dl.symbol::<c_void>("vkCmdDispatchBase").expect("could not find symbol for vkCmdDispatchBase"))
9097        };
9098        let EnumeratePhysicalDeviceGroups_ptr = if feature < VERSION_1_1 {
9099          EnumeratePhysicalDeviceGroups_panic as PFN_vkEnumeratePhysicalDeviceGroups
9100        } else {
9101          mem::transmute(vk_dl.symbol::<c_void>("vkEnumeratePhysicalDeviceGroups").expect("could not find symbol for vkEnumeratePhysicalDeviceGroups"))
9102        };
9103        let GetImageMemoryRequirements2_ptr = if feature < VERSION_1_1 {
9104          GetImageMemoryRequirements2_panic as PFN_vkGetImageMemoryRequirements2
9105        } else {
9106          mem::transmute(vk_dl.symbol::<c_void>("vkGetImageMemoryRequirements2").expect("could not find symbol for vkGetImageMemoryRequirements2"))
9107        };
9108        let GetBufferMemoryRequirements2_ptr = if feature < VERSION_1_1 {
9109          GetBufferMemoryRequirements2_panic as PFN_vkGetBufferMemoryRequirements2
9110        } else {
9111          mem::transmute(vk_dl.symbol::<c_void>("vkGetBufferMemoryRequirements2").expect("could not find symbol for vkGetBufferMemoryRequirements2"))
9112        };
9113        let GetImageSparseMemoryRequirements2_ptr = if feature < VERSION_1_1 {
9114          GetImageSparseMemoryRequirements2_panic as PFN_vkGetImageSparseMemoryRequirements2
9115        } else {
9116          mem::transmute(vk_dl.symbol::<c_void>("vkGetImageSparseMemoryRequirements2").expect("could not find symbol for vkGetImageSparseMemoryRequirements2"))
9117        };
9118        let GetPhysicalDeviceFeatures2_ptr = if feature < VERSION_1_1 {
9119          GetPhysicalDeviceFeatures2_panic as PFN_vkGetPhysicalDeviceFeatures2
9120        } else {
9121          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceFeatures2").expect("could not find symbol for vkGetPhysicalDeviceFeatures2"))
9122        };
9123        let GetPhysicalDeviceProperties2_ptr = if feature < VERSION_1_1 {
9124          GetPhysicalDeviceProperties2_panic as PFN_vkGetPhysicalDeviceProperties2
9125        } else {
9126          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceProperties2").expect("could not find symbol for vkGetPhysicalDeviceProperties2"))
9127        };
9128        let GetPhysicalDeviceFormatProperties2_ptr = if feature < VERSION_1_1 {
9129          GetPhysicalDeviceFormatProperties2_panic as PFN_vkGetPhysicalDeviceFormatProperties2
9130        } else {
9131          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceFormatProperties2").expect("could not find symbol for vkGetPhysicalDeviceFormatProperties2"))
9132        };
9133        let GetPhysicalDeviceImageFormatProperties2_ptr = if feature < VERSION_1_1 {
9134          GetPhysicalDeviceImageFormatProperties2_panic as PFN_vkGetPhysicalDeviceImageFormatProperties2
9135        } else {
9136          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceImageFormatProperties2").expect("could not find symbol for vkGetPhysicalDeviceImageFormatProperties2"))
9137        };
9138        let GetPhysicalDeviceQueueFamilyProperties2_ptr = if feature < VERSION_1_1 {
9139          GetPhysicalDeviceQueueFamilyProperties2_panic as PFN_vkGetPhysicalDeviceQueueFamilyProperties2
9140        } else {
9141          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceQueueFamilyProperties2").expect("could not find symbol for vkGetPhysicalDeviceQueueFamilyProperties2"))
9142        };
9143        let GetPhysicalDeviceMemoryProperties2_ptr = if feature < VERSION_1_1 {
9144          GetPhysicalDeviceMemoryProperties2_panic as PFN_vkGetPhysicalDeviceMemoryProperties2
9145        } else {
9146          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceMemoryProperties2").expect("could not find symbol for vkGetPhysicalDeviceMemoryProperties2"))
9147        };
9148        let GetPhysicalDeviceSparseImageFormatProperties2_ptr = if feature < VERSION_1_1 {
9149          GetPhysicalDeviceSparseImageFormatProperties2_panic as PFN_vkGetPhysicalDeviceSparseImageFormatProperties2
9150        } else {
9151          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSparseImageFormatProperties2").expect("could not find symbol for vkGetPhysicalDeviceSparseImageFormatProperties2"))
9152        };
9153        let TrimCommandPool_ptr = if feature < VERSION_1_1 {
9154          TrimCommandPool_panic as PFN_vkTrimCommandPool
9155        } else {
9156          mem::transmute(vk_dl.symbol::<c_void>("vkTrimCommandPool").expect("could not find symbol for vkTrimCommandPool"))
9157        };
9158        let GetDeviceQueue2_ptr = if feature < VERSION_1_1 {
9159          GetDeviceQueue2_panic as PFN_vkGetDeviceQueue2
9160        } else {
9161          mem::transmute(vk_dl.symbol::<c_void>("vkGetDeviceQueue2").expect("could not find symbol for vkGetDeviceQueue2"))
9162        };
9163        let CreateSamplerYcbcrConversion_ptr = if feature < VERSION_1_1 {
9164          CreateSamplerYcbcrConversion_panic as PFN_vkCreateSamplerYcbcrConversion
9165        } else {
9166          mem::transmute(vk_dl.symbol::<c_void>("vkCreateSamplerYcbcrConversion").expect("could not find symbol for vkCreateSamplerYcbcrConversion"))
9167        };
9168        let DestroySamplerYcbcrConversion_ptr = if feature < VERSION_1_1 {
9169          DestroySamplerYcbcrConversion_panic as PFN_vkDestroySamplerYcbcrConversion
9170        } else {
9171          mem::transmute(vk_dl.symbol::<c_void>("vkDestroySamplerYcbcrConversion").expect("could not find symbol for vkDestroySamplerYcbcrConversion"))
9172        };
9173        let CreateDescriptorUpdateTemplate_ptr = if feature < VERSION_1_1 {
9174          CreateDescriptorUpdateTemplate_panic as PFN_vkCreateDescriptorUpdateTemplate
9175        } else {
9176          mem::transmute(vk_dl.symbol::<c_void>("vkCreateDescriptorUpdateTemplate").expect("could not find symbol for vkCreateDescriptorUpdateTemplate"))
9177        };
9178        let DestroyDescriptorUpdateTemplate_ptr = if feature < VERSION_1_1 {
9179          DestroyDescriptorUpdateTemplate_panic as PFN_vkDestroyDescriptorUpdateTemplate
9180        } else {
9181          mem::transmute(vk_dl.symbol::<c_void>("vkDestroyDescriptorUpdateTemplate").expect("could not find symbol for vkDestroyDescriptorUpdateTemplate"))
9182        };
9183        let UpdateDescriptorSetWithTemplate_ptr = if feature < VERSION_1_1 {
9184          UpdateDescriptorSetWithTemplate_panic as PFN_vkUpdateDescriptorSetWithTemplate
9185        } else {
9186          mem::transmute(vk_dl.symbol::<c_void>("vkUpdateDescriptorSetWithTemplate").expect("could not find symbol for vkUpdateDescriptorSetWithTemplate"))
9187        };
9188        let GetPhysicalDeviceExternalBufferProperties_ptr = if feature < VERSION_1_1 {
9189          GetPhysicalDeviceExternalBufferProperties_panic as PFN_vkGetPhysicalDeviceExternalBufferProperties
9190        } else {
9191          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceExternalBufferProperties").expect("could not find symbol for vkGetPhysicalDeviceExternalBufferProperties"))
9192        };
9193        let GetPhysicalDeviceExternalFenceProperties_ptr = if feature < VERSION_1_1 {
9194          GetPhysicalDeviceExternalFenceProperties_panic as PFN_vkGetPhysicalDeviceExternalFenceProperties
9195        } else {
9196          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceExternalFenceProperties").expect("could not find symbol for vkGetPhysicalDeviceExternalFenceProperties"))
9197        };
9198        let GetPhysicalDeviceExternalSemaphoreProperties_ptr = if feature < VERSION_1_1 {
9199          GetPhysicalDeviceExternalSemaphoreProperties_panic as PFN_vkGetPhysicalDeviceExternalSemaphoreProperties
9200        } else {
9201          mem::transmute(vk_dl.symbol::<c_void>("vkGetPhysicalDeviceExternalSemaphoreProperties").expect("could not find symbol for vkGetPhysicalDeviceExternalSemaphoreProperties"))
9202        };
9203        let GetDescriptorSetLayoutSupport_ptr = if feature < VERSION_1_1 {
9204          GetDescriptorSetLayoutSupport_panic as PFN_vkGetDescriptorSetLayoutSupport
9205        } else {
9206          mem::transmute(vk_dl.symbol::<c_void>("vkGetDescriptorSetLayoutSupport").expect("could not find symbol for vkGetDescriptorSetLayoutSupport"))
9207        };
9208        let mut DestroySurfaceKHR_ptr = DestroySurfaceKHR_panic as PFN_vkDestroySurfaceKHR;
9209        if feature >= VERSION_1_0 {
9210          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroySurfaceKHR") {
9211            DestroySurfaceKHR_ptr = mem::transmute(fnptr);
9212          }
9213        }
9214        let mut GetPhysicalDeviceSurfaceSupportKHR_ptr = GetPhysicalDeviceSurfaceSupportKHR_panic as PFN_vkGetPhysicalDeviceSurfaceSupportKHR;
9215        if feature >= VERSION_1_0 {
9216          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceSupportKHR") {
9217            GetPhysicalDeviceSurfaceSupportKHR_ptr = mem::transmute(fnptr);
9218          }
9219        }
9220        let mut GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr = GetPhysicalDeviceSurfaceCapabilitiesKHR_panic as PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
9221        if feature >= VERSION_1_0 {
9222          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceCapabilitiesKHR") {
9223            GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr = mem::transmute(fnptr);
9224          }
9225        }
9226        let mut GetPhysicalDeviceSurfaceFormatsKHR_ptr = GetPhysicalDeviceSurfaceFormatsKHR_panic as PFN_vkGetPhysicalDeviceSurfaceFormatsKHR;
9227        if feature >= VERSION_1_0 {
9228          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceFormatsKHR") {
9229            GetPhysicalDeviceSurfaceFormatsKHR_ptr = mem::transmute(fnptr);
9230          }
9231        }
9232        let mut GetPhysicalDeviceSurfacePresentModesKHR_ptr = GetPhysicalDeviceSurfacePresentModesKHR_panic as PFN_vkGetPhysicalDeviceSurfacePresentModesKHR;
9233        if feature >= VERSION_1_0 {
9234          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfacePresentModesKHR") {
9235            GetPhysicalDeviceSurfacePresentModesKHR_ptr = mem::transmute(fnptr);
9236          }
9237        }
9238        let mut GetPhysicalDeviceDisplayPropertiesKHR_ptr = GetPhysicalDeviceDisplayPropertiesKHR_panic as PFN_vkGetPhysicalDeviceDisplayPropertiesKHR;
9239        if feature >= VERSION_1_0 {
9240          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceDisplayPropertiesKHR") {
9241            GetPhysicalDeviceDisplayPropertiesKHR_ptr = mem::transmute(fnptr);
9242          }
9243        }
9244        let mut GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr = GetPhysicalDeviceDisplayPlanePropertiesKHR_panic as PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
9245        if feature >= VERSION_1_0 {
9246          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceDisplayPlanePropertiesKHR") {
9247            GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr = mem::transmute(fnptr);
9248          }
9249        }
9250        let mut GetDisplayPlaneSupportedDisplaysKHR_ptr = GetDisplayPlaneSupportedDisplaysKHR_panic as PFN_vkGetDisplayPlaneSupportedDisplaysKHR;
9251        if feature >= VERSION_1_0 {
9252          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDisplayPlaneSupportedDisplaysKHR") {
9253            GetDisplayPlaneSupportedDisplaysKHR_ptr = mem::transmute(fnptr);
9254          }
9255        }
9256        let mut GetDisplayModePropertiesKHR_ptr = GetDisplayModePropertiesKHR_panic as PFN_vkGetDisplayModePropertiesKHR;
9257        if feature >= VERSION_1_0 {
9258          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDisplayModePropertiesKHR") {
9259            GetDisplayModePropertiesKHR_ptr = mem::transmute(fnptr);
9260          }
9261        }
9262        let mut CreateDisplayModeKHR_ptr = CreateDisplayModeKHR_panic as PFN_vkCreateDisplayModeKHR;
9263        if feature >= VERSION_1_0 {
9264          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateDisplayModeKHR") {
9265            CreateDisplayModeKHR_ptr = mem::transmute(fnptr);
9266          }
9267        }
9268        let mut GetDisplayPlaneCapabilitiesKHR_ptr = GetDisplayPlaneCapabilitiesKHR_panic as PFN_vkGetDisplayPlaneCapabilitiesKHR;
9269        if feature >= VERSION_1_0 {
9270          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDisplayPlaneCapabilitiesKHR") {
9271            GetDisplayPlaneCapabilitiesKHR_ptr = mem::transmute(fnptr);
9272          }
9273        }
9274        let mut CreateDisplayPlaneSurfaceKHR_ptr = CreateDisplayPlaneSurfaceKHR_panic as PFN_vkCreateDisplayPlaneSurfaceKHR;
9275        if feature >= VERSION_1_0 {
9276          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateDisplayPlaneSurfaceKHR") {
9277            CreateDisplayPlaneSurfaceKHR_ptr = mem::transmute(fnptr);
9278          }
9279        }
9280        let mut CreateXlibSurfaceKHR_ptr = CreateXlibSurfaceKHR_panic as PFN_vkCreateXlibSurfaceKHR;
9281        if feature >= VERSION_1_0 {
9282          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateXlibSurfaceKHR") {
9283            CreateXlibSurfaceKHR_ptr = mem::transmute(fnptr);
9284          }
9285        }
9286        let mut GetPhysicalDeviceXlibPresentationSupportKHR_ptr = GetPhysicalDeviceXlibPresentationSupportKHR_panic as PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR;
9287        if feature >= VERSION_1_0 {
9288          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceXlibPresentationSupportKHR") {
9289            GetPhysicalDeviceXlibPresentationSupportKHR_ptr = mem::transmute(fnptr);
9290          }
9291        }
9292        let mut CreateXcbSurfaceKHR_ptr = CreateXcbSurfaceKHR_panic as PFN_vkCreateXcbSurfaceKHR;
9293        if feature >= VERSION_1_0 {
9294          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateXcbSurfaceKHR") {
9295            CreateXcbSurfaceKHR_ptr = mem::transmute(fnptr);
9296          }
9297        }
9298        let mut GetPhysicalDeviceXcbPresentationSupportKHR_ptr = GetPhysicalDeviceXcbPresentationSupportKHR_panic as PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR;
9299        if feature >= VERSION_1_0 {
9300          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceXcbPresentationSupportKHR") {
9301            GetPhysicalDeviceXcbPresentationSupportKHR_ptr = mem::transmute(fnptr);
9302          }
9303        }
9304        let mut CreateWaylandSurfaceKHR_ptr = CreateWaylandSurfaceKHR_panic as PFN_vkCreateWaylandSurfaceKHR;
9305        if feature >= VERSION_1_0 {
9306          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateWaylandSurfaceKHR") {
9307            CreateWaylandSurfaceKHR_ptr = mem::transmute(fnptr);
9308          }
9309        }
9310        let mut GetPhysicalDeviceWaylandPresentationSupportKHR_ptr = GetPhysicalDeviceWaylandPresentationSupportKHR_panic as PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR;
9311        if feature >= VERSION_1_0 {
9312          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceWaylandPresentationSupportKHR") {
9313            GetPhysicalDeviceWaylandPresentationSupportKHR_ptr = mem::transmute(fnptr);
9314          }
9315        }
9316        let mut CreateAndroidSurfaceKHR_ptr = CreateAndroidSurfaceKHR_panic as PFN_vkCreateAndroidSurfaceKHR;
9317        if feature >= VERSION_1_0 {
9318          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateAndroidSurfaceKHR") {
9319            CreateAndroidSurfaceKHR_ptr = mem::transmute(fnptr);
9320          }
9321        }
9322        let mut CreateWin32SurfaceKHR_ptr = CreateWin32SurfaceKHR_panic as PFN_vkCreateWin32SurfaceKHR;
9323        if feature >= VERSION_1_0 {
9324          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateWin32SurfaceKHR") {
9325            CreateWin32SurfaceKHR_ptr = mem::transmute(fnptr);
9326          }
9327        }
9328        let mut GetPhysicalDeviceWin32PresentationSupportKHR_ptr = GetPhysicalDeviceWin32PresentationSupportKHR_panic as PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR;
9329        if feature >= VERSION_1_0 {
9330          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceWin32PresentationSupportKHR") {
9331            GetPhysicalDeviceWin32PresentationSupportKHR_ptr = mem::transmute(fnptr);
9332          }
9333        }
9334        let mut CreateDebugReportCallbackEXT_ptr = CreateDebugReportCallbackEXT_panic as PFN_vkCreateDebugReportCallbackEXT;
9335        if feature >= VERSION_1_0 {
9336          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateDebugReportCallbackEXT") {
9337            CreateDebugReportCallbackEXT_ptr = mem::transmute(fnptr);
9338          }
9339        }
9340        let mut DestroyDebugReportCallbackEXT_ptr = DestroyDebugReportCallbackEXT_panic as PFN_vkDestroyDebugReportCallbackEXT;
9341        if feature >= VERSION_1_0 {
9342          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyDebugReportCallbackEXT") {
9343            DestroyDebugReportCallbackEXT_ptr = mem::transmute(fnptr);
9344          }
9345        }
9346        let mut DebugReportMessageEXT_ptr = DebugReportMessageEXT_panic as PFN_vkDebugReportMessageEXT;
9347        if feature >= VERSION_1_0 {
9348          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDebugReportMessageEXT") {
9349            DebugReportMessageEXT_ptr = mem::transmute(fnptr);
9350          }
9351        }
9352        let mut GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr = GetPhysicalDeviceExternalImageFormatPropertiesNV_panic as PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
9353        if feature >= VERSION_1_0 {
9354          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceExternalImageFormatPropertiesNV") {
9355            GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr = mem::transmute(fnptr);
9356          }
9357        }
9358        let mut CreateViSurfaceNN_ptr = CreateViSurfaceNN_panic as PFN_vkCreateViSurfaceNN;
9359        if feature >= VERSION_1_0 {
9360          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateViSurfaceNN") {
9361            CreateViSurfaceNN_ptr = mem::transmute(fnptr);
9362          }
9363        }
9364        let mut ReleaseDisplayEXT_ptr = ReleaseDisplayEXT_panic as PFN_vkReleaseDisplayEXT;
9365        if feature >= VERSION_1_0 {
9366          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkReleaseDisplayEXT") {
9367            ReleaseDisplayEXT_ptr = mem::transmute(fnptr);
9368          }
9369        }
9370        let mut AcquireXlibDisplayEXT_ptr = AcquireXlibDisplayEXT_panic as PFN_vkAcquireXlibDisplayEXT;
9371        if feature >= VERSION_1_0 {
9372          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkAcquireXlibDisplayEXT") {
9373            AcquireXlibDisplayEXT_ptr = mem::transmute(fnptr);
9374          }
9375        }
9376        let mut GetRandROutputDisplayEXT_ptr = GetRandROutputDisplayEXT_panic as PFN_vkGetRandROutputDisplayEXT;
9377        if feature >= VERSION_1_0 {
9378          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetRandROutputDisplayEXT") {
9379            GetRandROutputDisplayEXT_ptr = mem::transmute(fnptr);
9380          }
9381        }
9382        let mut GetPhysicalDeviceSurfaceCapabilities2EXT_ptr = GetPhysicalDeviceSurfaceCapabilities2EXT_panic as PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT;
9383        if feature >= VERSION_1_0 {
9384          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceCapabilities2EXT") {
9385            GetPhysicalDeviceSurfaceCapabilities2EXT_ptr = mem::transmute(fnptr);
9386          }
9387        }
9388        let mut GetPhysicalDeviceSurfaceCapabilities2KHR_ptr = GetPhysicalDeviceSurfaceCapabilities2KHR_panic as PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR;
9389        if feature >= VERSION_1_0 {
9390          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceCapabilities2KHR") {
9391            GetPhysicalDeviceSurfaceCapabilities2KHR_ptr = mem::transmute(fnptr);
9392          }
9393        }
9394        let mut GetPhysicalDeviceSurfaceFormats2KHR_ptr = GetPhysicalDeviceSurfaceFormats2KHR_panic as PFN_vkGetPhysicalDeviceSurfaceFormats2KHR;
9395        if feature >= VERSION_1_0 {
9396          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceSurfaceFormats2KHR") {
9397            GetPhysicalDeviceSurfaceFormats2KHR_ptr = mem::transmute(fnptr);
9398          }
9399        }
9400        let mut GetPhysicalDeviceDisplayProperties2KHR_ptr = GetPhysicalDeviceDisplayProperties2KHR_panic as PFN_vkGetPhysicalDeviceDisplayProperties2KHR;
9401        if feature >= VERSION_1_0 {
9402          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceDisplayProperties2KHR") {
9403            GetPhysicalDeviceDisplayProperties2KHR_ptr = mem::transmute(fnptr);
9404          }
9405        }
9406        let mut GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr = GetPhysicalDeviceDisplayPlaneProperties2KHR_panic as PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
9407        if feature >= VERSION_1_0 {
9408          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceDisplayPlaneProperties2KHR") {
9409            GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr = mem::transmute(fnptr);
9410          }
9411        }
9412        let mut GetDisplayModeProperties2KHR_ptr = GetDisplayModeProperties2KHR_panic as PFN_vkGetDisplayModeProperties2KHR;
9413        if feature >= VERSION_1_0 {
9414          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDisplayModeProperties2KHR") {
9415            GetDisplayModeProperties2KHR_ptr = mem::transmute(fnptr);
9416          }
9417        }
9418        let mut GetDisplayPlaneCapabilities2KHR_ptr = GetDisplayPlaneCapabilities2KHR_panic as PFN_vkGetDisplayPlaneCapabilities2KHR;
9419        if feature >= VERSION_1_0 {
9420          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDisplayPlaneCapabilities2KHR") {
9421            GetDisplayPlaneCapabilities2KHR_ptr = mem::transmute(fnptr);
9422          }
9423        }
9424        let mut CreateIOSSurfaceMVK_ptr = CreateIOSSurfaceMVK_panic as PFN_vkCreateIOSSurfaceMVK;
9425        if feature >= VERSION_1_0 {
9426          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateIOSSurfaceMVK") {
9427            CreateIOSSurfaceMVK_ptr = mem::transmute(fnptr);
9428          }
9429        }
9430        let mut CreateMacOSSurfaceMVK_ptr = CreateMacOSSurfaceMVK_panic as PFN_vkCreateMacOSSurfaceMVK;
9431        if feature >= VERSION_1_0 {
9432          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateMacOSSurfaceMVK") {
9433            CreateMacOSSurfaceMVK_ptr = mem::transmute(fnptr);
9434          }
9435        }
9436        let mut SetDebugUtilsObjectNameEXT_ptr = SetDebugUtilsObjectNameEXT_panic as PFN_vkSetDebugUtilsObjectNameEXT;
9437        if feature >= VERSION_1_0 {
9438          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkSetDebugUtilsObjectNameEXT") {
9439            SetDebugUtilsObjectNameEXT_ptr = mem::transmute(fnptr);
9440          }
9441        }
9442        let mut SetDebugUtilsObjectTagEXT_ptr = SetDebugUtilsObjectTagEXT_panic as PFN_vkSetDebugUtilsObjectTagEXT;
9443        if feature >= VERSION_1_0 {
9444          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkSetDebugUtilsObjectTagEXT") {
9445            SetDebugUtilsObjectTagEXT_ptr = mem::transmute(fnptr);
9446          }
9447        }
9448        let mut QueueBeginDebugUtilsLabelEXT_ptr = QueueBeginDebugUtilsLabelEXT_panic as PFN_vkQueueBeginDebugUtilsLabelEXT;
9449        if feature >= VERSION_1_0 {
9450          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkQueueBeginDebugUtilsLabelEXT") {
9451            QueueBeginDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9452          }
9453        }
9454        let mut QueueEndDebugUtilsLabelEXT_ptr = QueueEndDebugUtilsLabelEXT_panic as PFN_vkQueueEndDebugUtilsLabelEXT;
9455        if feature >= VERSION_1_0 {
9456          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkQueueEndDebugUtilsLabelEXT") {
9457            QueueEndDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9458          }
9459        }
9460        let mut QueueInsertDebugUtilsLabelEXT_ptr = QueueInsertDebugUtilsLabelEXT_panic as PFN_vkQueueInsertDebugUtilsLabelEXT;
9461        if feature >= VERSION_1_0 {
9462          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkQueueInsertDebugUtilsLabelEXT") {
9463            QueueInsertDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9464          }
9465        }
9466        let mut CmdBeginDebugUtilsLabelEXT_ptr = CmdBeginDebugUtilsLabelEXT_panic as PFN_vkCmdBeginDebugUtilsLabelEXT;
9467        if feature >= VERSION_1_0 {
9468          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBeginDebugUtilsLabelEXT") {
9469            CmdBeginDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9470          }
9471        }
9472        let mut CmdEndDebugUtilsLabelEXT_ptr = CmdEndDebugUtilsLabelEXT_panic as PFN_vkCmdEndDebugUtilsLabelEXT;
9473        if feature >= VERSION_1_0 {
9474          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdEndDebugUtilsLabelEXT") {
9475            CmdEndDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9476          }
9477        }
9478        let mut CmdInsertDebugUtilsLabelEXT_ptr = CmdInsertDebugUtilsLabelEXT_panic as PFN_vkCmdInsertDebugUtilsLabelEXT;
9479        if feature >= VERSION_1_0 {
9480          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdInsertDebugUtilsLabelEXT") {
9481            CmdInsertDebugUtilsLabelEXT_ptr = mem::transmute(fnptr);
9482          }
9483        }
9484        let mut CreateDebugUtilsMessengerEXT_ptr = CreateDebugUtilsMessengerEXT_panic as PFN_vkCreateDebugUtilsMessengerEXT;
9485        if feature >= VERSION_1_0 {
9486          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateDebugUtilsMessengerEXT") {
9487            CreateDebugUtilsMessengerEXT_ptr = mem::transmute(fnptr);
9488          }
9489        }
9490        let mut DestroyDebugUtilsMessengerEXT_ptr = DestroyDebugUtilsMessengerEXT_panic as PFN_vkDestroyDebugUtilsMessengerEXT;
9491        if feature >= VERSION_1_0 {
9492          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyDebugUtilsMessengerEXT") {
9493            DestroyDebugUtilsMessengerEXT_ptr = mem::transmute(fnptr);
9494          }
9495        }
9496        let mut SubmitDebugUtilsMessageEXT_ptr = SubmitDebugUtilsMessageEXT_panic as PFN_vkSubmitDebugUtilsMessageEXT;
9497        if feature >= VERSION_1_0 {
9498          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkSubmitDebugUtilsMessageEXT") {
9499            SubmitDebugUtilsMessageEXT_ptr = mem::transmute(fnptr);
9500          }
9501        }
9502        let mut CreateImagePipeSurfaceFUCHSIA_ptr = CreateImagePipeSurfaceFUCHSIA_panic as PFN_vkCreateImagePipeSurfaceFUCHSIA;
9503        if feature >= VERSION_1_0 {
9504          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateImagePipeSurfaceFUCHSIA") {
9505            CreateImagePipeSurfaceFUCHSIA_ptr = mem::transmute(fnptr);
9506          }
9507        }
9508        let mut CreateSwapchainKHR_ptr = CreateSwapchainKHR_panic as PFN_vkCreateSwapchainKHR;
9509        if feature >= VERSION_1_0 {
9510          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateSwapchainKHR") {
9511            CreateSwapchainKHR_ptr = mem::transmute(fnptr);
9512          }
9513        }
9514        let mut DestroySwapchainKHR_ptr = DestroySwapchainKHR_panic as PFN_vkDestroySwapchainKHR;
9515        if feature >= VERSION_1_0 {
9516          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroySwapchainKHR") {
9517            DestroySwapchainKHR_ptr = mem::transmute(fnptr);
9518          }
9519        }
9520        let mut GetSwapchainImagesKHR_ptr = GetSwapchainImagesKHR_panic as PFN_vkGetSwapchainImagesKHR;
9521        if feature >= VERSION_1_0 {
9522          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetSwapchainImagesKHR") {
9523            GetSwapchainImagesKHR_ptr = mem::transmute(fnptr);
9524          }
9525        }
9526        let mut AcquireNextImageKHR_ptr = AcquireNextImageKHR_panic as PFN_vkAcquireNextImageKHR;
9527        if feature >= VERSION_1_0 {
9528          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkAcquireNextImageKHR") {
9529            AcquireNextImageKHR_ptr = mem::transmute(fnptr);
9530          }
9531        }
9532        let mut QueuePresentKHR_ptr = QueuePresentKHR_panic as PFN_vkQueuePresentKHR;
9533        if feature >= VERSION_1_0 {
9534          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkQueuePresentKHR") {
9535            QueuePresentKHR_ptr = mem::transmute(fnptr);
9536          }
9537        }
9538        let mut GetDeviceGroupPresentCapabilitiesKHR_ptr = GetDeviceGroupPresentCapabilitiesKHR_panic as PFN_vkGetDeviceGroupPresentCapabilitiesKHR;
9539        if feature >= VERSION_1_0 {
9540          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDeviceGroupPresentCapabilitiesKHR") {
9541            GetDeviceGroupPresentCapabilitiesKHR_ptr = mem::transmute(fnptr);
9542          }
9543        }
9544        let mut GetDeviceGroupSurfacePresentModesKHR_ptr = GetDeviceGroupSurfacePresentModesKHR_panic as PFN_vkGetDeviceGroupSurfacePresentModesKHR;
9545        if feature >= VERSION_1_0 {
9546          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetDeviceGroupSurfacePresentModesKHR") {
9547            GetDeviceGroupSurfacePresentModesKHR_ptr = mem::transmute(fnptr);
9548          }
9549        }
9550        let mut GetPhysicalDevicePresentRectanglesKHR_ptr = GetPhysicalDevicePresentRectanglesKHR_panic as PFN_vkGetPhysicalDevicePresentRectanglesKHR;
9551        if feature >= VERSION_1_0 {
9552          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDevicePresentRectanglesKHR") {
9553            GetPhysicalDevicePresentRectanglesKHR_ptr = mem::transmute(fnptr);
9554          }
9555        }
9556        let mut AcquireNextImage2KHR_ptr = AcquireNextImage2KHR_panic as PFN_vkAcquireNextImage2KHR;
9557        if feature >= VERSION_1_0 {
9558          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkAcquireNextImage2KHR") {
9559            AcquireNextImage2KHR_ptr = mem::transmute(fnptr);
9560          }
9561        }
9562        let mut CreateSharedSwapchainsKHR_ptr = CreateSharedSwapchainsKHR_panic as PFN_vkCreateSharedSwapchainsKHR;
9563        if feature >= VERSION_1_0 {
9564          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateSharedSwapchainsKHR") {
9565            CreateSharedSwapchainsKHR_ptr = mem::transmute(fnptr);
9566          }
9567        }
9568        let mut DebugMarkerSetObjectTagEXT_ptr = DebugMarkerSetObjectTagEXT_panic as PFN_vkDebugMarkerSetObjectTagEXT;
9569        if feature >= VERSION_1_0 {
9570          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDebugMarkerSetObjectTagEXT") {
9571            DebugMarkerSetObjectTagEXT_ptr = mem::transmute(fnptr);
9572          }
9573        }
9574        let mut DebugMarkerSetObjectNameEXT_ptr = DebugMarkerSetObjectNameEXT_panic as PFN_vkDebugMarkerSetObjectNameEXT;
9575        if feature >= VERSION_1_0 {
9576          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDebugMarkerSetObjectNameEXT") {
9577            DebugMarkerSetObjectNameEXT_ptr = mem::transmute(fnptr);
9578          }
9579        }
9580        let mut CmdDebugMarkerBeginEXT_ptr = CmdDebugMarkerBeginEXT_panic as PFN_vkCmdDebugMarkerBeginEXT;
9581        if feature >= VERSION_1_0 {
9582          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDebugMarkerBeginEXT") {
9583            CmdDebugMarkerBeginEXT_ptr = mem::transmute(fnptr);
9584          }
9585        }
9586        let mut CmdDebugMarkerEndEXT_ptr = CmdDebugMarkerEndEXT_panic as PFN_vkCmdDebugMarkerEndEXT;
9587        if feature >= VERSION_1_0 {
9588          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDebugMarkerEndEXT") {
9589            CmdDebugMarkerEndEXT_ptr = mem::transmute(fnptr);
9590          }
9591        }
9592        let mut CmdDebugMarkerInsertEXT_ptr = CmdDebugMarkerInsertEXT_panic as PFN_vkCmdDebugMarkerInsertEXT;
9593        if feature >= VERSION_1_0 {
9594          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDebugMarkerInsertEXT") {
9595            CmdDebugMarkerInsertEXT_ptr = mem::transmute(fnptr);
9596          }
9597        }
9598        let mut CmdBindTransformFeedbackBuffersEXT_ptr = CmdBindTransformFeedbackBuffersEXT_panic as PFN_vkCmdBindTransformFeedbackBuffersEXT;
9599        if feature >= VERSION_1_0 {
9600          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBindTransformFeedbackBuffersEXT") {
9601            CmdBindTransformFeedbackBuffersEXT_ptr = mem::transmute(fnptr);
9602          }
9603        }
9604        let mut CmdBeginTransformFeedbackEXT_ptr = CmdBeginTransformFeedbackEXT_panic as PFN_vkCmdBeginTransformFeedbackEXT;
9605        if feature >= VERSION_1_0 {
9606          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBeginTransformFeedbackEXT") {
9607            CmdBeginTransformFeedbackEXT_ptr = mem::transmute(fnptr);
9608          }
9609        }
9610        let mut CmdEndTransformFeedbackEXT_ptr = CmdEndTransformFeedbackEXT_panic as PFN_vkCmdEndTransformFeedbackEXT;
9611        if feature >= VERSION_1_0 {
9612          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdEndTransformFeedbackEXT") {
9613            CmdEndTransformFeedbackEXT_ptr = mem::transmute(fnptr);
9614          }
9615        }
9616        let mut CmdBeginQueryIndexedEXT_ptr = CmdBeginQueryIndexedEXT_panic as PFN_vkCmdBeginQueryIndexedEXT;
9617        if feature >= VERSION_1_0 {
9618          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBeginQueryIndexedEXT") {
9619            CmdBeginQueryIndexedEXT_ptr = mem::transmute(fnptr);
9620          }
9621        }
9622        let mut CmdEndQueryIndexedEXT_ptr = CmdEndQueryIndexedEXT_panic as PFN_vkCmdEndQueryIndexedEXT;
9623        if feature >= VERSION_1_0 {
9624          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdEndQueryIndexedEXT") {
9625            CmdEndQueryIndexedEXT_ptr = mem::transmute(fnptr);
9626          }
9627        }
9628        let mut CmdDrawIndirectByteCountEXT_ptr = CmdDrawIndirectByteCountEXT_panic as PFN_vkCmdDrawIndirectByteCountEXT;
9629        if feature >= VERSION_1_0 {
9630          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawIndirectByteCountEXT") {
9631            CmdDrawIndirectByteCountEXT_ptr = mem::transmute(fnptr);
9632          }
9633        }
9634        let mut CmdDrawIndirectCountAMD_ptr = CmdDrawIndirectCountAMD_panic as PFN_vkCmdDrawIndirectCountAMD;
9635        if feature >= VERSION_1_0 {
9636          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawIndirectCountAMD") {
9637            CmdDrawIndirectCountAMD_ptr = mem::transmute(fnptr);
9638          }
9639        }
9640        let mut CmdDrawIndexedIndirectCountAMD_ptr = CmdDrawIndexedIndirectCountAMD_panic as PFN_vkCmdDrawIndexedIndirectCountAMD;
9641        if feature >= VERSION_1_0 {
9642          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawIndexedIndirectCountAMD") {
9643            CmdDrawIndexedIndirectCountAMD_ptr = mem::transmute(fnptr);
9644          }
9645        }
9646        let mut GetShaderInfoAMD_ptr = GetShaderInfoAMD_panic as PFN_vkGetShaderInfoAMD;
9647        if feature >= VERSION_1_0 {
9648          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetShaderInfoAMD") {
9649            GetShaderInfoAMD_ptr = mem::transmute(fnptr);
9650          }
9651        }
9652        let mut GetMemoryWin32HandleNV_ptr = GetMemoryWin32HandleNV_panic as PFN_vkGetMemoryWin32HandleNV;
9653        if feature >= VERSION_1_0 {
9654          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryWin32HandleNV") {
9655            GetMemoryWin32HandleNV_ptr = mem::transmute(fnptr);
9656          }
9657        }
9658        let mut GetMemoryWin32HandleKHR_ptr = GetMemoryWin32HandleKHR_panic as PFN_vkGetMemoryWin32HandleKHR;
9659        if feature >= VERSION_1_0 {
9660          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryWin32HandleKHR") {
9661            GetMemoryWin32HandleKHR_ptr = mem::transmute(fnptr);
9662          }
9663        }
9664        let mut GetMemoryWin32HandlePropertiesKHR_ptr = GetMemoryWin32HandlePropertiesKHR_panic as PFN_vkGetMemoryWin32HandlePropertiesKHR;
9665        if feature >= VERSION_1_0 {
9666          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryWin32HandlePropertiesKHR") {
9667            GetMemoryWin32HandlePropertiesKHR_ptr = mem::transmute(fnptr);
9668          }
9669        }
9670        let mut GetMemoryFdKHR_ptr = GetMemoryFdKHR_panic as PFN_vkGetMemoryFdKHR;
9671        if feature >= VERSION_1_0 {
9672          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryFdKHR") {
9673            GetMemoryFdKHR_ptr = mem::transmute(fnptr);
9674          }
9675        }
9676        let mut GetMemoryFdPropertiesKHR_ptr = GetMemoryFdPropertiesKHR_panic as PFN_vkGetMemoryFdPropertiesKHR;
9677        if feature >= VERSION_1_0 {
9678          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryFdPropertiesKHR") {
9679            GetMemoryFdPropertiesKHR_ptr = mem::transmute(fnptr);
9680          }
9681        }
9682        let mut ImportSemaphoreWin32HandleKHR_ptr = ImportSemaphoreWin32HandleKHR_panic as PFN_vkImportSemaphoreWin32HandleKHR;
9683        if feature >= VERSION_1_0 {
9684          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkImportSemaphoreWin32HandleKHR") {
9685            ImportSemaphoreWin32HandleKHR_ptr = mem::transmute(fnptr);
9686          }
9687        }
9688        let mut GetSemaphoreWin32HandleKHR_ptr = GetSemaphoreWin32HandleKHR_panic as PFN_vkGetSemaphoreWin32HandleKHR;
9689        if feature >= VERSION_1_0 {
9690          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetSemaphoreWin32HandleKHR") {
9691            GetSemaphoreWin32HandleKHR_ptr = mem::transmute(fnptr);
9692          }
9693        }
9694        let mut ImportSemaphoreFdKHR_ptr = ImportSemaphoreFdKHR_panic as PFN_vkImportSemaphoreFdKHR;
9695        if feature >= VERSION_1_0 {
9696          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkImportSemaphoreFdKHR") {
9697            ImportSemaphoreFdKHR_ptr = mem::transmute(fnptr);
9698          }
9699        }
9700        let mut GetSemaphoreFdKHR_ptr = GetSemaphoreFdKHR_panic as PFN_vkGetSemaphoreFdKHR;
9701        if feature >= VERSION_1_0 {
9702          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetSemaphoreFdKHR") {
9703            GetSemaphoreFdKHR_ptr = mem::transmute(fnptr);
9704          }
9705        }
9706        let mut CmdPushDescriptorSetKHR_ptr = CmdPushDescriptorSetKHR_panic as PFN_vkCmdPushDescriptorSetKHR;
9707        if feature >= VERSION_1_0 {
9708          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdPushDescriptorSetKHR") {
9709            CmdPushDescriptorSetKHR_ptr = mem::transmute(fnptr);
9710          }
9711        }
9712        let mut CmdPushDescriptorSetWithTemplateKHR_ptr = CmdPushDescriptorSetWithTemplateKHR_panic as PFN_vkCmdPushDescriptorSetWithTemplateKHR;
9713        if feature >= VERSION_1_0 {
9714          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdPushDescriptorSetWithTemplateKHR") {
9715            CmdPushDescriptorSetWithTemplateKHR_ptr = mem::transmute(fnptr);
9716          }
9717        }
9718        let mut CmdBeginConditionalRenderingEXT_ptr = CmdBeginConditionalRenderingEXT_panic as PFN_vkCmdBeginConditionalRenderingEXT;
9719        if feature >= VERSION_1_0 {
9720          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBeginConditionalRenderingEXT") {
9721            CmdBeginConditionalRenderingEXT_ptr = mem::transmute(fnptr);
9722          }
9723        }
9724        let mut CmdEndConditionalRenderingEXT_ptr = CmdEndConditionalRenderingEXT_panic as PFN_vkCmdEndConditionalRenderingEXT;
9725        if feature >= VERSION_1_0 {
9726          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdEndConditionalRenderingEXT") {
9727            CmdEndConditionalRenderingEXT_ptr = mem::transmute(fnptr);
9728          }
9729        }
9730        let mut CmdProcessCommandsNVX_ptr = CmdProcessCommandsNVX_panic as PFN_vkCmdProcessCommandsNVX;
9731        if feature >= VERSION_1_0 {
9732          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdProcessCommandsNVX") {
9733            CmdProcessCommandsNVX_ptr = mem::transmute(fnptr);
9734          }
9735        }
9736        let mut CmdReserveSpaceForCommandsNVX_ptr = CmdReserveSpaceForCommandsNVX_panic as PFN_vkCmdReserveSpaceForCommandsNVX;
9737        if feature >= VERSION_1_0 {
9738          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdReserveSpaceForCommandsNVX") {
9739            CmdReserveSpaceForCommandsNVX_ptr = mem::transmute(fnptr);
9740          }
9741        }
9742        let mut CreateIndirectCommandsLayoutNVX_ptr = CreateIndirectCommandsLayoutNVX_panic as PFN_vkCreateIndirectCommandsLayoutNVX;
9743        if feature >= VERSION_1_0 {
9744          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateIndirectCommandsLayoutNVX") {
9745            CreateIndirectCommandsLayoutNVX_ptr = mem::transmute(fnptr);
9746          }
9747        }
9748        let mut DestroyIndirectCommandsLayoutNVX_ptr = DestroyIndirectCommandsLayoutNVX_panic as PFN_vkDestroyIndirectCommandsLayoutNVX;
9749        if feature >= VERSION_1_0 {
9750          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyIndirectCommandsLayoutNVX") {
9751            DestroyIndirectCommandsLayoutNVX_ptr = mem::transmute(fnptr);
9752          }
9753        }
9754        let mut CreateObjectTableNVX_ptr = CreateObjectTableNVX_panic as PFN_vkCreateObjectTableNVX;
9755        if feature >= VERSION_1_0 {
9756          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateObjectTableNVX") {
9757            CreateObjectTableNVX_ptr = mem::transmute(fnptr);
9758          }
9759        }
9760        let mut DestroyObjectTableNVX_ptr = DestroyObjectTableNVX_panic as PFN_vkDestroyObjectTableNVX;
9761        if feature >= VERSION_1_0 {
9762          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyObjectTableNVX") {
9763            DestroyObjectTableNVX_ptr = mem::transmute(fnptr);
9764          }
9765        }
9766        let mut RegisterObjectsNVX_ptr = RegisterObjectsNVX_panic as PFN_vkRegisterObjectsNVX;
9767        if feature >= VERSION_1_0 {
9768          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkRegisterObjectsNVX") {
9769            RegisterObjectsNVX_ptr = mem::transmute(fnptr);
9770          }
9771        }
9772        let mut UnregisterObjectsNVX_ptr = UnregisterObjectsNVX_panic as PFN_vkUnregisterObjectsNVX;
9773        if feature >= VERSION_1_0 {
9774          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkUnregisterObjectsNVX") {
9775            UnregisterObjectsNVX_ptr = mem::transmute(fnptr);
9776          }
9777        }
9778        let mut GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr = GetPhysicalDeviceGeneratedCommandsPropertiesNVX_panic as PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX;
9779        if feature >= VERSION_1_0 {
9780          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX") {
9781            GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr = mem::transmute(fnptr);
9782          }
9783        }
9784        let mut CmdSetViewportWScalingNV_ptr = CmdSetViewportWScalingNV_panic as PFN_vkCmdSetViewportWScalingNV;
9785        if feature >= VERSION_1_0 {
9786          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetViewportWScalingNV") {
9787            CmdSetViewportWScalingNV_ptr = mem::transmute(fnptr);
9788          }
9789        }
9790        let mut DisplayPowerControlEXT_ptr = DisplayPowerControlEXT_panic as PFN_vkDisplayPowerControlEXT;
9791        if feature >= VERSION_1_0 {
9792          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDisplayPowerControlEXT") {
9793            DisplayPowerControlEXT_ptr = mem::transmute(fnptr);
9794          }
9795        }
9796        let mut RegisterDeviceEventEXT_ptr = RegisterDeviceEventEXT_panic as PFN_vkRegisterDeviceEventEXT;
9797        if feature >= VERSION_1_0 {
9798          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkRegisterDeviceEventEXT") {
9799            RegisterDeviceEventEXT_ptr = mem::transmute(fnptr);
9800          }
9801        }
9802        let mut RegisterDisplayEventEXT_ptr = RegisterDisplayEventEXT_panic as PFN_vkRegisterDisplayEventEXT;
9803        if feature >= VERSION_1_0 {
9804          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkRegisterDisplayEventEXT") {
9805            RegisterDisplayEventEXT_ptr = mem::transmute(fnptr);
9806          }
9807        }
9808        let mut GetSwapchainCounterEXT_ptr = GetSwapchainCounterEXT_panic as PFN_vkGetSwapchainCounterEXT;
9809        if feature >= VERSION_1_0 {
9810          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetSwapchainCounterEXT") {
9811            GetSwapchainCounterEXT_ptr = mem::transmute(fnptr);
9812          }
9813        }
9814        let mut GetRefreshCycleDurationGOOGLE_ptr = GetRefreshCycleDurationGOOGLE_panic as PFN_vkGetRefreshCycleDurationGOOGLE;
9815        if feature >= VERSION_1_0 {
9816          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetRefreshCycleDurationGOOGLE") {
9817            GetRefreshCycleDurationGOOGLE_ptr = mem::transmute(fnptr);
9818          }
9819        }
9820        let mut GetPastPresentationTimingGOOGLE_ptr = GetPastPresentationTimingGOOGLE_panic as PFN_vkGetPastPresentationTimingGOOGLE;
9821        if feature >= VERSION_1_0 {
9822          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPastPresentationTimingGOOGLE") {
9823            GetPastPresentationTimingGOOGLE_ptr = mem::transmute(fnptr);
9824          }
9825        }
9826        let mut CmdSetDiscardRectangleEXT_ptr = CmdSetDiscardRectangleEXT_panic as PFN_vkCmdSetDiscardRectangleEXT;
9827        if feature >= VERSION_1_0 {
9828          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetDiscardRectangleEXT") {
9829            CmdSetDiscardRectangleEXT_ptr = mem::transmute(fnptr);
9830          }
9831        }
9832        let mut SetHdrMetadataEXT_ptr = SetHdrMetadataEXT_panic as PFN_vkSetHdrMetadataEXT;
9833        if feature >= VERSION_1_0 {
9834          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkSetHdrMetadataEXT") {
9835            SetHdrMetadataEXT_ptr = mem::transmute(fnptr);
9836          }
9837        }
9838        let mut CreateRenderPass2KHR_ptr = CreateRenderPass2KHR_panic as PFN_vkCreateRenderPass2KHR;
9839        if feature >= VERSION_1_0 {
9840          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateRenderPass2KHR") {
9841            CreateRenderPass2KHR_ptr = mem::transmute(fnptr);
9842          }
9843        }
9844        let mut CmdBeginRenderPass2KHR_ptr = CmdBeginRenderPass2KHR_panic as PFN_vkCmdBeginRenderPass2KHR;
9845        if feature >= VERSION_1_0 {
9846          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBeginRenderPass2KHR") {
9847            CmdBeginRenderPass2KHR_ptr = mem::transmute(fnptr);
9848          }
9849        }
9850        let mut CmdNextSubpass2KHR_ptr = CmdNextSubpass2KHR_panic as PFN_vkCmdNextSubpass2KHR;
9851        if feature >= VERSION_1_0 {
9852          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdNextSubpass2KHR") {
9853            CmdNextSubpass2KHR_ptr = mem::transmute(fnptr);
9854          }
9855        }
9856        let mut CmdEndRenderPass2KHR_ptr = CmdEndRenderPass2KHR_panic as PFN_vkCmdEndRenderPass2KHR;
9857        if feature >= VERSION_1_0 {
9858          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdEndRenderPass2KHR") {
9859            CmdEndRenderPass2KHR_ptr = mem::transmute(fnptr);
9860          }
9861        }
9862        let mut GetSwapchainStatusKHR_ptr = GetSwapchainStatusKHR_panic as PFN_vkGetSwapchainStatusKHR;
9863        if feature >= VERSION_1_0 {
9864          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetSwapchainStatusKHR") {
9865            GetSwapchainStatusKHR_ptr = mem::transmute(fnptr);
9866          }
9867        }
9868        let mut ImportFenceWin32HandleKHR_ptr = ImportFenceWin32HandleKHR_panic as PFN_vkImportFenceWin32HandleKHR;
9869        if feature >= VERSION_1_0 {
9870          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkImportFenceWin32HandleKHR") {
9871            ImportFenceWin32HandleKHR_ptr = mem::transmute(fnptr);
9872          }
9873        }
9874        let mut GetFenceWin32HandleKHR_ptr = GetFenceWin32HandleKHR_panic as PFN_vkGetFenceWin32HandleKHR;
9875        if feature >= VERSION_1_0 {
9876          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetFenceWin32HandleKHR") {
9877            GetFenceWin32HandleKHR_ptr = mem::transmute(fnptr);
9878          }
9879        }
9880        let mut ImportFenceFdKHR_ptr = ImportFenceFdKHR_panic as PFN_vkImportFenceFdKHR;
9881        if feature >= VERSION_1_0 {
9882          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkImportFenceFdKHR") {
9883            ImportFenceFdKHR_ptr = mem::transmute(fnptr);
9884          }
9885        }
9886        let mut GetFenceFdKHR_ptr = GetFenceFdKHR_panic as PFN_vkGetFenceFdKHR;
9887        if feature >= VERSION_1_0 {
9888          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetFenceFdKHR") {
9889            GetFenceFdKHR_ptr = mem::transmute(fnptr);
9890          }
9891        }
9892        let mut GetAndroidHardwareBufferPropertiesANDROID_ptr = GetAndroidHardwareBufferPropertiesANDROID_panic as PFN_vkGetAndroidHardwareBufferPropertiesANDROID;
9893        if feature >= VERSION_1_0 {
9894          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetAndroidHardwareBufferPropertiesANDROID") {
9895            GetAndroidHardwareBufferPropertiesANDROID_ptr = mem::transmute(fnptr);
9896          }
9897        }
9898        let mut GetMemoryAndroidHardwareBufferANDROID_ptr = GetMemoryAndroidHardwareBufferANDROID_panic as PFN_vkGetMemoryAndroidHardwareBufferANDROID;
9899        if feature >= VERSION_1_0 {
9900          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryAndroidHardwareBufferANDROID") {
9901            GetMemoryAndroidHardwareBufferANDROID_ptr = mem::transmute(fnptr);
9902          }
9903        }
9904        let mut CmdSetSampleLocationsEXT_ptr = CmdSetSampleLocationsEXT_panic as PFN_vkCmdSetSampleLocationsEXT;
9905        if feature >= VERSION_1_0 {
9906          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetSampleLocationsEXT") {
9907            CmdSetSampleLocationsEXT_ptr = mem::transmute(fnptr);
9908          }
9909        }
9910        let mut GetPhysicalDeviceMultisamplePropertiesEXT_ptr = GetPhysicalDeviceMultisamplePropertiesEXT_panic as PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT;
9911        if feature >= VERSION_1_0 {
9912          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceMultisamplePropertiesEXT") {
9913            GetPhysicalDeviceMultisamplePropertiesEXT_ptr = mem::transmute(fnptr);
9914          }
9915        }
9916        let mut GetImageDrmFormatModifierPropertiesEXT_ptr = GetImageDrmFormatModifierPropertiesEXT_panic as PFN_vkGetImageDrmFormatModifierPropertiesEXT;
9917        if feature >= VERSION_1_0 {
9918          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetImageDrmFormatModifierPropertiesEXT") {
9919            GetImageDrmFormatModifierPropertiesEXT_ptr = mem::transmute(fnptr);
9920          }
9921        }
9922        let mut CreateValidationCacheEXT_ptr = CreateValidationCacheEXT_panic as PFN_vkCreateValidationCacheEXT;
9923        if feature >= VERSION_1_0 {
9924          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateValidationCacheEXT") {
9925            CreateValidationCacheEXT_ptr = mem::transmute(fnptr);
9926          }
9927        }
9928        let mut DestroyValidationCacheEXT_ptr = DestroyValidationCacheEXT_panic as PFN_vkDestroyValidationCacheEXT;
9929        if feature >= VERSION_1_0 {
9930          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyValidationCacheEXT") {
9931            DestroyValidationCacheEXT_ptr = mem::transmute(fnptr);
9932          }
9933        }
9934        let mut MergeValidationCachesEXT_ptr = MergeValidationCachesEXT_panic as PFN_vkMergeValidationCachesEXT;
9935        if feature >= VERSION_1_0 {
9936          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkMergeValidationCachesEXT") {
9937            MergeValidationCachesEXT_ptr = mem::transmute(fnptr);
9938          }
9939        }
9940        let mut GetValidationCacheDataEXT_ptr = GetValidationCacheDataEXT_panic as PFN_vkGetValidationCacheDataEXT;
9941        if feature >= VERSION_1_0 {
9942          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetValidationCacheDataEXT") {
9943            GetValidationCacheDataEXT_ptr = mem::transmute(fnptr);
9944          }
9945        }
9946        let mut CmdBindShadingRateImageNV_ptr = CmdBindShadingRateImageNV_panic as PFN_vkCmdBindShadingRateImageNV;
9947        if feature >= VERSION_1_0 {
9948          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBindShadingRateImageNV") {
9949            CmdBindShadingRateImageNV_ptr = mem::transmute(fnptr);
9950          }
9951        }
9952        let mut CmdSetViewportShadingRatePaletteNV_ptr = CmdSetViewportShadingRatePaletteNV_panic as PFN_vkCmdSetViewportShadingRatePaletteNV;
9953        if feature >= VERSION_1_0 {
9954          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetViewportShadingRatePaletteNV") {
9955            CmdSetViewportShadingRatePaletteNV_ptr = mem::transmute(fnptr);
9956          }
9957        }
9958        let mut CmdSetCoarseSampleOrderNV_ptr = CmdSetCoarseSampleOrderNV_panic as PFN_vkCmdSetCoarseSampleOrderNV;
9959        if feature >= VERSION_1_0 {
9960          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetCoarseSampleOrderNV") {
9961            CmdSetCoarseSampleOrderNV_ptr = mem::transmute(fnptr);
9962          }
9963        }
9964        let mut CreateAccelerationStructureNV_ptr = CreateAccelerationStructureNV_panic as PFN_vkCreateAccelerationStructureNV;
9965        if feature >= VERSION_1_0 {
9966          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateAccelerationStructureNV") {
9967            CreateAccelerationStructureNV_ptr = mem::transmute(fnptr);
9968          }
9969        }
9970        let mut DestroyAccelerationStructureNV_ptr = DestroyAccelerationStructureNV_panic as PFN_vkDestroyAccelerationStructureNV;
9971        if feature >= VERSION_1_0 {
9972          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkDestroyAccelerationStructureNV") {
9973            DestroyAccelerationStructureNV_ptr = mem::transmute(fnptr);
9974          }
9975        }
9976        let mut GetAccelerationStructureMemoryRequirementsNV_ptr = GetAccelerationStructureMemoryRequirementsNV_panic as PFN_vkGetAccelerationStructureMemoryRequirementsNV;
9977        if feature >= VERSION_1_0 {
9978          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetAccelerationStructureMemoryRequirementsNV") {
9979            GetAccelerationStructureMemoryRequirementsNV_ptr = mem::transmute(fnptr);
9980          }
9981        }
9982        let mut BindAccelerationStructureMemoryNV_ptr = BindAccelerationStructureMemoryNV_panic as PFN_vkBindAccelerationStructureMemoryNV;
9983        if feature >= VERSION_1_0 {
9984          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkBindAccelerationStructureMemoryNV") {
9985            BindAccelerationStructureMemoryNV_ptr = mem::transmute(fnptr);
9986          }
9987        }
9988        let mut CmdBuildAccelerationStructureNV_ptr = CmdBuildAccelerationStructureNV_panic as PFN_vkCmdBuildAccelerationStructureNV;
9989        if feature >= VERSION_1_0 {
9990          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdBuildAccelerationStructureNV") {
9991            CmdBuildAccelerationStructureNV_ptr = mem::transmute(fnptr);
9992          }
9993        }
9994        let mut CmdCopyAccelerationStructureNV_ptr = CmdCopyAccelerationStructureNV_panic as PFN_vkCmdCopyAccelerationStructureNV;
9995        if feature >= VERSION_1_0 {
9996          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdCopyAccelerationStructureNV") {
9997            CmdCopyAccelerationStructureNV_ptr = mem::transmute(fnptr);
9998          }
9999        }
10000        let mut CmdTraceRaysNV_ptr = CmdTraceRaysNV_panic as PFN_vkCmdTraceRaysNV;
10001        if feature >= VERSION_1_0 {
10002          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdTraceRaysNV") {
10003            CmdTraceRaysNV_ptr = mem::transmute(fnptr);
10004          }
10005        }
10006        let mut CreateRayTracingPipelinesNV_ptr = CreateRayTracingPipelinesNV_panic as PFN_vkCreateRayTracingPipelinesNV;
10007        if feature >= VERSION_1_0 {
10008          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCreateRayTracingPipelinesNV") {
10009            CreateRayTracingPipelinesNV_ptr = mem::transmute(fnptr);
10010          }
10011        }
10012        let mut GetRayTracingShaderGroupHandlesNV_ptr = GetRayTracingShaderGroupHandlesNV_panic as PFN_vkGetRayTracingShaderGroupHandlesNV;
10013        if feature >= VERSION_1_0 {
10014          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetRayTracingShaderGroupHandlesNV") {
10015            GetRayTracingShaderGroupHandlesNV_ptr = mem::transmute(fnptr);
10016          }
10017        }
10018        let mut GetAccelerationStructureHandleNV_ptr = GetAccelerationStructureHandleNV_panic as PFN_vkGetAccelerationStructureHandleNV;
10019        if feature >= VERSION_1_0 {
10020          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetAccelerationStructureHandleNV") {
10021            GetAccelerationStructureHandleNV_ptr = mem::transmute(fnptr);
10022          }
10023        }
10024        let mut CmdWriteAccelerationStructuresPropertiesNV_ptr = CmdWriteAccelerationStructuresPropertiesNV_panic as PFN_vkCmdWriteAccelerationStructuresPropertiesNV;
10025        if feature >= VERSION_1_0 {
10026          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdWriteAccelerationStructuresPropertiesNV") {
10027            CmdWriteAccelerationStructuresPropertiesNV_ptr = mem::transmute(fnptr);
10028          }
10029        }
10030        let mut CompileDeferredNV_ptr = CompileDeferredNV_panic as PFN_vkCompileDeferredNV;
10031        if feature >= VERSION_1_0 {
10032          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCompileDeferredNV") {
10033            CompileDeferredNV_ptr = mem::transmute(fnptr);
10034          }
10035        }
10036        let mut CmdDrawIndirectCountKHR_ptr = CmdDrawIndirectCountKHR_panic as PFN_vkCmdDrawIndirectCountKHR;
10037        if feature >= VERSION_1_0 {
10038          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawIndirectCountKHR") {
10039            CmdDrawIndirectCountKHR_ptr = mem::transmute(fnptr);
10040          }
10041        }
10042        let mut CmdDrawIndexedIndirectCountKHR_ptr = CmdDrawIndexedIndirectCountKHR_panic as PFN_vkCmdDrawIndexedIndirectCountKHR;
10043        if feature >= VERSION_1_0 {
10044          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawIndexedIndirectCountKHR") {
10045            CmdDrawIndexedIndirectCountKHR_ptr = mem::transmute(fnptr);
10046          }
10047        }
10048        let mut GetMemoryHostPointerPropertiesEXT_ptr = GetMemoryHostPointerPropertiesEXT_panic as PFN_vkGetMemoryHostPointerPropertiesEXT;
10049        if feature >= VERSION_1_0 {
10050          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetMemoryHostPointerPropertiesEXT") {
10051            GetMemoryHostPointerPropertiesEXT_ptr = mem::transmute(fnptr);
10052          }
10053        }
10054        let mut CmdWriteBufferMarkerAMD_ptr = CmdWriteBufferMarkerAMD_panic as PFN_vkCmdWriteBufferMarkerAMD;
10055        if feature >= VERSION_1_0 {
10056          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdWriteBufferMarkerAMD") {
10057            CmdWriteBufferMarkerAMD_ptr = mem::transmute(fnptr);
10058          }
10059        }
10060        let mut GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr = GetPhysicalDeviceCalibrateableTimeDomainsEXT_panic as PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
10061        if feature >= VERSION_1_0 {
10062          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetPhysicalDeviceCalibrateableTimeDomainsEXT") {
10063            GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr = mem::transmute(fnptr);
10064          }
10065        }
10066        let mut GetCalibratedTimestampsEXT_ptr = GetCalibratedTimestampsEXT_panic as PFN_vkGetCalibratedTimestampsEXT;
10067        if feature >= VERSION_1_0 {
10068          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetCalibratedTimestampsEXT") {
10069            GetCalibratedTimestampsEXT_ptr = mem::transmute(fnptr);
10070          }
10071        }
10072        let mut CmdDrawMeshTasksNV_ptr = CmdDrawMeshTasksNV_panic as PFN_vkCmdDrawMeshTasksNV;
10073        if feature >= VERSION_1_0 {
10074          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawMeshTasksNV") {
10075            CmdDrawMeshTasksNV_ptr = mem::transmute(fnptr);
10076          }
10077        }
10078        let mut CmdDrawMeshTasksIndirectNV_ptr = CmdDrawMeshTasksIndirectNV_panic as PFN_vkCmdDrawMeshTasksIndirectNV;
10079        if feature >= VERSION_1_0 {
10080          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawMeshTasksIndirectNV") {
10081            CmdDrawMeshTasksIndirectNV_ptr = mem::transmute(fnptr);
10082          }
10083        }
10084        let mut CmdDrawMeshTasksIndirectCountNV_ptr = CmdDrawMeshTasksIndirectCountNV_panic as PFN_vkCmdDrawMeshTasksIndirectCountNV;
10085        if feature >= VERSION_1_0 {
10086          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdDrawMeshTasksIndirectCountNV") {
10087            CmdDrawMeshTasksIndirectCountNV_ptr = mem::transmute(fnptr);
10088          }
10089        }
10090        let mut CmdSetExclusiveScissorNV_ptr = CmdSetExclusiveScissorNV_panic as PFN_vkCmdSetExclusiveScissorNV;
10091        if feature >= VERSION_1_0 {
10092          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetExclusiveScissorNV") {
10093            CmdSetExclusiveScissorNV_ptr = mem::transmute(fnptr);
10094          }
10095        }
10096        let mut CmdSetCheckpointNV_ptr = CmdSetCheckpointNV_panic as PFN_vkCmdSetCheckpointNV;
10097        if feature >= VERSION_1_0 {
10098          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkCmdSetCheckpointNV") {
10099            CmdSetCheckpointNV_ptr = mem::transmute(fnptr);
10100          }
10101        }
10102        let mut GetQueueCheckpointDataNV_ptr = GetQueueCheckpointDataNV_panic as PFN_vkGetQueueCheckpointDataNV;
10103        if feature >= VERSION_1_0 {
10104          if let Ok(fnptr) = vk_dl.symbol::<c_void>("vkGetQueueCheckpointDataNV") {
10105            GetQueueCheckpointDataNV_ptr = mem::transmute(fnptr);
10106          }
10107        }
10108
10109      let c = VkLib {
10110        lib: vk_dl,
10111        feature,
10112        CreateInstance_ptr,
10113        DestroyInstance_ptr,
10114        EnumeratePhysicalDevices_ptr,
10115        GetPhysicalDeviceFeatures_ptr,
10116        GetPhysicalDeviceFormatProperties_ptr,
10117        GetPhysicalDeviceImageFormatProperties_ptr,
10118        GetPhysicalDeviceProperties_ptr,
10119        GetPhysicalDeviceQueueFamilyProperties_ptr,
10120        GetPhysicalDeviceMemoryProperties_ptr,
10121        GetInstanceProcAddr_ptr,
10122        GetDeviceProcAddr_ptr,
10123        CreateDevice_ptr,
10124        DestroyDevice_ptr,
10125        EnumerateInstanceExtensionProperties_ptr,
10126        EnumerateDeviceExtensionProperties_ptr,
10127        EnumerateInstanceLayerProperties_ptr,
10128        EnumerateDeviceLayerProperties_ptr,
10129        GetDeviceQueue_ptr,
10130        QueueSubmit_ptr,
10131        QueueWaitIdle_ptr,
10132        DeviceWaitIdle_ptr,
10133        AllocateMemory_ptr,
10134        FreeMemory_ptr,
10135        MapMemory_ptr,
10136        UnmapMemory_ptr,
10137        FlushMappedMemoryRanges_ptr,
10138        InvalidateMappedMemoryRanges_ptr,
10139        GetDeviceMemoryCommitment_ptr,
10140        BindBufferMemory_ptr,
10141        BindImageMemory_ptr,
10142        GetBufferMemoryRequirements_ptr,
10143        GetImageMemoryRequirements_ptr,
10144        GetImageSparseMemoryRequirements_ptr,
10145        GetPhysicalDeviceSparseImageFormatProperties_ptr,
10146        QueueBindSparse_ptr,
10147        CreateFence_ptr,
10148        DestroyFence_ptr,
10149        ResetFences_ptr,
10150        GetFenceStatus_ptr,
10151        WaitForFences_ptr,
10152        CreateSemaphore_ptr,
10153        DestroySemaphore_ptr,
10154        CreateEvent_ptr,
10155        DestroyEvent_ptr,
10156        GetEventStatus_ptr,
10157        SetEvent_ptr,
10158        ResetEvent_ptr,
10159        CreateQueryPool_ptr,
10160        DestroyQueryPool_ptr,
10161        GetQueryPoolResults_ptr,
10162        CreateBuffer_ptr,
10163        DestroyBuffer_ptr,
10164        CreateBufferView_ptr,
10165        DestroyBufferView_ptr,
10166        CreateImage_ptr,
10167        DestroyImage_ptr,
10168        GetImageSubresourceLayout_ptr,
10169        CreateImageView_ptr,
10170        DestroyImageView_ptr,
10171        CreateShaderModule_ptr,
10172        DestroyShaderModule_ptr,
10173        CreatePipelineCache_ptr,
10174        DestroyPipelineCache_ptr,
10175        GetPipelineCacheData_ptr,
10176        MergePipelineCaches_ptr,
10177        CreateGraphicsPipelines_ptr,
10178        CreateComputePipelines_ptr,
10179        DestroyPipeline_ptr,
10180        CreatePipelineLayout_ptr,
10181        DestroyPipelineLayout_ptr,
10182        CreateSampler_ptr,
10183        DestroySampler_ptr,
10184        CreateDescriptorSetLayout_ptr,
10185        DestroyDescriptorSetLayout_ptr,
10186        CreateDescriptorPool_ptr,
10187        DestroyDescriptorPool_ptr,
10188        ResetDescriptorPool_ptr,
10189        AllocateDescriptorSets_ptr,
10190        FreeDescriptorSets_ptr,
10191        UpdateDescriptorSets_ptr,
10192        CreateFramebuffer_ptr,
10193        DestroyFramebuffer_ptr,
10194        CreateRenderPass_ptr,
10195        DestroyRenderPass_ptr,
10196        GetRenderAreaGranularity_ptr,
10197        CreateCommandPool_ptr,
10198        DestroyCommandPool_ptr,
10199        ResetCommandPool_ptr,
10200        AllocateCommandBuffers_ptr,
10201        FreeCommandBuffers_ptr,
10202        BeginCommandBuffer_ptr,
10203        EndCommandBuffer_ptr,
10204        ResetCommandBuffer_ptr,
10205        CmdBindPipeline_ptr,
10206        CmdSetViewport_ptr,
10207        CmdSetScissor_ptr,
10208        CmdSetLineWidth_ptr,
10209        CmdSetDepthBias_ptr,
10210        CmdSetBlendConstants_ptr,
10211        CmdSetDepthBounds_ptr,
10212        CmdSetStencilCompareMask_ptr,
10213        CmdSetStencilWriteMask_ptr,
10214        CmdSetStencilReference_ptr,
10215        CmdBindDescriptorSets_ptr,
10216        CmdBindIndexBuffer_ptr,
10217        CmdBindVertexBuffers_ptr,
10218        CmdDraw_ptr,
10219        CmdDrawIndexed_ptr,
10220        CmdDrawIndirect_ptr,
10221        CmdDrawIndexedIndirect_ptr,
10222        CmdDispatch_ptr,
10223        CmdDispatchIndirect_ptr,
10224        CmdCopyBuffer_ptr,
10225        CmdCopyImage_ptr,
10226        CmdBlitImage_ptr,
10227        CmdCopyBufferToImage_ptr,
10228        CmdCopyImageToBuffer_ptr,
10229        CmdUpdateBuffer_ptr,
10230        CmdFillBuffer_ptr,
10231        CmdClearColorImage_ptr,
10232        CmdClearDepthStencilImage_ptr,
10233        CmdClearAttachments_ptr,
10234        CmdResolveImage_ptr,
10235        CmdSetEvent_ptr,
10236        CmdResetEvent_ptr,
10237        CmdWaitEvents_ptr,
10238        CmdPipelineBarrier_ptr,
10239        CmdBeginQuery_ptr,
10240        CmdEndQuery_ptr,
10241        CmdResetQueryPool_ptr,
10242        CmdWriteTimestamp_ptr,
10243        CmdCopyQueryPoolResults_ptr,
10244        CmdPushConstants_ptr,
10245        CmdBeginRenderPass_ptr,
10246        CmdNextSubpass_ptr,
10247        CmdEndRenderPass_ptr,
10248        CmdExecuteCommands_ptr,
10249        EnumerateInstanceVersion_ptr,
10250        BindBufferMemory2_ptr,
10251        BindImageMemory2_ptr,
10252        GetDeviceGroupPeerMemoryFeatures_ptr,
10253        CmdSetDeviceMask_ptr,
10254        CmdDispatchBase_ptr,
10255        EnumeratePhysicalDeviceGroups_ptr,
10256        GetImageMemoryRequirements2_ptr,
10257        GetBufferMemoryRequirements2_ptr,
10258        GetImageSparseMemoryRequirements2_ptr,
10259        GetPhysicalDeviceFeatures2_ptr,
10260        GetPhysicalDeviceProperties2_ptr,
10261        GetPhysicalDeviceFormatProperties2_ptr,
10262        GetPhysicalDeviceImageFormatProperties2_ptr,
10263        GetPhysicalDeviceQueueFamilyProperties2_ptr,
10264        GetPhysicalDeviceMemoryProperties2_ptr,
10265        GetPhysicalDeviceSparseImageFormatProperties2_ptr,
10266        TrimCommandPool_ptr,
10267        GetDeviceQueue2_ptr,
10268        CreateSamplerYcbcrConversion_ptr,
10269        DestroySamplerYcbcrConversion_ptr,
10270        CreateDescriptorUpdateTemplate_ptr,
10271        DestroyDescriptorUpdateTemplate_ptr,
10272        UpdateDescriptorSetWithTemplate_ptr,
10273        GetPhysicalDeviceExternalBufferProperties_ptr,
10274        GetPhysicalDeviceExternalFenceProperties_ptr,
10275        GetPhysicalDeviceExternalSemaphoreProperties_ptr,
10276        GetDescriptorSetLayoutSupport_ptr,
10277        DestroySurfaceKHR_ptr,
10278        GetPhysicalDeviceSurfaceSupportKHR_ptr,
10279        GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr,
10280        GetPhysicalDeviceSurfaceFormatsKHR_ptr,
10281        GetPhysicalDeviceSurfacePresentModesKHR_ptr,
10282        GetPhysicalDeviceDisplayPropertiesKHR_ptr,
10283        GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr,
10284        GetDisplayPlaneSupportedDisplaysKHR_ptr,
10285        GetDisplayModePropertiesKHR_ptr,
10286        CreateDisplayModeKHR_ptr,
10287        GetDisplayPlaneCapabilitiesKHR_ptr,
10288        CreateDisplayPlaneSurfaceKHR_ptr,
10289        CreateXlibSurfaceKHR_ptr,
10290        GetPhysicalDeviceXlibPresentationSupportKHR_ptr,
10291        CreateXcbSurfaceKHR_ptr,
10292        GetPhysicalDeviceXcbPresentationSupportKHR_ptr,
10293        CreateWaylandSurfaceKHR_ptr,
10294        GetPhysicalDeviceWaylandPresentationSupportKHR_ptr,
10295        CreateAndroidSurfaceKHR_ptr,
10296        CreateWin32SurfaceKHR_ptr,
10297        GetPhysicalDeviceWin32PresentationSupportKHR_ptr,
10298        CreateDebugReportCallbackEXT_ptr,
10299        DestroyDebugReportCallbackEXT_ptr,
10300        DebugReportMessageEXT_ptr,
10301        GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr,
10302        CreateViSurfaceNN_ptr,
10303        ReleaseDisplayEXT_ptr,
10304        AcquireXlibDisplayEXT_ptr,
10305        GetRandROutputDisplayEXT_ptr,
10306        GetPhysicalDeviceSurfaceCapabilities2EXT_ptr,
10307        GetPhysicalDeviceSurfaceCapabilities2KHR_ptr,
10308        GetPhysicalDeviceSurfaceFormats2KHR_ptr,
10309        GetPhysicalDeviceDisplayProperties2KHR_ptr,
10310        GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr,
10311        GetDisplayModeProperties2KHR_ptr,
10312        GetDisplayPlaneCapabilities2KHR_ptr,
10313        CreateIOSSurfaceMVK_ptr,
10314        CreateMacOSSurfaceMVK_ptr,
10315        SetDebugUtilsObjectNameEXT_ptr,
10316        SetDebugUtilsObjectTagEXT_ptr,
10317        QueueBeginDebugUtilsLabelEXT_ptr,
10318        QueueEndDebugUtilsLabelEXT_ptr,
10319        QueueInsertDebugUtilsLabelEXT_ptr,
10320        CmdBeginDebugUtilsLabelEXT_ptr,
10321        CmdEndDebugUtilsLabelEXT_ptr,
10322        CmdInsertDebugUtilsLabelEXT_ptr,
10323        CreateDebugUtilsMessengerEXT_ptr,
10324        DestroyDebugUtilsMessengerEXT_ptr,
10325        SubmitDebugUtilsMessageEXT_ptr,
10326        CreateImagePipeSurfaceFUCHSIA_ptr,
10327        CreateSwapchainKHR_ptr,
10328        DestroySwapchainKHR_ptr,
10329        GetSwapchainImagesKHR_ptr,
10330        AcquireNextImageKHR_ptr,
10331        QueuePresentKHR_ptr,
10332        GetDeviceGroupPresentCapabilitiesKHR_ptr,
10333        GetDeviceGroupSurfacePresentModesKHR_ptr,
10334        GetPhysicalDevicePresentRectanglesKHR_ptr,
10335        AcquireNextImage2KHR_ptr,
10336        CreateSharedSwapchainsKHR_ptr,
10337        DebugMarkerSetObjectTagEXT_ptr,
10338        DebugMarkerSetObjectNameEXT_ptr,
10339        CmdDebugMarkerBeginEXT_ptr,
10340        CmdDebugMarkerEndEXT_ptr,
10341        CmdDebugMarkerInsertEXT_ptr,
10342        CmdBindTransformFeedbackBuffersEXT_ptr,
10343        CmdBeginTransformFeedbackEXT_ptr,
10344        CmdEndTransformFeedbackEXT_ptr,
10345        CmdBeginQueryIndexedEXT_ptr,
10346        CmdEndQueryIndexedEXT_ptr,
10347        CmdDrawIndirectByteCountEXT_ptr,
10348        CmdDrawIndirectCountAMD_ptr,
10349        CmdDrawIndexedIndirectCountAMD_ptr,
10350        GetShaderInfoAMD_ptr,
10351        GetMemoryWin32HandleNV_ptr,
10352        GetMemoryWin32HandleKHR_ptr,
10353        GetMemoryWin32HandlePropertiesKHR_ptr,
10354        GetMemoryFdKHR_ptr,
10355        GetMemoryFdPropertiesKHR_ptr,
10356        ImportSemaphoreWin32HandleKHR_ptr,
10357        GetSemaphoreWin32HandleKHR_ptr,
10358        ImportSemaphoreFdKHR_ptr,
10359        GetSemaphoreFdKHR_ptr,
10360        CmdPushDescriptorSetKHR_ptr,
10361        CmdPushDescriptorSetWithTemplateKHR_ptr,
10362        CmdBeginConditionalRenderingEXT_ptr,
10363        CmdEndConditionalRenderingEXT_ptr,
10364        CmdProcessCommandsNVX_ptr,
10365        CmdReserveSpaceForCommandsNVX_ptr,
10366        CreateIndirectCommandsLayoutNVX_ptr,
10367        DestroyIndirectCommandsLayoutNVX_ptr,
10368        CreateObjectTableNVX_ptr,
10369        DestroyObjectTableNVX_ptr,
10370        RegisterObjectsNVX_ptr,
10371        UnregisterObjectsNVX_ptr,
10372        GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr,
10373        CmdSetViewportWScalingNV_ptr,
10374        DisplayPowerControlEXT_ptr,
10375        RegisterDeviceEventEXT_ptr,
10376        RegisterDisplayEventEXT_ptr,
10377        GetSwapchainCounterEXT_ptr,
10378        GetRefreshCycleDurationGOOGLE_ptr,
10379        GetPastPresentationTimingGOOGLE_ptr,
10380        CmdSetDiscardRectangleEXT_ptr,
10381        SetHdrMetadataEXT_ptr,
10382        CreateRenderPass2KHR_ptr,
10383        CmdBeginRenderPass2KHR_ptr,
10384        CmdNextSubpass2KHR_ptr,
10385        CmdEndRenderPass2KHR_ptr,
10386        GetSwapchainStatusKHR_ptr,
10387        ImportFenceWin32HandleKHR_ptr,
10388        GetFenceWin32HandleKHR_ptr,
10389        ImportFenceFdKHR_ptr,
10390        GetFenceFdKHR_ptr,
10391        GetAndroidHardwareBufferPropertiesANDROID_ptr,
10392        GetMemoryAndroidHardwareBufferANDROID_ptr,
10393        CmdSetSampleLocationsEXT_ptr,
10394        GetPhysicalDeviceMultisamplePropertiesEXT_ptr,
10395        GetImageDrmFormatModifierPropertiesEXT_ptr,
10396        CreateValidationCacheEXT_ptr,
10397        DestroyValidationCacheEXT_ptr,
10398        MergeValidationCachesEXT_ptr,
10399        GetValidationCacheDataEXT_ptr,
10400        CmdBindShadingRateImageNV_ptr,
10401        CmdSetViewportShadingRatePaletteNV_ptr,
10402        CmdSetCoarseSampleOrderNV_ptr,
10403        CreateAccelerationStructureNV_ptr,
10404        DestroyAccelerationStructureNV_ptr,
10405        GetAccelerationStructureMemoryRequirementsNV_ptr,
10406        BindAccelerationStructureMemoryNV_ptr,
10407        CmdBuildAccelerationStructureNV_ptr,
10408        CmdCopyAccelerationStructureNV_ptr,
10409        CmdTraceRaysNV_ptr,
10410        CreateRayTracingPipelinesNV_ptr,
10411        GetRayTracingShaderGroupHandlesNV_ptr,
10412        GetAccelerationStructureHandleNV_ptr,
10413        CmdWriteAccelerationStructuresPropertiesNV_ptr,
10414        CompileDeferredNV_ptr,
10415        CmdDrawIndirectCountKHR_ptr,
10416        CmdDrawIndexedIndirectCountKHR_ptr,
10417        GetMemoryHostPointerPropertiesEXT_ptr,
10418        CmdWriteBufferMarkerAMD_ptr,
10419        GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr,
10420        GetCalibratedTimestampsEXT_ptr,
10421        CmdDrawMeshTasksNV_ptr,
10422        CmdDrawMeshTasksIndirectNV_ptr,
10423        CmdDrawMeshTasksIndirectCountNV_ptr,
10424        CmdSetExclusiveScissorNV_ptr,
10425        CmdSetCheckpointNV_ptr,
10426        GetQueueCheckpointDataNV_ptr,
10427      };
10428
10429      vklib = Some(std::boxed::Box::into_raw(std::boxed::Box::new(c)));
10430      std::boxed::Box::from_raw(vklib.unwrap())    }
10431  }
10432
10433
10434  /// Gets the feature level with which vulkan was initialized
10435  ///
10436  /// The fature is formatted as described in [make_version](macro.make_version.html).
10437  pub fn get_feature(&self) -> u32 {
10438    self.feature
10439  }
10440
10441  #[doc(hidden)] pub fn CreateInstance(&self, pCreateInfo: *const InstanceCreateInfo, pAllocator: *const AllocationCallbacks, pInstance: *mut Instance) -> Result{
10442    (self.CreateInstance_ptr)(pCreateInfo, pAllocator, pInstance)
10443  }
10444  #[doc(hidden)] pub fn DestroyInstance(&self, instance: Instance, pAllocator: *const AllocationCallbacks){
10445    (self.DestroyInstance_ptr)(instance, pAllocator)
10446  }
10447  #[doc(hidden)] pub fn EnumeratePhysicalDevices(&self, instance: Instance, pPhysicalDeviceCount: *mut u32, pPhysicalDevices: *mut PhysicalDevice) -> Result{
10448    (self.EnumeratePhysicalDevices_ptr)(instance, pPhysicalDeviceCount, pPhysicalDevices)
10449  }
10450  #[doc(hidden)] pub fn GetPhysicalDeviceFeatures(&self, physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures){
10451    (self.GetPhysicalDeviceFeatures_ptr)(physicalDevice, pFeatures)
10452  }
10453  #[doc(hidden)] pub fn GetPhysicalDeviceFormatProperties(&self, physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties){
10454    (self.GetPhysicalDeviceFormatProperties_ptr)(physicalDevice, format, pFormatProperties)
10455  }
10456  #[doc(hidden)] pub fn GetPhysicalDeviceImageFormatProperties(&self, physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: *mut ImageFormatProperties) -> Result{
10457    (self.GetPhysicalDeviceImageFormatProperties_ptr)(physicalDevice, format, typ, tiling, usage, flags, pImageFormatProperties)
10458  }
10459  #[doc(hidden)] pub fn GetPhysicalDeviceProperties(&self, physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties){
10460    (self.GetPhysicalDeviceProperties_ptr)(physicalDevice, pProperties)
10461  }
10462  #[doc(hidden)] pub fn GetPhysicalDeviceQueueFamilyProperties(&self, physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties){
10463    (self.GetPhysicalDeviceQueueFamilyProperties_ptr)(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties)
10464  }
10465  #[doc(hidden)] pub fn GetPhysicalDeviceMemoryProperties(&self, physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties){
10466    (self.GetPhysicalDeviceMemoryProperties_ptr)(physicalDevice, pMemoryProperties)
10467  }
10468  #[doc(hidden)] pub fn GetInstanceProcAddr(&self, instance: Instance, pName: *const c_char) -> PFN_vkVoidFunction{
10469    (self.GetInstanceProcAddr_ptr)(instance, pName)
10470  }
10471  #[doc(hidden)] pub fn GetDeviceProcAddr(&self, device: Device, pName: *const c_char) -> PFN_vkVoidFunction{
10472    (self.GetDeviceProcAddr_ptr)(device, pName)
10473  }
10474  #[doc(hidden)] pub fn CreateDevice(&self, physicalDevice: PhysicalDevice, pCreateInfo: *const DeviceCreateInfo, pAllocator: *const AllocationCallbacks, pDevice: *mut Device) -> Result{
10475    (self.CreateDevice_ptr)(physicalDevice, pCreateInfo, pAllocator, pDevice)
10476  }
10477  #[doc(hidden)] pub fn DestroyDevice(&self, device: Device, pAllocator: *const AllocationCallbacks){
10478    (self.DestroyDevice_ptr)(device, pAllocator)
10479  }
10480  #[doc(hidden)] pub fn EnumerateInstanceExtensionProperties(&self, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result{
10481    (self.EnumerateInstanceExtensionProperties_ptr)(pLayerName, pPropertyCount, pProperties)
10482  }
10483  #[doc(hidden)] pub fn EnumerateDeviceExtensionProperties(&self, physicalDevice: PhysicalDevice, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result{
10484    (self.EnumerateDeviceExtensionProperties_ptr)(physicalDevice, pLayerName, pPropertyCount, pProperties)
10485  }
10486  #[doc(hidden)] pub fn EnumerateInstanceLayerProperties(&self, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result{
10487    (self.EnumerateInstanceLayerProperties_ptr)(pPropertyCount, pProperties)
10488  }
10489  #[doc(hidden)] pub fn EnumerateDeviceLayerProperties(&self, physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result{
10490    (self.EnumerateDeviceLayerProperties_ptr)(physicalDevice, pPropertyCount, pProperties)
10491  }
10492  #[doc(hidden)] pub fn GetDeviceQueue(&self, device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut Queue){
10493    (self.GetDeviceQueue_ptr)(device, queueFamilyIndex, queueIndex, pQueue)
10494  }
10495  #[doc(hidden)] pub fn QueueSubmit(&self, queue: Queue, submitCount: u32, pSubmits: *const SubmitInfo, fence: Fence) -> Result{
10496    (self.QueueSubmit_ptr)(queue, submitCount, pSubmits, fence)
10497  }
10498  #[doc(hidden)] pub fn QueueWaitIdle(&self, queue: Queue) -> Result{
10499    (self.QueueWaitIdle_ptr)(queue)
10500  }
10501  #[doc(hidden)] pub fn DeviceWaitIdle(&self, device: Device) -> Result{
10502    (self.DeviceWaitIdle_ptr)(device)
10503  }
10504  #[doc(hidden)] pub fn AllocateMemory(&self, device: Device, pAllocateInfo: *const MemoryAllocateInfo, pAllocator: *const AllocationCallbacks, pMemory: *mut DeviceMemory) -> Result{
10505    (self.AllocateMemory_ptr)(device, pAllocateInfo, pAllocator, pMemory)
10506  }
10507  #[doc(hidden)] pub fn FreeMemory(&self, device: Device, memory: DeviceMemory, pAllocator: *const AllocationCallbacks){
10508    (self.FreeMemory_ptr)(device, memory, pAllocator)
10509  }
10510  #[doc(hidden)] pub fn MapMemory(&self, device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: *mut *mut c_void) -> Result{
10511    (self.MapMemory_ptr)(device, memory, offset, size, flags, ppData)
10512  }
10513  #[doc(hidden)] pub fn UnmapMemory(&self, device: Device, memory: DeviceMemory){
10514    (self.UnmapMemory_ptr)(device, memory)
10515  }
10516  #[doc(hidden)] pub fn FlushMappedMemoryRanges(&self, device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result{
10517    (self.FlushMappedMemoryRanges_ptr)(device, memoryRangeCount, pMemoryRanges)
10518  }
10519  #[doc(hidden)] pub fn InvalidateMappedMemoryRanges(&self, device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result{
10520    (self.InvalidateMappedMemoryRanges_ptr)(device, memoryRangeCount, pMemoryRanges)
10521  }
10522  #[doc(hidden)] pub fn GetDeviceMemoryCommitment(&self, device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: *mut DeviceSize){
10523    (self.GetDeviceMemoryCommitment_ptr)(device, memory, pCommittedMemoryInBytes)
10524  }
10525  #[doc(hidden)] pub fn BindBufferMemory(&self, device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result{
10526    (self.BindBufferMemory_ptr)(device, buffer, memory, memoryOffset)
10527  }
10528  #[doc(hidden)] pub fn BindImageMemory(&self, device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result{
10529    (self.BindImageMemory_ptr)(device, image, memory, memoryOffset)
10530  }
10531  #[doc(hidden)] pub fn GetBufferMemoryRequirements(&self, device: Device, buffer: Buffer, pMemoryRequirements: *mut MemoryRequirements){
10532    (self.GetBufferMemoryRequirements_ptr)(device, buffer, pMemoryRequirements)
10533  }
10534  #[doc(hidden)] pub fn GetImageMemoryRequirements(&self, device: Device, image: Image, pMemoryRequirements: *mut MemoryRequirements){
10535    (self.GetImageMemoryRequirements_ptr)(device, image, pMemoryRequirements)
10536  }
10537  #[doc(hidden)] pub fn GetImageSparseMemoryRequirements(&self, device: Device, image: Image, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements){
10538    (self.GetImageSparseMemoryRequirements_ptr)(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements)
10539  }
10540  #[doc(hidden)] pub fn GetPhysicalDeviceSparseImageFormatProperties(&self, physicalDevice: PhysicalDevice, format: Format, typ: ImageType, samples: SampleCountFlagBits, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties){
10541    (self.GetPhysicalDeviceSparseImageFormatProperties_ptr)(physicalDevice, format, typ, samples, usage, tiling, pPropertyCount, pProperties)
10542  }
10543  #[doc(hidden)] pub fn QueueBindSparse(&self, queue: Queue, bindInfoCount: u32, pBindInfo: *const BindSparseInfo, fence: Fence) -> Result{
10544    (self.QueueBindSparse_ptr)(queue, bindInfoCount, pBindInfo, fence)
10545  }
10546  #[doc(hidden)] pub fn CreateFence(&self, device: Device, pCreateInfo: *const FenceCreateInfo, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
10547    (self.CreateFence_ptr)(device, pCreateInfo, pAllocator, pFence)
10548  }
10549  #[doc(hidden)] pub fn DestroyFence(&self, device: Device, fence: Fence, pAllocator: *const AllocationCallbacks){
10550    (self.DestroyFence_ptr)(device, fence, pAllocator)
10551  }
10552  #[doc(hidden)] pub fn ResetFences(&self, device: Device, fenceCount: u32, pFences: *const Fence) -> Result{
10553    (self.ResetFences_ptr)(device, fenceCount, pFences)
10554  }
10555  #[doc(hidden)] pub fn GetFenceStatus(&self, device: Device, fence: Fence) -> Result{
10556    (self.GetFenceStatus_ptr)(device, fence)
10557  }
10558  #[doc(hidden)] pub fn WaitForFences(&self, device: Device, fenceCount: u32, pFences: *const Fence, waitAll: Bool32, timeout: u64) -> Result{
10559    (self.WaitForFences_ptr)(device, fenceCount, pFences, waitAll, timeout)
10560  }
10561  #[doc(hidden)] pub fn CreateSemaphore(&self, device: Device, pCreateInfo: *const SemaphoreCreateInfo, pAllocator: *const AllocationCallbacks, pSemaphore: *mut Semaphore) -> Result{
10562    (self.CreateSemaphore_ptr)(device, pCreateInfo, pAllocator, pSemaphore)
10563  }
10564  #[doc(hidden)] pub fn DestroySemaphore(&self, device: Device, semaphore: Semaphore, pAllocator: *const AllocationCallbacks){
10565    (self.DestroySemaphore_ptr)(device, semaphore, pAllocator)
10566  }
10567  #[doc(hidden)] pub fn CreateEvent(&self, device: Device, pCreateInfo: *const EventCreateInfo, pAllocator: *const AllocationCallbacks, pEvent: *mut Event) -> Result{
10568    (self.CreateEvent_ptr)(device, pCreateInfo, pAllocator, pEvent)
10569  }
10570  #[doc(hidden)] pub fn DestroyEvent(&self, device: Device, event: Event, pAllocator: *const AllocationCallbacks){
10571    (self.DestroyEvent_ptr)(device, event, pAllocator)
10572  }
10573  #[doc(hidden)] pub fn GetEventStatus(&self, device: Device, event: Event) -> Result{
10574    (self.GetEventStatus_ptr)(device, event)
10575  }
10576  #[doc(hidden)] pub fn SetEvent(&self, device: Device, event: Event) -> Result{
10577    (self.SetEvent_ptr)(device, event)
10578  }
10579  #[doc(hidden)] pub fn ResetEvent(&self, device: Device, event: Event) -> Result{
10580    (self.ResetEvent_ptr)(device, event)
10581  }
10582  #[doc(hidden)] pub fn CreateQueryPool(&self, device: Device, pCreateInfo: *const QueryPoolCreateInfo, pAllocator: *const AllocationCallbacks, pQueryPool: *mut QueryPool) -> Result{
10583    (self.CreateQueryPool_ptr)(device, pCreateInfo, pAllocator, pQueryPool)
10584  }
10585  #[doc(hidden)] pub fn DestroyQueryPool(&self, device: Device, queryPool: QueryPool, pAllocator: *const AllocationCallbacks){
10586    (self.DestroyQueryPool_ptr)(device, queryPool, pAllocator)
10587  }
10588  #[doc(hidden)] pub fn GetQueryPoolResults(&self, device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: usize, pData: *mut c_void, stride: DeviceSize, flags: QueryResultFlags) -> Result{
10589    (self.GetQueryPoolResults_ptr)(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags)
10590  }
10591  #[doc(hidden)] pub fn CreateBuffer(&self, device: Device, pCreateInfo: *const BufferCreateInfo, pAllocator: *const AllocationCallbacks, pBuffer: *mut Buffer) -> Result{
10592    (self.CreateBuffer_ptr)(device, pCreateInfo, pAllocator, pBuffer)
10593  }
10594  #[doc(hidden)] pub fn DestroyBuffer(&self, device: Device, buffer: Buffer, pAllocator: *const AllocationCallbacks){
10595    (self.DestroyBuffer_ptr)(device, buffer, pAllocator)
10596  }
10597  #[doc(hidden)] pub fn CreateBufferView(&self, device: Device, pCreateInfo: *const BufferViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut BufferView) -> Result{
10598    (self.CreateBufferView_ptr)(device, pCreateInfo, pAllocator, pView)
10599  }
10600  #[doc(hidden)] pub fn DestroyBufferView(&self, device: Device, bufferView: BufferView, pAllocator: *const AllocationCallbacks){
10601    (self.DestroyBufferView_ptr)(device, bufferView, pAllocator)
10602  }
10603  #[doc(hidden)] pub fn CreateImage(&self, device: Device, pCreateInfo: *const ImageCreateInfo, pAllocator: *const AllocationCallbacks, pImage: *mut Image) -> Result{
10604    (self.CreateImage_ptr)(device, pCreateInfo, pAllocator, pImage)
10605  }
10606  #[doc(hidden)] pub fn DestroyImage(&self, device: Device, image: Image, pAllocator: *const AllocationCallbacks){
10607    (self.DestroyImage_ptr)(device, image, pAllocator)
10608  }
10609  #[doc(hidden)] pub fn GetImageSubresourceLayout(&self, device: Device, image: Image, pSubresource: *const ImageSubresource, pLayout: *mut SubresourceLayout){
10610    (self.GetImageSubresourceLayout_ptr)(device, image, pSubresource, pLayout)
10611  }
10612  #[doc(hidden)] pub fn CreateImageView(&self, device: Device, pCreateInfo: *const ImageViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut ImageView) -> Result{
10613    (self.CreateImageView_ptr)(device, pCreateInfo, pAllocator, pView)
10614  }
10615  #[doc(hidden)] pub fn DestroyImageView(&self, device: Device, imageView: ImageView, pAllocator: *const AllocationCallbacks){
10616    (self.DestroyImageView_ptr)(device, imageView, pAllocator)
10617  }
10618  #[doc(hidden)] pub fn CreateShaderModule(&self, device: Device, pCreateInfo: *const ShaderModuleCreateInfo, pAllocator: *const AllocationCallbacks, pShaderModule: *mut ShaderModule) -> Result{
10619    (self.CreateShaderModule_ptr)(device, pCreateInfo, pAllocator, pShaderModule)
10620  }
10621  #[doc(hidden)] pub fn DestroyShaderModule(&self, device: Device, shaderModule: ShaderModule, pAllocator: *const AllocationCallbacks){
10622    (self.DestroyShaderModule_ptr)(device, shaderModule, pAllocator)
10623  }
10624  #[doc(hidden)] pub fn CreatePipelineCache(&self, device: Device, pCreateInfo: *const PipelineCacheCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineCache: *mut PipelineCache) -> Result{
10625    (self.CreatePipelineCache_ptr)(device, pCreateInfo, pAllocator, pPipelineCache)
10626  }
10627  #[doc(hidden)] pub fn DestroyPipelineCache(&self, device: Device, pipelineCache: PipelineCache, pAllocator: *const AllocationCallbacks){
10628    (self.DestroyPipelineCache_ptr)(device, pipelineCache, pAllocator)
10629  }
10630  #[doc(hidden)] pub fn GetPipelineCacheData(&self, device: Device, pipelineCache: PipelineCache, pDataSize: *mut usize, pData: *mut c_void) -> Result{
10631    (self.GetPipelineCacheData_ptr)(device, pipelineCache, pDataSize, pData)
10632  }
10633  #[doc(hidden)] pub fn MergePipelineCaches(&self, device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: *const PipelineCache) -> Result{
10634    (self.MergePipelineCaches_ptr)(device, dstCache, srcCacheCount, pSrcCaches)
10635  }
10636  #[doc(hidden)] pub fn CreateGraphicsPipelines(&self, device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const GraphicsPipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
10637    (self.CreateGraphicsPipelines_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
10638  }
10639  #[doc(hidden)] pub fn CreateComputePipelines(&self, device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const ComputePipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
10640    (self.CreateComputePipelines_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
10641  }
10642  #[doc(hidden)] pub fn DestroyPipeline(&self, device: Device, pipeline: Pipeline, pAllocator: *const AllocationCallbacks){
10643    (self.DestroyPipeline_ptr)(device, pipeline, pAllocator)
10644  }
10645  #[doc(hidden)] pub fn CreatePipelineLayout(&self, device: Device, pCreateInfo: *const PipelineLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineLayout: *mut PipelineLayout) -> Result{
10646    (self.CreatePipelineLayout_ptr)(device, pCreateInfo, pAllocator, pPipelineLayout)
10647  }
10648  #[doc(hidden)] pub fn DestroyPipelineLayout(&self, device: Device, pipelineLayout: PipelineLayout, pAllocator: *const AllocationCallbacks){
10649    (self.DestroyPipelineLayout_ptr)(device, pipelineLayout, pAllocator)
10650  }
10651  #[doc(hidden)] pub fn CreateSampler(&self, device: Device, pCreateInfo: *const SamplerCreateInfo, pAllocator: *const AllocationCallbacks, pSampler: *mut Sampler) -> Result{
10652    (self.CreateSampler_ptr)(device, pCreateInfo, pAllocator, pSampler)
10653  }
10654  #[doc(hidden)] pub fn DestroySampler(&self, device: Device, sampler: Sampler, pAllocator: *const AllocationCallbacks){
10655    (self.DestroySampler_ptr)(device, sampler, pAllocator)
10656  }
10657  #[doc(hidden)] pub fn CreateDescriptorSetLayout(&self, device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pSetLayout: *mut DescriptorSetLayout) -> Result{
10658    (self.CreateDescriptorSetLayout_ptr)(device, pCreateInfo, pAllocator, pSetLayout)
10659  }
10660  #[doc(hidden)] pub fn DestroyDescriptorSetLayout(&self, device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: *const AllocationCallbacks){
10661    (self.DestroyDescriptorSetLayout_ptr)(device, descriptorSetLayout, pAllocator)
10662  }
10663  #[doc(hidden)] pub fn CreateDescriptorPool(&self, device: Device, pCreateInfo: *const DescriptorPoolCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorPool: *mut DescriptorPool) -> Result{
10664    (self.CreateDescriptorPool_ptr)(device, pCreateInfo, pAllocator, pDescriptorPool)
10665  }
10666  #[doc(hidden)] pub fn DestroyDescriptorPool(&self, device: Device, descriptorPool: DescriptorPool, pAllocator: *const AllocationCallbacks){
10667    (self.DestroyDescriptorPool_ptr)(device, descriptorPool, pAllocator)
10668  }
10669  #[doc(hidden)] pub fn ResetDescriptorPool(&self, device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result{
10670    (self.ResetDescriptorPool_ptr)(device, descriptorPool, flags)
10671  }
10672  #[doc(hidden)] pub fn AllocateDescriptorSets(&self, device: Device, pAllocateInfo: *const DescriptorSetAllocateInfo, pDescriptorSets: *mut DescriptorSet) -> Result{
10673    (self.AllocateDescriptorSets_ptr)(device, pAllocateInfo, pDescriptorSets)
10674  }
10675  #[doc(hidden)] pub fn FreeDescriptorSets(&self, device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet) -> Result{
10676    (self.FreeDescriptorSets_ptr)(device, descriptorPool, descriptorSetCount, pDescriptorSets)
10677  }
10678  #[doc(hidden)] pub fn UpdateDescriptorSets(&self, device: Device, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: *const CopyDescriptorSet){
10679    (self.UpdateDescriptorSets_ptr)(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies)
10680  }
10681  #[doc(hidden)] pub fn CreateFramebuffer(&self, device: Device, pCreateInfo: *const FramebufferCreateInfo, pAllocator: *const AllocationCallbacks, pFramebuffer: *mut Framebuffer) -> Result{
10682    (self.CreateFramebuffer_ptr)(device, pCreateInfo, pAllocator, pFramebuffer)
10683  }
10684  #[doc(hidden)] pub fn DestroyFramebuffer(&self, device: Device, framebuffer: Framebuffer, pAllocator: *const AllocationCallbacks){
10685    (self.DestroyFramebuffer_ptr)(device, framebuffer, pAllocator)
10686  }
10687  #[doc(hidden)] pub fn CreateRenderPass(&self, device: Device, pCreateInfo: *const RenderPassCreateInfo, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result{
10688    (self.CreateRenderPass_ptr)(device, pCreateInfo, pAllocator, pRenderPass)
10689  }
10690  #[doc(hidden)] pub fn DestroyRenderPass(&self, device: Device, renderPass: RenderPass, pAllocator: *const AllocationCallbacks){
10691    (self.DestroyRenderPass_ptr)(device, renderPass, pAllocator)
10692  }
10693  #[doc(hidden)] pub fn GetRenderAreaGranularity(&self, device: Device, renderPass: RenderPass, pGranularity: *mut Extent2D){
10694    (self.GetRenderAreaGranularity_ptr)(device, renderPass, pGranularity)
10695  }
10696  #[doc(hidden)] pub fn CreateCommandPool(&self, device: Device, pCreateInfo: *const CommandPoolCreateInfo, pAllocator: *const AllocationCallbacks, pCommandPool: *mut CommandPool) -> Result{
10697    (self.CreateCommandPool_ptr)(device, pCreateInfo, pAllocator, pCommandPool)
10698  }
10699  #[doc(hidden)] pub fn DestroyCommandPool(&self, device: Device, commandPool: CommandPool, pAllocator: *const AllocationCallbacks){
10700    (self.DestroyCommandPool_ptr)(device, commandPool, pAllocator)
10701  }
10702  #[doc(hidden)] pub fn ResetCommandPool(&self, device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result{
10703    (self.ResetCommandPool_ptr)(device, commandPool, flags)
10704  }
10705  #[doc(hidden)] pub fn AllocateCommandBuffers(&self, device: Device, pAllocateInfo: *const CommandBufferAllocateInfo, pCommandBuffers: *mut CommandBuffer) -> Result{
10706    (self.AllocateCommandBuffers_ptr)(device, pAllocateInfo, pCommandBuffers)
10707  }
10708  #[doc(hidden)] pub fn FreeCommandBuffers(&self, device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer){
10709    (self.FreeCommandBuffers_ptr)(device, commandPool, commandBufferCount, pCommandBuffers)
10710  }
10711  #[doc(hidden)] pub fn BeginCommandBuffer(&self, commandBuffer: CommandBuffer, pBeginInfo: *const CommandBufferBeginInfo) -> Result{
10712    (self.BeginCommandBuffer_ptr)(commandBuffer, pBeginInfo)
10713  }
10714  #[doc(hidden)] pub fn EndCommandBuffer(&self, commandBuffer: CommandBuffer) -> Result{
10715    (self.EndCommandBuffer_ptr)(commandBuffer)
10716  }
10717  #[doc(hidden)] pub fn ResetCommandBuffer(&self, commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result{
10718    (self.ResetCommandBuffer_ptr)(commandBuffer, flags)
10719  }
10720  #[doc(hidden)] pub fn CmdBindPipeline(&self, commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline){
10721    (self.CmdBindPipeline_ptr)(commandBuffer, pipelineBindPoint, pipeline)
10722  }
10723  #[doc(hidden)] pub fn CmdSetViewport(&self, commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: *const Viewport){
10724    (self.CmdSetViewport_ptr)(commandBuffer, firstViewport, viewportCount, pViewports)
10725  }
10726  #[doc(hidden)] pub fn CmdSetScissor(&self, commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: *const Rect2D){
10727    (self.CmdSetScissor_ptr)(commandBuffer, firstScissor, scissorCount, pScissors)
10728  }
10729  #[doc(hidden)] pub fn CmdSetLineWidth(&self, commandBuffer: CommandBuffer, lineWidth: f32){
10730    (self.CmdSetLineWidth_ptr)(commandBuffer, lineWidth)
10731  }
10732  #[doc(hidden)] pub fn CmdSetDepthBias(&self, commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32){
10733    (self.CmdSetDepthBias_ptr)(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor)
10734  }
10735  #[doc(hidden)] pub fn CmdSetBlendConstants(&self, commandBuffer: CommandBuffer, blendConstants: [f32; 4]){
10736    (self.CmdSetBlendConstants_ptr)(commandBuffer, blendConstants)
10737  }
10738  #[doc(hidden)] pub fn CmdSetDepthBounds(&self, commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32){
10739    (self.CmdSetDepthBounds_ptr)(commandBuffer, minDepthBounds, maxDepthBounds)
10740  }
10741  #[doc(hidden)] pub fn CmdSetStencilCompareMask(&self, commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32){
10742    (self.CmdSetStencilCompareMask_ptr)(commandBuffer, faceMask, compareMask)
10743  }
10744  #[doc(hidden)] pub fn CmdSetStencilWriteMask(&self, commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32){
10745    (self.CmdSetStencilWriteMask_ptr)(commandBuffer, faceMask, writeMask)
10746  }
10747  #[doc(hidden)] pub fn CmdSetStencilReference(&self, commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32){
10748    (self.CmdSetStencilReference_ptr)(commandBuffer, faceMask, reference)
10749  }
10750  #[doc(hidden)] pub fn CmdBindDescriptorSets(&self, commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: *const u32){
10751    (self.CmdBindDescriptorSets_ptr)(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets)
10752  }
10753  #[doc(hidden)] pub fn CmdBindIndexBuffer(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType){
10754    (self.CmdBindIndexBuffer_ptr)(commandBuffer, buffer, offset, indexType)
10755  }
10756  #[doc(hidden)] pub fn CmdBindVertexBuffers(&self, commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize){
10757    (self.CmdBindVertexBuffers_ptr)(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets)
10758  }
10759  #[doc(hidden)] pub fn CmdDraw(&self, commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32){
10760    (self.CmdDraw_ptr)(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance)
10761  }
10762  #[doc(hidden)] pub fn CmdDrawIndexed(&self, commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32){
10763    (self.CmdDrawIndexed_ptr)(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance)
10764  }
10765  #[doc(hidden)] pub fn CmdDrawIndirect(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
10766    (self.CmdDrawIndirect_ptr)(commandBuffer, buffer, offset, drawCount, stride)
10767  }
10768  #[doc(hidden)] pub fn CmdDrawIndexedIndirect(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
10769    (self.CmdDrawIndexedIndirect_ptr)(commandBuffer, buffer, offset, drawCount, stride)
10770  }
10771  #[doc(hidden)] pub fn CmdDispatch(&self, commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32){
10772    (self.CmdDispatch_ptr)(commandBuffer, groupCountX, groupCountY, groupCountZ)
10773  }
10774  #[doc(hidden)] pub fn CmdDispatchIndirect(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize){
10775    (self.CmdDispatchIndirect_ptr)(commandBuffer, buffer, offset)
10776  }
10777  #[doc(hidden)] pub fn CmdCopyBuffer(&self, commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferCopy){
10778    (self.CmdCopyBuffer_ptr)(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions)
10779  }
10780  #[doc(hidden)] pub fn CmdCopyImage(&self, commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageCopy){
10781    (self.CmdCopyImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions)
10782  }
10783  #[doc(hidden)] pub fn CmdBlitImage(&self, commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageBlit, filter: Filter){
10784    (self.CmdBlitImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter)
10785  }
10786  #[doc(hidden)] pub fn CmdCopyBufferToImage(&self, commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const BufferImageCopy){
10787    (self.CmdCopyBufferToImage_ptr)(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions)
10788  }
10789  #[doc(hidden)] pub fn CmdCopyImageToBuffer(&self, commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferImageCopy){
10790    (self.CmdCopyImageToBuffer_ptr)(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions)
10791  }
10792  #[doc(hidden)] pub fn CmdUpdateBuffer(&self, commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: *const c_void){
10793    (self.CmdUpdateBuffer_ptr)(commandBuffer, dstBuffer, dstOffset, dataSize, pData)
10794  }
10795  #[doc(hidden)] pub fn CmdFillBuffer(&self, commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32){
10796    (self.CmdFillBuffer_ptr)(commandBuffer, dstBuffer, dstOffset, size, data)
10797  }
10798  #[doc(hidden)] pub fn CmdClearColorImage(&self, commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: *const ClearColorValue, rangeCount: u32, pRanges: *const ImageSubresourceRange){
10799    (self.CmdClearColorImage_ptr)(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges)
10800  }
10801  #[doc(hidden)] pub fn CmdClearDepthStencilImage(&self, commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: *const ClearDepthStencilValue, rangeCount: u32, pRanges: *const ImageSubresourceRange){
10802    (self.CmdClearDepthStencilImage_ptr)(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges)
10803  }
10804  #[doc(hidden)] pub fn CmdClearAttachments(&self, commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: *const ClearAttachment, rectCount: u32, pRects: *const ClearRect){
10805    (self.CmdClearAttachments_ptr)(commandBuffer, attachmentCount, pAttachments, rectCount, pRects)
10806  }
10807  #[doc(hidden)] pub fn CmdResolveImage(&self, commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageResolve){
10808    (self.CmdResolveImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions)
10809  }
10810  #[doc(hidden)] pub fn CmdSetEvent(&self, commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags){
10811    (self.CmdSetEvent_ptr)(commandBuffer, event, stageMask)
10812  }
10813  #[doc(hidden)] pub fn CmdResetEvent(&self, commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags){
10814    (self.CmdResetEvent_ptr)(commandBuffer, event, stageMask)
10815  }
10816  #[doc(hidden)] pub fn CmdWaitEvents(&self, commandBuffer: CommandBuffer, eventCount: u32, pEvents: *const Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier){
10817    (self.CmdWaitEvents_ptr)(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers)
10818  }
10819  #[doc(hidden)] pub fn CmdPipelineBarrier(&self, commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier){
10820    (self.CmdPipelineBarrier_ptr)(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers)
10821  }
10822  #[doc(hidden)] pub fn CmdBeginQuery(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags){
10823    (self.CmdBeginQuery_ptr)(commandBuffer, queryPool, query, flags)
10824  }
10825  #[doc(hidden)] pub fn CmdEndQuery(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32){
10826    (self.CmdEndQuery_ptr)(commandBuffer, queryPool, query)
10827  }
10828  #[doc(hidden)] pub fn CmdResetQueryPool(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32){
10829    (self.CmdResetQueryPool_ptr)(commandBuffer, queryPool, firstQuery, queryCount)
10830  }
10831  #[doc(hidden)] pub fn CmdWriteTimestamp(&self, commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, queryPool: QueryPool, query: u32){
10832    (self.CmdWriteTimestamp_ptr)(commandBuffer, pipelineStage, queryPool, query)
10833  }
10834  #[doc(hidden)] pub fn CmdCopyQueryPoolResults(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags){
10835    (self.CmdCopyQueryPoolResults_ptr)(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags)
10836  }
10837  #[doc(hidden)] pub fn CmdPushConstants(&self, commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: *const c_void){
10838    (self.CmdPushConstants_ptr)(commandBuffer, layout, stageFlags, offset, size, pValues)
10839  }
10840  #[doc(hidden)] pub fn CmdBeginRenderPass(&self, commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, contents: SubpassContents){
10841    (self.CmdBeginRenderPass_ptr)(commandBuffer, pRenderPassBegin, contents)
10842  }
10843  #[doc(hidden)] pub fn CmdNextSubpass(&self, commandBuffer: CommandBuffer, contents: SubpassContents){
10844    (self.CmdNextSubpass_ptr)(commandBuffer, contents)
10845  }
10846  #[doc(hidden)] pub fn CmdEndRenderPass(&self, commandBuffer: CommandBuffer){
10847    (self.CmdEndRenderPass_ptr)(commandBuffer)
10848  }
10849  #[doc(hidden)] pub fn CmdExecuteCommands(&self, commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer){
10850    (self.CmdExecuteCommands_ptr)(commandBuffer, commandBufferCount, pCommandBuffers)
10851  }
10852  #[doc(hidden)] pub fn EnumerateInstanceVersion(&self, pApiVersion: *mut u32) -> Result{
10853    (self.EnumerateInstanceVersion_ptr)(pApiVersion)
10854  }
10855  #[doc(hidden)] pub fn BindBufferMemory2(&self, device: Device, bindInfoCount: u32, pBindInfos: *const BindBufferMemoryInfo) -> Result{
10856    (self.BindBufferMemory2_ptr)(device, bindInfoCount, pBindInfos)
10857  }
10858  #[doc(hidden)] pub fn BindImageMemory2(&self, device: Device, bindInfoCount: u32, pBindInfos: *const BindImageMemoryInfo) -> Result{
10859    (self.BindImageMemory2_ptr)(device, bindInfoCount, pBindInfos)
10860  }
10861  #[doc(hidden)] pub fn GetDeviceGroupPeerMemoryFeatures(&self, device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: *mut PeerMemoryFeatureFlags){
10862    (self.GetDeviceGroupPeerMemoryFeatures_ptr)(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures)
10863  }
10864  #[doc(hidden)] pub fn CmdSetDeviceMask(&self, commandBuffer: CommandBuffer, deviceMask: u32){
10865    (self.CmdSetDeviceMask_ptr)(commandBuffer, deviceMask)
10866  }
10867  #[doc(hidden)] pub fn CmdDispatchBase(&self, commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32){
10868    (self.CmdDispatchBase_ptr)(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ)
10869  }
10870  #[doc(hidden)] pub fn EnumeratePhysicalDeviceGroups(&self, instance: Instance, pPhysicalDeviceGroupCount: *mut u32, pPhysicalDeviceGroupProperties: *mut PhysicalDeviceGroupProperties) -> Result{
10871    (self.EnumeratePhysicalDeviceGroups_ptr)(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties)
10872  }
10873  #[doc(hidden)] pub fn GetImageMemoryRequirements2(&self, device: Device, pInfo: *const ImageMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2){
10874    (self.GetImageMemoryRequirements2_ptr)(device, pInfo, pMemoryRequirements)
10875  }
10876  #[doc(hidden)] pub fn GetBufferMemoryRequirements2(&self, device: Device, pInfo: *const BufferMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2){
10877    (self.GetBufferMemoryRequirements2_ptr)(device, pInfo, pMemoryRequirements)
10878  }
10879  #[doc(hidden)] pub fn GetImageSparseMemoryRequirements2(&self, device: Device, pInfo: *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements2){
10880    (self.GetImageSparseMemoryRequirements2_ptr)(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements)
10881  }
10882  #[doc(hidden)] pub fn GetPhysicalDeviceFeatures2(&self, physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures2){
10883    (self.GetPhysicalDeviceFeatures2_ptr)(physicalDevice, pFeatures)
10884  }
10885  #[doc(hidden)] pub fn GetPhysicalDeviceProperties2(&self, physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties2){
10886    (self.GetPhysicalDeviceProperties2_ptr)(physicalDevice, pProperties)
10887  }
10888  #[doc(hidden)] pub fn GetPhysicalDeviceFormatProperties2(&self, physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties2){
10889    (self.GetPhysicalDeviceFormatProperties2_ptr)(physicalDevice, format, pFormatProperties)
10890  }
10891  #[doc(hidden)] pub fn GetPhysicalDeviceImageFormatProperties2(&self, physicalDevice: PhysicalDevice, pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties: *mut ImageFormatProperties2) -> Result{
10892    (self.GetPhysicalDeviceImageFormatProperties2_ptr)(physicalDevice, pImageFormatInfo, pImageFormatProperties)
10893  }
10894  #[doc(hidden)] pub fn GetPhysicalDeviceQueueFamilyProperties2(&self, physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties2){
10895    (self.GetPhysicalDeviceQueueFamilyProperties2_ptr)(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties)
10896  }
10897  #[doc(hidden)] pub fn GetPhysicalDeviceMemoryProperties2(&self, physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties2){
10898    (self.GetPhysicalDeviceMemoryProperties2_ptr)(physicalDevice, pMemoryProperties)
10899  }
10900  #[doc(hidden)] pub fn GetPhysicalDeviceSparseImageFormatProperties2(&self, physicalDevice: PhysicalDevice, pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties2){
10901    (self.GetPhysicalDeviceSparseImageFormatProperties2_ptr)(physicalDevice, pFormatInfo, pPropertyCount, pProperties)
10902  }
10903  #[doc(hidden)] pub fn TrimCommandPool(&self, device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags){
10904    (self.TrimCommandPool_ptr)(device, commandPool, flags)
10905  }
10906  #[doc(hidden)] pub fn GetDeviceQueue2(&self, device: Device, pQueueInfo: *const DeviceQueueInfo2, pQueue: *mut Queue){
10907    (self.GetDeviceQueue2_ptr)(device, pQueueInfo, pQueue)
10908  }
10909  #[doc(hidden)] pub fn CreateSamplerYcbcrConversion(&self, device: Device, pCreateInfo: *const SamplerYcbcrConversionCreateInfo, pAllocator: *const AllocationCallbacks, pYcbcrConversion: *mut SamplerYcbcrConversion) -> Result{
10910    (self.CreateSamplerYcbcrConversion_ptr)(device, pCreateInfo, pAllocator, pYcbcrConversion)
10911  }
10912  #[doc(hidden)] pub fn DestroySamplerYcbcrConversion(&self, device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: *const AllocationCallbacks){
10913    (self.DestroySamplerYcbcrConversion_ptr)(device, ycbcrConversion, pAllocator)
10914  }
10915  #[doc(hidden)] pub fn CreateDescriptorUpdateTemplate(&self, device: Device, pCreateInfo: *const DescriptorUpdateTemplateCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplate) -> Result{
10916    (self.CreateDescriptorUpdateTemplate_ptr)(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate)
10917  }
10918  #[doc(hidden)] pub fn DestroyDescriptorUpdateTemplate(&self, device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: *const AllocationCallbacks){
10919    (self.DestroyDescriptorUpdateTemplate_ptr)(device, descriptorUpdateTemplate, pAllocator)
10920  }
10921  #[doc(hidden)] pub fn UpdateDescriptorSetWithTemplate(&self, device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: *const c_void){
10922    (self.UpdateDescriptorSetWithTemplate_ptr)(device, descriptorSet, descriptorUpdateTemplate, pData)
10923  }
10924  #[doc(hidden)] pub fn GetPhysicalDeviceExternalBufferProperties(&self, physicalDevice: PhysicalDevice, pExternalBufferInfo: *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: *mut ExternalBufferProperties){
10925    (self.GetPhysicalDeviceExternalBufferProperties_ptr)(physicalDevice, pExternalBufferInfo, pExternalBufferProperties)
10926  }
10927  #[doc(hidden)] pub fn GetPhysicalDeviceExternalFenceProperties(&self, physicalDevice: PhysicalDevice, pExternalFenceInfo: *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: *mut ExternalFenceProperties){
10928    (self.GetPhysicalDeviceExternalFenceProperties_ptr)(physicalDevice, pExternalFenceInfo, pExternalFenceProperties)
10929  }
10930  #[doc(hidden)] pub fn GetPhysicalDeviceExternalSemaphoreProperties(&self, physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: *mut ExternalSemaphoreProperties){
10931    (self.GetPhysicalDeviceExternalSemaphoreProperties_ptr)(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties)
10932  }
10933  #[doc(hidden)] pub fn GetDescriptorSetLayoutSupport(&self, device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pSupport: *mut DescriptorSetLayoutSupport){
10934    (self.GetDescriptorSetLayoutSupport_ptr)(device, pCreateInfo, pSupport)
10935  }
10936  #[doc(hidden)] pub fn DestroySurfaceKHR(&self, instance: Instance, surface: SurfaceKHR, pAllocator: *const AllocationCallbacks){
10937    (self.DestroySurfaceKHR_ptr)(instance, surface, pAllocator)
10938  }
10939  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceSupportKHR(&self, physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: *mut Bool32) -> Result{
10940    (self.GetPhysicalDeviceSurfaceSupportKHR_ptr)(physicalDevice, queueFamilyIndex, surface, pSupported)
10941  }
10942  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilitiesKHR(&self, physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result{
10943    (self.GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr)(physicalDevice, surface, pSurfaceCapabilities)
10944  }
10945  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceFormatsKHR(&self, physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormatKHR) -> Result{
10946    (self.GetPhysicalDeviceSurfaceFormatsKHR_ptr)(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats)
10947  }
10948  #[doc(hidden)] pub fn GetPhysicalDeviceSurfacePresentModesKHR(&self, physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: *mut u32, pPresentModes: *mut PresentModeKHR) -> Result{
10949    (self.GetPhysicalDeviceSurfacePresentModesKHR_ptr)(physicalDevice, surface, pPresentModeCount, pPresentModes)
10950  }
10951  #[doc(hidden)] pub fn GetPhysicalDeviceDisplayPropertiesKHR(&self, physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPropertiesKHR) -> Result{
10952    (self.GetPhysicalDeviceDisplayPropertiesKHR_ptr)(physicalDevice, pPropertyCount, pProperties)
10953  }
10954  #[doc(hidden)] pub fn GetPhysicalDeviceDisplayPlanePropertiesKHR(&self, physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlanePropertiesKHR) -> Result{
10955    (self.GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr)(physicalDevice, pPropertyCount, pProperties)
10956  }
10957  #[doc(hidden)] pub fn GetDisplayPlaneSupportedDisplaysKHR(&self, physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: *mut u32, pDisplays: *mut DisplayKHR) -> Result{
10958    (self.GetDisplayPlaneSupportedDisplaysKHR_ptr)(physicalDevice, planeIndex, pDisplayCount, pDisplays)
10959  }
10960  #[doc(hidden)] pub fn GetDisplayModePropertiesKHR(&self, physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModePropertiesKHR) -> Result{
10961    (self.GetDisplayModePropertiesKHR_ptr)(physicalDevice, display, pPropertyCount, pProperties)
10962  }
10963  #[doc(hidden)] pub fn CreateDisplayModeKHR(&self, physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: *const DisplayModeCreateInfoKHR, pAllocator: *const AllocationCallbacks, pMode: *mut DisplayModeKHR) -> Result{
10964    (self.CreateDisplayModeKHR_ptr)(physicalDevice, display, pCreateInfo, pAllocator, pMode)
10965  }
10966  #[doc(hidden)] pub fn GetDisplayPlaneCapabilitiesKHR(&self, physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result{
10967    (self.GetDisplayPlaneCapabilitiesKHR_ptr)(physicalDevice, mode, planeIndex, pCapabilities)
10968  }
10969  #[doc(hidden)] pub fn CreateDisplayPlaneSurfaceKHR(&self, instance: Instance, pCreateInfo: *const DisplaySurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10970    (self.CreateDisplayPlaneSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10971  }
10972  #[doc(hidden)] pub fn CreateXlibSurfaceKHR(&self, instance: Instance, pCreateInfo: *const XlibSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10973    (self.CreateXlibSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10974  }
10975  #[doc(hidden)] pub fn GetPhysicalDeviceXlibPresentationSupportKHR(&self, physicalDevice: PhysicalDevice, queueFamilyIndex: u32, dpy: *mut Display, visualID: VisualID) -> Bool32{
10976    (self.GetPhysicalDeviceXlibPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, dpy, visualID)
10977  }
10978  #[doc(hidden)] pub fn CreateXcbSurfaceKHR(&self, instance: Instance, pCreateInfo: *const XcbSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10979    (self.CreateXcbSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10980  }
10981  #[doc(hidden)] pub fn GetPhysicalDeviceXcbPresentationSupportKHR(&self, physicalDevice: PhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> Bool32{
10982    (self.GetPhysicalDeviceXcbPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, connection, visual_id)
10983  }
10984  #[doc(hidden)] pub fn CreateWaylandSurfaceKHR(&self, instance: Instance, pCreateInfo: *const WaylandSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10985    (self.CreateWaylandSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10986  }
10987  #[doc(hidden)] pub fn GetPhysicalDeviceWaylandPresentationSupportKHR(&self, physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: *mut wl_display) -> Bool32{
10988    (self.GetPhysicalDeviceWaylandPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, display)
10989  }
10990  #[doc(hidden)] pub fn CreateAndroidSurfaceKHR(&self, instance: Instance, pCreateInfo: *const AndroidSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10991    (self.CreateAndroidSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10992  }
10993  #[doc(hidden)] pub fn CreateWin32SurfaceKHR(&self, instance: Instance, pCreateInfo: *const Win32SurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
10994    (self.CreateWin32SurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
10995  }
10996  #[doc(hidden)] pub fn GetPhysicalDeviceWin32PresentationSupportKHR(&self, physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> Bool32{
10997    (self.GetPhysicalDeviceWin32PresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex)
10998  }
10999  #[doc(hidden)] pub fn CreateDebugReportCallbackEXT(&self, instance: Instance, pCreateInfo: *const DebugReportCallbackCreateInfoEXT, pAllocator: *const AllocationCallbacks, pCallback: *mut DebugReportCallbackEXT) -> Result{
11000    (self.CreateDebugReportCallbackEXT_ptr)(instance, pCreateInfo, pAllocator, pCallback)
11001  }
11002  #[doc(hidden)] pub fn DestroyDebugReportCallbackEXT(&self, instance: Instance, callback: DebugReportCallbackEXT, pAllocator: *const AllocationCallbacks){
11003    (self.DestroyDebugReportCallbackEXT_ptr)(instance, callback, pAllocator)
11004  }
11005  #[doc(hidden)] pub fn DebugReportMessageEXT(&self, instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: usize, messageCode: i32, pLayerPrefix: *const c_char, pMessage: *const c_char){
11006    (self.DebugReportMessageEXT_ptr)(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage)
11007  }
11008  #[doc(hidden)] pub fn GetPhysicalDeviceExternalImageFormatPropertiesNV(&self, physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: *mut ExternalImageFormatPropertiesNV) -> Result{
11009    (self.GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr)(physicalDevice, format, typ, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties)
11010  }
11011  #[doc(hidden)] pub fn CreateViSurfaceNN(&self, instance: Instance, pCreateInfo: *const ViSurfaceCreateInfoNN, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
11012    (self.CreateViSurfaceNN_ptr)(instance, pCreateInfo, pAllocator, pSurface)
11013  }
11014  #[doc(hidden)] pub fn ReleaseDisplayEXT(&self, physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result{
11015    (self.ReleaseDisplayEXT_ptr)(physicalDevice, display)
11016  }
11017  #[doc(hidden)] pub fn AcquireXlibDisplayEXT(&self, physicalDevice: PhysicalDevice, dpy: *mut Display, display: DisplayKHR) -> Result{
11018    (self.AcquireXlibDisplayEXT_ptr)(physicalDevice, dpy, display)
11019  }
11020  #[doc(hidden)] pub fn GetRandROutputDisplayEXT(&self, physicalDevice: PhysicalDevice, dpy: *mut Display, rrOutput: RROutput, pDisplay: *mut DisplayKHR) -> Result{
11021    (self.GetRandROutputDisplayEXT_ptr)(physicalDevice, dpy, rrOutput, pDisplay)
11022  }
11023  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilities2EXT(&self, physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilities2EXT) -> Result{
11024    (self.GetPhysicalDeviceSurfaceCapabilities2EXT_ptr)(physicalDevice, surface, pSurfaceCapabilities)
11025  }
11026  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilities2KHR(&self, physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: *mut SurfaceCapabilities2KHR) -> Result{
11027    (self.GetPhysicalDeviceSurfaceCapabilities2KHR_ptr)(physicalDevice, pSurfaceInfo, pSurfaceCapabilities)
11028  }
11029  #[doc(hidden)] pub fn GetPhysicalDeviceSurfaceFormats2KHR(&self, physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormat2KHR) -> Result{
11030    (self.GetPhysicalDeviceSurfaceFormats2KHR_ptr)(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats)
11031  }
11032  #[doc(hidden)] pub fn GetPhysicalDeviceDisplayProperties2KHR(&self, physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayProperties2KHR) -> Result{
11033    (self.GetPhysicalDeviceDisplayProperties2KHR_ptr)(physicalDevice, pPropertyCount, pProperties)
11034  }
11035  #[doc(hidden)] pub fn GetPhysicalDeviceDisplayPlaneProperties2KHR(&self, physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlaneProperties2KHR) -> Result{
11036    (self.GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr)(physicalDevice, pPropertyCount, pProperties)
11037  }
11038  #[doc(hidden)] pub fn GetDisplayModeProperties2KHR(&self, physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModeProperties2KHR) -> Result{
11039    (self.GetDisplayModeProperties2KHR_ptr)(physicalDevice, display, pPropertyCount, pProperties)
11040  }
11041  #[doc(hidden)] pub fn GetDisplayPlaneCapabilities2KHR(&self, physicalDevice: PhysicalDevice, pDisplayPlaneInfo: *const DisplayPlaneInfo2KHR, pCapabilities: *mut DisplayPlaneCapabilities2KHR) -> Result{
11042    (self.GetDisplayPlaneCapabilities2KHR_ptr)(physicalDevice, pDisplayPlaneInfo, pCapabilities)
11043  }
11044  #[doc(hidden)] pub fn CreateIOSSurfaceMVK(&self, instance: Instance, pCreateInfo: *const IOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
11045    (self.CreateIOSSurfaceMVK_ptr)(instance, pCreateInfo, pAllocator, pSurface)
11046  }
11047  #[doc(hidden)] pub fn CreateMacOSSurfaceMVK(&self, instance: Instance, pCreateInfo: *const MacOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
11048    (self.CreateMacOSSurfaceMVK_ptr)(instance, pCreateInfo, pAllocator, pSurface)
11049  }
11050  #[doc(hidden)] pub fn SetDebugUtilsObjectNameEXT(&self, device: Device, pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result{
11051    (self.SetDebugUtilsObjectNameEXT_ptr)(device, pNameInfo)
11052  }
11053  #[doc(hidden)] pub fn SetDebugUtilsObjectTagEXT(&self, device: Device, pTagInfo: *const DebugUtilsObjectTagInfoEXT) -> Result{
11054    (self.SetDebugUtilsObjectTagEXT_ptr)(device, pTagInfo)
11055  }
11056  #[doc(hidden)] pub fn QueueBeginDebugUtilsLabelEXT(&self, queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT){
11057    (self.QueueBeginDebugUtilsLabelEXT_ptr)(queue, pLabelInfo)
11058  }
11059  #[doc(hidden)] pub fn QueueEndDebugUtilsLabelEXT(&self, queue: Queue){
11060    (self.QueueEndDebugUtilsLabelEXT_ptr)(queue)
11061  }
11062  #[doc(hidden)] pub fn QueueInsertDebugUtilsLabelEXT(&self, queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT){
11063    (self.QueueInsertDebugUtilsLabelEXT_ptr)(queue, pLabelInfo)
11064  }
11065  #[doc(hidden)] pub fn CmdBeginDebugUtilsLabelEXT(&self, commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT){
11066    (self.CmdBeginDebugUtilsLabelEXT_ptr)(commandBuffer, pLabelInfo)
11067  }
11068  #[doc(hidden)] pub fn CmdEndDebugUtilsLabelEXT(&self, commandBuffer: CommandBuffer){
11069    (self.CmdEndDebugUtilsLabelEXT_ptr)(commandBuffer)
11070  }
11071  #[doc(hidden)] pub fn CmdInsertDebugUtilsLabelEXT(&self, commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT){
11072    (self.CmdInsertDebugUtilsLabelEXT_ptr)(commandBuffer, pLabelInfo)
11073  }
11074  #[doc(hidden)] pub fn CreateDebugUtilsMessengerEXT(&self, instance: Instance, pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, pAllocator: *const AllocationCallbacks, pMessenger: *mut DebugUtilsMessengerEXT) -> Result{
11075    (self.CreateDebugUtilsMessengerEXT_ptr)(instance, pCreateInfo, pAllocator, pMessenger)
11076  }
11077  #[doc(hidden)] pub fn DestroyDebugUtilsMessengerEXT(&self, instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: *const AllocationCallbacks){
11078    (self.DestroyDebugUtilsMessengerEXT_ptr)(instance, messenger, pAllocator)
11079  }
11080  #[doc(hidden)] pub fn SubmitDebugUtilsMessageEXT(&self, instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: *const DebugUtilsMessengerCallbackDataEXT){
11081    (self.SubmitDebugUtilsMessageEXT_ptr)(instance, messageSeverity, messageTypes, pCallbackData)
11082  }
11083  #[doc(hidden)] pub fn CreateImagePipeSurfaceFUCHSIA(&self, instance: Instance, pCreateInfo: *const ImagePipeSurfaceCreateInfoFUCHSIA, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
11084    (self.CreateImagePipeSurfaceFUCHSIA_ptr)(instance, pCreateInfo, pAllocator, pSurface)
11085  }
11086  #[doc(hidden)] pub fn CreateSwapchainKHR(&self, device: Device, pCreateInfo: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchain: *mut SwapchainKHR) -> Result{
11087    (self.CreateSwapchainKHR_ptr)(device, pCreateInfo, pAllocator, pSwapchain)
11088  }
11089  #[doc(hidden)] pub fn DestroySwapchainKHR(&self, device: Device, swapchain: SwapchainKHR, pAllocator: *const AllocationCallbacks){
11090    (self.DestroySwapchainKHR_ptr)(device, swapchain, pAllocator)
11091  }
11092  #[doc(hidden)] pub fn GetSwapchainImagesKHR(&self, device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: *mut u32, pSwapchainImages: *mut Image) -> Result{
11093    (self.GetSwapchainImagesKHR_ptr)(device, swapchain, pSwapchainImageCount, pSwapchainImages)
11094  }
11095  #[doc(hidden)] pub fn AcquireNextImageKHR(&self, device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: *mut u32) -> Result{
11096    (self.AcquireNextImageKHR_ptr)(device, swapchain, timeout, semaphore, fence, pImageIndex)
11097  }
11098  #[doc(hidden)] pub fn QueuePresentKHR(&self, queue: Queue, pPresentInfo: *const PresentInfoKHR) -> Result{
11099    (self.QueuePresentKHR_ptr)(queue, pPresentInfo)
11100  }
11101  #[doc(hidden)] pub fn GetDeviceGroupPresentCapabilitiesKHR(&self, device: Device, pDeviceGroupPresentCapabilities: *mut DeviceGroupPresentCapabilitiesKHR) -> Result{
11102    (self.GetDeviceGroupPresentCapabilitiesKHR_ptr)(device, pDeviceGroupPresentCapabilities)
11103  }
11104  #[doc(hidden)] pub fn GetDeviceGroupSurfacePresentModesKHR(&self, device: Device, surface: SurfaceKHR, pModes: *mut DeviceGroupPresentModeFlagsKHR) -> Result{
11105    (self.GetDeviceGroupSurfacePresentModesKHR_ptr)(device, surface, pModes)
11106  }
11107  #[doc(hidden)] pub fn GetPhysicalDevicePresentRectanglesKHR(&self, physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: *mut u32, pRects: *mut Rect2D) -> Result{
11108    (self.GetPhysicalDevicePresentRectanglesKHR_ptr)(physicalDevice, surface, pRectCount, pRects)
11109  }
11110  #[doc(hidden)] pub fn AcquireNextImage2KHR(&self, device: Device, pAcquireInfo: *const AcquireNextImageInfoKHR, pImageIndex: *mut u32) -> Result{
11111    (self.AcquireNextImage2KHR_ptr)(device, pAcquireInfo, pImageIndex)
11112  }
11113  #[doc(hidden)] pub fn CreateSharedSwapchainsKHR(&self, device: Device, swapchainCount: u32, pCreateInfos: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchains: *mut SwapchainKHR) -> Result{
11114    (self.CreateSharedSwapchainsKHR_ptr)(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains)
11115  }
11116  #[doc(hidden)] pub fn DebugMarkerSetObjectTagEXT(&self, device: Device, pTagInfo: *const DebugMarkerObjectTagInfoEXT) -> Result{
11117    (self.DebugMarkerSetObjectTagEXT_ptr)(device, pTagInfo)
11118  }
11119  #[doc(hidden)] pub fn DebugMarkerSetObjectNameEXT(&self, device: Device, pNameInfo: *const DebugMarkerObjectNameInfoEXT) -> Result{
11120    (self.DebugMarkerSetObjectNameEXT_ptr)(device, pNameInfo)
11121  }
11122  #[doc(hidden)] pub fn CmdDebugMarkerBeginEXT(&self, commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
11123    (self.CmdDebugMarkerBeginEXT_ptr)(commandBuffer, pMarkerInfo)
11124  }
11125  #[doc(hidden)] pub fn CmdDebugMarkerEndEXT(&self, commandBuffer: CommandBuffer){
11126    (self.CmdDebugMarkerEndEXT_ptr)(commandBuffer)
11127  }
11128  #[doc(hidden)] pub fn CmdDebugMarkerInsertEXT(&self, commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
11129    (self.CmdDebugMarkerInsertEXT_ptr)(commandBuffer, pMarkerInfo)
11130  }
11131  #[doc(hidden)] pub fn CmdBindTransformFeedbackBuffersEXT(&self, commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize, pSizes: *const DeviceSize){
11132    (self.CmdBindTransformFeedbackBuffersEXT_ptr)(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes)
11133  }
11134  #[doc(hidden)] pub fn CmdBeginTransformFeedbackEXT(&self, commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize){
11135    (self.CmdBeginTransformFeedbackEXT_ptr)(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets)
11136  }
11137  #[doc(hidden)] pub fn CmdEndTransformFeedbackEXT(&self, commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize){
11138    (self.CmdEndTransformFeedbackEXT_ptr)(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets)
11139  }
11140  #[doc(hidden)] pub fn CmdBeginQueryIndexedEXT(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32){
11141    (self.CmdBeginQueryIndexedEXT_ptr)(commandBuffer, queryPool, query, flags, index)
11142  }
11143  #[doc(hidden)] pub fn CmdEndQueryIndexedEXT(&self, commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32){
11144    (self.CmdEndQueryIndexedEXT_ptr)(commandBuffer, queryPool, query, index)
11145  }
11146  #[doc(hidden)] pub fn CmdDrawIndirectByteCountEXT(&self, commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32){
11147    (self.CmdDrawIndirectByteCountEXT_ptr)(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride)
11148  }
11149  #[doc(hidden)] pub fn CmdDrawIndirectCountAMD(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
11150    (self.CmdDrawIndirectCountAMD_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
11151  }
11152  #[doc(hidden)] pub fn CmdDrawIndexedIndirectCountAMD(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
11153    (self.CmdDrawIndexedIndirectCountAMD_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
11154  }
11155  #[doc(hidden)] pub fn GetShaderInfoAMD(&self, device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlagBits, infoType: ShaderInfoTypeAMD, pInfoSize: *mut usize, pInfo: *mut c_void) -> Result{
11156    (self.GetShaderInfoAMD_ptr)(device, pipeline, shaderStage, infoType, pInfoSize, pInfo)
11157  }
11158  #[doc(hidden)] pub fn GetMemoryWin32HandleNV(&self, device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: *mut HANDLE) -> Result{
11159    (self.GetMemoryWin32HandleNV_ptr)(device, memory, handleType, pHandle)
11160  }
11161  #[doc(hidden)] pub fn GetMemoryWin32HandleKHR(&self, device: Device, pGetWin32HandleInfo: *const MemoryGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
11162    (self.GetMemoryWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
11163  }
11164  #[doc(hidden)] pub fn GetMemoryWin32HandlePropertiesKHR(&self, device: Device, handleType: ExternalMemoryHandleTypeFlagBits, handle: HANDLE, pMemoryWin32HandleProperties: *mut MemoryWin32HandlePropertiesKHR) -> Result{
11165    (self.GetMemoryWin32HandlePropertiesKHR_ptr)(device, handleType, handle, pMemoryWin32HandleProperties)
11166  }
11167  #[doc(hidden)] pub fn GetMemoryFdKHR(&self, device: Device, pGetFdInfo: *const MemoryGetFdInfoKHR, pFd: *mut i32) -> Result{
11168    (self.GetMemoryFdKHR_ptr)(device, pGetFdInfo, pFd)
11169  }
11170  #[doc(hidden)] pub fn GetMemoryFdPropertiesKHR(&self, device: Device, handleType: ExternalMemoryHandleTypeFlagBits, fd: i32, pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result{
11171    (self.GetMemoryFdPropertiesKHR_ptr)(device, handleType, fd, pMemoryFdProperties)
11172  }
11173  #[doc(hidden)] pub fn ImportSemaphoreWin32HandleKHR(&self, device: Device, pImportSemaphoreWin32HandleInfo: *const ImportSemaphoreWin32HandleInfoKHR) -> Result{
11174    (self.ImportSemaphoreWin32HandleKHR_ptr)(device, pImportSemaphoreWin32HandleInfo)
11175  }
11176  #[doc(hidden)] pub fn GetSemaphoreWin32HandleKHR(&self, device: Device, pGetWin32HandleInfo: *const SemaphoreGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
11177    (self.GetSemaphoreWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
11178  }
11179  #[doc(hidden)] pub fn ImportSemaphoreFdKHR(&self, device: Device, pImportSemaphoreFdInfo: *const ImportSemaphoreFdInfoKHR) -> Result{
11180    (self.ImportSemaphoreFdKHR_ptr)(device, pImportSemaphoreFdInfo)
11181  }
11182  #[doc(hidden)] pub fn GetSemaphoreFdKHR(&self, device: Device, pGetFdInfo: *const SemaphoreGetFdInfoKHR, pFd: *mut i32) -> Result{
11183    (self.GetSemaphoreFdKHR_ptr)(device, pGetFdInfo, pFd)
11184  }
11185  #[doc(hidden)] pub fn CmdPushDescriptorSetKHR(&self, commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet){
11186    (self.CmdPushDescriptorSetKHR_ptr)(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites)
11187  }
11188  #[doc(hidden)] pub fn CmdPushDescriptorSetWithTemplateKHR(&self, commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: *const c_void){
11189    (self.CmdPushDescriptorSetWithTemplateKHR_ptr)(commandBuffer, descriptorUpdateTemplate, layout, set, pData)
11190  }
11191  #[doc(hidden)] pub fn CmdBeginConditionalRenderingEXT(&self, commandBuffer: CommandBuffer, pConditionalRenderingBegin: *const ConditionalRenderingBeginInfoEXT){
11192    (self.CmdBeginConditionalRenderingEXT_ptr)(commandBuffer, pConditionalRenderingBegin)
11193  }
11194  #[doc(hidden)] pub fn CmdEndConditionalRenderingEXT(&self, commandBuffer: CommandBuffer){
11195    (self.CmdEndConditionalRenderingEXT_ptr)(commandBuffer)
11196  }
11197  #[doc(hidden)] pub fn CmdProcessCommandsNVX(&self, commandBuffer: CommandBuffer, pProcessCommandsInfo: *const CmdProcessCommandsInfoNVX){
11198    (self.CmdProcessCommandsNVX_ptr)(commandBuffer, pProcessCommandsInfo)
11199  }
11200  #[doc(hidden)] pub fn CmdReserveSpaceForCommandsNVX(&self, commandBuffer: CommandBuffer, pReserveSpaceInfo: *const CmdReserveSpaceForCommandsInfoNVX){
11201    (self.CmdReserveSpaceForCommandsNVX_ptr)(commandBuffer, pReserveSpaceInfo)
11202  }
11203  #[doc(hidden)] pub fn CreateIndirectCommandsLayoutNVX(&self, device: Device, pCreateInfo: *const IndirectCommandsLayoutCreateInfoNVX, pAllocator: *const AllocationCallbacks, pIndirectCommandsLayout: *mut IndirectCommandsLayoutNVX) -> Result{
11204    (self.CreateIndirectCommandsLayoutNVX_ptr)(device, pCreateInfo, pAllocator, pIndirectCommandsLayout)
11205  }
11206  #[doc(hidden)] pub fn DestroyIndirectCommandsLayoutNVX(&self, device: Device, indirectCommandsLayout: IndirectCommandsLayoutNVX, pAllocator: *const AllocationCallbacks){
11207    (self.DestroyIndirectCommandsLayoutNVX_ptr)(device, indirectCommandsLayout, pAllocator)
11208  }
11209  #[doc(hidden)] pub fn CreateObjectTableNVX(&self, device: Device, pCreateInfo: *const ObjectTableCreateInfoNVX, pAllocator: *const AllocationCallbacks, pObjectTable: *mut ObjectTableNVX) -> Result{
11210    (self.CreateObjectTableNVX_ptr)(device, pCreateInfo, pAllocator, pObjectTable)
11211  }
11212  #[doc(hidden)] pub fn DestroyObjectTableNVX(&self, device: Device, objectTable: ObjectTableNVX, pAllocator: *const AllocationCallbacks){
11213    (self.DestroyObjectTableNVX_ptr)(device, objectTable, pAllocator)
11214  }
11215  #[doc(hidden)] pub fn RegisterObjectsNVX(&self, device: Device, objectTable: ObjectTableNVX, objectCount: u32, ppObjectTableEntries: *const *const ObjectTableEntryNVX, pObjectIndices: *const u32) -> Result{
11216    (self.RegisterObjectsNVX_ptr)(device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices)
11217  }
11218  #[doc(hidden)] pub fn UnregisterObjectsNVX(&self, device: Device, objectTable: ObjectTableNVX, objectCount: u32, pObjectEntryTypes: *const ObjectEntryTypeNVX, pObjectIndices: *const u32) -> Result{
11219    (self.UnregisterObjectsNVX_ptr)(device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices)
11220  }
11221  #[doc(hidden)] pub fn GetPhysicalDeviceGeneratedCommandsPropertiesNVX(&self, physicalDevice: PhysicalDevice, pFeatures: *mut DeviceGeneratedCommandsFeaturesNVX, pLimits: *mut DeviceGeneratedCommandsLimitsNVX){
11222    (self.GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr)(physicalDevice, pFeatures, pLimits)
11223  }
11224  #[doc(hidden)] pub fn CmdSetViewportWScalingNV(&self, commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: *const ViewportWScalingNV){
11225    (self.CmdSetViewportWScalingNV_ptr)(commandBuffer, firstViewport, viewportCount, pViewportWScalings)
11226  }
11227  #[doc(hidden)] pub fn DisplayPowerControlEXT(&self, device: Device, display: DisplayKHR, pDisplayPowerInfo: *const DisplayPowerInfoEXT) -> Result{
11228    (self.DisplayPowerControlEXT_ptr)(device, display, pDisplayPowerInfo)
11229  }
11230  #[doc(hidden)] pub fn RegisterDeviceEventEXT(&self, device: Device, pDeviceEventInfo: *const DeviceEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
11231    (self.RegisterDeviceEventEXT_ptr)(device, pDeviceEventInfo, pAllocator, pFence)
11232  }
11233  #[doc(hidden)] pub fn RegisterDisplayEventEXT(&self, device: Device, display: DisplayKHR, pDisplayEventInfo: *const DisplayEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
11234    (self.RegisterDisplayEventEXT_ptr)(device, display, pDisplayEventInfo, pAllocator, pFence)
11235  }
11236  #[doc(hidden)] pub fn GetSwapchainCounterEXT(&self, device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagBitsEXT, pCounterValue: *mut u64) -> Result{
11237    (self.GetSwapchainCounterEXT_ptr)(device, swapchain, counter, pCounterValue)
11238  }
11239  #[doc(hidden)] pub fn GetRefreshCycleDurationGOOGLE(&self, device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: *mut RefreshCycleDurationGOOGLE) -> Result{
11240    (self.GetRefreshCycleDurationGOOGLE_ptr)(device, swapchain, pDisplayTimingProperties)
11241  }
11242  #[doc(hidden)] pub fn GetPastPresentationTimingGOOGLE(&self, device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: *mut u32, pPresentationTimings: *mut PastPresentationTimingGOOGLE) -> Result{
11243    (self.GetPastPresentationTimingGOOGLE_ptr)(device, swapchain, pPresentationTimingCount, pPresentationTimings)
11244  }
11245  #[doc(hidden)] pub fn CmdSetDiscardRectangleEXT(&self, commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: *const Rect2D){
11246    (self.CmdSetDiscardRectangleEXT_ptr)(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles)
11247  }
11248  #[doc(hidden)] pub fn SetHdrMetadataEXT(&self, device: Device, swapchainCount: u32, pSwapchains: *const SwapchainKHR, pMetadata: *const HdrMetadataEXT){
11249    (self.SetHdrMetadataEXT_ptr)(device, swapchainCount, pSwapchains, pMetadata)
11250  }
11251  #[doc(hidden)] pub fn CreateRenderPass2KHR(&self, device: Device, pCreateInfo: *const RenderPassCreateInfo2KHR, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result{
11252    (self.CreateRenderPass2KHR_ptr)(device, pCreateInfo, pAllocator, pRenderPass)
11253  }
11254  #[doc(hidden)] pub fn CmdBeginRenderPass2KHR(&self, commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, pSubpassBeginInfo: *const SubpassBeginInfoKHR){
11255    (self.CmdBeginRenderPass2KHR_ptr)(commandBuffer, pRenderPassBegin, pSubpassBeginInfo)
11256  }
11257  #[doc(hidden)] pub fn CmdNextSubpass2KHR(&self, commandBuffer: CommandBuffer, pSubpassBeginInfo: *const SubpassBeginInfoKHR, pSubpassEndInfo: *const SubpassEndInfoKHR){
11258    (self.CmdNextSubpass2KHR_ptr)(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo)
11259  }
11260  #[doc(hidden)] pub fn CmdEndRenderPass2KHR(&self, commandBuffer: CommandBuffer, pSubpassEndInfo: *const SubpassEndInfoKHR){
11261    (self.CmdEndRenderPass2KHR_ptr)(commandBuffer, pSubpassEndInfo)
11262  }
11263  #[doc(hidden)] pub fn GetSwapchainStatusKHR(&self, device: Device, swapchain: SwapchainKHR) -> Result{
11264    (self.GetSwapchainStatusKHR_ptr)(device, swapchain)
11265  }
11266  #[doc(hidden)] pub fn ImportFenceWin32HandleKHR(&self, device: Device, pImportFenceWin32HandleInfo: *const ImportFenceWin32HandleInfoKHR) -> Result{
11267    (self.ImportFenceWin32HandleKHR_ptr)(device, pImportFenceWin32HandleInfo)
11268  }
11269  #[doc(hidden)] pub fn GetFenceWin32HandleKHR(&self, device: Device, pGetWin32HandleInfo: *const FenceGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
11270    (self.GetFenceWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
11271  }
11272  #[doc(hidden)] pub fn ImportFenceFdKHR(&self, device: Device, pImportFenceFdInfo: *const ImportFenceFdInfoKHR) -> Result{
11273    (self.ImportFenceFdKHR_ptr)(device, pImportFenceFdInfo)
11274  }
11275  #[doc(hidden)] pub fn GetFenceFdKHR(&self, device: Device, pGetFdInfo: *const FenceGetFdInfoKHR, pFd: *mut i32) -> Result{
11276    (self.GetFenceFdKHR_ptr)(device, pGetFdInfo, pFd)
11277  }
11278  #[doc(hidden)] pub fn GetAndroidHardwareBufferPropertiesANDROID(&self, device: Device, buffer: *const AHardwareBuffer, pProperties: *mut AndroidHardwareBufferPropertiesANDROID) -> Result{
11279    (self.GetAndroidHardwareBufferPropertiesANDROID_ptr)(device, buffer, pProperties)
11280  }
11281  #[doc(hidden)] pub fn GetMemoryAndroidHardwareBufferANDROID(&self, device: Device, pInfo: *const MemoryGetAndroidHardwareBufferInfoANDROID, pBuffer: *mut *mut AHardwareBuffer) -> Result{
11282    (self.GetMemoryAndroidHardwareBufferANDROID_ptr)(device, pInfo, pBuffer)
11283  }
11284  #[doc(hidden)] pub fn CmdSetSampleLocationsEXT(&self, commandBuffer: CommandBuffer, pSampleLocationsInfo: *const SampleLocationsInfoEXT){
11285    (self.CmdSetSampleLocationsEXT_ptr)(commandBuffer, pSampleLocationsInfo)
11286  }
11287  #[doc(hidden)] pub fn GetPhysicalDeviceMultisamplePropertiesEXT(&self, physicalDevice: PhysicalDevice, samples: SampleCountFlagBits, pMultisampleProperties: *mut MultisamplePropertiesEXT){
11288    (self.GetPhysicalDeviceMultisamplePropertiesEXT_ptr)(physicalDevice, samples, pMultisampleProperties)
11289  }
11290  #[doc(hidden)] pub fn GetImageDrmFormatModifierPropertiesEXT(&self, device: Device, image: Image, pProperties: *mut ImageDrmFormatModifierPropertiesEXT) -> Result{
11291    (self.GetImageDrmFormatModifierPropertiesEXT_ptr)(device, image, pProperties)
11292  }
11293  #[doc(hidden)] pub fn CreateValidationCacheEXT(&self, device: Device, pCreateInfo: *const ValidationCacheCreateInfoEXT, pAllocator: *const AllocationCallbacks, pValidationCache: *mut ValidationCacheEXT) -> Result{
11294    (self.CreateValidationCacheEXT_ptr)(device, pCreateInfo, pAllocator, pValidationCache)
11295  }
11296  #[doc(hidden)] pub fn DestroyValidationCacheEXT(&self, device: Device, validationCache: ValidationCacheEXT, pAllocator: *const AllocationCallbacks){
11297    (self.DestroyValidationCacheEXT_ptr)(device, validationCache, pAllocator)
11298  }
11299  #[doc(hidden)] pub fn MergeValidationCachesEXT(&self, device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: *const ValidationCacheEXT) -> Result{
11300    (self.MergeValidationCachesEXT_ptr)(device, dstCache, srcCacheCount, pSrcCaches)
11301  }
11302  #[doc(hidden)] pub fn GetValidationCacheDataEXT(&self, device: Device, validationCache: ValidationCacheEXT, pDataSize: *mut usize, pData: *mut c_void) -> Result{
11303    (self.GetValidationCacheDataEXT_ptr)(device, validationCache, pDataSize, pData)
11304  }
11305  #[doc(hidden)] pub fn CmdBindShadingRateImageNV(&self, commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout){
11306    (self.CmdBindShadingRateImageNV_ptr)(commandBuffer, imageView, imageLayout)
11307  }
11308  #[doc(hidden)] pub fn CmdSetViewportShadingRatePaletteNV(&self, commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: *const ShadingRatePaletteNV){
11309    (self.CmdSetViewportShadingRatePaletteNV_ptr)(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes)
11310  }
11311  #[doc(hidden)] pub fn CmdSetCoarseSampleOrderNV(&self, commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: *const CoarseSampleOrderCustomNV){
11312    (self.CmdSetCoarseSampleOrderNV_ptr)(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders)
11313  }
11314  #[doc(hidden)] pub fn CreateAccelerationStructureNV(&self, device: Device, pCreateInfo: *const AccelerationStructureCreateInfoNV, pAllocator: *const AllocationCallbacks, pAccelerationStructure: *mut AccelerationStructureNV) -> Result{
11315    (self.CreateAccelerationStructureNV_ptr)(device, pCreateInfo, pAllocator, pAccelerationStructure)
11316  }
11317  #[doc(hidden)] pub fn DestroyAccelerationStructureNV(&self, device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: *const AllocationCallbacks){
11318    (self.DestroyAccelerationStructureNV_ptr)(device, accelerationStructure, pAllocator)
11319  }
11320  #[doc(hidden)] pub fn GetAccelerationStructureMemoryRequirementsNV(&self, device: Device, pInfo: *const AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: *mut MemoryRequirements2){
11321    (self.GetAccelerationStructureMemoryRequirementsNV_ptr)(device, pInfo, pMemoryRequirements)
11322  }
11323  #[doc(hidden)] pub fn BindAccelerationStructureMemoryNV(&self, device: Device, bindInfoCount: u32, pBindInfos: *const BindAccelerationStructureMemoryInfoNV) -> Result{
11324    (self.BindAccelerationStructureMemoryNV_ptr)(device, bindInfoCount, pBindInfos)
11325  }
11326  #[doc(hidden)] pub fn CmdBuildAccelerationStructureNV(&self, commandBuffer: CommandBuffer, pInfo: *const AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize){
11327    (self.CmdBuildAccelerationStructureNV_ptr)(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset)
11328  }
11329  #[doc(hidden)] pub fn CmdCopyAccelerationStructureNV(&self, commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV){
11330    (self.CmdCopyAccelerationStructureNV_ptr)(commandBuffer, dst, src, mode)
11331  }
11332  #[doc(hidden)] pub fn CmdTraceRaysNV(&self, commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32){
11333    (self.CmdTraceRaysNV_ptr)(commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth)
11334  }
11335  #[doc(hidden)] pub fn CreateRayTracingPipelinesNV(&self, device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const RayTracingPipelineCreateInfoNV, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
11336    (self.CreateRayTracingPipelinesNV_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
11337  }
11338  #[doc(hidden)] pub fn GetRayTracingShaderGroupHandlesNV(&self, device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: usize, pData: *mut c_void) -> Result{
11339    (self.GetRayTracingShaderGroupHandlesNV_ptr)(device, pipeline, firstGroup, groupCount, dataSize, pData)
11340  }
11341  #[doc(hidden)] pub fn GetAccelerationStructureHandleNV(&self, device: Device, accelerationStructure: AccelerationStructureNV, dataSize: usize, pData: *mut c_void) -> Result{
11342    (self.GetAccelerationStructureHandleNV_ptr)(device, accelerationStructure, dataSize, pData)
11343  }
11344  #[doc(hidden)] pub fn CmdWriteAccelerationStructuresPropertiesNV(&self, commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: *const AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32){
11345    (self.CmdWriteAccelerationStructuresPropertiesNV_ptr)(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery)
11346  }
11347  #[doc(hidden)] pub fn CompileDeferredNV(&self, device: Device, pipeline: Pipeline, shader: u32) -> Result{
11348    (self.CompileDeferredNV_ptr)(device, pipeline, shader)
11349  }
11350  #[doc(hidden)] pub fn CmdDrawIndirectCountKHR(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
11351    (self.CmdDrawIndirectCountKHR_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
11352  }
11353  #[doc(hidden)] pub fn CmdDrawIndexedIndirectCountKHR(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
11354    (self.CmdDrawIndexedIndirectCountKHR_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
11355  }
11356  #[doc(hidden)] pub fn GetMemoryHostPointerPropertiesEXT(&self, device: Device, handleType: ExternalMemoryHandleTypeFlagBits, pHostPointer: *const c_void, pMemoryHostPointerProperties: *mut MemoryHostPointerPropertiesEXT) -> Result{
11357    (self.GetMemoryHostPointerPropertiesEXT_ptr)(device, handleType, pHostPointer, pMemoryHostPointerProperties)
11358  }
11359  #[doc(hidden)] pub fn CmdWriteBufferMarkerAMD(&self, commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32){
11360    (self.CmdWriteBufferMarkerAMD_ptr)(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker)
11361  }
11362  #[doc(hidden)] pub fn GetPhysicalDeviceCalibrateableTimeDomainsEXT(&self, physicalDevice: PhysicalDevice, pTimeDomainCount: *mut u32, pTimeDomains: *mut TimeDomainEXT) -> Result{
11363    (self.GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr)(physicalDevice, pTimeDomainCount, pTimeDomains)
11364  }
11365  #[doc(hidden)] pub fn GetCalibratedTimestampsEXT(&self, device: Device, timestampCount: u32, pTimestampInfos: *const CalibratedTimestampInfoEXT, pTimestamps: *mut u64, pMaxDeviation: *mut u64) -> Result{
11366    (self.GetCalibratedTimestampsEXT_ptr)(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation)
11367  }
11368  #[doc(hidden)] pub fn CmdDrawMeshTasksNV(&self, commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32){
11369    (self.CmdDrawMeshTasksNV_ptr)(commandBuffer, taskCount, firstTask)
11370  }
11371  #[doc(hidden)] pub fn CmdDrawMeshTasksIndirectNV(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
11372    (self.CmdDrawMeshTasksIndirectNV_ptr)(commandBuffer, buffer, offset, drawCount, stride)
11373  }
11374  #[doc(hidden)] pub fn CmdDrawMeshTasksIndirectCountNV(&self, commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
11375    (self.CmdDrawMeshTasksIndirectCountNV_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
11376  }
11377  #[doc(hidden)] pub fn CmdSetExclusiveScissorNV(&self, commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: *const Rect2D){
11378    (self.CmdSetExclusiveScissorNV_ptr)(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors)
11379  }
11380  #[doc(hidden)] pub fn CmdSetCheckpointNV(&self, commandBuffer: CommandBuffer, pCheckpointMarker: *const c_void){
11381    (self.CmdSetCheckpointNV_ptr)(commandBuffer, pCheckpointMarker)
11382  }
11383  #[doc(hidden)] pub fn GetQueueCheckpointDataNV(&self, queue: Queue, pCheckpointDataCount: *mut u32, pCheckpointData: *mut CheckpointDataNV){
11384    (self.GetQueueCheckpointDataNV_ptr)(queue, pCheckpointDataCount, pCheckpointData)
11385  }
11386}
11387impl Drop for VkLib {
11388  fn drop(&mut self) {
11389    unsafe {
11390      vklib = None;
11391    }
11392  }
11393}
11394
11395
11396static mut vklib: Option<*mut VkLib> = None;
11397
11398#[doc(hidden)] pub fn CreateInstance(pCreateInfo: *const InstanceCreateInfo, pAllocator: *const AllocationCallbacks, pInstance: *mut Instance) -> Result{
11399  unsafe {
11400    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11401    ((*ptr).CreateInstance_ptr)(pCreateInfo, pAllocator, pInstance)
11402  }
11403}
11404#[doc(hidden)] pub fn DestroyInstance(instance: Instance, pAllocator: *const AllocationCallbacks){
11405  unsafe {
11406    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11407    ((*ptr).DestroyInstance_ptr)(instance, pAllocator)
11408  }
11409}
11410#[doc(hidden)] pub fn EnumeratePhysicalDevices(instance: Instance, pPhysicalDeviceCount: *mut u32, pPhysicalDevices: *mut PhysicalDevice) -> Result{
11411  unsafe {
11412    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11413    ((*ptr).EnumeratePhysicalDevices_ptr)(instance, pPhysicalDeviceCount, pPhysicalDevices)
11414  }
11415}
11416#[doc(hidden)] pub fn GetPhysicalDeviceFeatures(physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures){
11417  unsafe {
11418    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11419    ((*ptr).GetPhysicalDeviceFeatures_ptr)(physicalDevice, pFeatures)
11420  }
11421}
11422#[doc(hidden)] pub fn GetPhysicalDeviceFormatProperties(physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties){
11423  unsafe {
11424    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11425    ((*ptr).GetPhysicalDeviceFormatProperties_ptr)(physicalDevice, format, pFormatProperties)
11426  }
11427}
11428#[doc(hidden)] pub fn GetPhysicalDeviceImageFormatProperties(physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: *mut ImageFormatProperties) -> Result{
11429  unsafe {
11430    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11431    ((*ptr).GetPhysicalDeviceImageFormatProperties_ptr)(physicalDevice, format, typ, tiling, usage, flags, pImageFormatProperties)
11432  }
11433}
11434#[doc(hidden)] pub fn GetPhysicalDeviceProperties(physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties){
11435  unsafe {
11436    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11437    ((*ptr).GetPhysicalDeviceProperties_ptr)(physicalDevice, pProperties)
11438  }
11439}
11440#[doc(hidden)] pub fn GetPhysicalDeviceQueueFamilyProperties(physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties){
11441  unsafe {
11442    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11443    ((*ptr).GetPhysicalDeviceQueueFamilyProperties_ptr)(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties)
11444  }
11445}
11446#[doc(hidden)] pub fn GetPhysicalDeviceMemoryProperties(physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties){
11447  unsafe {
11448    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11449    ((*ptr).GetPhysicalDeviceMemoryProperties_ptr)(physicalDevice, pMemoryProperties)
11450  }
11451}
11452#[doc(hidden)] pub fn GetInstanceProcAddr(instance: Instance, pName: *const c_char) -> PFN_vkVoidFunction{
11453  unsafe {
11454    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11455    ((*ptr).GetInstanceProcAddr_ptr)(instance, pName)
11456  }
11457}
11458#[doc(hidden)] pub fn GetDeviceProcAddr(device: Device, pName: *const c_char) -> PFN_vkVoidFunction{
11459  unsafe {
11460    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11461    ((*ptr).GetDeviceProcAddr_ptr)(device, pName)
11462  }
11463}
11464#[doc(hidden)] pub fn CreateDevice(physicalDevice: PhysicalDevice, pCreateInfo: *const DeviceCreateInfo, pAllocator: *const AllocationCallbacks, pDevice: *mut Device) -> Result{
11465  unsafe {
11466    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11467    ((*ptr).CreateDevice_ptr)(physicalDevice, pCreateInfo, pAllocator, pDevice)
11468  }
11469}
11470#[doc(hidden)] pub fn DestroyDevice(device: Device, pAllocator: *const AllocationCallbacks){
11471  unsafe {
11472    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11473    ((*ptr).DestroyDevice_ptr)(device, pAllocator)
11474  }
11475}
11476#[doc(hidden)] pub fn EnumerateInstanceExtensionProperties(pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result{
11477  unsafe {
11478    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11479    ((*ptr).EnumerateInstanceExtensionProperties_ptr)(pLayerName, pPropertyCount, pProperties)
11480  }
11481}
11482#[doc(hidden)] pub fn EnumerateDeviceExtensionProperties(physicalDevice: PhysicalDevice, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result{
11483  unsafe {
11484    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11485    ((*ptr).EnumerateDeviceExtensionProperties_ptr)(physicalDevice, pLayerName, pPropertyCount, pProperties)
11486  }
11487}
11488#[doc(hidden)] pub fn EnumerateInstanceLayerProperties(pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result{
11489  unsafe {
11490    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11491    ((*ptr).EnumerateInstanceLayerProperties_ptr)(pPropertyCount, pProperties)
11492  }
11493}
11494#[doc(hidden)] pub fn EnumerateDeviceLayerProperties(physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result{
11495  unsafe {
11496    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11497    ((*ptr).EnumerateDeviceLayerProperties_ptr)(physicalDevice, pPropertyCount, pProperties)
11498  }
11499}
11500#[doc(hidden)] pub fn GetDeviceQueue(device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut Queue){
11501  unsafe {
11502    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11503    ((*ptr).GetDeviceQueue_ptr)(device, queueFamilyIndex, queueIndex, pQueue)
11504  }
11505}
11506#[doc(hidden)] pub fn QueueSubmit(queue: Queue, submitCount: u32, pSubmits: *const SubmitInfo, fence: Fence) -> Result{
11507  unsafe {
11508    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11509    ((*ptr).QueueSubmit_ptr)(queue, submitCount, pSubmits, fence)
11510  }
11511}
11512#[doc(hidden)] pub fn QueueWaitIdle(queue: Queue) -> Result{
11513  unsafe {
11514    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11515    ((*ptr).QueueWaitIdle_ptr)(queue)
11516  }
11517}
11518#[doc(hidden)] pub fn DeviceWaitIdle(device: Device) -> Result{
11519  unsafe {
11520    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11521    ((*ptr).DeviceWaitIdle_ptr)(device)
11522  }
11523}
11524#[doc(hidden)] pub fn AllocateMemory(device: Device, pAllocateInfo: *const MemoryAllocateInfo, pAllocator: *const AllocationCallbacks, pMemory: *mut DeviceMemory) -> Result{
11525  unsafe {
11526    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11527    ((*ptr).AllocateMemory_ptr)(device, pAllocateInfo, pAllocator, pMemory)
11528  }
11529}
11530#[doc(hidden)] pub fn FreeMemory(device: Device, memory: DeviceMemory, pAllocator: *const AllocationCallbacks){
11531  unsafe {
11532    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11533    ((*ptr).FreeMemory_ptr)(device, memory, pAllocator)
11534  }
11535}
11536#[doc(hidden)] pub fn MapMemory(device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: *mut *mut c_void) -> Result{
11537  unsafe {
11538    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11539    ((*ptr).MapMemory_ptr)(device, memory, offset, size, flags, ppData)
11540  }
11541}
11542#[doc(hidden)] pub fn UnmapMemory(device: Device, memory: DeviceMemory){
11543  unsafe {
11544    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11545    ((*ptr).UnmapMemory_ptr)(device, memory)
11546  }
11547}
11548#[doc(hidden)] pub fn FlushMappedMemoryRanges(device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result{
11549  unsafe {
11550    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11551    ((*ptr).FlushMappedMemoryRanges_ptr)(device, memoryRangeCount, pMemoryRanges)
11552  }
11553}
11554#[doc(hidden)] pub fn InvalidateMappedMemoryRanges(device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result{
11555  unsafe {
11556    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11557    ((*ptr).InvalidateMappedMemoryRanges_ptr)(device, memoryRangeCount, pMemoryRanges)
11558  }
11559}
11560#[doc(hidden)] pub fn GetDeviceMemoryCommitment(device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: *mut DeviceSize){
11561  unsafe {
11562    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11563    ((*ptr).GetDeviceMemoryCommitment_ptr)(device, memory, pCommittedMemoryInBytes)
11564  }
11565}
11566#[doc(hidden)] pub fn BindBufferMemory(device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result{
11567  unsafe {
11568    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11569    ((*ptr).BindBufferMemory_ptr)(device, buffer, memory, memoryOffset)
11570  }
11571}
11572#[doc(hidden)] pub fn BindImageMemory(device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result{
11573  unsafe {
11574    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11575    ((*ptr).BindImageMemory_ptr)(device, image, memory, memoryOffset)
11576  }
11577}
11578#[doc(hidden)] pub fn GetBufferMemoryRequirements(device: Device, buffer: Buffer, pMemoryRequirements: *mut MemoryRequirements){
11579  unsafe {
11580    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11581    ((*ptr).GetBufferMemoryRequirements_ptr)(device, buffer, pMemoryRequirements)
11582  }
11583}
11584#[doc(hidden)] pub fn GetImageMemoryRequirements(device: Device, image: Image, pMemoryRequirements: *mut MemoryRequirements){
11585  unsafe {
11586    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11587    ((*ptr).GetImageMemoryRequirements_ptr)(device, image, pMemoryRequirements)
11588  }
11589}
11590#[doc(hidden)] pub fn GetImageSparseMemoryRequirements(device: Device, image: Image, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements){
11591  unsafe {
11592    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11593    ((*ptr).GetImageSparseMemoryRequirements_ptr)(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements)
11594  }
11595}
11596#[doc(hidden)] pub fn GetPhysicalDeviceSparseImageFormatProperties(physicalDevice: PhysicalDevice, format: Format, typ: ImageType, samples: SampleCountFlagBits, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties){
11597  unsafe {
11598    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11599    ((*ptr).GetPhysicalDeviceSparseImageFormatProperties_ptr)(physicalDevice, format, typ, samples, usage, tiling, pPropertyCount, pProperties)
11600  }
11601}
11602#[doc(hidden)] pub fn QueueBindSparse(queue: Queue, bindInfoCount: u32, pBindInfo: *const BindSparseInfo, fence: Fence) -> Result{
11603  unsafe {
11604    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11605    ((*ptr).QueueBindSparse_ptr)(queue, bindInfoCount, pBindInfo, fence)
11606  }
11607}
11608#[doc(hidden)] pub fn CreateFence(device: Device, pCreateInfo: *const FenceCreateInfo, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
11609  unsafe {
11610    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11611    ((*ptr).CreateFence_ptr)(device, pCreateInfo, pAllocator, pFence)
11612  }
11613}
11614#[doc(hidden)] pub fn DestroyFence(device: Device, fence: Fence, pAllocator: *const AllocationCallbacks){
11615  unsafe {
11616    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11617    ((*ptr).DestroyFence_ptr)(device, fence, pAllocator)
11618  }
11619}
11620#[doc(hidden)] pub fn ResetFences(device: Device, fenceCount: u32, pFences: *const Fence) -> Result{
11621  unsafe {
11622    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11623    ((*ptr).ResetFences_ptr)(device, fenceCount, pFences)
11624  }
11625}
11626#[doc(hidden)] pub fn GetFenceStatus(device: Device, fence: Fence) -> Result{
11627  unsafe {
11628    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11629    ((*ptr).GetFenceStatus_ptr)(device, fence)
11630  }
11631}
11632#[doc(hidden)] pub fn WaitForFences(device: Device, fenceCount: u32, pFences: *const Fence, waitAll: Bool32, timeout: u64) -> Result{
11633  unsafe {
11634    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11635    ((*ptr).WaitForFences_ptr)(device, fenceCount, pFences, waitAll, timeout)
11636  }
11637}
11638#[doc(hidden)] pub fn CreateSemaphore(device: Device, pCreateInfo: *const SemaphoreCreateInfo, pAllocator: *const AllocationCallbacks, pSemaphore: *mut Semaphore) -> Result{
11639  unsafe {
11640    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11641    ((*ptr).CreateSemaphore_ptr)(device, pCreateInfo, pAllocator, pSemaphore)
11642  }
11643}
11644#[doc(hidden)] pub fn DestroySemaphore(device: Device, semaphore: Semaphore, pAllocator: *const AllocationCallbacks){
11645  unsafe {
11646    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11647    ((*ptr).DestroySemaphore_ptr)(device, semaphore, pAllocator)
11648  }
11649}
11650#[doc(hidden)] pub fn CreateEvent(device: Device, pCreateInfo: *const EventCreateInfo, pAllocator: *const AllocationCallbacks, pEvent: *mut Event) -> Result{
11651  unsafe {
11652    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11653    ((*ptr).CreateEvent_ptr)(device, pCreateInfo, pAllocator, pEvent)
11654  }
11655}
11656#[doc(hidden)] pub fn DestroyEvent(device: Device, event: Event, pAllocator: *const AllocationCallbacks){
11657  unsafe {
11658    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11659    ((*ptr).DestroyEvent_ptr)(device, event, pAllocator)
11660  }
11661}
11662#[doc(hidden)] pub fn GetEventStatus(device: Device, event: Event) -> Result{
11663  unsafe {
11664    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11665    ((*ptr).GetEventStatus_ptr)(device, event)
11666  }
11667}
11668#[doc(hidden)] pub fn SetEvent(device: Device, event: Event) -> Result{
11669  unsafe {
11670    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11671    ((*ptr).SetEvent_ptr)(device, event)
11672  }
11673}
11674#[doc(hidden)] pub fn ResetEvent(device: Device, event: Event) -> Result{
11675  unsafe {
11676    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11677    ((*ptr).ResetEvent_ptr)(device, event)
11678  }
11679}
11680#[doc(hidden)] pub fn CreateQueryPool(device: Device, pCreateInfo: *const QueryPoolCreateInfo, pAllocator: *const AllocationCallbacks, pQueryPool: *mut QueryPool) -> Result{
11681  unsafe {
11682    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11683    ((*ptr).CreateQueryPool_ptr)(device, pCreateInfo, pAllocator, pQueryPool)
11684  }
11685}
11686#[doc(hidden)] pub fn DestroyQueryPool(device: Device, queryPool: QueryPool, pAllocator: *const AllocationCallbacks){
11687  unsafe {
11688    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11689    ((*ptr).DestroyQueryPool_ptr)(device, queryPool, pAllocator)
11690  }
11691}
11692#[doc(hidden)] pub fn GetQueryPoolResults(device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: usize, pData: *mut c_void, stride: DeviceSize, flags: QueryResultFlags) -> Result{
11693  unsafe {
11694    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11695    ((*ptr).GetQueryPoolResults_ptr)(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags)
11696  }
11697}
11698#[doc(hidden)] pub fn CreateBuffer(device: Device, pCreateInfo: *const BufferCreateInfo, pAllocator: *const AllocationCallbacks, pBuffer: *mut Buffer) -> Result{
11699  unsafe {
11700    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11701    ((*ptr).CreateBuffer_ptr)(device, pCreateInfo, pAllocator, pBuffer)
11702  }
11703}
11704#[doc(hidden)] pub fn DestroyBuffer(device: Device, buffer: Buffer, pAllocator: *const AllocationCallbacks){
11705  unsafe {
11706    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11707    ((*ptr).DestroyBuffer_ptr)(device, buffer, pAllocator)
11708  }
11709}
11710#[doc(hidden)] pub fn CreateBufferView(device: Device, pCreateInfo: *const BufferViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut BufferView) -> Result{
11711  unsafe {
11712    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11713    ((*ptr).CreateBufferView_ptr)(device, pCreateInfo, pAllocator, pView)
11714  }
11715}
11716#[doc(hidden)] pub fn DestroyBufferView(device: Device, bufferView: BufferView, pAllocator: *const AllocationCallbacks){
11717  unsafe {
11718    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11719    ((*ptr).DestroyBufferView_ptr)(device, bufferView, pAllocator)
11720  }
11721}
11722#[doc(hidden)] pub fn CreateImage(device: Device, pCreateInfo: *const ImageCreateInfo, pAllocator: *const AllocationCallbacks, pImage: *mut Image) -> Result{
11723  unsafe {
11724    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11725    ((*ptr).CreateImage_ptr)(device, pCreateInfo, pAllocator, pImage)
11726  }
11727}
11728#[doc(hidden)] pub fn DestroyImage(device: Device, image: Image, pAllocator: *const AllocationCallbacks){
11729  unsafe {
11730    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11731    ((*ptr).DestroyImage_ptr)(device, image, pAllocator)
11732  }
11733}
11734#[doc(hidden)] pub fn GetImageSubresourceLayout(device: Device, image: Image, pSubresource: *const ImageSubresource, pLayout: *mut SubresourceLayout){
11735  unsafe {
11736    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11737    ((*ptr).GetImageSubresourceLayout_ptr)(device, image, pSubresource, pLayout)
11738  }
11739}
11740#[doc(hidden)] pub fn CreateImageView(device: Device, pCreateInfo: *const ImageViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut ImageView) -> Result{
11741  unsafe {
11742    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11743    ((*ptr).CreateImageView_ptr)(device, pCreateInfo, pAllocator, pView)
11744  }
11745}
11746#[doc(hidden)] pub fn DestroyImageView(device: Device, imageView: ImageView, pAllocator: *const AllocationCallbacks){
11747  unsafe {
11748    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11749    ((*ptr).DestroyImageView_ptr)(device, imageView, pAllocator)
11750  }
11751}
11752#[doc(hidden)] pub fn CreateShaderModule(device: Device, pCreateInfo: *const ShaderModuleCreateInfo, pAllocator: *const AllocationCallbacks, pShaderModule: *mut ShaderModule) -> Result{
11753  unsafe {
11754    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11755    ((*ptr).CreateShaderModule_ptr)(device, pCreateInfo, pAllocator, pShaderModule)
11756  }
11757}
11758#[doc(hidden)] pub fn DestroyShaderModule(device: Device, shaderModule: ShaderModule, pAllocator: *const AllocationCallbacks){
11759  unsafe {
11760    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11761    ((*ptr).DestroyShaderModule_ptr)(device, shaderModule, pAllocator)
11762  }
11763}
11764#[doc(hidden)] pub fn CreatePipelineCache(device: Device, pCreateInfo: *const PipelineCacheCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineCache: *mut PipelineCache) -> Result{
11765  unsafe {
11766    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11767    ((*ptr).CreatePipelineCache_ptr)(device, pCreateInfo, pAllocator, pPipelineCache)
11768  }
11769}
11770#[doc(hidden)] pub fn DestroyPipelineCache(device: Device, pipelineCache: PipelineCache, pAllocator: *const AllocationCallbacks){
11771  unsafe {
11772    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11773    ((*ptr).DestroyPipelineCache_ptr)(device, pipelineCache, pAllocator)
11774  }
11775}
11776#[doc(hidden)] pub fn GetPipelineCacheData(device: Device, pipelineCache: PipelineCache, pDataSize: *mut usize, pData: *mut c_void) -> Result{
11777  unsafe {
11778    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11779    ((*ptr).GetPipelineCacheData_ptr)(device, pipelineCache, pDataSize, pData)
11780  }
11781}
11782#[doc(hidden)] pub fn MergePipelineCaches(device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: *const PipelineCache) -> Result{
11783  unsafe {
11784    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11785    ((*ptr).MergePipelineCaches_ptr)(device, dstCache, srcCacheCount, pSrcCaches)
11786  }
11787}
11788#[doc(hidden)] pub fn CreateGraphicsPipelines(device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const GraphicsPipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
11789  unsafe {
11790    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11791    ((*ptr).CreateGraphicsPipelines_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
11792  }
11793}
11794#[doc(hidden)] pub fn CreateComputePipelines(device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const ComputePipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
11795  unsafe {
11796    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11797    ((*ptr).CreateComputePipelines_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
11798  }
11799}
11800#[doc(hidden)] pub fn DestroyPipeline(device: Device, pipeline: Pipeline, pAllocator: *const AllocationCallbacks){
11801  unsafe {
11802    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11803    ((*ptr).DestroyPipeline_ptr)(device, pipeline, pAllocator)
11804  }
11805}
11806#[doc(hidden)] pub fn CreatePipelineLayout(device: Device, pCreateInfo: *const PipelineLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineLayout: *mut PipelineLayout) -> Result{
11807  unsafe {
11808    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11809    ((*ptr).CreatePipelineLayout_ptr)(device, pCreateInfo, pAllocator, pPipelineLayout)
11810  }
11811}
11812#[doc(hidden)] pub fn DestroyPipelineLayout(device: Device, pipelineLayout: PipelineLayout, pAllocator: *const AllocationCallbacks){
11813  unsafe {
11814    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11815    ((*ptr).DestroyPipelineLayout_ptr)(device, pipelineLayout, pAllocator)
11816  }
11817}
11818#[doc(hidden)] pub fn CreateSampler(device: Device, pCreateInfo: *const SamplerCreateInfo, pAllocator: *const AllocationCallbacks, pSampler: *mut Sampler) -> Result{
11819  unsafe {
11820    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11821    ((*ptr).CreateSampler_ptr)(device, pCreateInfo, pAllocator, pSampler)
11822  }
11823}
11824#[doc(hidden)] pub fn DestroySampler(device: Device, sampler: Sampler, pAllocator: *const AllocationCallbacks){
11825  unsafe {
11826    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11827    ((*ptr).DestroySampler_ptr)(device, sampler, pAllocator)
11828  }
11829}
11830#[doc(hidden)] pub fn CreateDescriptorSetLayout(device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pSetLayout: *mut DescriptorSetLayout) -> Result{
11831  unsafe {
11832    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11833    ((*ptr).CreateDescriptorSetLayout_ptr)(device, pCreateInfo, pAllocator, pSetLayout)
11834  }
11835}
11836#[doc(hidden)] pub fn DestroyDescriptorSetLayout(device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: *const AllocationCallbacks){
11837  unsafe {
11838    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11839    ((*ptr).DestroyDescriptorSetLayout_ptr)(device, descriptorSetLayout, pAllocator)
11840  }
11841}
11842#[doc(hidden)] pub fn CreateDescriptorPool(device: Device, pCreateInfo: *const DescriptorPoolCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorPool: *mut DescriptorPool) -> Result{
11843  unsafe {
11844    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11845    ((*ptr).CreateDescriptorPool_ptr)(device, pCreateInfo, pAllocator, pDescriptorPool)
11846  }
11847}
11848#[doc(hidden)] pub fn DestroyDescriptorPool(device: Device, descriptorPool: DescriptorPool, pAllocator: *const AllocationCallbacks){
11849  unsafe {
11850    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11851    ((*ptr).DestroyDescriptorPool_ptr)(device, descriptorPool, pAllocator)
11852  }
11853}
11854#[doc(hidden)] pub fn ResetDescriptorPool(device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result{
11855  unsafe {
11856    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11857    ((*ptr).ResetDescriptorPool_ptr)(device, descriptorPool, flags)
11858  }
11859}
11860#[doc(hidden)] pub fn AllocateDescriptorSets(device: Device, pAllocateInfo: *const DescriptorSetAllocateInfo, pDescriptorSets: *mut DescriptorSet) -> Result{
11861  unsafe {
11862    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11863    ((*ptr).AllocateDescriptorSets_ptr)(device, pAllocateInfo, pDescriptorSets)
11864  }
11865}
11866#[doc(hidden)] pub fn FreeDescriptorSets(device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet) -> Result{
11867  unsafe {
11868    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11869    ((*ptr).FreeDescriptorSets_ptr)(device, descriptorPool, descriptorSetCount, pDescriptorSets)
11870  }
11871}
11872#[doc(hidden)] pub fn UpdateDescriptorSets(device: Device, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: *const CopyDescriptorSet){
11873  unsafe {
11874    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11875    ((*ptr).UpdateDescriptorSets_ptr)(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies)
11876  }
11877}
11878#[doc(hidden)] pub fn CreateFramebuffer(device: Device, pCreateInfo: *const FramebufferCreateInfo, pAllocator: *const AllocationCallbacks, pFramebuffer: *mut Framebuffer) -> Result{
11879  unsafe {
11880    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11881    ((*ptr).CreateFramebuffer_ptr)(device, pCreateInfo, pAllocator, pFramebuffer)
11882  }
11883}
11884#[doc(hidden)] pub fn DestroyFramebuffer(device: Device, framebuffer: Framebuffer, pAllocator: *const AllocationCallbacks){
11885  unsafe {
11886    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11887    ((*ptr).DestroyFramebuffer_ptr)(device, framebuffer, pAllocator)
11888  }
11889}
11890#[doc(hidden)] pub fn CreateRenderPass(device: Device, pCreateInfo: *const RenderPassCreateInfo, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result{
11891  unsafe {
11892    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11893    ((*ptr).CreateRenderPass_ptr)(device, pCreateInfo, pAllocator, pRenderPass)
11894  }
11895}
11896#[doc(hidden)] pub fn DestroyRenderPass(device: Device, renderPass: RenderPass, pAllocator: *const AllocationCallbacks){
11897  unsafe {
11898    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11899    ((*ptr).DestroyRenderPass_ptr)(device, renderPass, pAllocator)
11900  }
11901}
11902#[doc(hidden)] pub fn GetRenderAreaGranularity(device: Device, renderPass: RenderPass, pGranularity: *mut Extent2D){
11903  unsafe {
11904    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11905    ((*ptr).GetRenderAreaGranularity_ptr)(device, renderPass, pGranularity)
11906  }
11907}
11908#[doc(hidden)] pub fn CreateCommandPool(device: Device, pCreateInfo: *const CommandPoolCreateInfo, pAllocator: *const AllocationCallbacks, pCommandPool: *mut CommandPool) -> Result{
11909  unsafe {
11910    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11911    ((*ptr).CreateCommandPool_ptr)(device, pCreateInfo, pAllocator, pCommandPool)
11912  }
11913}
11914#[doc(hidden)] pub fn DestroyCommandPool(device: Device, commandPool: CommandPool, pAllocator: *const AllocationCallbacks){
11915  unsafe {
11916    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11917    ((*ptr).DestroyCommandPool_ptr)(device, commandPool, pAllocator)
11918  }
11919}
11920#[doc(hidden)] pub fn ResetCommandPool(device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result{
11921  unsafe {
11922    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11923    ((*ptr).ResetCommandPool_ptr)(device, commandPool, flags)
11924  }
11925}
11926#[doc(hidden)] pub fn AllocateCommandBuffers(device: Device, pAllocateInfo: *const CommandBufferAllocateInfo, pCommandBuffers: *mut CommandBuffer) -> Result{
11927  unsafe {
11928    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11929    ((*ptr).AllocateCommandBuffers_ptr)(device, pAllocateInfo, pCommandBuffers)
11930  }
11931}
11932#[doc(hidden)] pub fn FreeCommandBuffers(device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer){
11933  unsafe {
11934    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11935    ((*ptr).FreeCommandBuffers_ptr)(device, commandPool, commandBufferCount, pCommandBuffers)
11936  }
11937}
11938#[doc(hidden)] pub fn BeginCommandBuffer(commandBuffer: CommandBuffer, pBeginInfo: *const CommandBufferBeginInfo) -> Result{
11939  unsafe {
11940    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11941    ((*ptr).BeginCommandBuffer_ptr)(commandBuffer, pBeginInfo)
11942  }
11943}
11944#[doc(hidden)] pub fn EndCommandBuffer(commandBuffer: CommandBuffer) -> Result{
11945  unsafe {
11946    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11947    ((*ptr).EndCommandBuffer_ptr)(commandBuffer)
11948  }
11949}
11950#[doc(hidden)] pub fn ResetCommandBuffer(commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result{
11951  unsafe {
11952    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11953    ((*ptr).ResetCommandBuffer_ptr)(commandBuffer, flags)
11954  }
11955}
11956#[doc(hidden)] pub fn CmdBindPipeline(commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline){
11957  unsafe {
11958    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11959    ((*ptr).CmdBindPipeline_ptr)(commandBuffer, pipelineBindPoint, pipeline)
11960  }
11961}
11962#[doc(hidden)] pub fn CmdSetViewport(commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: *const Viewport){
11963  unsafe {
11964    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11965    ((*ptr).CmdSetViewport_ptr)(commandBuffer, firstViewport, viewportCount, pViewports)
11966  }
11967}
11968#[doc(hidden)] pub fn CmdSetScissor(commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: *const Rect2D){
11969  unsafe {
11970    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11971    ((*ptr).CmdSetScissor_ptr)(commandBuffer, firstScissor, scissorCount, pScissors)
11972  }
11973}
11974#[doc(hidden)] pub fn CmdSetLineWidth(commandBuffer: CommandBuffer, lineWidth: f32){
11975  unsafe {
11976    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11977    ((*ptr).CmdSetLineWidth_ptr)(commandBuffer, lineWidth)
11978  }
11979}
11980#[doc(hidden)] pub fn CmdSetDepthBias(commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32){
11981  unsafe {
11982    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11983    ((*ptr).CmdSetDepthBias_ptr)(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor)
11984  }
11985}
11986#[doc(hidden)] pub fn CmdSetBlendConstants(commandBuffer: CommandBuffer, blendConstants: [f32; 4]){
11987  unsafe {
11988    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11989    ((*ptr).CmdSetBlendConstants_ptr)(commandBuffer, blendConstants)
11990  }
11991}
11992#[doc(hidden)] pub fn CmdSetDepthBounds(commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32){
11993  unsafe {
11994    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
11995    ((*ptr).CmdSetDepthBounds_ptr)(commandBuffer, minDepthBounds, maxDepthBounds)
11996  }
11997}
11998#[doc(hidden)] pub fn CmdSetStencilCompareMask(commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32){
11999  unsafe {
12000    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12001    ((*ptr).CmdSetStencilCompareMask_ptr)(commandBuffer, faceMask, compareMask)
12002  }
12003}
12004#[doc(hidden)] pub fn CmdSetStencilWriteMask(commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32){
12005  unsafe {
12006    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12007    ((*ptr).CmdSetStencilWriteMask_ptr)(commandBuffer, faceMask, writeMask)
12008  }
12009}
12010#[doc(hidden)] pub fn CmdSetStencilReference(commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32){
12011  unsafe {
12012    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12013    ((*ptr).CmdSetStencilReference_ptr)(commandBuffer, faceMask, reference)
12014  }
12015}
12016#[doc(hidden)] pub fn CmdBindDescriptorSets(commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: *const u32){
12017  unsafe {
12018    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12019    ((*ptr).CmdBindDescriptorSets_ptr)(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets)
12020  }
12021}
12022#[doc(hidden)] pub fn CmdBindIndexBuffer(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType){
12023  unsafe {
12024    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12025    ((*ptr).CmdBindIndexBuffer_ptr)(commandBuffer, buffer, offset, indexType)
12026  }
12027}
12028#[doc(hidden)] pub fn CmdBindVertexBuffers(commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize){
12029  unsafe {
12030    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12031    ((*ptr).CmdBindVertexBuffers_ptr)(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets)
12032  }
12033}
12034#[doc(hidden)] pub fn CmdDraw(commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32){
12035  unsafe {
12036    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12037    ((*ptr).CmdDraw_ptr)(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance)
12038  }
12039}
12040#[doc(hidden)] pub fn CmdDrawIndexed(commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32){
12041  unsafe {
12042    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12043    ((*ptr).CmdDrawIndexed_ptr)(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance)
12044  }
12045}
12046#[doc(hidden)] pub fn CmdDrawIndirect(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
12047  unsafe {
12048    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12049    ((*ptr).CmdDrawIndirect_ptr)(commandBuffer, buffer, offset, drawCount, stride)
12050  }
12051}
12052#[doc(hidden)] pub fn CmdDrawIndexedIndirect(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
12053  unsafe {
12054    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12055    ((*ptr).CmdDrawIndexedIndirect_ptr)(commandBuffer, buffer, offset, drawCount, stride)
12056  }
12057}
12058#[doc(hidden)] pub fn CmdDispatch(commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32){
12059  unsafe {
12060    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12061    ((*ptr).CmdDispatch_ptr)(commandBuffer, groupCountX, groupCountY, groupCountZ)
12062  }
12063}
12064#[doc(hidden)] pub fn CmdDispatchIndirect(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize){
12065  unsafe {
12066    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12067    ((*ptr).CmdDispatchIndirect_ptr)(commandBuffer, buffer, offset)
12068  }
12069}
12070#[doc(hidden)] pub fn CmdCopyBuffer(commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferCopy){
12071  unsafe {
12072    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12073    ((*ptr).CmdCopyBuffer_ptr)(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions)
12074  }
12075}
12076#[doc(hidden)] pub fn CmdCopyImage(commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageCopy){
12077  unsafe {
12078    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12079    ((*ptr).CmdCopyImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions)
12080  }
12081}
12082#[doc(hidden)] pub fn CmdBlitImage(commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageBlit, filter: Filter){
12083  unsafe {
12084    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12085    ((*ptr).CmdBlitImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter)
12086  }
12087}
12088#[doc(hidden)] pub fn CmdCopyBufferToImage(commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const BufferImageCopy){
12089  unsafe {
12090    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12091    ((*ptr).CmdCopyBufferToImage_ptr)(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions)
12092  }
12093}
12094#[doc(hidden)] pub fn CmdCopyImageToBuffer(commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferImageCopy){
12095  unsafe {
12096    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12097    ((*ptr).CmdCopyImageToBuffer_ptr)(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions)
12098  }
12099}
12100#[doc(hidden)] pub fn CmdUpdateBuffer(commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: *const c_void){
12101  unsafe {
12102    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12103    ((*ptr).CmdUpdateBuffer_ptr)(commandBuffer, dstBuffer, dstOffset, dataSize, pData)
12104  }
12105}
12106#[doc(hidden)] pub fn CmdFillBuffer(commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32){
12107  unsafe {
12108    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12109    ((*ptr).CmdFillBuffer_ptr)(commandBuffer, dstBuffer, dstOffset, size, data)
12110  }
12111}
12112#[doc(hidden)] pub fn CmdClearColorImage(commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: *const ClearColorValue, rangeCount: u32, pRanges: *const ImageSubresourceRange){
12113  unsafe {
12114    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12115    ((*ptr).CmdClearColorImage_ptr)(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges)
12116  }
12117}
12118#[doc(hidden)] pub fn CmdClearDepthStencilImage(commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: *const ClearDepthStencilValue, rangeCount: u32, pRanges: *const ImageSubresourceRange){
12119  unsafe {
12120    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12121    ((*ptr).CmdClearDepthStencilImage_ptr)(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges)
12122  }
12123}
12124#[doc(hidden)] pub fn CmdClearAttachments(commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: *const ClearAttachment, rectCount: u32, pRects: *const ClearRect){
12125  unsafe {
12126    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12127    ((*ptr).CmdClearAttachments_ptr)(commandBuffer, attachmentCount, pAttachments, rectCount, pRects)
12128  }
12129}
12130#[doc(hidden)] pub fn CmdResolveImage(commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageResolve){
12131  unsafe {
12132    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12133    ((*ptr).CmdResolveImage_ptr)(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions)
12134  }
12135}
12136#[doc(hidden)] pub fn CmdSetEvent(commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags){
12137  unsafe {
12138    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12139    ((*ptr).CmdSetEvent_ptr)(commandBuffer, event, stageMask)
12140  }
12141}
12142#[doc(hidden)] pub fn CmdResetEvent(commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags){
12143  unsafe {
12144    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12145    ((*ptr).CmdResetEvent_ptr)(commandBuffer, event, stageMask)
12146  }
12147}
12148#[doc(hidden)] pub fn CmdWaitEvents(commandBuffer: CommandBuffer, eventCount: u32, pEvents: *const Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier){
12149  unsafe {
12150    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12151    ((*ptr).CmdWaitEvents_ptr)(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers)
12152  }
12153}
12154#[doc(hidden)] pub fn CmdPipelineBarrier(commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier){
12155  unsafe {
12156    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12157    ((*ptr).CmdPipelineBarrier_ptr)(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers)
12158  }
12159}
12160#[doc(hidden)] pub fn CmdBeginQuery(commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags){
12161  unsafe {
12162    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12163    ((*ptr).CmdBeginQuery_ptr)(commandBuffer, queryPool, query, flags)
12164  }
12165}
12166#[doc(hidden)] pub fn CmdEndQuery(commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32){
12167  unsafe {
12168    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12169    ((*ptr).CmdEndQuery_ptr)(commandBuffer, queryPool, query)
12170  }
12171}
12172#[doc(hidden)] pub fn CmdResetQueryPool(commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32){
12173  unsafe {
12174    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12175    ((*ptr).CmdResetQueryPool_ptr)(commandBuffer, queryPool, firstQuery, queryCount)
12176  }
12177}
12178#[doc(hidden)] pub fn CmdWriteTimestamp(commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, queryPool: QueryPool, query: u32){
12179  unsafe {
12180    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12181    ((*ptr).CmdWriteTimestamp_ptr)(commandBuffer, pipelineStage, queryPool, query)
12182  }
12183}
12184#[doc(hidden)] pub fn CmdCopyQueryPoolResults(commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags){
12185  unsafe {
12186    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12187    ((*ptr).CmdCopyQueryPoolResults_ptr)(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags)
12188  }
12189}
12190#[doc(hidden)] pub fn CmdPushConstants(commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: *const c_void){
12191  unsafe {
12192    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12193    ((*ptr).CmdPushConstants_ptr)(commandBuffer, layout, stageFlags, offset, size, pValues)
12194  }
12195}
12196#[doc(hidden)] pub fn CmdBeginRenderPass(commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, contents: SubpassContents){
12197  unsafe {
12198    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12199    ((*ptr).CmdBeginRenderPass_ptr)(commandBuffer, pRenderPassBegin, contents)
12200  }
12201}
12202#[doc(hidden)] pub fn CmdNextSubpass(commandBuffer: CommandBuffer, contents: SubpassContents){
12203  unsafe {
12204    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12205    ((*ptr).CmdNextSubpass_ptr)(commandBuffer, contents)
12206  }
12207}
12208#[doc(hidden)] pub fn CmdEndRenderPass(commandBuffer: CommandBuffer){
12209  unsafe {
12210    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12211    ((*ptr).CmdEndRenderPass_ptr)(commandBuffer)
12212  }
12213}
12214#[doc(hidden)] pub fn CmdExecuteCommands(commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer){
12215  unsafe {
12216    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12217    ((*ptr).CmdExecuteCommands_ptr)(commandBuffer, commandBufferCount, pCommandBuffers)
12218  }
12219}
12220#[doc(hidden)] pub fn EnumerateInstanceVersion(pApiVersion: *mut u32) -> Result{
12221  unsafe {
12222    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12223    ((*ptr).EnumerateInstanceVersion_ptr)(pApiVersion)
12224  }
12225}
12226#[doc(hidden)] pub fn BindBufferMemory2(device: Device, bindInfoCount: u32, pBindInfos: *const BindBufferMemoryInfo) -> Result{
12227  unsafe {
12228    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12229    ((*ptr).BindBufferMemory2_ptr)(device, bindInfoCount, pBindInfos)
12230  }
12231}
12232#[doc(hidden)] pub fn BindImageMemory2(device: Device, bindInfoCount: u32, pBindInfos: *const BindImageMemoryInfo) -> Result{
12233  unsafe {
12234    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12235    ((*ptr).BindImageMemory2_ptr)(device, bindInfoCount, pBindInfos)
12236  }
12237}
12238#[doc(hidden)] pub fn GetDeviceGroupPeerMemoryFeatures(device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: *mut PeerMemoryFeatureFlags){
12239  unsafe {
12240    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12241    ((*ptr).GetDeviceGroupPeerMemoryFeatures_ptr)(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures)
12242  }
12243}
12244#[doc(hidden)] pub fn CmdSetDeviceMask(commandBuffer: CommandBuffer, deviceMask: u32){
12245  unsafe {
12246    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12247    ((*ptr).CmdSetDeviceMask_ptr)(commandBuffer, deviceMask)
12248  }
12249}
12250#[doc(hidden)] pub fn CmdDispatchBase(commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32){
12251  unsafe {
12252    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12253    ((*ptr).CmdDispatchBase_ptr)(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ)
12254  }
12255}
12256#[doc(hidden)] pub fn EnumeratePhysicalDeviceGroups(instance: Instance, pPhysicalDeviceGroupCount: *mut u32, pPhysicalDeviceGroupProperties: *mut PhysicalDeviceGroupProperties) -> Result{
12257  unsafe {
12258    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12259    ((*ptr).EnumeratePhysicalDeviceGroups_ptr)(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties)
12260  }
12261}
12262#[doc(hidden)] pub fn GetImageMemoryRequirements2(device: Device, pInfo: *const ImageMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2){
12263  unsafe {
12264    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12265    ((*ptr).GetImageMemoryRequirements2_ptr)(device, pInfo, pMemoryRequirements)
12266  }
12267}
12268#[doc(hidden)] pub fn GetBufferMemoryRequirements2(device: Device, pInfo: *const BufferMemoryRequirementsInfo2, pMemoryRequirements: *mut MemoryRequirements2){
12269  unsafe {
12270    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12271    ((*ptr).GetBufferMemoryRequirements2_ptr)(device, pInfo, pMemoryRequirements)
12272  }
12273}
12274#[doc(hidden)] pub fn GetImageSparseMemoryRequirements2(device: Device, pInfo: *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements2){
12275  unsafe {
12276    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12277    ((*ptr).GetImageSparseMemoryRequirements2_ptr)(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements)
12278  }
12279}
12280#[doc(hidden)] pub fn GetPhysicalDeviceFeatures2(physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures2){
12281  unsafe {
12282    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12283    ((*ptr).GetPhysicalDeviceFeatures2_ptr)(physicalDevice, pFeatures)
12284  }
12285}
12286#[doc(hidden)] pub fn GetPhysicalDeviceProperties2(physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties2){
12287  unsafe {
12288    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12289    ((*ptr).GetPhysicalDeviceProperties2_ptr)(physicalDevice, pProperties)
12290  }
12291}
12292#[doc(hidden)] pub fn GetPhysicalDeviceFormatProperties2(physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties2){
12293  unsafe {
12294    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12295    ((*ptr).GetPhysicalDeviceFormatProperties2_ptr)(physicalDevice, format, pFormatProperties)
12296  }
12297}
12298#[doc(hidden)] pub fn GetPhysicalDeviceImageFormatProperties2(physicalDevice: PhysicalDevice, pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties: *mut ImageFormatProperties2) -> Result{
12299  unsafe {
12300    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12301    ((*ptr).GetPhysicalDeviceImageFormatProperties2_ptr)(physicalDevice, pImageFormatInfo, pImageFormatProperties)
12302  }
12303}
12304#[doc(hidden)] pub fn GetPhysicalDeviceQueueFamilyProperties2(physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties2){
12305  unsafe {
12306    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12307    ((*ptr).GetPhysicalDeviceQueueFamilyProperties2_ptr)(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties)
12308  }
12309}
12310#[doc(hidden)] pub fn GetPhysicalDeviceMemoryProperties2(physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties2){
12311  unsafe {
12312    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12313    ((*ptr).GetPhysicalDeviceMemoryProperties2_ptr)(physicalDevice, pMemoryProperties)
12314  }
12315}
12316#[doc(hidden)] pub fn GetPhysicalDeviceSparseImageFormatProperties2(physicalDevice: PhysicalDevice, pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties2){
12317  unsafe {
12318    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12319    ((*ptr).GetPhysicalDeviceSparseImageFormatProperties2_ptr)(physicalDevice, pFormatInfo, pPropertyCount, pProperties)
12320  }
12321}
12322#[doc(hidden)] pub fn TrimCommandPool(device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags){
12323  unsafe {
12324    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12325    ((*ptr).TrimCommandPool_ptr)(device, commandPool, flags)
12326  }
12327}
12328#[doc(hidden)] pub fn GetDeviceQueue2(device: Device, pQueueInfo: *const DeviceQueueInfo2, pQueue: *mut Queue){
12329  unsafe {
12330    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12331    ((*ptr).GetDeviceQueue2_ptr)(device, pQueueInfo, pQueue)
12332  }
12333}
12334#[doc(hidden)] pub fn CreateSamplerYcbcrConversion(device: Device, pCreateInfo: *const SamplerYcbcrConversionCreateInfo, pAllocator: *const AllocationCallbacks, pYcbcrConversion: *mut SamplerYcbcrConversion) -> Result{
12335  unsafe {
12336    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12337    ((*ptr).CreateSamplerYcbcrConversion_ptr)(device, pCreateInfo, pAllocator, pYcbcrConversion)
12338  }
12339}
12340#[doc(hidden)] pub fn DestroySamplerYcbcrConversion(device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: *const AllocationCallbacks){
12341  unsafe {
12342    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12343    ((*ptr).DestroySamplerYcbcrConversion_ptr)(device, ycbcrConversion, pAllocator)
12344  }
12345}
12346#[doc(hidden)] pub fn CreateDescriptorUpdateTemplate(device: Device, pCreateInfo: *const DescriptorUpdateTemplateCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplate) -> Result{
12347  unsafe {
12348    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12349    ((*ptr).CreateDescriptorUpdateTemplate_ptr)(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate)
12350  }
12351}
12352#[doc(hidden)] pub fn DestroyDescriptorUpdateTemplate(device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: *const AllocationCallbacks){
12353  unsafe {
12354    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12355    ((*ptr).DestroyDescriptorUpdateTemplate_ptr)(device, descriptorUpdateTemplate, pAllocator)
12356  }
12357}
12358#[doc(hidden)] pub fn UpdateDescriptorSetWithTemplate(device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: *const c_void){
12359  unsafe {
12360    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12361    ((*ptr).UpdateDescriptorSetWithTemplate_ptr)(device, descriptorSet, descriptorUpdateTemplate, pData)
12362  }
12363}
12364#[doc(hidden)] pub fn GetPhysicalDeviceExternalBufferProperties(physicalDevice: PhysicalDevice, pExternalBufferInfo: *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: *mut ExternalBufferProperties){
12365  unsafe {
12366    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12367    ((*ptr).GetPhysicalDeviceExternalBufferProperties_ptr)(physicalDevice, pExternalBufferInfo, pExternalBufferProperties)
12368  }
12369}
12370#[doc(hidden)] pub fn GetPhysicalDeviceExternalFenceProperties(physicalDevice: PhysicalDevice, pExternalFenceInfo: *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: *mut ExternalFenceProperties){
12371  unsafe {
12372    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12373    ((*ptr).GetPhysicalDeviceExternalFenceProperties_ptr)(physicalDevice, pExternalFenceInfo, pExternalFenceProperties)
12374  }
12375}
12376#[doc(hidden)] pub fn GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: *mut ExternalSemaphoreProperties){
12377  unsafe {
12378    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12379    ((*ptr).GetPhysicalDeviceExternalSemaphoreProperties_ptr)(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties)
12380  }
12381}
12382#[doc(hidden)] pub fn GetDescriptorSetLayoutSupport(device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pSupport: *mut DescriptorSetLayoutSupport){
12383  unsafe {
12384    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12385    ((*ptr).GetDescriptorSetLayoutSupport_ptr)(device, pCreateInfo, pSupport)
12386  }
12387}
12388#[doc(hidden)] pub fn DestroySurfaceKHR(instance: Instance, surface: SurfaceKHR, pAllocator: *const AllocationCallbacks){
12389  unsafe {
12390    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12391    ((*ptr).DestroySurfaceKHR_ptr)(instance, surface, pAllocator)
12392  }
12393}
12394#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceSupportKHR(physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: *mut Bool32) -> Result{
12395  unsafe {
12396    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12397    ((*ptr).GetPhysicalDeviceSurfaceSupportKHR_ptr)(physicalDevice, queueFamilyIndex, surface, pSupported)
12398  }
12399}
12400#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result{
12401  unsafe {
12402    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12403    ((*ptr).GetPhysicalDeviceSurfaceCapabilitiesKHR_ptr)(physicalDevice, surface, pSurfaceCapabilities)
12404  }
12405}
12406#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceFormatsKHR(physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormatKHR) -> Result{
12407  unsafe {
12408    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12409    ((*ptr).GetPhysicalDeviceSurfaceFormatsKHR_ptr)(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats)
12410  }
12411}
12412#[doc(hidden)] pub fn GetPhysicalDeviceSurfacePresentModesKHR(physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: *mut u32, pPresentModes: *mut PresentModeKHR) -> Result{
12413  unsafe {
12414    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12415    ((*ptr).GetPhysicalDeviceSurfacePresentModesKHR_ptr)(physicalDevice, surface, pPresentModeCount, pPresentModes)
12416  }
12417}
12418#[doc(hidden)] pub fn GetPhysicalDeviceDisplayPropertiesKHR(physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPropertiesKHR) -> Result{
12419  unsafe {
12420    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12421    ((*ptr).GetPhysicalDeviceDisplayPropertiesKHR_ptr)(physicalDevice, pPropertyCount, pProperties)
12422  }
12423}
12424#[doc(hidden)] pub fn GetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlanePropertiesKHR) -> Result{
12425  unsafe {
12426    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12427    ((*ptr).GetPhysicalDeviceDisplayPlanePropertiesKHR_ptr)(physicalDevice, pPropertyCount, pProperties)
12428  }
12429}
12430#[doc(hidden)] pub fn GetDisplayPlaneSupportedDisplaysKHR(physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: *mut u32, pDisplays: *mut DisplayKHR) -> Result{
12431  unsafe {
12432    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12433    ((*ptr).GetDisplayPlaneSupportedDisplaysKHR_ptr)(physicalDevice, planeIndex, pDisplayCount, pDisplays)
12434  }
12435}
12436#[doc(hidden)] pub fn GetDisplayModePropertiesKHR(physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModePropertiesKHR) -> Result{
12437  unsafe {
12438    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12439    ((*ptr).GetDisplayModePropertiesKHR_ptr)(physicalDevice, display, pPropertyCount, pProperties)
12440  }
12441}
12442#[doc(hidden)] pub fn CreateDisplayModeKHR(physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: *const DisplayModeCreateInfoKHR, pAllocator: *const AllocationCallbacks, pMode: *mut DisplayModeKHR) -> Result{
12443  unsafe {
12444    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12445    ((*ptr).CreateDisplayModeKHR_ptr)(physicalDevice, display, pCreateInfo, pAllocator, pMode)
12446  }
12447}
12448#[doc(hidden)] pub fn GetDisplayPlaneCapabilitiesKHR(physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result{
12449  unsafe {
12450    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12451    ((*ptr).GetDisplayPlaneCapabilitiesKHR_ptr)(physicalDevice, mode, planeIndex, pCapabilities)
12452  }
12453}
12454#[doc(hidden)] pub fn CreateDisplayPlaneSurfaceKHR(instance: Instance, pCreateInfo: *const DisplaySurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12455  unsafe {
12456    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12457    ((*ptr).CreateDisplayPlaneSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12458  }
12459}
12460#[doc(hidden)] pub fn CreateXlibSurfaceKHR(instance: Instance, pCreateInfo: *const XlibSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12461  unsafe {
12462    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12463    ((*ptr).CreateXlibSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12464  }
12465}
12466#[doc(hidden)] pub fn GetPhysicalDeviceXlibPresentationSupportKHR(physicalDevice: PhysicalDevice, queueFamilyIndex: u32, dpy: *mut Display, visualID: VisualID) -> Bool32{
12467  unsafe {
12468    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12469    ((*ptr).GetPhysicalDeviceXlibPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, dpy, visualID)
12470  }
12471}
12472#[doc(hidden)] pub fn CreateXcbSurfaceKHR(instance: Instance, pCreateInfo: *const XcbSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12473  unsafe {
12474    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12475    ((*ptr).CreateXcbSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12476  }
12477}
12478#[doc(hidden)] pub fn GetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice: PhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> Bool32{
12479  unsafe {
12480    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12481    ((*ptr).GetPhysicalDeviceXcbPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, connection, visual_id)
12482  }
12483}
12484#[doc(hidden)] pub fn CreateWaylandSurfaceKHR(instance: Instance, pCreateInfo: *const WaylandSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12485  unsafe {
12486    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12487    ((*ptr).CreateWaylandSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12488  }
12489}
12490#[doc(hidden)] pub fn GetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: *mut wl_display) -> Bool32{
12491  unsafe {
12492    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12493    ((*ptr).GetPhysicalDeviceWaylandPresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex, display)
12494  }
12495}
12496#[doc(hidden)] pub fn CreateAndroidSurfaceKHR(instance: Instance, pCreateInfo: *const AndroidSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12497  unsafe {
12498    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12499    ((*ptr).CreateAndroidSurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12500  }
12501}
12502#[doc(hidden)] pub fn CreateWin32SurfaceKHR(instance: Instance, pCreateInfo: *const Win32SurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12503  unsafe {
12504    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12505    ((*ptr).CreateWin32SurfaceKHR_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12506  }
12507}
12508#[doc(hidden)] pub fn GetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> Bool32{
12509  unsafe {
12510    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12511    ((*ptr).GetPhysicalDeviceWin32PresentationSupportKHR_ptr)(physicalDevice, queueFamilyIndex)
12512  }
12513}
12514#[doc(hidden)] pub fn CreateDebugReportCallbackEXT(instance: Instance, pCreateInfo: *const DebugReportCallbackCreateInfoEXT, pAllocator: *const AllocationCallbacks, pCallback: *mut DebugReportCallbackEXT) -> Result{
12515  unsafe {
12516    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12517    ((*ptr).CreateDebugReportCallbackEXT_ptr)(instance, pCreateInfo, pAllocator, pCallback)
12518  }
12519}
12520#[doc(hidden)] pub fn DestroyDebugReportCallbackEXT(instance: Instance, callback: DebugReportCallbackEXT, pAllocator: *const AllocationCallbacks){
12521  unsafe {
12522    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12523    ((*ptr).DestroyDebugReportCallbackEXT_ptr)(instance, callback, pAllocator)
12524  }
12525}
12526#[doc(hidden)] pub fn DebugReportMessageEXT(instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: usize, messageCode: i32, pLayerPrefix: *const c_char, pMessage: *const c_char){
12527  unsafe {
12528    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12529    ((*ptr).DebugReportMessageEXT_ptr)(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage)
12530  }
12531}
12532#[doc(hidden)] pub fn GetPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: *mut ExternalImageFormatPropertiesNV) -> Result{
12533  unsafe {
12534    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12535    ((*ptr).GetPhysicalDeviceExternalImageFormatPropertiesNV_ptr)(physicalDevice, format, typ, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties)
12536  }
12537}
12538#[doc(hidden)] pub fn CreateViSurfaceNN(instance: Instance, pCreateInfo: *const ViSurfaceCreateInfoNN, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12539  unsafe {
12540    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12541    ((*ptr).CreateViSurfaceNN_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12542  }
12543}
12544#[doc(hidden)] pub fn ReleaseDisplayEXT(physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result{
12545  unsafe {
12546    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12547    ((*ptr).ReleaseDisplayEXT_ptr)(physicalDevice, display)
12548  }
12549}
12550#[doc(hidden)] pub fn AcquireXlibDisplayEXT(physicalDevice: PhysicalDevice, dpy: *mut Display, display: DisplayKHR) -> Result{
12551  unsafe {
12552    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12553    ((*ptr).AcquireXlibDisplayEXT_ptr)(physicalDevice, dpy, display)
12554  }
12555}
12556#[doc(hidden)] pub fn GetRandROutputDisplayEXT(physicalDevice: PhysicalDevice, dpy: *mut Display, rrOutput: RROutput, pDisplay: *mut DisplayKHR) -> Result{
12557  unsafe {
12558    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12559    ((*ptr).GetRandROutputDisplayEXT_ptr)(physicalDevice, dpy, rrOutput, pDisplay)
12560  }
12561}
12562#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilities2EXT) -> Result{
12563  unsafe {
12564    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12565    ((*ptr).GetPhysicalDeviceSurfaceCapabilities2EXT_ptr)(physicalDevice, surface, pSurfaceCapabilities)
12566  }
12567}
12568#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: *mut SurfaceCapabilities2KHR) -> Result{
12569  unsafe {
12570    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12571    ((*ptr).GetPhysicalDeviceSurfaceCapabilities2KHR_ptr)(physicalDevice, pSurfaceInfo, pSurfaceCapabilities)
12572  }
12573}
12574#[doc(hidden)] pub fn GetPhysicalDeviceSurfaceFormats2KHR(physicalDevice: PhysicalDevice, pSurfaceInfo: *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormat2KHR) -> Result{
12575  unsafe {
12576    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12577    ((*ptr).GetPhysicalDeviceSurfaceFormats2KHR_ptr)(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats)
12578  }
12579}
12580#[doc(hidden)] pub fn GetPhysicalDeviceDisplayProperties2KHR(physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayProperties2KHR) -> Result{
12581  unsafe {
12582    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12583    ((*ptr).GetPhysicalDeviceDisplayProperties2KHR_ptr)(physicalDevice, pPropertyCount, pProperties)
12584  }
12585}
12586#[doc(hidden)] pub fn GetPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlaneProperties2KHR) -> Result{
12587  unsafe {
12588    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12589    ((*ptr).GetPhysicalDeviceDisplayPlaneProperties2KHR_ptr)(physicalDevice, pPropertyCount, pProperties)
12590  }
12591}
12592#[doc(hidden)] pub fn GetDisplayModeProperties2KHR(physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModeProperties2KHR) -> Result{
12593  unsafe {
12594    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12595    ((*ptr).GetDisplayModeProperties2KHR_ptr)(physicalDevice, display, pPropertyCount, pProperties)
12596  }
12597}
12598#[doc(hidden)] pub fn GetDisplayPlaneCapabilities2KHR(physicalDevice: PhysicalDevice, pDisplayPlaneInfo: *const DisplayPlaneInfo2KHR, pCapabilities: *mut DisplayPlaneCapabilities2KHR) -> Result{
12599  unsafe {
12600    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12601    ((*ptr).GetDisplayPlaneCapabilities2KHR_ptr)(physicalDevice, pDisplayPlaneInfo, pCapabilities)
12602  }
12603}
12604#[doc(hidden)] pub fn CreateIOSSurfaceMVK(instance: Instance, pCreateInfo: *const IOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12605  unsafe {
12606    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12607    ((*ptr).CreateIOSSurfaceMVK_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12608  }
12609}
12610#[doc(hidden)] pub fn CreateMacOSSurfaceMVK(instance: Instance, pCreateInfo: *const MacOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12611  unsafe {
12612    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12613    ((*ptr).CreateMacOSSurfaceMVK_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12614  }
12615}
12616#[doc(hidden)] pub fn SetDebugUtilsObjectNameEXT(device: Device, pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result{
12617  unsafe {
12618    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12619    ((*ptr).SetDebugUtilsObjectNameEXT_ptr)(device, pNameInfo)
12620  }
12621}
12622#[doc(hidden)] pub fn SetDebugUtilsObjectTagEXT(device: Device, pTagInfo: *const DebugUtilsObjectTagInfoEXT) -> Result{
12623  unsafe {
12624    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12625    ((*ptr).SetDebugUtilsObjectTagEXT_ptr)(device, pTagInfo)
12626  }
12627}
12628#[doc(hidden)] pub fn QueueBeginDebugUtilsLabelEXT(queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT){
12629  unsafe {
12630    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12631    ((*ptr).QueueBeginDebugUtilsLabelEXT_ptr)(queue, pLabelInfo)
12632  }
12633}
12634#[doc(hidden)] pub fn QueueEndDebugUtilsLabelEXT(queue: Queue){
12635  unsafe {
12636    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12637    ((*ptr).QueueEndDebugUtilsLabelEXT_ptr)(queue)
12638  }
12639}
12640#[doc(hidden)] pub fn QueueInsertDebugUtilsLabelEXT(queue: Queue, pLabelInfo: *const DebugUtilsLabelEXT){
12641  unsafe {
12642    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12643    ((*ptr).QueueInsertDebugUtilsLabelEXT_ptr)(queue, pLabelInfo)
12644  }
12645}
12646#[doc(hidden)] pub fn CmdBeginDebugUtilsLabelEXT(commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT){
12647  unsafe {
12648    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12649    ((*ptr).CmdBeginDebugUtilsLabelEXT_ptr)(commandBuffer, pLabelInfo)
12650  }
12651}
12652#[doc(hidden)] pub fn CmdEndDebugUtilsLabelEXT(commandBuffer: CommandBuffer){
12653  unsafe {
12654    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12655    ((*ptr).CmdEndDebugUtilsLabelEXT_ptr)(commandBuffer)
12656  }
12657}
12658#[doc(hidden)] pub fn CmdInsertDebugUtilsLabelEXT(commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT){
12659  unsafe {
12660    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12661    ((*ptr).CmdInsertDebugUtilsLabelEXT_ptr)(commandBuffer, pLabelInfo)
12662  }
12663}
12664#[doc(hidden)] pub fn CreateDebugUtilsMessengerEXT(instance: Instance, pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, pAllocator: *const AllocationCallbacks, pMessenger: *mut DebugUtilsMessengerEXT) -> Result{
12665  unsafe {
12666    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12667    ((*ptr).CreateDebugUtilsMessengerEXT_ptr)(instance, pCreateInfo, pAllocator, pMessenger)
12668  }
12669}
12670#[doc(hidden)] pub fn DestroyDebugUtilsMessengerEXT(instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: *const AllocationCallbacks){
12671  unsafe {
12672    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12673    ((*ptr).DestroyDebugUtilsMessengerEXT_ptr)(instance, messenger, pAllocator)
12674  }
12675}
12676#[doc(hidden)] pub fn SubmitDebugUtilsMessageEXT(instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagBitsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: *const DebugUtilsMessengerCallbackDataEXT){
12677  unsafe {
12678    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12679    ((*ptr).SubmitDebugUtilsMessageEXT_ptr)(instance, messageSeverity, messageTypes, pCallbackData)
12680  }
12681}
12682#[doc(hidden)] pub fn CreateImagePipeSurfaceFUCHSIA(instance: Instance, pCreateInfo: *const ImagePipeSurfaceCreateInfoFUCHSIA, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result{
12683  unsafe {
12684    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12685    ((*ptr).CreateImagePipeSurfaceFUCHSIA_ptr)(instance, pCreateInfo, pAllocator, pSurface)
12686  }
12687}
12688#[doc(hidden)] pub fn CreateSwapchainKHR(device: Device, pCreateInfo: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchain: *mut SwapchainKHR) -> Result{
12689  unsafe {
12690    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12691    ((*ptr).CreateSwapchainKHR_ptr)(device, pCreateInfo, pAllocator, pSwapchain)
12692  }
12693}
12694#[doc(hidden)] pub fn DestroySwapchainKHR(device: Device, swapchain: SwapchainKHR, pAllocator: *const AllocationCallbacks){
12695  unsafe {
12696    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12697    ((*ptr).DestroySwapchainKHR_ptr)(device, swapchain, pAllocator)
12698  }
12699}
12700#[doc(hidden)] pub fn GetSwapchainImagesKHR(device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: *mut u32, pSwapchainImages: *mut Image) -> Result{
12701  unsafe {
12702    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12703    ((*ptr).GetSwapchainImagesKHR_ptr)(device, swapchain, pSwapchainImageCount, pSwapchainImages)
12704  }
12705}
12706#[doc(hidden)] pub fn AcquireNextImageKHR(device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: *mut u32) -> Result{
12707  unsafe {
12708    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12709    ((*ptr).AcquireNextImageKHR_ptr)(device, swapchain, timeout, semaphore, fence, pImageIndex)
12710  }
12711}
12712#[doc(hidden)] pub fn QueuePresentKHR(queue: Queue, pPresentInfo: *const PresentInfoKHR) -> Result{
12713  unsafe {
12714    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12715    ((*ptr).QueuePresentKHR_ptr)(queue, pPresentInfo)
12716  }
12717}
12718#[doc(hidden)] pub fn GetDeviceGroupPresentCapabilitiesKHR(device: Device, pDeviceGroupPresentCapabilities: *mut DeviceGroupPresentCapabilitiesKHR) -> Result{
12719  unsafe {
12720    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12721    ((*ptr).GetDeviceGroupPresentCapabilitiesKHR_ptr)(device, pDeviceGroupPresentCapabilities)
12722  }
12723}
12724#[doc(hidden)] pub fn GetDeviceGroupSurfacePresentModesKHR(device: Device, surface: SurfaceKHR, pModes: *mut DeviceGroupPresentModeFlagsKHR) -> Result{
12725  unsafe {
12726    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12727    ((*ptr).GetDeviceGroupSurfacePresentModesKHR_ptr)(device, surface, pModes)
12728  }
12729}
12730#[doc(hidden)] pub fn GetPhysicalDevicePresentRectanglesKHR(physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: *mut u32, pRects: *mut Rect2D) -> Result{
12731  unsafe {
12732    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12733    ((*ptr).GetPhysicalDevicePresentRectanglesKHR_ptr)(physicalDevice, surface, pRectCount, pRects)
12734  }
12735}
12736#[doc(hidden)] pub fn AcquireNextImage2KHR(device: Device, pAcquireInfo: *const AcquireNextImageInfoKHR, pImageIndex: *mut u32) -> Result{
12737  unsafe {
12738    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12739    ((*ptr).AcquireNextImage2KHR_ptr)(device, pAcquireInfo, pImageIndex)
12740  }
12741}
12742#[doc(hidden)] pub fn CreateSharedSwapchainsKHR(device: Device, swapchainCount: u32, pCreateInfos: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchains: *mut SwapchainKHR) -> Result{
12743  unsafe {
12744    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12745    ((*ptr).CreateSharedSwapchainsKHR_ptr)(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains)
12746  }
12747}
12748#[doc(hidden)] pub fn DebugMarkerSetObjectTagEXT(device: Device, pTagInfo: *const DebugMarkerObjectTagInfoEXT) -> Result{
12749  unsafe {
12750    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12751    ((*ptr).DebugMarkerSetObjectTagEXT_ptr)(device, pTagInfo)
12752  }
12753}
12754#[doc(hidden)] pub fn DebugMarkerSetObjectNameEXT(device: Device, pNameInfo: *const DebugMarkerObjectNameInfoEXT) -> Result{
12755  unsafe {
12756    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12757    ((*ptr).DebugMarkerSetObjectNameEXT_ptr)(device, pNameInfo)
12758  }
12759}
12760#[doc(hidden)] pub fn CmdDebugMarkerBeginEXT(commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
12761  unsafe {
12762    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12763    ((*ptr).CmdDebugMarkerBeginEXT_ptr)(commandBuffer, pMarkerInfo)
12764  }
12765}
12766#[doc(hidden)] pub fn CmdDebugMarkerEndEXT(commandBuffer: CommandBuffer){
12767  unsafe {
12768    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12769    ((*ptr).CmdDebugMarkerEndEXT_ptr)(commandBuffer)
12770  }
12771}
12772#[doc(hidden)] pub fn CmdDebugMarkerInsertEXT(commandBuffer: CommandBuffer, pMarkerInfo: *const DebugMarkerMarkerInfoEXT){
12773  unsafe {
12774    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12775    ((*ptr).CmdDebugMarkerInsertEXT_ptr)(commandBuffer, pMarkerInfo)
12776  }
12777}
12778#[doc(hidden)] pub fn CmdBindTransformFeedbackBuffersEXT(commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize, pSizes: *const DeviceSize){
12779  unsafe {
12780    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12781    ((*ptr).CmdBindTransformFeedbackBuffersEXT_ptr)(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes)
12782  }
12783}
12784#[doc(hidden)] pub fn CmdBeginTransformFeedbackEXT(commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize){
12785  unsafe {
12786    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12787    ((*ptr).CmdBeginTransformFeedbackEXT_ptr)(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets)
12788  }
12789}
12790#[doc(hidden)] pub fn CmdEndTransformFeedbackEXT(commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: *const Buffer, pCounterBufferOffsets: *const DeviceSize){
12791  unsafe {
12792    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12793    ((*ptr).CmdEndTransformFeedbackEXT_ptr)(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets)
12794  }
12795}
12796#[doc(hidden)] pub fn CmdBeginQueryIndexedEXT(commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32){
12797  unsafe {
12798    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12799    ((*ptr).CmdBeginQueryIndexedEXT_ptr)(commandBuffer, queryPool, query, flags, index)
12800  }
12801}
12802#[doc(hidden)] pub fn CmdEndQueryIndexedEXT(commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32){
12803  unsafe {
12804    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12805    ((*ptr).CmdEndQueryIndexedEXT_ptr)(commandBuffer, queryPool, query, index)
12806  }
12807}
12808#[doc(hidden)] pub fn CmdDrawIndirectByteCountEXT(commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32){
12809  unsafe {
12810    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12811    ((*ptr).CmdDrawIndirectByteCountEXT_ptr)(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride)
12812  }
12813}
12814#[doc(hidden)] pub fn CmdDrawIndirectCountAMD(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
12815  unsafe {
12816    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12817    ((*ptr).CmdDrawIndirectCountAMD_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
12818  }
12819}
12820#[doc(hidden)] pub fn CmdDrawIndexedIndirectCountAMD(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
12821  unsafe {
12822    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12823    ((*ptr).CmdDrawIndexedIndirectCountAMD_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
12824  }
12825}
12826#[doc(hidden)] pub fn GetShaderInfoAMD(device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlagBits, infoType: ShaderInfoTypeAMD, pInfoSize: *mut usize, pInfo: *mut c_void) -> Result{
12827  unsafe {
12828    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12829    ((*ptr).GetShaderInfoAMD_ptr)(device, pipeline, shaderStage, infoType, pInfoSize, pInfo)
12830  }
12831}
12832#[doc(hidden)] pub fn GetMemoryWin32HandleNV(device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: *mut HANDLE) -> Result{
12833  unsafe {
12834    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12835    ((*ptr).GetMemoryWin32HandleNV_ptr)(device, memory, handleType, pHandle)
12836  }
12837}
12838#[doc(hidden)] pub fn GetMemoryWin32HandleKHR(device: Device, pGetWin32HandleInfo: *const MemoryGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
12839  unsafe {
12840    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12841    ((*ptr).GetMemoryWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
12842  }
12843}
12844#[doc(hidden)] pub fn GetMemoryWin32HandlePropertiesKHR(device: Device, handleType: ExternalMemoryHandleTypeFlagBits, handle: HANDLE, pMemoryWin32HandleProperties: *mut MemoryWin32HandlePropertiesKHR) -> Result{
12845  unsafe {
12846    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12847    ((*ptr).GetMemoryWin32HandlePropertiesKHR_ptr)(device, handleType, handle, pMemoryWin32HandleProperties)
12848  }
12849}
12850#[doc(hidden)] pub fn GetMemoryFdKHR(device: Device, pGetFdInfo: *const MemoryGetFdInfoKHR, pFd: *mut i32) -> Result{
12851  unsafe {
12852    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12853    ((*ptr).GetMemoryFdKHR_ptr)(device, pGetFdInfo, pFd)
12854  }
12855}
12856#[doc(hidden)] pub fn GetMemoryFdPropertiesKHR(device: Device, handleType: ExternalMemoryHandleTypeFlagBits, fd: i32, pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result{
12857  unsafe {
12858    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12859    ((*ptr).GetMemoryFdPropertiesKHR_ptr)(device, handleType, fd, pMemoryFdProperties)
12860  }
12861}
12862#[doc(hidden)] pub fn ImportSemaphoreWin32HandleKHR(device: Device, pImportSemaphoreWin32HandleInfo: *const ImportSemaphoreWin32HandleInfoKHR) -> Result{
12863  unsafe {
12864    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12865    ((*ptr).ImportSemaphoreWin32HandleKHR_ptr)(device, pImportSemaphoreWin32HandleInfo)
12866  }
12867}
12868#[doc(hidden)] pub fn GetSemaphoreWin32HandleKHR(device: Device, pGetWin32HandleInfo: *const SemaphoreGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
12869  unsafe {
12870    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12871    ((*ptr).GetSemaphoreWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
12872  }
12873}
12874#[doc(hidden)] pub fn ImportSemaphoreFdKHR(device: Device, pImportSemaphoreFdInfo: *const ImportSemaphoreFdInfoKHR) -> Result{
12875  unsafe {
12876    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12877    ((*ptr).ImportSemaphoreFdKHR_ptr)(device, pImportSemaphoreFdInfo)
12878  }
12879}
12880#[doc(hidden)] pub fn GetSemaphoreFdKHR(device: Device, pGetFdInfo: *const SemaphoreGetFdInfoKHR, pFd: *mut i32) -> Result{
12881  unsafe {
12882    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12883    ((*ptr).GetSemaphoreFdKHR_ptr)(device, pGetFdInfo, pFd)
12884  }
12885}
12886#[doc(hidden)] pub fn CmdPushDescriptorSetKHR(commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet){
12887  unsafe {
12888    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12889    ((*ptr).CmdPushDescriptorSetKHR_ptr)(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites)
12890  }
12891}
12892#[doc(hidden)] pub fn CmdPushDescriptorSetWithTemplateKHR(commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: *const c_void){
12893  unsafe {
12894    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12895    ((*ptr).CmdPushDescriptorSetWithTemplateKHR_ptr)(commandBuffer, descriptorUpdateTemplate, layout, set, pData)
12896  }
12897}
12898#[doc(hidden)] pub fn CmdBeginConditionalRenderingEXT(commandBuffer: CommandBuffer, pConditionalRenderingBegin: *const ConditionalRenderingBeginInfoEXT){
12899  unsafe {
12900    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12901    ((*ptr).CmdBeginConditionalRenderingEXT_ptr)(commandBuffer, pConditionalRenderingBegin)
12902  }
12903}
12904#[doc(hidden)] pub fn CmdEndConditionalRenderingEXT(commandBuffer: CommandBuffer){
12905  unsafe {
12906    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12907    ((*ptr).CmdEndConditionalRenderingEXT_ptr)(commandBuffer)
12908  }
12909}
12910#[doc(hidden)] pub fn CmdProcessCommandsNVX(commandBuffer: CommandBuffer, pProcessCommandsInfo: *const CmdProcessCommandsInfoNVX){
12911  unsafe {
12912    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12913    ((*ptr).CmdProcessCommandsNVX_ptr)(commandBuffer, pProcessCommandsInfo)
12914  }
12915}
12916#[doc(hidden)] pub fn CmdReserveSpaceForCommandsNVX(commandBuffer: CommandBuffer, pReserveSpaceInfo: *const CmdReserveSpaceForCommandsInfoNVX){
12917  unsafe {
12918    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12919    ((*ptr).CmdReserveSpaceForCommandsNVX_ptr)(commandBuffer, pReserveSpaceInfo)
12920  }
12921}
12922#[doc(hidden)] pub fn CreateIndirectCommandsLayoutNVX(device: Device, pCreateInfo: *const IndirectCommandsLayoutCreateInfoNVX, pAllocator: *const AllocationCallbacks, pIndirectCommandsLayout: *mut IndirectCommandsLayoutNVX) -> Result{
12923  unsafe {
12924    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12925    ((*ptr).CreateIndirectCommandsLayoutNVX_ptr)(device, pCreateInfo, pAllocator, pIndirectCommandsLayout)
12926  }
12927}
12928#[doc(hidden)] pub fn DestroyIndirectCommandsLayoutNVX(device: Device, indirectCommandsLayout: IndirectCommandsLayoutNVX, pAllocator: *const AllocationCallbacks){
12929  unsafe {
12930    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12931    ((*ptr).DestroyIndirectCommandsLayoutNVX_ptr)(device, indirectCommandsLayout, pAllocator)
12932  }
12933}
12934#[doc(hidden)] pub fn CreateObjectTableNVX(device: Device, pCreateInfo: *const ObjectTableCreateInfoNVX, pAllocator: *const AllocationCallbacks, pObjectTable: *mut ObjectTableNVX) -> Result{
12935  unsafe {
12936    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12937    ((*ptr).CreateObjectTableNVX_ptr)(device, pCreateInfo, pAllocator, pObjectTable)
12938  }
12939}
12940#[doc(hidden)] pub fn DestroyObjectTableNVX(device: Device, objectTable: ObjectTableNVX, pAllocator: *const AllocationCallbacks){
12941  unsafe {
12942    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12943    ((*ptr).DestroyObjectTableNVX_ptr)(device, objectTable, pAllocator)
12944  }
12945}
12946#[doc(hidden)] pub fn RegisterObjectsNVX(device: Device, objectTable: ObjectTableNVX, objectCount: u32, ppObjectTableEntries: *const *const ObjectTableEntryNVX, pObjectIndices: *const u32) -> Result{
12947  unsafe {
12948    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12949    ((*ptr).RegisterObjectsNVX_ptr)(device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices)
12950  }
12951}
12952#[doc(hidden)] pub fn UnregisterObjectsNVX(device: Device, objectTable: ObjectTableNVX, objectCount: u32, pObjectEntryTypes: *const ObjectEntryTypeNVX, pObjectIndices: *const u32) -> Result{
12953  unsafe {
12954    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12955    ((*ptr).UnregisterObjectsNVX_ptr)(device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices)
12956  }
12957}
12958#[doc(hidden)] pub fn GetPhysicalDeviceGeneratedCommandsPropertiesNVX(physicalDevice: PhysicalDevice, pFeatures: *mut DeviceGeneratedCommandsFeaturesNVX, pLimits: *mut DeviceGeneratedCommandsLimitsNVX){
12959  unsafe {
12960    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12961    ((*ptr).GetPhysicalDeviceGeneratedCommandsPropertiesNVX_ptr)(physicalDevice, pFeatures, pLimits)
12962  }
12963}
12964#[doc(hidden)] pub fn CmdSetViewportWScalingNV(commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: *const ViewportWScalingNV){
12965  unsafe {
12966    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12967    ((*ptr).CmdSetViewportWScalingNV_ptr)(commandBuffer, firstViewport, viewportCount, pViewportWScalings)
12968  }
12969}
12970#[doc(hidden)] pub fn DisplayPowerControlEXT(device: Device, display: DisplayKHR, pDisplayPowerInfo: *const DisplayPowerInfoEXT) -> Result{
12971  unsafe {
12972    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12973    ((*ptr).DisplayPowerControlEXT_ptr)(device, display, pDisplayPowerInfo)
12974  }
12975}
12976#[doc(hidden)] pub fn RegisterDeviceEventEXT(device: Device, pDeviceEventInfo: *const DeviceEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
12977  unsafe {
12978    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12979    ((*ptr).RegisterDeviceEventEXT_ptr)(device, pDeviceEventInfo, pAllocator, pFence)
12980  }
12981}
12982#[doc(hidden)] pub fn RegisterDisplayEventEXT(device: Device, display: DisplayKHR, pDisplayEventInfo: *const DisplayEventInfoEXT, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result{
12983  unsafe {
12984    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12985    ((*ptr).RegisterDisplayEventEXT_ptr)(device, display, pDisplayEventInfo, pAllocator, pFence)
12986  }
12987}
12988#[doc(hidden)] pub fn GetSwapchainCounterEXT(device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagBitsEXT, pCounterValue: *mut u64) -> Result{
12989  unsafe {
12990    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12991    ((*ptr).GetSwapchainCounterEXT_ptr)(device, swapchain, counter, pCounterValue)
12992  }
12993}
12994#[doc(hidden)] pub fn GetRefreshCycleDurationGOOGLE(device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: *mut RefreshCycleDurationGOOGLE) -> Result{
12995  unsafe {
12996    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
12997    ((*ptr).GetRefreshCycleDurationGOOGLE_ptr)(device, swapchain, pDisplayTimingProperties)
12998  }
12999}
13000#[doc(hidden)] pub fn GetPastPresentationTimingGOOGLE(device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: *mut u32, pPresentationTimings: *mut PastPresentationTimingGOOGLE) -> Result{
13001  unsafe {
13002    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13003    ((*ptr).GetPastPresentationTimingGOOGLE_ptr)(device, swapchain, pPresentationTimingCount, pPresentationTimings)
13004  }
13005}
13006#[doc(hidden)] pub fn CmdSetDiscardRectangleEXT(commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: *const Rect2D){
13007  unsafe {
13008    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13009    ((*ptr).CmdSetDiscardRectangleEXT_ptr)(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles)
13010  }
13011}
13012#[doc(hidden)] pub fn SetHdrMetadataEXT(device: Device, swapchainCount: u32, pSwapchains: *const SwapchainKHR, pMetadata: *const HdrMetadataEXT){
13013  unsafe {
13014    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13015    ((*ptr).SetHdrMetadataEXT_ptr)(device, swapchainCount, pSwapchains, pMetadata)
13016  }
13017}
13018#[doc(hidden)] pub fn CreateRenderPass2KHR(device: Device, pCreateInfo: *const RenderPassCreateInfo2KHR, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result{
13019  unsafe {
13020    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13021    ((*ptr).CreateRenderPass2KHR_ptr)(device, pCreateInfo, pAllocator, pRenderPass)
13022  }
13023}
13024#[doc(hidden)] pub fn CmdBeginRenderPass2KHR(commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, pSubpassBeginInfo: *const SubpassBeginInfoKHR){
13025  unsafe {
13026    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13027    ((*ptr).CmdBeginRenderPass2KHR_ptr)(commandBuffer, pRenderPassBegin, pSubpassBeginInfo)
13028  }
13029}
13030#[doc(hidden)] pub fn CmdNextSubpass2KHR(commandBuffer: CommandBuffer, pSubpassBeginInfo: *const SubpassBeginInfoKHR, pSubpassEndInfo: *const SubpassEndInfoKHR){
13031  unsafe {
13032    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13033    ((*ptr).CmdNextSubpass2KHR_ptr)(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo)
13034  }
13035}
13036#[doc(hidden)] pub fn CmdEndRenderPass2KHR(commandBuffer: CommandBuffer, pSubpassEndInfo: *const SubpassEndInfoKHR){
13037  unsafe {
13038    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13039    ((*ptr).CmdEndRenderPass2KHR_ptr)(commandBuffer, pSubpassEndInfo)
13040  }
13041}
13042#[doc(hidden)] pub fn GetSwapchainStatusKHR(device: Device, swapchain: SwapchainKHR) -> Result{
13043  unsafe {
13044    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13045    ((*ptr).GetSwapchainStatusKHR_ptr)(device, swapchain)
13046  }
13047}
13048#[doc(hidden)] pub fn ImportFenceWin32HandleKHR(device: Device, pImportFenceWin32HandleInfo: *const ImportFenceWin32HandleInfoKHR) -> Result{
13049  unsafe {
13050    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13051    ((*ptr).ImportFenceWin32HandleKHR_ptr)(device, pImportFenceWin32HandleInfo)
13052  }
13053}
13054#[doc(hidden)] pub fn GetFenceWin32HandleKHR(device: Device, pGetWin32HandleInfo: *const FenceGetWin32HandleInfoKHR, pHandle: *mut HANDLE) -> Result{
13055  unsafe {
13056    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13057    ((*ptr).GetFenceWin32HandleKHR_ptr)(device, pGetWin32HandleInfo, pHandle)
13058  }
13059}
13060#[doc(hidden)] pub fn ImportFenceFdKHR(device: Device, pImportFenceFdInfo: *const ImportFenceFdInfoKHR) -> Result{
13061  unsafe {
13062    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13063    ((*ptr).ImportFenceFdKHR_ptr)(device, pImportFenceFdInfo)
13064  }
13065}
13066#[doc(hidden)] pub fn GetFenceFdKHR(device: Device, pGetFdInfo: *const FenceGetFdInfoKHR, pFd: *mut i32) -> Result{
13067  unsafe {
13068    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13069    ((*ptr).GetFenceFdKHR_ptr)(device, pGetFdInfo, pFd)
13070  }
13071}
13072#[doc(hidden)] pub fn GetAndroidHardwareBufferPropertiesANDROID(device: Device, buffer: *const AHardwareBuffer, pProperties: *mut AndroidHardwareBufferPropertiesANDROID) -> Result{
13073  unsafe {
13074    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13075    ((*ptr).GetAndroidHardwareBufferPropertiesANDROID_ptr)(device, buffer, pProperties)
13076  }
13077}
13078#[doc(hidden)] pub fn GetMemoryAndroidHardwareBufferANDROID(device: Device, pInfo: *const MemoryGetAndroidHardwareBufferInfoANDROID, pBuffer: *mut *mut AHardwareBuffer) -> Result{
13079  unsafe {
13080    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13081    ((*ptr).GetMemoryAndroidHardwareBufferANDROID_ptr)(device, pInfo, pBuffer)
13082  }
13083}
13084#[doc(hidden)] pub fn CmdSetSampleLocationsEXT(commandBuffer: CommandBuffer, pSampleLocationsInfo: *const SampleLocationsInfoEXT){
13085  unsafe {
13086    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13087    ((*ptr).CmdSetSampleLocationsEXT_ptr)(commandBuffer, pSampleLocationsInfo)
13088  }
13089}
13090#[doc(hidden)] pub fn GetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice: PhysicalDevice, samples: SampleCountFlagBits, pMultisampleProperties: *mut MultisamplePropertiesEXT){
13091  unsafe {
13092    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13093    ((*ptr).GetPhysicalDeviceMultisamplePropertiesEXT_ptr)(physicalDevice, samples, pMultisampleProperties)
13094  }
13095}
13096#[doc(hidden)] pub fn GetImageDrmFormatModifierPropertiesEXT(device: Device, image: Image, pProperties: *mut ImageDrmFormatModifierPropertiesEXT) -> Result{
13097  unsafe {
13098    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13099    ((*ptr).GetImageDrmFormatModifierPropertiesEXT_ptr)(device, image, pProperties)
13100  }
13101}
13102#[doc(hidden)] pub fn CreateValidationCacheEXT(device: Device, pCreateInfo: *const ValidationCacheCreateInfoEXT, pAllocator: *const AllocationCallbacks, pValidationCache: *mut ValidationCacheEXT) -> Result{
13103  unsafe {
13104    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13105    ((*ptr).CreateValidationCacheEXT_ptr)(device, pCreateInfo, pAllocator, pValidationCache)
13106  }
13107}
13108#[doc(hidden)] pub fn DestroyValidationCacheEXT(device: Device, validationCache: ValidationCacheEXT, pAllocator: *const AllocationCallbacks){
13109  unsafe {
13110    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13111    ((*ptr).DestroyValidationCacheEXT_ptr)(device, validationCache, pAllocator)
13112  }
13113}
13114#[doc(hidden)] pub fn MergeValidationCachesEXT(device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: *const ValidationCacheEXT) -> Result{
13115  unsafe {
13116    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13117    ((*ptr).MergeValidationCachesEXT_ptr)(device, dstCache, srcCacheCount, pSrcCaches)
13118  }
13119}
13120#[doc(hidden)] pub fn GetValidationCacheDataEXT(device: Device, validationCache: ValidationCacheEXT, pDataSize: *mut usize, pData: *mut c_void) -> Result{
13121  unsafe {
13122    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13123    ((*ptr).GetValidationCacheDataEXT_ptr)(device, validationCache, pDataSize, pData)
13124  }
13125}
13126#[doc(hidden)] pub fn CmdBindShadingRateImageNV(commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout){
13127  unsafe {
13128    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13129    ((*ptr).CmdBindShadingRateImageNV_ptr)(commandBuffer, imageView, imageLayout)
13130  }
13131}
13132#[doc(hidden)] pub fn CmdSetViewportShadingRatePaletteNV(commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: *const ShadingRatePaletteNV){
13133  unsafe {
13134    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13135    ((*ptr).CmdSetViewportShadingRatePaletteNV_ptr)(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes)
13136  }
13137}
13138#[doc(hidden)] pub fn CmdSetCoarseSampleOrderNV(commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: *const CoarseSampleOrderCustomNV){
13139  unsafe {
13140    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13141    ((*ptr).CmdSetCoarseSampleOrderNV_ptr)(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders)
13142  }
13143}
13144#[doc(hidden)] pub fn CreateAccelerationStructureNV(device: Device, pCreateInfo: *const AccelerationStructureCreateInfoNV, pAllocator: *const AllocationCallbacks, pAccelerationStructure: *mut AccelerationStructureNV) -> Result{
13145  unsafe {
13146    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13147    ((*ptr).CreateAccelerationStructureNV_ptr)(device, pCreateInfo, pAllocator, pAccelerationStructure)
13148  }
13149}
13150#[doc(hidden)] pub fn DestroyAccelerationStructureNV(device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: *const AllocationCallbacks){
13151  unsafe {
13152    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13153    ((*ptr).DestroyAccelerationStructureNV_ptr)(device, accelerationStructure, pAllocator)
13154  }
13155}
13156#[doc(hidden)] pub fn GetAccelerationStructureMemoryRequirementsNV(device: Device, pInfo: *const AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: *mut MemoryRequirements2){
13157  unsafe {
13158    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13159    ((*ptr).GetAccelerationStructureMemoryRequirementsNV_ptr)(device, pInfo, pMemoryRequirements)
13160  }
13161}
13162#[doc(hidden)] pub fn BindAccelerationStructureMemoryNV(device: Device, bindInfoCount: u32, pBindInfos: *const BindAccelerationStructureMemoryInfoNV) -> Result{
13163  unsafe {
13164    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13165    ((*ptr).BindAccelerationStructureMemoryNV_ptr)(device, bindInfoCount, pBindInfos)
13166  }
13167}
13168#[doc(hidden)] pub fn CmdBuildAccelerationStructureNV(commandBuffer: CommandBuffer, pInfo: *const AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize){
13169  unsafe {
13170    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13171    ((*ptr).CmdBuildAccelerationStructureNV_ptr)(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset)
13172  }
13173}
13174#[doc(hidden)] pub fn CmdCopyAccelerationStructureNV(commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV){
13175  unsafe {
13176    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13177    ((*ptr).CmdCopyAccelerationStructureNV_ptr)(commandBuffer, dst, src, mode)
13178  }
13179}
13180#[doc(hidden)] pub fn CmdTraceRaysNV(commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32){
13181  unsafe {
13182    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13183    ((*ptr).CmdTraceRaysNV_ptr)(commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth)
13184  }
13185}
13186#[doc(hidden)] pub fn CreateRayTracingPipelinesNV(device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const RayTracingPipelineCreateInfoNV, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result{
13187  unsafe {
13188    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13189    ((*ptr).CreateRayTracingPipelinesNV_ptr)(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines)
13190  }
13191}
13192#[doc(hidden)] pub fn GetRayTracingShaderGroupHandlesNV(device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: usize, pData: *mut c_void) -> Result{
13193  unsafe {
13194    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13195    ((*ptr).GetRayTracingShaderGroupHandlesNV_ptr)(device, pipeline, firstGroup, groupCount, dataSize, pData)
13196  }
13197}
13198#[doc(hidden)] pub fn GetAccelerationStructureHandleNV(device: Device, accelerationStructure: AccelerationStructureNV, dataSize: usize, pData: *mut c_void) -> Result{
13199  unsafe {
13200    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13201    ((*ptr).GetAccelerationStructureHandleNV_ptr)(device, accelerationStructure, dataSize, pData)
13202  }
13203}
13204#[doc(hidden)] pub fn CmdWriteAccelerationStructuresPropertiesNV(commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: *const AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32){
13205  unsafe {
13206    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13207    ((*ptr).CmdWriteAccelerationStructuresPropertiesNV_ptr)(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery)
13208  }
13209}
13210#[doc(hidden)] pub fn CompileDeferredNV(device: Device, pipeline: Pipeline, shader: u32) -> Result{
13211  unsafe {
13212    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13213    ((*ptr).CompileDeferredNV_ptr)(device, pipeline, shader)
13214  }
13215}
13216#[doc(hidden)] pub fn CmdDrawIndirectCountKHR(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
13217  unsafe {
13218    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13219    ((*ptr).CmdDrawIndirectCountKHR_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
13220  }
13221}
13222#[doc(hidden)] pub fn CmdDrawIndexedIndirectCountKHR(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
13223  unsafe {
13224    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13225    ((*ptr).CmdDrawIndexedIndirectCountKHR_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
13226  }
13227}
13228#[doc(hidden)] pub fn GetMemoryHostPointerPropertiesEXT(device: Device, handleType: ExternalMemoryHandleTypeFlagBits, pHostPointer: *const c_void, pMemoryHostPointerProperties: *mut MemoryHostPointerPropertiesEXT) -> Result{
13229  unsafe {
13230    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13231    ((*ptr).GetMemoryHostPointerPropertiesEXT_ptr)(device, handleType, pHostPointer, pMemoryHostPointerProperties)
13232  }
13233}
13234#[doc(hidden)] pub fn CmdWriteBufferMarkerAMD(commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32){
13235  unsafe {
13236    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13237    ((*ptr).CmdWriteBufferMarkerAMD_ptr)(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker)
13238  }
13239}
13240#[doc(hidden)] pub fn GetPhysicalDeviceCalibrateableTimeDomainsEXT(physicalDevice: PhysicalDevice, pTimeDomainCount: *mut u32, pTimeDomains: *mut TimeDomainEXT) -> Result{
13241  unsafe {
13242    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13243    ((*ptr).GetPhysicalDeviceCalibrateableTimeDomainsEXT_ptr)(physicalDevice, pTimeDomainCount, pTimeDomains)
13244  }
13245}
13246#[doc(hidden)] pub fn GetCalibratedTimestampsEXT(device: Device, timestampCount: u32, pTimestampInfos: *const CalibratedTimestampInfoEXT, pTimestamps: *mut u64, pMaxDeviation: *mut u64) -> Result{
13247  unsafe {
13248    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13249    ((*ptr).GetCalibratedTimestampsEXT_ptr)(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation)
13250  }
13251}
13252#[doc(hidden)] pub fn CmdDrawMeshTasksNV(commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32){
13253  unsafe {
13254    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13255    ((*ptr).CmdDrawMeshTasksNV_ptr)(commandBuffer, taskCount, firstTask)
13256  }
13257}
13258#[doc(hidden)] pub fn CmdDrawMeshTasksIndirectNV(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32){
13259  unsafe {
13260    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13261    ((*ptr).CmdDrawMeshTasksIndirectNV_ptr)(commandBuffer, buffer, offset, drawCount, stride)
13262  }
13263}
13264#[doc(hidden)] pub fn CmdDrawMeshTasksIndirectCountNV(commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32){
13265  unsafe {
13266    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13267    ((*ptr).CmdDrawMeshTasksIndirectCountNV_ptr)(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride)
13268  }
13269}
13270#[doc(hidden)] pub fn CmdSetExclusiveScissorNV(commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: *const Rect2D){
13271  unsafe {
13272    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13273    ((*ptr).CmdSetExclusiveScissorNV_ptr)(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors)
13274  }
13275}
13276#[doc(hidden)] pub fn CmdSetCheckpointNV(commandBuffer: CommandBuffer, pCheckpointMarker: *const c_void){
13277  unsafe {
13278    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13279    ((*ptr).CmdSetCheckpointNV_ptr)(commandBuffer, pCheckpointMarker)
13280  }
13281}
13282#[doc(hidden)] pub fn GetQueueCheckpointDataNV(queue: Queue, pCheckpointDataCount: *mut u32, pCheckpointData: *mut CheckpointDataNV){
13283  unsafe {
13284    let ptr = vklib.expect("Vulkan core not initialized, make sure to have a valid instance of nobs_vk::VkLib");
13285    ((*ptr).GetQueueCheckpointDataNV_ptr)(queue, pCheckpointDataCount, pCheckpointData)
13286  }
13287}
13288
13289
13290
13291/// Wraps a call to a vulkan command and converts it's returned error code with [make_result](fn.make_result.html).
13292///
13293/// Prints debug information to std::out with the file and line number of the vulkan command.
13294/// This macro may only be used with vulkan commands that return a `nobs_vk::Result`
13295///
13296/// ## Example
13297/// ```rust
13298/// #[macro_use] extern crate nobs_vk as vk;
13299/// //...
13300/// # fn main() {
13301/// # let _vk_lib = vk::VkLib::new();
13302/// # let mut inst_ver = 0;
13303/// match vk_check!(vk::EnumerateInstanceVersion(&mut inst_ver)) {
13304///   Err(e) => println!("EnumerateInstanceVersion returned with: {:?}", e),
13305///   Ok(e) => println!("EnumerateInstanceVersion returned with: {:?}", e),
13306/// }
13307/// # }
13308/// ```
13309#[macro_export]
13310macro_rules! vk_check {
13311  ($fn:expr) => {{
13312    let r = $crate::make_result($fn);
13313    if let Err(e) = r {
13314      println!(
13315        "{} failed with {:?} in \"{}\" at line {}",
13316        stringify!($fn),
13317        e,
13318        file!(),
13319        line!()
13320      );
13321    }
13322    r
13323  }};
13324}
13325
13326/// Same as [vk_check](macro.vk_check.html) but instead of returning the Result calls unwrap on it.
13327///
13328/// Still prints debug information to std::out with the file and line number of the vulkan command.
13329#[macro_export]
13330macro_rules! vk_uncheck {
13331  ($fn:expr) => {{ vk_check!($fn).unwrap() }};
13332}
13333
13334
13335/// Converts the integer error code from a vulkan command into a `Result<Success, Error>`
13336pub fn make_result(r: crate::Result) -> std::result::Result<Success, Error> {
13337  match r {
13338    SUCCESS => Ok(Success::SUCCESS),
13339    NOT_READY => Ok(Success::NOT_READY),
13340    TIMEOUT => Ok(Success::TIMEOUT),
13341    EVENT_SET => Ok(Success::EVENT_SET),
13342    EVENT_RESET => Ok(Success::EVENT_RESET),
13343    INCOMPLETE => Ok(Success::INCOMPLETE),
13344    ERROR_OUT_OF_HOST_MEMORY => Err(Error::ERROR_OUT_OF_HOST_MEMORY),
13345    ERROR_OUT_OF_DEVICE_MEMORY => Err(Error::ERROR_OUT_OF_DEVICE_MEMORY),
13346    ERROR_INITIALIZATION_FAILED => Err(Error::ERROR_INITIALIZATION_FAILED),
13347    ERROR_DEVICE_LOST => Err(Error::ERROR_DEVICE_LOST),
13348    ERROR_MEMORY_MAP_FAILED => Err(Error::ERROR_MEMORY_MAP_FAILED),
13349    ERROR_LAYER_NOT_PRESENT => Err(Error::ERROR_LAYER_NOT_PRESENT),
13350    ERROR_EXTENSION_NOT_PRESENT => Err(Error::ERROR_EXTENSION_NOT_PRESENT),
13351    ERROR_FEATURE_NOT_PRESENT => Err(Error::ERROR_FEATURE_NOT_PRESENT),
13352    ERROR_INCOMPATIBLE_DRIVER => Err(Error::ERROR_INCOMPATIBLE_DRIVER),
13353    ERROR_TOO_MANY_OBJECTS => Err(Error::ERROR_TOO_MANY_OBJECTS),
13354    ERROR_FORMAT_NOT_SUPPORTED => Err(Error::ERROR_FORMAT_NOT_SUPPORTED),
13355    ERROR_FRAGMENTED_POOL => Err(Error::ERROR_FRAGMENTED_POOL),
13356    ERROR_OUT_OF_POOL_MEMORY => Err(Error::ERROR_OUT_OF_POOL_MEMORY),
13357    ERROR_INVALID_EXTERNAL_HANDLE => Err(Error::ERROR_INVALID_EXTERNAL_HANDLE),
13358    ERROR_SURFACE_LOST_KHR => Err(Error::ERROR_SURFACE_LOST_KHR),
13359    ERROR_NATIVE_WINDOW_IN_USE_KHR => Err(Error::ERROR_NATIVE_WINDOW_IN_USE_KHR),
13360    SUBOPTIMAL_KHR => Ok(Success::SUBOPTIMAL_KHR),
13361    ERROR_OUT_OF_DATE_KHR => Err(Error::ERROR_OUT_OF_DATE_KHR),
13362    ERROR_INCOMPATIBLE_DISPLAY_KHR => Err(Error::ERROR_INCOMPATIBLE_DISPLAY_KHR),
13363    ERROR_VALIDATION_FAILED_EXT => Err(Error::ERROR_VALIDATION_FAILED_EXT),
13364    ERROR_INVALID_SHADER_NV => Err(Error::ERROR_INVALID_SHADER_NV),
13365    ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT => Err(Error::ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT),
13366    ERROR_FRAGMENTATION_EXT => Err(Error::ERROR_FRAGMENTATION_EXT),
13367    ERROR_NOT_PERMITTED_EXT => Err(Error::ERROR_NOT_PERMITTED_EXT),
13368    _ => Err(Error::UNKNOWN)
13369  }
13370}
13371
13372/// Enum type for all successful return codes in `nobs_vk::Result`
13373#[derive(Debug, Clone, Copy)]
13374pub enum Success {
13375  SUCCESS,
13376  NOT_READY,
13377  TIMEOUT,
13378  EVENT_SET,
13379  EVENT_RESET,
13380  INCOMPLETE,
13381  SUBOPTIMAL_KHR,
13382}
13383impl Success {
13384  /// Gets the actual vulkan return code back.
13385  pub fn vk_result(&self) -> crate::Result {
13386    match self {
13387      Success::SUCCESS => crate::SUCCESS,
13388      Success::NOT_READY => crate::NOT_READY,
13389      Success::TIMEOUT => crate::TIMEOUT,
13390      Success::EVENT_SET => crate::EVENT_SET,
13391      Success::EVENT_RESET => crate::EVENT_RESET,
13392      Success::INCOMPLETE => crate::INCOMPLETE,
13393      Success::SUBOPTIMAL_KHR => crate::SUBOPTIMAL_KHR,
13394    }
13395  }
13396}
13397
13398/// Enum type for all unsuccessful return codes in `nobs_vk::Result`
13399#[derive(Debug, Clone, Copy)]
13400pub enum Error  {
13401  ERROR_OUT_OF_HOST_MEMORY,
13402  ERROR_OUT_OF_DEVICE_MEMORY,
13403  ERROR_INITIALIZATION_FAILED,
13404  ERROR_DEVICE_LOST,
13405  ERROR_MEMORY_MAP_FAILED,
13406  ERROR_LAYER_NOT_PRESENT,
13407  ERROR_EXTENSION_NOT_PRESENT,
13408  ERROR_FEATURE_NOT_PRESENT,
13409  ERROR_INCOMPATIBLE_DRIVER,
13410  ERROR_TOO_MANY_OBJECTS,
13411  ERROR_FORMAT_NOT_SUPPORTED,
13412  ERROR_FRAGMENTED_POOL,
13413  ERROR_OUT_OF_POOL_MEMORY,
13414  ERROR_INVALID_EXTERNAL_HANDLE,
13415  ERROR_SURFACE_LOST_KHR,
13416  ERROR_NATIVE_WINDOW_IN_USE_KHR,
13417  ERROR_OUT_OF_DATE_KHR,
13418  ERROR_INCOMPATIBLE_DISPLAY_KHR,
13419  ERROR_VALIDATION_FAILED_EXT,
13420  ERROR_INVALID_SHADER_NV,
13421  ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
13422  ERROR_FRAGMENTATION_EXT,
13423  ERROR_NOT_PERMITTED_EXT,
13424  UNKNOWN,
13425}
13426impl Error {
13427  /// Gets the actual vulkan return code back.
13428  pub fn vk_result(&self) -> crate::Result {
13429    match self {
13430      Error::ERROR_OUT_OF_HOST_MEMORY => crate::ERROR_OUT_OF_HOST_MEMORY,
13431      Error::ERROR_OUT_OF_DEVICE_MEMORY => crate::ERROR_OUT_OF_DEVICE_MEMORY,
13432      Error::ERROR_INITIALIZATION_FAILED => crate::ERROR_INITIALIZATION_FAILED,
13433      Error::ERROR_DEVICE_LOST => crate::ERROR_DEVICE_LOST,
13434      Error::ERROR_MEMORY_MAP_FAILED => crate::ERROR_MEMORY_MAP_FAILED,
13435      Error::ERROR_LAYER_NOT_PRESENT => crate::ERROR_LAYER_NOT_PRESENT,
13436      Error::ERROR_EXTENSION_NOT_PRESENT => crate::ERROR_EXTENSION_NOT_PRESENT,
13437      Error::ERROR_FEATURE_NOT_PRESENT => crate::ERROR_FEATURE_NOT_PRESENT,
13438      Error::ERROR_INCOMPATIBLE_DRIVER => crate::ERROR_INCOMPATIBLE_DRIVER,
13439      Error::ERROR_TOO_MANY_OBJECTS => crate::ERROR_TOO_MANY_OBJECTS,
13440      Error::ERROR_FORMAT_NOT_SUPPORTED => crate::ERROR_FORMAT_NOT_SUPPORTED,
13441      Error::ERROR_FRAGMENTED_POOL => crate::ERROR_FRAGMENTED_POOL,
13442      Error::ERROR_OUT_OF_POOL_MEMORY => crate::ERROR_OUT_OF_POOL_MEMORY,
13443      Error::ERROR_INVALID_EXTERNAL_HANDLE => crate::ERROR_INVALID_EXTERNAL_HANDLE,
13444      Error::ERROR_SURFACE_LOST_KHR => crate::ERROR_SURFACE_LOST_KHR,
13445      Error::ERROR_NATIVE_WINDOW_IN_USE_KHR => crate::ERROR_NATIVE_WINDOW_IN_USE_KHR,
13446      Error::ERROR_OUT_OF_DATE_KHR => crate::ERROR_OUT_OF_DATE_KHR,
13447      Error::ERROR_INCOMPATIBLE_DISPLAY_KHR => crate::ERROR_INCOMPATIBLE_DISPLAY_KHR,
13448      Error::ERROR_VALIDATION_FAILED_EXT => crate::ERROR_VALIDATION_FAILED_EXT,
13449      Error::ERROR_INVALID_SHADER_NV => crate::ERROR_INVALID_SHADER_NV,
13450      Error::ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT => crate::ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT,
13451      Error::ERROR_FRAGMENTATION_EXT => crate::ERROR_FRAGMENTATION_EXT,
13452      Error::ERROR_NOT_PERMITTED_EXT => crate::ERROR_NOT_PERMITTED_EXT,
13453      Error::UNKNOWN => crate::Result::max_value(),
13454    }
13455  }
13456}
13457
13458
13459
13460pub mod device;
13461pub mod instance;
13462