Skip to main content

vk/
pfn.gen.rs

1// @generated — do not edit by hand.
2#![allow(non_camel_case_types)]
3use super::{enums::*, types::*};
4
5#[doc = "Nullable native callback `PFN_vkInternalAllocationNotification`."]
6#[doc = "\n\n[Khronos reference: `PFN_vkInternalAllocationNotification`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkInternalAllocationNotification.html)"]
7pub type PFN_vkInternalAllocationNotification = Option<
8	unsafe extern "system" fn(
9		p_user_data: *mut std::ffi::c_void,
10		size: usize,
11		allocation_type: InternalAllocationType,
12		allocation_scope: SystemAllocationScope,
13	) -> (),
14>;
15
16#[doc = "Nullable native callback `PFN_vkInternalFreeNotification`."]
17#[doc = "\n\n[Khronos reference: `PFN_vkInternalFreeNotification`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkInternalFreeNotification.html)"]
18pub type PFN_vkInternalFreeNotification = Option<
19	unsafe extern "system" fn(
20		p_user_data: *mut std::ffi::c_void,
21		size: usize,
22		allocation_type: InternalAllocationType,
23		allocation_scope: SystemAllocationScope,
24	) -> (),
25>;
26
27#[doc = "Nullable native callback `PFN_vkReallocationFunction`."]
28#[doc = "\n\n[Khronos reference: `PFN_vkReallocationFunction`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkReallocationFunction.html)"]
29pub type PFN_vkReallocationFunction = Option<
30	unsafe extern "system" fn(
31		p_user_data: *mut std::ffi::c_void,
32		p_original: *mut std::ffi::c_void,
33		size: usize,
34		alignment: usize,
35		allocation_scope: SystemAllocationScope,
36	) -> *mut std::ffi::c_void,
37>;
38
39#[doc = "Nullable native callback `PFN_vkAllocationFunction`."]
40#[doc = "\n\n[Khronos reference: `PFN_vkAllocationFunction`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkAllocationFunction.html)"]
41pub type PFN_vkAllocationFunction = Option<
42	unsafe extern "system" fn(
43		p_user_data: *mut std::ffi::c_void,
44		size: usize,
45		alignment: usize,
46		allocation_scope: SystemAllocationScope,
47	) -> *mut std::ffi::c_void,
48>;
49
50#[doc = "Nullable native callback `PFN_vkFreeFunction`."]
51#[doc = "\n\n[Khronos reference: `PFN_vkFreeFunction`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkFreeFunction.html)"]
52pub type PFN_vkFreeFunction = Option<
53	unsafe extern "system" fn(
54		p_user_data: *mut std::ffi::c_void,
55		p_memory: *mut std::ffi::c_void,
56	) -> (),
57>;
58
59#[doc = "Nullable native callback `PFN_vkVoidFunction`."]
60#[doc = "\n\n[Khronos reference: `PFN_vkVoidFunction`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkVoidFunction.html)"]
61pub type PFN_vkVoidFunction = Option<unsafe extern "system" fn() -> ()>;
62
63#[doc = "Nullable native callback `PFN_vkDebugReportCallbackEXT`."]
64#[doc = "\n\n[Khronos reference: `PFN_vkDebugReportCallbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkDebugReportCallbackEXT.html)"]
65pub type PFN_vkDebugReportCallbackEXT = Option<
66	unsafe extern "system" fn(
67		flags: DebugReportFlagsEXT,
68		object_type: DebugReportObjectTypeEXT,
69		object: u64,
70		location: usize,
71		message_code: i32,
72		p_layer_prefix: *const std::ffi::c_char,
73		p_message: *const std::ffi::c_char,
74		p_user_data: *mut std::ffi::c_void,
75	) -> Bool32,
76>;
77
78#[doc = "Nullable native callback `PFN_vkDebugUtilsMessengerCallbackEXT`."]
79#[doc = "\n\n[Khronos reference: `PFN_vkDebugUtilsMessengerCallbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkDebugUtilsMessengerCallbackEXT.html)"]
80pub type PFN_vkDebugUtilsMessengerCallbackEXT = Option<
81	unsafe extern "system" fn(
82		message_severity: DebugUtilsMessageSeverityFlagBitsEXT,
83		message_types: DebugUtilsMessageTypeFlagsEXT,
84		p_callback_data: *const DebugUtilsMessengerCallbackDataEXT<'_>,
85		p_user_data: *mut std::ffi::c_void,
86	) -> Bool32,
87>;
88
89#[doc = "Nullable native callback `PFN_vkDeviceMemoryReportCallbackEXT`."]
90#[doc = "\n\n[Khronos reference: `PFN_vkDeviceMemoryReportCallbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkDeviceMemoryReportCallbackEXT.html)"]
91pub type PFN_vkDeviceMemoryReportCallbackEXT = Option<
92	unsafe extern "system" fn(
93		p_callback_data: *const DeviceMemoryReportCallbackDataEXT<'_>,
94		p_user_data: *mut std::ffi::c_void,
95	) -> (),
96>;
97
98#[doc = "Nullable native callback `PFN_vkGetInstanceProcAddrLUNARG`."]
99#[doc = "\n\n[Khronos reference: `PFN_vkGetInstanceProcAddrLUNARG`](https://docs.vulkan.org/refpages/latest/refpages/source/PFN_vkGetInstanceProcAddrLUNARG.html)"]
100pub type PFN_vkGetInstanceProcAddrLUNARG = Option<
101	unsafe extern "system" fn(
102		instance: InstanceHandle,
103		p_name: *const std::ffi::c_char,
104	) -> PFN_vkVoidFunction,
105>;
106
107#[doc = "Nullable function pointer for `vkCreateInstance`."]
108#[doc(alias = "vkCreateInstance")]
109#[doc = "\n\n[Khronos reference: `vkCreateInstance`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateInstance.html)"]
110pub type PFN_vkCreateInstance = Option<
111	unsafe extern "system" fn(
112		p_create_info: *const InstanceCreateInfo<'_>,
113		p_allocator: *const AllocationCallbacks,
114		p_instance: *mut InstanceHandle,
115	) -> Result,
116>;
117
118#[doc = "Nullable function pointer for `vkDestroyInstance`."]
119#[doc(alias = "vkDestroyInstance")]
120#[doc = "\n\n[Khronos reference: `vkDestroyInstance`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyInstance.html)"]
121pub type PFN_vkDestroyInstance = Option<
122	unsafe extern "system" fn(
123		instance: InstanceHandle,
124		p_allocator: *const AllocationCallbacks,
125	) -> (),
126>;
127
128#[doc = "Nullable function pointer for `vkEnumeratePhysicalDevices`."]
129#[doc(alias = "vkEnumeratePhysicalDevices")]
130#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDevices`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDevices.html)"]
131pub type PFN_vkEnumeratePhysicalDevices = Option<
132	unsafe extern "system" fn(
133		instance: InstanceHandle,
134		p_physical_device_count: *mut u32,
135		p_physical_devices: *mut PhysicalDevice,
136	) -> Result,
137>;
138
139#[doc = "Nullable function pointer for `vkGetDeviceProcAddr`."]
140#[doc(alias = "vkGetDeviceProcAddr")]
141#[doc = "\n\n[Khronos reference: `vkGetDeviceProcAddr`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceProcAddr.html)"]
142pub type PFN_vkGetDeviceProcAddr = Option<
143	unsafe extern "system" fn(
144		device: DeviceHandle,
145		p_name: *const std::ffi::c_char,
146	) -> PFN_vkVoidFunction,
147>;
148
149#[doc = "Nullable function pointer for `vkGetInstanceProcAddr`."]
150#[doc(alias = "vkGetInstanceProcAddr")]
151#[doc = "\n\n[Khronos reference: `vkGetInstanceProcAddr`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetInstanceProcAddr.html)"]
152pub type PFN_vkGetInstanceProcAddr = Option<
153	unsafe extern "system" fn(
154		instance: InstanceHandle,
155		p_name: *const std::ffi::c_char,
156	) -> PFN_vkVoidFunction,
157>;
158
159#[doc = "Nullable function pointer for `vkGetPhysicalDeviceProperties`."]
160#[doc(alias = "vkGetPhysicalDeviceProperties")]
161#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceProperties.html)"]
162pub type PFN_vkGetPhysicalDeviceProperties = Option<
163	unsafe extern "system" fn(
164		physical_device: PhysicalDevice,
165		p_properties: *mut PhysicalDeviceProperties,
166	) -> (),
167>;
168
169#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyProperties`."]
170#[doc(alias = "vkGetPhysicalDeviceQueueFamilyProperties")]
171#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyProperties.html)"]
172pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = Option<
173	unsafe extern "system" fn(
174		physical_device: PhysicalDevice,
175		p_queue_family_property_count: *mut u32,
176		p_queue_family_properties: *mut QueueFamilyProperties,
177	) -> (),
178>;
179
180#[doc = "Nullable function pointer for `vkGetPhysicalDeviceMemoryProperties`."]
181#[doc(alias = "vkGetPhysicalDeviceMemoryProperties")]
182#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceMemoryProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceMemoryProperties.html)"]
183pub type PFN_vkGetPhysicalDeviceMemoryProperties = Option<
184	unsafe extern "system" fn(
185		physical_device: PhysicalDevice,
186		p_memory_properties: *mut PhysicalDeviceMemoryProperties,
187	) -> (),
188>;
189
190#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFeatures`."]
191#[doc(alias = "vkGetPhysicalDeviceFeatures")]
192#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFeatures`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFeatures.html)"]
193pub type PFN_vkGetPhysicalDeviceFeatures = Option<
194	unsafe extern "system" fn(
195		physical_device: PhysicalDevice,
196		p_features: *mut PhysicalDeviceFeatures,
197	) -> (),
198>;
199
200#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFormatProperties`."]
201#[doc(alias = "vkGetPhysicalDeviceFormatProperties")]
202#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFormatProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFormatProperties.html)"]
203pub type PFN_vkGetPhysicalDeviceFormatProperties = Option<
204	unsafe extern "system" fn(
205		physical_device: PhysicalDevice,
206		format: Format,
207		p_format_properties: *mut FormatProperties,
208	) -> (),
209>;
210
211#[doc = "Nullable function pointer for `vkGetPhysicalDeviceImageFormatProperties`."]
212#[doc(alias = "vkGetPhysicalDeviceImageFormatProperties")]
213#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceImageFormatProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceImageFormatProperties.html)"]
214pub type PFN_vkGetPhysicalDeviceImageFormatProperties = Option<
215	unsafe extern "system" fn(
216		physical_device: PhysicalDevice,
217		format: Format,
218		r#type: ImageType,
219		tiling: ImageTiling,
220		usage: ImageUsageFlags,
221		flags: ImageCreateFlags,
222		p_image_format_properties: *mut ImageFormatProperties,
223	) -> Result,
224>;
225
226#[doc = "Nullable function pointer for `vkCreateDevice`."]
227#[doc(alias = "vkCreateDevice")]
228#[doc = "\n\n[Khronos reference: `vkCreateDevice`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDevice.html)"]
229pub type PFN_vkCreateDevice = Option<
230	unsafe extern "system" fn(
231		physical_device: PhysicalDevice,
232		p_create_info: *const DeviceCreateInfo<'_>,
233		p_allocator: *const AllocationCallbacks,
234		p_device: *mut DeviceHandle,
235	) -> Result,
236>;
237
238#[doc = "Nullable function pointer for `vkDestroyDevice`."]
239#[doc(alias = "vkDestroyDevice")]
240#[doc = "\n\n[Khronos reference: `vkDestroyDevice`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDevice.html)"]
241pub type PFN_vkDestroyDevice = Option<
242	unsafe extern "system" fn(device: DeviceHandle, p_allocator: *const AllocationCallbacks) -> (),
243>;
244
245#[doc = "Nullable function pointer for `vkEnumerateInstanceVersion`."]
246#[doc(alias = "vkEnumerateInstanceVersion")]
247#[doc = "\n\n[Khronos reference: `vkEnumerateInstanceVersion`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateInstanceVersion.html)"]
248pub type PFN_vkEnumerateInstanceVersion =
249	Option<unsafe extern "system" fn(p_api_version: *mut u32) -> Result>;
250
251#[doc = "Nullable function pointer for `vkEnumerateInstanceLayerProperties`."]
252#[doc(alias = "vkEnumerateInstanceLayerProperties")]
253#[doc = "\n\n[Khronos reference: `vkEnumerateInstanceLayerProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateInstanceLayerProperties.html)"]
254pub type PFN_vkEnumerateInstanceLayerProperties = Option<
255	unsafe extern "system" fn(
256		p_property_count: *mut u32,
257		p_properties: *mut LayerProperties,
258	) -> Result,
259>;
260
261#[doc = "Nullable function pointer for `vkEnumerateInstanceExtensionProperties`."]
262#[doc(alias = "vkEnumerateInstanceExtensionProperties")]
263#[doc = "\n\n[Khronos reference: `vkEnumerateInstanceExtensionProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateInstanceExtensionProperties.html)"]
264pub type PFN_vkEnumerateInstanceExtensionProperties = Option<
265	unsafe extern "system" fn(
266		p_layer_name: *const std::ffi::c_char,
267		p_property_count: *mut u32,
268		p_properties: *mut ExtensionProperties,
269	) -> Result,
270>;
271
272#[doc = "Nullable function pointer for `vkEnumerateDeviceLayerProperties`."]
273#[doc(alias = "vkEnumerateDeviceLayerProperties")]
274#[doc = "\n\n[Khronos reference: `vkEnumerateDeviceLayerProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateDeviceLayerProperties.html)"]
275pub type PFN_vkEnumerateDeviceLayerProperties = Option<
276	unsafe extern "system" fn(
277		physical_device: PhysicalDevice,
278		p_property_count: *mut u32,
279		p_properties: *mut LayerProperties,
280	) -> Result,
281>;
282
283#[doc = "Nullable function pointer for `vkEnumerateDeviceExtensionProperties`."]
284#[doc(alias = "vkEnumerateDeviceExtensionProperties")]
285#[doc = "\n\n[Khronos reference: `vkEnumerateDeviceExtensionProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateDeviceExtensionProperties.html)"]
286pub type PFN_vkEnumerateDeviceExtensionProperties = Option<
287	unsafe extern "system" fn(
288		physical_device: PhysicalDevice,
289		p_layer_name: *const std::ffi::c_char,
290		p_property_count: *mut u32,
291		p_properties: *mut ExtensionProperties,
292	) -> Result,
293>;
294
295#[doc = "Nullable function pointer for `vkGetDeviceQueue`."]
296#[doc(alias = "vkGetDeviceQueue")]
297#[doc = "\n\n[Khronos reference: `vkGetDeviceQueue`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceQueue.html)"]
298pub type PFN_vkGetDeviceQueue = Option<
299	unsafe extern "system" fn(
300		device: DeviceHandle,
301		queue_family_index: u32,
302		queue_index: u32,
303		p_queue: *mut Queue,
304	) -> (),
305>;
306
307#[doc = "Nullable function pointer for `vkQueueSubmit`."]
308#[doc(alias = "vkQueueSubmit")]
309#[doc = "\n\n[Khronos reference: `vkQueueSubmit`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueSubmit.html)"]
310pub type PFN_vkQueueSubmit = Option<
311	unsafe extern "system" fn(
312		queue: Queue,
313		submit_count: u32,
314		p_submits: *const SubmitInfo<'_>,
315		fence: Fence,
316	) -> Result,
317>;
318
319#[doc = "Nullable function pointer for `vkQueueWaitIdle`."]
320#[doc(alias = "vkQueueWaitIdle")]
321#[doc = "\n\n[Khronos reference: `vkQueueWaitIdle`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueWaitIdle.html)"]
322pub type PFN_vkQueueWaitIdle = Option<unsafe extern "system" fn(queue: Queue) -> Result>;
323
324#[doc = "Nullable function pointer for `vkDeviceWaitIdle`."]
325#[doc(alias = "vkDeviceWaitIdle")]
326#[doc = "\n\n[Khronos reference: `vkDeviceWaitIdle`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDeviceWaitIdle.html)"]
327pub type PFN_vkDeviceWaitIdle = Option<unsafe extern "system" fn(device: DeviceHandle) -> Result>;
328
329#[doc = "Nullable function pointer for `vkAllocateMemory`."]
330#[doc(alias = "vkAllocateMemory")]
331#[doc = "\n\n[Khronos reference: `vkAllocateMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAllocateMemory.html)"]
332pub type PFN_vkAllocateMemory = Option<
333	unsafe extern "system" fn(
334		device: DeviceHandle,
335		p_allocate_info: *const MemoryAllocateInfo<'_>,
336		p_allocator: *const AllocationCallbacks,
337		p_memory: *mut DeviceMemory,
338	) -> Result,
339>;
340
341#[doc = "Nullable function pointer for `vkFreeMemory`."]
342#[doc(alias = "vkFreeMemory")]
343#[doc = "\n\n[Khronos reference: `vkFreeMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkFreeMemory.html)"]
344pub type PFN_vkFreeMemory = Option<
345	unsafe extern "system" fn(
346		device: DeviceHandle,
347		memory: DeviceMemory,
348		p_allocator: *const AllocationCallbacks,
349	) -> (),
350>;
351
352#[doc = "Nullable function pointer for `vkMapMemory`."]
353#[doc(alias = "vkMapMemory")]
354#[doc = "\n\n[Khronos reference: `vkMapMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkMapMemory.html)"]
355pub type PFN_vkMapMemory = Option<
356	unsafe extern "system" fn(
357		device: DeviceHandle,
358		memory: DeviceMemory,
359		offset: DeviceSize,
360		size: DeviceSize,
361		flags: MemoryMapFlags,
362		pp_data: *mut *mut std::ffi::c_void,
363	) -> Result,
364>;
365
366#[doc = "Nullable function pointer for `vkUnmapMemory`."]
367#[doc(alias = "vkUnmapMemory")]
368#[doc = "\n\n[Khronos reference: `vkUnmapMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUnmapMemory.html)"]
369pub type PFN_vkUnmapMemory =
370	Option<unsafe extern "system" fn(device: DeviceHandle, memory: DeviceMemory) -> ()>;
371
372#[doc = "Nullable function pointer for `vkFlushMappedMemoryRanges`."]
373#[doc(alias = "vkFlushMappedMemoryRanges")]
374#[doc = "\n\n[Khronos reference: `vkFlushMappedMemoryRanges`](https://docs.vulkan.org/refpages/latest/refpages/source/vkFlushMappedMemoryRanges.html)"]
375pub type PFN_vkFlushMappedMemoryRanges = Option<
376	unsafe extern "system" fn(
377		device: DeviceHandle,
378		memory_range_count: u32,
379		p_memory_ranges: *const MappedMemoryRange<'_>,
380	) -> Result,
381>;
382
383#[doc = "Nullable function pointer for `vkInvalidateMappedMemoryRanges`."]
384#[doc(alias = "vkInvalidateMappedMemoryRanges")]
385#[doc = "\n\n[Khronos reference: `vkInvalidateMappedMemoryRanges`](https://docs.vulkan.org/refpages/latest/refpages/source/vkInvalidateMappedMemoryRanges.html)"]
386pub type PFN_vkInvalidateMappedMemoryRanges = Option<
387	unsafe extern "system" fn(
388		device: DeviceHandle,
389		memory_range_count: u32,
390		p_memory_ranges: *const MappedMemoryRange<'_>,
391	) -> Result,
392>;
393
394#[doc = "Nullable function pointer for `vkGetDeviceMemoryCommitment`."]
395#[doc(alias = "vkGetDeviceMemoryCommitment")]
396#[doc = "\n\n[Khronos reference: `vkGetDeviceMemoryCommitment`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceMemoryCommitment.html)"]
397pub type PFN_vkGetDeviceMemoryCommitment = Option<
398	unsafe extern "system" fn(
399		device: DeviceHandle,
400		memory: DeviceMemory,
401		p_committed_memory_in_bytes: *mut DeviceSize,
402	) -> (),
403>;
404
405#[doc = "Nullable function pointer for `vkGetBufferMemoryRequirements`."]
406#[doc(alias = "vkGetBufferMemoryRequirements")]
407#[doc = "\n\n[Khronos reference: `vkGetBufferMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferMemoryRequirements.html)"]
408pub type PFN_vkGetBufferMemoryRequirements = Option<
409	unsafe extern "system" fn(
410		device: DeviceHandle,
411		buffer: Buffer,
412		p_memory_requirements: *mut MemoryRequirements,
413	) -> (),
414>;
415
416#[doc = "Nullable function pointer for `vkBindBufferMemory`."]
417#[doc(alias = "vkBindBufferMemory")]
418#[doc = "\n\n[Khronos reference: `vkBindBufferMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindBufferMemory.html)"]
419pub type PFN_vkBindBufferMemory = Option<
420	unsafe extern "system" fn(
421		device: DeviceHandle,
422		buffer: Buffer,
423		memory: DeviceMemory,
424		memory_offset: DeviceSize,
425	) -> Result,
426>;
427
428#[doc = "Nullable function pointer for `vkGetImageMemoryRequirements`."]
429#[doc(alias = "vkGetImageMemoryRequirements")]
430#[doc = "\n\n[Khronos reference: `vkGetImageMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageMemoryRequirements.html)"]
431pub type PFN_vkGetImageMemoryRequirements = Option<
432	unsafe extern "system" fn(
433		device: DeviceHandle,
434		image: Image,
435		p_memory_requirements: *mut MemoryRequirements,
436	) -> (),
437>;
438
439#[doc = "Nullable function pointer for `vkBindImageMemory`."]
440#[doc(alias = "vkBindImageMemory")]
441#[doc = "\n\n[Khronos reference: `vkBindImageMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindImageMemory.html)"]
442pub type PFN_vkBindImageMemory = Option<
443	unsafe extern "system" fn(
444		device: DeviceHandle,
445		image: Image,
446		memory: DeviceMemory,
447		memory_offset: DeviceSize,
448	) -> Result,
449>;
450
451#[doc = "Nullable function pointer for `vkGetImageSparseMemoryRequirements`."]
452#[doc(alias = "vkGetImageSparseMemoryRequirements")]
453#[doc = "\n\n[Khronos reference: `vkGetImageSparseMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSparseMemoryRequirements.html)"]
454pub type PFN_vkGetImageSparseMemoryRequirements = Option<
455	unsafe extern "system" fn(
456		device: DeviceHandle,
457		image: Image,
458		p_sparse_memory_requirement_count: *mut u32,
459		p_sparse_memory_requirements: *mut SparseImageMemoryRequirements,
460	) -> (),
461>;
462
463#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSparseImageFormatProperties`."]
464#[doc(alias = "vkGetPhysicalDeviceSparseImageFormatProperties")]
465#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSparseImageFormatProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSparseImageFormatProperties.html)"]
466pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = Option<
467	unsafe extern "system" fn(
468		physical_device: PhysicalDevice,
469		format: Format,
470		r#type: ImageType,
471		samples: SampleCountFlagBits,
472		usage: ImageUsageFlags,
473		tiling: ImageTiling,
474		p_property_count: *mut u32,
475		p_properties: *mut SparseImageFormatProperties,
476	) -> (),
477>;
478
479#[doc = "Nullable function pointer for `vkQueueBindSparse`."]
480#[doc(alias = "vkQueueBindSparse")]
481#[doc = "\n\n[Khronos reference: `vkQueueBindSparse`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueBindSparse.html)"]
482pub type PFN_vkQueueBindSparse = Option<
483	unsafe extern "system" fn(
484		queue: Queue,
485		bind_info_count: u32,
486		p_bind_info: *const BindSparseInfo<'_>,
487		fence: Fence,
488	) -> Result,
489>;
490
491#[doc = "Nullable function pointer for `vkCreateFence`."]
492#[doc(alias = "vkCreateFence")]
493#[doc = "\n\n[Khronos reference: `vkCreateFence`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateFence.html)"]
494pub type PFN_vkCreateFence = Option<
495	unsafe extern "system" fn(
496		device: DeviceHandle,
497		p_create_info: *const FenceCreateInfo<'_>,
498		p_allocator: *const AllocationCallbacks,
499		p_fence: *mut Fence,
500	) -> Result,
501>;
502
503#[doc = "Nullable function pointer for `vkDestroyFence`."]
504#[doc(alias = "vkDestroyFence")]
505#[doc = "\n\n[Khronos reference: `vkDestroyFence`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyFence.html)"]
506pub type PFN_vkDestroyFence = Option<
507	unsafe extern "system" fn(
508		device: DeviceHandle,
509		fence: Fence,
510		p_allocator: *const AllocationCallbacks,
511	) -> (),
512>;
513
514#[doc = "Nullable function pointer for `vkResetFences`."]
515#[doc(alias = "vkResetFences")]
516#[doc = "\n\n[Khronos reference: `vkResetFences`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetFences.html)"]
517pub type PFN_vkResetFences = Option<
518	unsafe extern "system" fn(
519		device: DeviceHandle,
520		fence_count: u32,
521		p_fences: *const Fence,
522	) -> Result,
523>;
524
525#[doc = "Nullable function pointer for `vkGetFenceStatus`."]
526#[doc(alias = "vkGetFenceStatus")]
527#[doc = "\n\n[Khronos reference: `vkGetFenceStatus`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetFenceStatus.html)"]
528pub type PFN_vkGetFenceStatus =
529	Option<unsafe extern "system" fn(device: DeviceHandle, fence: Fence) -> Result>;
530
531#[doc = "Nullable function pointer for `vkWaitForFences`."]
532#[doc(alias = "vkWaitForFences")]
533#[doc = "\n\n[Khronos reference: `vkWaitForFences`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWaitForFences.html)"]
534pub type PFN_vkWaitForFences = Option<
535	unsafe extern "system" fn(
536		device: DeviceHandle,
537		fence_count: u32,
538		p_fences: *const Fence,
539		wait_all: Bool32,
540		timeout: u64,
541	) -> Result,
542>;
543
544#[doc = "Nullable function pointer for `vkCreateSemaphore`."]
545#[doc(alias = "vkCreateSemaphore")]
546#[doc = "\n\n[Khronos reference: `vkCreateSemaphore`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSemaphore.html)"]
547pub type PFN_vkCreateSemaphore = Option<
548	unsafe extern "system" fn(
549		device: DeviceHandle,
550		p_create_info: *const SemaphoreCreateInfo<'_>,
551		p_allocator: *const AllocationCallbacks,
552		p_semaphore: *mut Semaphore,
553	) -> Result,
554>;
555
556#[doc = "Nullable function pointer for `vkDestroySemaphore`."]
557#[doc(alias = "vkDestroySemaphore")]
558#[doc = "\n\n[Khronos reference: `vkDestroySemaphore`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySemaphore.html)"]
559pub type PFN_vkDestroySemaphore = Option<
560	unsafe extern "system" fn(
561		device: DeviceHandle,
562		semaphore: Semaphore,
563		p_allocator: *const AllocationCallbacks,
564	) -> (),
565>;
566
567#[doc = "Nullable function pointer for `vkCreateEvent`."]
568#[doc(alias = "vkCreateEvent")]
569#[doc = "\n\n[Khronos reference: `vkCreateEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateEvent.html)"]
570pub type PFN_vkCreateEvent = Option<
571	unsafe extern "system" fn(
572		device: DeviceHandle,
573		p_create_info: *const EventCreateInfo<'_>,
574		p_allocator: *const AllocationCallbacks,
575		p_event: *mut Event,
576	) -> Result,
577>;
578
579#[doc = "Nullable function pointer for `vkDestroyEvent`."]
580#[doc(alias = "vkDestroyEvent")]
581#[doc = "\n\n[Khronos reference: `vkDestroyEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyEvent.html)"]
582pub type PFN_vkDestroyEvent = Option<
583	unsafe extern "system" fn(
584		device: DeviceHandle,
585		event: Event,
586		p_allocator: *const AllocationCallbacks,
587	) -> (),
588>;
589
590#[doc = "Nullable function pointer for `vkGetEventStatus`."]
591#[doc(alias = "vkGetEventStatus")]
592#[doc = "\n\n[Khronos reference: `vkGetEventStatus`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetEventStatus.html)"]
593pub type PFN_vkGetEventStatus =
594	Option<unsafe extern "system" fn(device: DeviceHandle, event: Event) -> Result>;
595
596#[doc = "Nullable function pointer for `vkSetEvent`."]
597#[doc(alias = "vkSetEvent")]
598#[doc = "\n\n[Khronos reference: `vkSetEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetEvent.html)"]
599pub type PFN_vkSetEvent =
600	Option<unsafe extern "system" fn(device: DeviceHandle, event: Event) -> Result>;
601
602#[doc = "Nullable function pointer for `vkResetEvent`."]
603#[doc(alias = "vkResetEvent")]
604#[doc = "\n\n[Khronos reference: `vkResetEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetEvent.html)"]
605pub type PFN_vkResetEvent =
606	Option<unsafe extern "system" fn(device: DeviceHandle, event: Event) -> Result>;
607
608#[doc = "Nullable function pointer for `vkCreateQueryPool`."]
609#[doc(alias = "vkCreateQueryPool")]
610#[doc = "\n\n[Khronos reference: `vkCreateQueryPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateQueryPool.html)"]
611pub type PFN_vkCreateQueryPool = Option<
612	unsafe extern "system" fn(
613		device: DeviceHandle,
614		p_create_info: *const QueryPoolCreateInfo<'_>,
615		p_allocator: *const AllocationCallbacks,
616		p_query_pool: *mut QueryPool,
617	) -> Result,
618>;
619
620#[doc = "Nullable function pointer for `vkDestroyQueryPool`."]
621#[doc(alias = "vkDestroyQueryPool")]
622#[doc = "\n\n[Khronos reference: `vkDestroyQueryPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyQueryPool.html)"]
623pub type PFN_vkDestroyQueryPool = Option<
624	unsafe extern "system" fn(
625		device: DeviceHandle,
626		query_pool: QueryPool,
627		p_allocator: *const AllocationCallbacks,
628	) -> (),
629>;
630
631#[doc = "Nullable function pointer for `vkGetQueryPoolResults`."]
632#[doc(alias = "vkGetQueryPoolResults")]
633#[doc = "\n\n[Khronos reference: `vkGetQueryPoolResults`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetQueryPoolResults.html)"]
634pub type PFN_vkGetQueryPoolResults = Option<
635	unsafe extern "system" fn(
636		device: DeviceHandle,
637		query_pool: QueryPool,
638		first_query: u32,
639		query_count: u32,
640		data_size: usize,
641		p_data: *mut std::ffi::c_void,
642		stride: DeviceSize,
643		flags: QueryResultFlags,
644	) -> Result,
645>;
646
647#[doc = "Nullable function pointer for `vkResetQueryPool`."]
648#[doc(alias = "vkResetQueryPool")]
649#[doc = "\n\n[Khronos reference: `vkResetQueryPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetQueryPool.html)"]
650pub type PFN_vkResetQueryPool = Option<
651	unsafe extern "system" fn(
652		device: DeviceHandle,
653		query_pool: QueryPool,
654		first_query: u32,
655		query_count: u32,
656	) -> (),
657>;
658
659#[doc = "Nullable function pointer for `vkResetQueryPoolEXT`."]
660#[doc(alias = "vkResetQueryPoolEXT")]
661#[doc = "\n\n[Khronos reference: `vkResetQueryPoolEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetQueryPoolEXT.html)"]
662pub type PFN_vkResetQueryPoolEXT = PFN_vkResetQueryPool;
663
664#[doc = "Nullable function pointer for `vkCreateBuffer`."]
665#[doc(alias = "vkCreateBuffer")]
666#[doc = "\n\n[Khronos reference: `vkCreateBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateBuffer.html)"]
667pub type PFN_vkCreateBuffer = Option<
668	unsafe extern "system" fn(
669		device: DeviceHandle,
670		p_create_info: *const BufferCreateInfo<'_>,
671		p_allocator: *const AllocationCallbacks,
672		p_buffer: *mut Buffer,
673	) -> Result,
674>;
675
676#[doc = "Nullable function pointer for `vkDestroyBuffer`."]
677#[doc(alias = "vkDestroyBuffer")]
678#[doc = "\n\n[Khronos reference: `vkDestroyBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyBuffer.html)"]
679pub type PFN_vkDestroyBuffer = Option<
680	unsafe extern "system" fn(
681		device: DeviceHandle,
682		buffer: Buffer,
683		p_allocator: *const AllocationCallbacks,
684	) -> (),
685>;
686
687#[doc = "Nullable function pointer for `vkCreateBufferView`."]
688#[doc(alias = "vkCreateBufferView")]
689#[doc = "\n\n[Khronos reference: `vkCreateBufferView`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateBufferView.html)"]
690pub type PFN_vkCreateBufferView = Option<
691	unsafe extern "system" fn(
692		device: DeviceHandle,
693		p_create_info: *const BufferViewCreateInfo<'_>,
694		p_allocator: *const AllocationCallbacks,
695		p_view: *mut BufferView,
696	) -> Result,
697>;
698
699#[doc = "Nullable function pointer for `vkDestroyBufferView`."]
700#[doc(alias = "vkDestroyBufferView")]
701#[doc = "\n\n[Khronos reference: `vkDestroyBufferView`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyBufferView.html)"]
702pub type PFN_vkDestroyBufferView = Option<
703	unsafe extern "system" fn(
704		device: DeviceHandle,
705		buffer_view: BufferView,
706		p_allocator: *const AllocationCallbacks,
707	) -> (),
708>;
709
710#[doc = "Nullable function pointer for `vkCreateImage`."]
711#[doc(alias = "vkCreateImage")]
712#[doc = "\n\n[Khronos reference: `vkCreateImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateImage.html)"]
713pub type PFN_vkCreateImage = Option<
714	unsafe extern "system" fn(
715		device: DeviceHandle,
716		p_create_info: *const ImageCreateInfo<'_>,
717		p_allocator: *const AllocationCallbacks,
718		p_image: *mut Image,
719	) -> Result,
720>;
721
722#[doc = "Nullable function pointer for `vkDestroyImage`."]
723#[doc(alias = "vkDestroyImage")]
724#[doc = "\n\n[Khronos reference: `vkDestroyImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyImage.html)"]
725pub type PFN_vkDestroyImage = Option<
726	unsafe extern "system" fn(
727		device: DeviceHandle,
728		image: Image,
729		p_allocator: *const AllocationCallbacks,
730	) -> (),
731>;
732
733#[doc = "Nullable function pointer for `vkGetImageSubresourceLayout`."]
734#[doc(alias = "vkGetImageSubresourceLayout")]
735#[doc = "\n\n[Khronos reference: `vkGetImageSubresourceLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSubresourceLayout.html)"]
736pub type PFN_vkGetImageSubresourceLayout = Option<
737	unsafe extern "system" fn(
738		device: DeviceHandle,
739		image: Image,
740		p_subresource: *const ImageSubresource,
741		p_layout: *mut SubresourceLayout,
742	) -> (),
743>;
744
745#[doc = "Nullable function pointer for `vkCreateImageView`."]
746#[doc(alias = "vkCreateImageView")]
747#[doc = "\n\n[Khronos reference: `vkCreateImageView`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateImageView.html)"]
748pub type PFN_vkCreateImageView = Option<
749	unsafe extern "system" fn(
750		device: DeviceHandle,
751		p_create_info: *const ImageViewCreateInfo<'_>,
752		p_allocator: *const AllocationCallbacks,
753		p_view: *mut ImageView,
754	) -> Result,
755>;
756
757#[doc = "Nullable function pointer for `vkDestroyImageView`."]
758#[doc(alias = "vkDestroyImageView")]
759#[doc = "\n\n[Khronos reference: `vkDestroyImageView`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyImageView.html)"]
760pub type PFN_vkDestroyImageView = Option<
761	unsafe extern "system" fn(
762		device: DeviceHandle,
763		image_view: ImageView,
764		p_allocator: *const AllocationCallbacks,
765	) -> (),
766>;
767
768#[doc = "Nullable function pointer for `vkCreateShaderModule`."]
769#[doc(alias = "vkCreateShaderModule")]
770#[doc = "\n\n[Khronos reference: `vkCreateShaderModule`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateShaderModule.html)"]
771pub type PFN_vkCreateShaderModule = Option<
772	unsafe extern "system" fn(
773		device: DeviceHandle,
774		p_create_info: *const ShaderModuleCreateInfo<'_>,
775		p_allocator: *const AllocationCallbacks,
776		p_shader_module: *mut ShaderModule,
777	) -> Result,
778>;
779
780#[doc = "Nullable function pointer for `vkDestroyShaderModule`."]
781#[doc(alias = "vkDestroyShaderModule")]
782#[doc = "\n\n[Khronos reference: `vkDestroyShaderModule`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyShaderModule.html)"]
783pub type PFN_vkDestroyShaderModule = Option<
784	unsafe extern "system" fn(
785		device: DeviceHandle,
786		shader_module: ShaderModule,
787		p_allocator: *const AllocationCallbacks,
788	) -> (),
789>;
790
791#[doc = "Nullable function pointer for `vkCreatePipelineCache`."]
792#[doc(alias = "vkCreatePipelineCache")]
793#[doc = "\n\n[Khronos reference: `vkCreatePipelineCache`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreatePipelineCache.html)"]
794pub type PFN_vkCreatePipelineCache = Option<
795	unsafe extern "system" fn(
796		device: DeviceHandle,
797		p_create_info: *const PipelineCacheCreateInfo<'_>,
798		p_allocator: *const AllocationCallbacks,
799		p_pipeline_cache: *mut PipelineCache,
800	) -> Result,
801>;
802
803#[doc = "Nullable function pointer for `vkDestroyPipelineCache`."]
804#[doc(alias = "vkDestroyPipelineCache")]
805#[doc = "\n\n[Khronos reference: `vkDestroyPipelineCache`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPipelineCache.html)"]
806pub type PFN_vkDestroyPipelineCache = Option<
807	unsafe extern "system" fn(
808		device: DeviceHandle,
809		pipeline_cache: PipelineCache,
810		p_allocator: *const AllocationCallbacks,
811	) -> (),
812>;
813
814#[doc = "Nullable function pointer for `vkGetPipelineCacheData`."]
815#[doc(alias = "vkGetPipelineCacheData")]
816#[doc = "\n\n[Khronos reference: `vkGetPipelineCacheData`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineCacheData.html)"]
817pub type PFN_vkGetPipelineCacheData = Option<
818	unsafe extern "system" fn(
819		device: DeviceHandle,
820		pipeline_cache: PipelineCache,
821		p_data_size: *mut usize,
822		p_data: *mut std::ffi::c_void,
823	) -> Result,
824>;
825
826#[doc = "Nullable function pointer for `vkMergePipelineCaches`."]
827#[doc(alias = "vkMergePipelineCaches")]
828#[doc = "\n\n[Khronos reference: `vkMergePipelineCaches`](https://docs.vulkan.org/refpages/latest/refpages/source/vkMergePipelineCaches.html)"]
829pub type PFN_vkMergePipelineCaches = Option<
830	unsafe extern "system" fn(
831		device: DeviceHandle,
832		dst_cache: PipelineCache,
833		src_cache_count: u32,
834		p_src_caches: *const PipelineCache,
835	) -> Result,
836>;
837
838#[doc = "Nullable function pointer for `vkCreatePipelineBinariesKHR`."]
839#[doc(alias = "vkCreatePipelineBinariesKHR")]
840#[doc = "\n\n[Khronos reference: `vkCreatePipelineBinariesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreatePipelineBinariesKHR.html)"]
841pub type PFN_vkCreatePipelineBinariesKHR = Option<
842	unsafe extern "system" fn(
843		device: DeviceHandle,
844		p_create_info: *const PipelineBinaryCreateInfoKHR<'_>,
845		p_allocator: *const AllocationCallbacks,
846		p_binaries: *mut PipelineBinaryHandlesInfoKHR<'_>,
847	) -> Result,
848>;
849
850#[doc = "Nullable function pointer for `vkDestroyPipelineBinaryKHR`."]
851#[doc(alias = "vkDestroyPipelineBinaryKHR")]
852#[doc = "\n\n[Khronos reference: `vkDestroyPipelineBinaryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPipelineBinaryKHR.html)"]
853pub type PFN_vkDestroyPipelineBinaryKHR = Option<
854	unsafe extern "system" fn(
855		device: DeviceHandle,
856		pipeline_binary: PipelineBinaryKHR,
857		p_allocator: *const AllocationCallbacks,
858	) -> (),
859>;
860
861#[doc = "Nullable function pointer for `vkGetPipelineKeyKHR`."]
862#[doc(alias = "vkGetPipelineKeyKHR")]
863#[doc = "\n\n[Khronos reference: `vkGetPipelineKeyKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineKeyKHR.html)"]
864pub type PFN_vkGetPipelineKeyKHR = Option<
865	unsafe extern "system" fn(
866		device: DeviceHandle,
867		p_pipeline_create_info: *const PipelineCreateInfoKHR<'_>,
868		p_pipeline_key: *mut PipelineBinaryKeyKHR<'_>,
869	) -> Result,
870>;
871
872#[doc = "Nullable function pointer for `vkGetPipelineBinaryDataKHR`."]
873#[doc(alias = "vkGetPipelineBinaryDataKHR")]
874#[doc = "\n\n[Khronos reference: `vkGetPipelineBinaryDataKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineBinaryDataKHR.html)"]
875pub type PFN_vkGetPipelineBinaryDataKHR = Option<
876	unsafe extern "system" fn(
877		device: DeviceHandle,
878		p_info: *const PipelineBinaryDataInfoKHR<'_>,
879		p_pipeline_binary_key: *mut PipelineBinaryKeyKHR<'_>,
880		p_pipeline_binary_data_size: *mut usize,
881		p_pipeline_binary_data: *mut std::ffi::c_void,
882	) -> Result,
883>;
884
885#[doc = "Nullable function pointer for `vkReleaseCapturedPipelineDataKHR`."]
886#[doc(alias = "vkReleaseCapturedPipelineDataKHR")]
887#[doc = "\n\n[Khronos reference: `vkReleaseCapturedPipelineDataKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseCapturedPipelineDataKHR.html)"]
888pub type PFN_vkReleaseCapturedPipelineDataKHR = Option<
889	unsafe extern "system" fn(
890		device: DeviceHandle,
891		p_info: *const ReleaseCapturedPipelineDataInfoKHR<'_>,
892		p_allocator: *const AllocationCallbacks,
893	) -> Result,
894>;
895
896#[doc = "Nullable function pointer for `vkCreateGraphicsPipelines`."]
897#[doc(alias = "vkCreateGraphicsPipelines")]
898#[doc = "\n\n[Khronos reference: `vkCreateGraphicsPipelines`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateGraphicsPipelines.html)"]
899pub type PFN_vkCreateGraphicsPipelines = Option<
900	unsafe extern "system" fn(
901		device: DeviceHandle,
902		pipeline_cache: PipelineCache,
903		create_info_count: u32,
904		p_create_infos: *const GraphicsPipelineCreateInfo<'_>,
905		p_allocator: *const AllocationCallbacks,
906		p_pipelines: *mut Pipeline,
907	) -> Result,
908>;
909
910#[doc = "Nullable function pointer for `vkCreateComputePipelines`."]
911#[doc(alias = "vkCreateComputePipelines")]
912#[doc = "\n\n[Khronos reference: `vkCreateComputePipelines`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateComputePipelines.html)"]
913pub type PFN_vkCreateComputePipelines = Option<
914	unsafe extern "system" fn(
915		device: DeviceHandle,
916		pipeline_cache: PipelineCache,
917		create_info_count: u32,
918		p_create_infos: *const ComputePipelineCreateInfo<'_>,
919		p_allocator: *const AllocationCallbacks,
920		p_pipelines: *mut Pipeline,
921	) -> Result,
922>;
923
924#[doc = "Nullable function pointer for `vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI`."]
925#[doc(alias = "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")]
926#[doc = "\n\n[Khronos reference: `vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html)"]
927pub type PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Option<
928	unsafe extern "system" fn(
929		device: DeviceHandle,
930		renderpass: RenderPass,
931		p_max_workgroup_size: *mut Extent2D,
932	) -> Result,
933>;
934
935#[doc = "Nullable function pointer for `vkDestroyPipeline`."]
936#[doc(alias = "vkDestroyPipeline")]
937#[doc = "\n\n[Khronos reference: `vkDestroyPipeline`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPipeline.html)"]
938pub type PFN_vkDestroyPipeline = Option<
939	unsafe extern "system" fn(
940		device: DeviceHandle,
941		pipeline: Pipeline,
942		p_allocator: *const AllocationCallbacks,
943	) -> (),
944>;
945
946#[doc = "Nullable function pointer for `vkCreatePipelineLayout`."]
947#[doc(alias = "vkCreatePipelineLayout")]
948#[doc = "\n\n[Khronos reference: `vkCreatePipelineLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreatePipelineLayout.html)"]
949pub type PFN_vkCreatePipelineLayout = Option<
950	unsafe extern "system" fn(
951		device: DeviceHandle,
952		p_create_info: *const PipelineLayoutCreateInfo<'_>,
953		p_allocator: *const AllocationCallbacks,
954		p_pipeline_layout: *mut PipelineLayout,
955	) -> Result,
956>;
957
958#[doc = "Nullable function pointer for `vkDestroyPipelineLayout`."]
959#[doc(alias = "vkDestroyPipelineLayout")]
960#[doc = "\n\n[Khronos reference: `vkDestroyPipelineLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPipelineLayout.html)"]
961pub type PFN_vkDestroyPipelineLayout = Option<
962	unsafe extern "system" fn(
963		device: DeviceHandle,
964		pipeline_layout: PipelineLayout,
965		p_allocator: *const AllocationCallbacks,
966	) -> (),
967>;
968
969#[doc = "Nullable function pointer for `vkCreateSampler`."]
970#[doc(alias = "vkCreateSampler")]
971#[doc = "\n\n[Khronos reference: `vkCreateSampler`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSampler.html)"]
972pub type PFN_vkCreateSampler = Option<
973	unsafe extern "system" fn(
974		device: DeviceHandle,
975		p_create_info: *const SamplerCreateInfo<'_>,
976		p_allocator: *const AllocationCallbacks,
977		p_sampler: *mut Sampler,
978	) -> Result,
979>;
980
981#[doc = "Nullable function pointer for `vkDestroySampler`."]
982#[doc(alias = "vkDestroySampler")]
983#[doc = "\n\n[Khronos reference: `vkDestroySampler`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySampler.html)"]
984pub type PFN_vkDestroySampler = Option<
985	unsafe extern "system" fn(
986		device: DeviceHandle,
987		sampler: Sampler,
988		p_allocator: *const AllocationCallbacks,
989	) -> (),
990>;
991
992#[doc = "Nullable function pointer for `vkCreateDescriptorSetLayout`."]
993#[doc(alias = "vkCreateDescriptorSetLayout")]
994#[doc = "\n\n[Khronos reference: `vkCreateDescriptorSetLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDescriptorSetLayout.html)"]
995pub type PFN_vkCreateDescriptorSetLayout = Option<
996	unsafe extern "system" fn(
997		device: DeviceHandle,
998		p_create_info: *const DescriptorSetLayoutCreateInfo<'_>,
999		p_allocator: *const AllocationCallbacks,
1000		p_set_layout: *mut DescriptorSetLayout,
1001	) -> Result,
1002>;
1003
1004#[doc = "Nullable function pointer for `vkDestroyDescriptorSetLayout`."]
1005#[doc(alias = "vkDestroyDescriptorSetLayout")]
1006#[doc = "\n\n[Khronos reference: `vkDestroyDescriptorSetLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDescriptorSetLayout.html)"]
1007pub type PFN_vkDestroyDescriptorSetLayout = Option<
1008	unsafe extern "system" fn(
1009		device: DeviceHandle,
1010		descriptor_set_layout: DescriptorSetLayout,
1011		p_allocator: *const AllocationCallbacks,
1012	) -> (),
1013>;
1014
1015#[doc = "Nullable function pointer for `vkCreateDescriptorPool`."]
1016#[doc(alias = "vkCreateDescriptorPool")]
1017#[doc = "\n\n[Khronos reference: `vkCreateDescriptorPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDescriptorPool.html)"]
1018pub type PFN_vkCreateDescriptorPool = Option<
1019	unsafe extern "system" fn(
1020		device: DeviceHandle,
1021		p_create_info: *const DescriptorPoolCreateInfo<'_>,
1022		p_allocator: *const AllocationCallbacks,
1023		p_descriptor_pool: *mut DescriptorPool,
1024	) -> Result,
1025>;
1026
1027#[doc = "Nullable function pointer for `vkDestroyDescriptorPool`."]
1028#[doc(alias = "vkDestroyDescriptorPool")]
1029#[doc = "\n\n[Khronos reference: `vkDestroyDescriptorPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDescriptorPool.html)"]
1030pub type PFN_vkDestroyDescriptorPool = Option<
1031	unsafe extern "system" fn(
1032		device: DeviceHandle,
1033		descriptor_pool: DescriptorPool,
1034		p_allocator: *const AllocationCallbacks,
1035	) -> (),
1036>;
1037
1038#[doc = "Nullable function pointer for `vkResetDescriptorPool`."]
1039#[doc(alias = "vkResetDescriptorPool")]
1040#[doc = "\n\n[Khronos reference: `vkResetDescriptorPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetDescriptorPool.html)"]
1041pub type PFN_vkResetDescriptorPool = Option<
1042	unsafe extern "system" fn(
1043		device: DeviceHandle,
1044		descriptor_pool: DescriptorPool,
1045		flags: DescriptorPoolResetFlags,
1046	) -> Result,
1047>;
1048
1049#[doc = "Nullable function pointer for `vkAllocateDescriptorSets`."]
1050#[doc(alias = "vkAllocateDescriptorSets")]
1051#[doc = "\n\n[Khronos reference: `vkAllocateDescriptorSets`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAllocateDescriptorSets.html)"]
1052pub type PFN_vkAllocateDescriptorSets = Option<
1053	unsafe extern "system" fn(
1054		device: DeviceHandle,
1055		p_allocate_info: *const DescriptorSetAllocateInfo<'_>,
1056		p_descriptor_sets: *mut DescriptorSet,
1057	) -> Result,
1058>;
1059
1060#[doc = "Nullable function pointer for `vkFreeDescriptorSets`."]
1061#[doc(alias = "vkFreeDescriptorSets")]
1062#[doc = "\n\n[Khronos reference: `vkFreeDescriptorSets`](https://docs.vulkan.org/refpages/latest/refpages/source/vkFreeDescriptorSets.html)"]
1063pub type PFN_vkFreeDescriptorSets = Option<
1064	unsafe extern "system" fn(
1065		device: DeviceHandle,
1066		descriptor_pool: DescriptorPool,
1067		descriptor_set_count: u32,
1068		p_descriptor_sets: *const DescriptorSet,
1069	) -> Result,
1070>;
1071
1072#[doc = "Nullable function pointer for `vkUpdateDescriptorSets`."]
1073#[doc(alias = "vkUpdateDescriptorSets")]
1074#[doc = "\n\n[Khronos reference: `vkUpdateDescriptorSets`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateDescriptorSets.html)"]
1075pub type PFN_vkUpdateDescriptorSets = Option<
1076	unsafe extern "system" fn(
1077		device: DeviceHandle,
1078		descriptor_write_count: u32,
1079		p_descriptor_writes: *const WriteDescriptorSet<'_>,
1080		descriptor_copy_count: u32,
1081		p_descriptor_copies: *const CopyDescriptorSet<'_>,
1082	) -> (),
1083>;
1084
1085#[doc = "Nullable function pointer for `vkCreateFramebuffer`."]
1086#[doc(alias = "vkCreateFramebuffer")]
1087#[doc = "\n\n[Khronos reference: `vkCreateFramebuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateFramebuffer.html)"]
1088pub type PFN_vkCreateFramebuffer = Option<
1089	unsafe extern "system" fn(
1090		device: DeviceHandle,
1091		p_create_info: *const FramebufferCreateInfo<'_>,
1092		p_allocator: *const AllocationCallbacks,
1093		p_framebuffer: *mut Framebuffer,
1094	) -> Result,
1095>;
1096
1097#[doc = "Nullable function pointer for `vkDestroyFramebuffer`."]
1098#[doc(alias = "vkDestroyFramebuffer")]
1099#[doc = "\n\n[Khronos reference: `vkDestroyFramebuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyFramebuffer.html)"]
1100pub type PFN_vkDestroyFramebuffer = Option<
1101	unsafe extern "system" fn(
1102		device: DeviceHandle,
1103		framebuffer: Framebuffer,
1104		p_allocator: *const AllocationCallbacks,
1105	) -> (),
1106>;
1107
1108#[doc = "Nullable function pointer for `vkCreateRenderPass`."]
1109#[doc(alias = "vkCreateRenderPass")]
1110#[doc = "\n\n[Khronos reference: `vkCreateRenderPass`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateRenderPass.html)"]
1111pub type PFN_vkCreateRenderPass = Option<
1112	unsafe extern "system" fn(
1113		device: DeviceHandle,
1114		p_create_info: *const RenderPassCreateInfo<'_>,
1115		p_allocator: *const AllocationCallbacks,
1116		p_render_pass: *mut RenderPass,
1117	) -> Result,
1118>;
1119
1120#[doc = "Nullable function pointer for `vkDestroyRenderPass`."]
1121#[doc(alias = "vkDestroyRenderPass")]
1122#[doc = "\n\n[Khronos reference: `vkDestroyRenderPass`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyRenderPass.html)"]
1123pub type PFN_vkDestroyRenderPass = Option<
1124	unsafe extern "system" fn(
1125		device: DeviceHandle,
1126		render_pass: RenderPass,
1127		p_allocator: *const AllocationCallbacks,
1128	) -> (),
1129>;
1130
1131#[doc = "Nullable function pointer for `vkGetRenderAreaGranularity`."]
1132#[doc(alias = "vkGetRenderAreaGranularity")]
1133#[doc = "\n\n[Khronos reference: `vkGetRenderAreaGranularity`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRenderAreaGranularity.html)"]
1134pub type PFN_vkGetRenderAreaGranularity = Option<
1135	unsafe extern "system" fn(
1136		device: DeviceHandle,
1137		render_pass: RenderPass,
1138		p_granularity: *mut Extent2D,
1139	) -> (),
1140>;
1141
1142#[doc = "Nullable function pointer for `vkGetRenderingAreaGranularity`."]
1143#[doc(alias = "vkGetRenderingAreaGranularity")]
1144#[doc = "\n\n[Khronos reference: `vkGetRenderingAreaGranularity`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRenderingAreaGranularity.html)"]
1145pub type PFN_vkGetRenderingAreaGranularity = Option<
1146	unsafe extern "system" fn(
1147		device: DeviceHandle,
1148		p_rendering_area_info: *const RenderingAreaInfo<'_>,
1149		p_granularity: *mut Extent2D,
1150	) -> (),
1151>;
1152
1153#[doc = "Nullable function pointer for `vkGetRenderingAreaGranularityKHR`."]
1154#[doc(alias = "vkGetRenderingAreaGranularityKHR")]
1155#[doc = "\n\n[Khronos reference: `vkGetRenderingAreaGranularityKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRenderingAreaGranularityKHR.html)"]
1156pub type PFN_vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularity;
1157
1158#[doc = "Nullable function pointer for `vkCreateCommandPool`."]
1159#[doc(alias = "vkCreateCommandPool")]
1160#[doc = "\n\n[Khronos reference: `vkCreateCommandPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateCommandPool.html)"]
1161pub type PFN_vkCreateCommandPool = Option<
1162	unsafe extern "system" fn(
1163		device: DeviceHandle,
1164		p_create_info: *const CommandPoolCreateInfo<'_>,
1165		p_allocator: *const AllocationCallbacks,
1166		p_command_pool: *mut CommandPool,
1167	) -> Result,
1168>;
1169
1170#[doc = "Nullable function pointer for `vkDestroyCommandPool`."]
1171#[doc(alias = "vkDestroyCommandPool")]
1172#[doc = "\n\n[Khronos reference: `vkDestroyCommandPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyCommandPool.html)"]
1173pub type PFN_vkDestroyCommandPool = Option<
1174	unsafe extern "system" fn(
1175		device: DeviceHandle,
1176		command_pool: CommandPool,
1177		p_allocator: *const AllocationCallbacks,
1178	) -> (),
1179>;
1180
1181#[doc = "Nullable function pointer for `vkResetCommandPool`."]
1182#[doc(alias = "vkResetCommandPool")]
1183#[doc = "\n\n[Khronos reference: `vkResetCommandPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetCommandPool.html)"]
1184pub type PFN_vkResetCommandPool = Option<
1185	unsafe extern "system" fn(
1186		device: DeviceHandle,
1187		command_pool: CommandPool,
1188		flags: CommandPoolResetFlags,
1189	) -> Result,
1190>;
1191
1192#[doc = "Nullable function pointer for `vkAllocateCommandBuffers`."]
1193#[doc(alias = "vkAllocateCommandBuffers")]
1194#[doc = "\n\n[Khronos reference: `vkAllocateCommandBuffers`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAllocateCommandBuffers.html)"]
1195pub type PFN_vkAllocateCommandBuffers = Option<
1196	unsafe extern "system" fn(
1197		device: DeviceHandle,
1198		p_allocate_info: *const CommandBufferAllocateInfo<'_>,
1199		p_command_buffers: *mut CommandBuffer,
1200	) -> Result,
1201>;
1202
1203#[doc = "Nullable function pointer for `vkFreeCommandBuffers`."]
1204#[doc(alias = "vkFreeCommandBuffers")]
1205#[doc = "\n\n[Khronos reference: `vkFreeCommandBuffers`](https://docs.vulkan.org/refpages/latest/refpages/source/vkFreeCommandBuffers.html)"]
1206pub type PFN_vkFreeCommandBuffers = Option<
1207	unsafe extern "system" fn(
1208		device: DeviceHandle,
1209		command_pool: CommandPool,
1210		command_buffer_count: u32,
1211		p_command_buffers: *const CommandBuffer,
1212	) -> (),
1213>;
1214
1215#[doc = "Nullable function pointer for `vkBeginCommandBuffer`."]
1216#[doc(alias = "vkBeginCommandBuffer")]
1217#[doc = "\n\n[Khronos reference: `vkBeginCommandBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBeginCommandBuffer.html)"]
1218pub type PFN_vkBeginCommandBuffer = Option<
1219	unsafe extern "system" fn(
1220		command_buffer: CommandBuffer,
1221		p_begin_info: *const CommandBufferBeginInfo<'_>,
1222	) -> Result,
1223>;
1224
1225#[doc = "Nullable function pointer for `vkEndCommandBuffer`."]
1226#[doc(alias = "vkEndCommandBuffer")]
1227#[doc = "\n\n[Khronos reference: `vkEndCommandBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEndCommandBuffer.html)"]
1228pub type PFN_vkEndCommandBuffer =
1229	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> Result>;
1230
1231#[doc = "Nullable function pointer for `vkResetCommandBuffer`."]
1232#[doc(alias = "vkResetCommandBuffer")]
1233#[doc = "\n\n[Khronos reference: `vkResetCommandBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetCommandBuffer.html)"]
1234pub type PFN_vkResetCommandBuffer = Option<
1235	unsafe extern "system" fn(
1236		command_buffer: CommandBuffer,
1237		flags: CommandBufferResetFlags,
1238	) -> Result,
1239>;
1240
1241#[doc = "Nullable function pointer for `vkCmdBindPipeline`."]
1242#[doc(alias = "vkCmdBindPipeline")]
1243#[doc = "\n\n[Khronos reference: `vkCmdBindPipeline`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindPipeline.html)"]
1244pub type PFN_vkCmdBindPipeline = Option<
1245	unsafe extern "system" fn(
1246		command_buffer: CommandBuffer,
1247		pipeline_bind_point: PipelineBindPoint,
1248		pipeline: Pipeline,
1249	) -> (),
1250>;
1251
1252#[doc = "Nullable function pointer for `vkCmdSetPrimitiveRestartIndexEXT`."]
1253#[doc(alias = "vkCmdSetPrimitiveRestartIndexEXT")]
1254#[doc = "\n\n[Khronos reference: `vkCmdSetPrimitiveRestartIndexEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPrimitiveRestartIndexEXT.html)"]
1255pub type PFN_vkCmdSetPrimitiveRestartIndexEXT = Option<
1256	unsafe extern "system" fn(command_buffer: CommandBuffer, primitive_restart_index: u32) -> (),
1257>;
1258
1259#[doc = "Nullable function pointer for `vkCmdSetAttachmentFeedbackLoopEnableEXT`."]
1260#[doc(alias = "vkCmdSetAttachmentFeedbackLoopEnableEXT")]
1261#[doc = "\n\n[Khronos reference: `vkCmdSetAttachmentFeedbackLoopEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetAttachmentFeedbackLoopEnableEXT.html)"]
1262pub type PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT = Option<
1263	unsafe extern "system" fn(command_buffer: CommandBuffer, aspect_mask: ImageAspectFlags) -> (),
1264>;
1265
1266#[doc = "Nullable function pointer for `vkCmdSetViewport`."]
1267#[doc(alias = "vkCmdSetViewport")]
1268#[doc = "\n\n[Khronos reference: `vkCmdSetViewport`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewport.html)"]
1269pub type PFN_vkCmdSetViewport = Option<
1270	unsafe extern "system" fn(
1271		command_buffer: CommandBuffer,
1272		first_viewport: u32,
1273		viewport_count: u32,
1274		p_viewports: *const Viewport,
1275	) -> (),
1276>;
1277
1278#[doc = "Nullable function pointer for `vkCmdSetScissor`."]
1279#[doc(alias = "vkCmdSetScissor")]
1280#[doc = "\n\n[Khronos reference: `vkCmdSetScissor`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetScissor.html)"]
1281pub type PFN_vkCmdSetScissor = Option<
1282	unsafe extern "system" fn(
1283		command_buffer: CommandBuffer,
1284		first_scissor: u32,
1285		scissor_count: u32,
1286		p_scissors: *const Rect2D,
1287	) -> (),
1288>;
1289
1290#[doc = "Nullable function pointer for `vkCmdSetLineWidth`."]
1291#[doc(alias = "vkCmdSetLineWidth")]
1292#[doc = "\n\n[Khronos reference: `vkCmdSetLineWidth`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineWidth.html)"]
1293pub type PFN_vkCmdSetLineWidth =
1294	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, line_width: f32) -> ()>;
1295
1296#[doc = "Nullable function pointer for `vkCmdSetDepthBias`."]
1297#[doc(alias = "vkCmdSetDepthBias")]
1298#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBias`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBias.html)"]
1299pub type PFN_vkCmdSetDepthBias = Option<
1300	unsafe extern "system" fn(
1301		command_buffer: CommandBuffer,
1302		depth_bias_constant_factor: f32,
1303		depth_bias_clamp: f32,
1304		depth_bias_slope_factor: f32,
1305	) -> (),
1306>;
1307
1308#[doc = "Nullable function pointer for `vkCmdSetBlendConstants`."]
1309#[doc(alias = "vkCmdSetBlendConstants")]
1310#[doc = "\n\n[Khronos reference: `vkCmdSetBlendConstants`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetBlendConstants.html)"]
1311pub type PFN_vkCmdSetBlendConstants = Option<
1312	unsafe extern "system" fn(command_buffer: CommandBuffer, blend_constants: *const f32) -> (),
1313>;
1314
1315#[doc = "Nullable function pointer for `vkCmdSetDepthBounds`."]
1316#[doc(alias = "vkCmdSetDepthBounds")]
1317#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBounds`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBounds.html)"]
1318pub type PFN_vkCmdSetDepthBounds = Option<
1319	unsafe extern "system" fn(
1320		command_buffer: CommandBuffer,
1321		min_depth_bounds: f32,
1322		max_depth_bounds: f32,
1323	) -> (),
1324>;
1325
1326#[doc = "Nullable function pointer for `vkCmdSetStencilCompareMask`."]
1327#[doc(alias = "vkCmdSetStencilCompareMask")]
1328#[doc = "\n\n[Khronos reference: `vkCmdSetStencilCompareMask`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilCompareMask.html)"]
1329pub type PFN_vkCmdSetStencilCompareMask = Option<
1330	unsafe extern "system" fn(
1331		command_buffer: CommandBuffer,
1332		face_mask: StencilFaceFlags,
1333		compare_mask: u32,
1334	) -> (),
1335>;
1336
1337#[doc = "Nullable function pointer for `vkCmdSetStencilWriteMask`."]
1338#[doc(alias = "vkCmdSetStencilWriteMask")]
1339#[doc = "\n\n[Khronos reference: `vkCmdSetStencilWriteMask`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilWriteMask.html)"]
1340pub type PFN_vkCmdSetStencilWriteMask = Option<
1341	unsafe extern "system" fn(
1342		command_buffer: CommandBuffer,
1343		face_mask: StencilFaceFlags,
1344		write_mask: u32,
1345	) -> (),
1346>;
1347
1348#[doc = "Nullable function pointer for `vkCmdSetStencilReference`."]
1349#[doc(alias = "vkCmdSetStencilReference")]
1350#[doc = "\n\n[Khronos reference: `vkCmdSetStencilReference`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilReference.html)"]
1351pub type PFN_vkCmdSetStencilReference = Option<
1352	unsafe extern "system" fn(
1353		command_buffer: CommandBuffer,
1354		face_mask: StencilFaceFlags,
1355		reference: u32,
1356	) -> (),
1357>;
1358
1359#[doc = "Nullable function pointer for `vkCmdBindDescriptorSets`."]
1360#[doc(alias = "vkCmdBindDescriptorSets")]
1361#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorSets`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorSets.html)"]
1362pub type PFN_vkCmdBindDescriptorSets = Option<
1363	unsafe extern "system" fn(
1364		command_buffer: CommandBuffer,
1365		pipeline_bind_point: PipelineBindPoint,
1366		layout: PipelineLayout,
1367		first_set: u32,
1368		descriptor_set_count: u32,
1369		p_descriptor_sets: *const DescriptorSet,
1370		dynamic_offset_count: u32,
1371		p_dynamic_offsets: *const u32,
1372	) -> (),
1373>;
1374
1375#[doc = "Nullable function pointer for `vkCmdBindIndexBuffer`."]
1376#[doc(alias = "vkCmdBindIndexBuffer")]
1377#[doc = "\n\n[Khronos reference: `vkCmdBindIndexBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindIndexBuffer.html)"]
1378pub type PFN_vkCmdBindIndexBuffer = Option<
1379	unsafe extern "system" fn(
1380		command_buffer: CommandBuffer,
1381		buffer: Buffer,
1382		offset: DeviceSize,
1383		index_type: IndexType,
1384	) -> (),
1385>;
1386
1387#[doc = "Nullable function pointer for `vkCmdBindVertexBuffers`."]
1388#[doc(alias = "vkCmdBindVertexBuffers")]
1389#[doc = "\n\n[Khronos reference: `vkCmdBindVertexBuffers`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindVertexBuffers.html)"]
1390pub type PFN_vkCmdBindVertexBuffers = Option<
1391	unsafe extern "system" fn(
1392		command_buffer: CommandBuffer,
1393		first_binding: u32,
1394		binding_count: u32,
1395		p_buffers: *const Buffer,
1396		p_offsets: *const DeviceSize,
1397	) -> (),
1398>;
1399
1400#[doc = "Nullable function pointer for `vkCmdDraw`."]
1401#[doc(alias = "vkCmdDraw")]
1402#[doc = "\n\n[Khronos reference: `vkCmdDraw`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDraw.html)"]
1403pub type PFN_vkCmdDraw = Option<
1404	unsafe extern "system" fn(
1405		command_buffer: CommandBuffer,
1406		vertex_count: u32,
1407		instance_count: u32,
1408		first_vertex: u32,
1409		first_instance: u32,
1410	) -> (),
1411>;
1412
1413#[doc = "Nullable function pointer for `vkCmdDrawIndexed`."]
1414#[doc(alias = "vkCmdDrawIndexed")]
1415#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexed`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexed.html)"]
1416pub type PFN_vkCmdDrawIndexed = Option<
1417	unsafe extern "system" fn(
1418		command_buffer: CommandBuffer,
1419		index_count: u32,
1420		instance_count: u32,
1421		first_index: u32,
1422		vertex_offset: i32,
1423		first_instance: u32,
1424	) -> (),
1425>;
1426
1427#[doc = "Nullable function pointer for `vkCmdDrawMultiEXT`."]
1428#[doc(alias = "vkCmdDrawMultiEXT")]
1429#[doc = "\n\n[Khronos reference: `vkCmdDrawMultiEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMultiEXT.html)"]
1430pub type PFN_vkCmdDrawMultiEXT = Option<
1431	unsafe extern "system" fn(
1432		command_buffer: CommandBuffer,
1433		draw_count: u32,
1434		p_vertex_info: *const MultiDrawInfoEXT,
1435		instance_count: u32,
1436		first_instance: u32,
1437		stride: u32,
1438	) -> (),
1439>;
1440
1441#[doc = "Nullable function pointer for `vkCmdDrawMultiIndexedEXT`."]
1442#[doc(alias = "vkCmdDrawMultiIndexedEXT")]
1443#[doc = "\n\n[Khronos reference: `vkCmdDrawMultiIndexedEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMultiIndexedEXT.html)"]
1444pub type PFN_vkCmdDrawMultiIndexedEXT = Option<
1445	unsafe extern "system" fn(
1446		command_buffer: CommandBuffer,
1447		draw_count: u32,
1448		p_index_info: *const MultiDrawIndexedInfoEXT,
1449		instance_count: u32,
1450		first_instance: u32,
1451		stride: u32,
1452		p_vertex_offset: *const i32,
1453	) -> (),
1454>;
1455
1456#[doc = "Nullable function pointer for `vkCmdDrawIndirect`."]
1457#[doc(alias = "vkCmdDrawIndirect")]
1458#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirect`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirect.html)"]
1459pub type PFN_vkCmdDrawIndirect = Option<
1460	unsafe extern "system" fn(
1461		command_buffer: CommandBuffer,
1462		buffer: Buffer,
1463		offset: DeviceSize,
1464		draw_count: u32,
1465		stride: u32,
1466	) -> (),
1467>;
1468
1469#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirect`."]
1470#[doc(alias = "vkCmdDrawIndexedIndirect")]
1471#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirect`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirect.html)"]
1472pub type PFN_vkCmdDrawIndexedIndirect = Option<
1473	unsafe extern "system" fn(
1474		command_buffer: CommandBuffer,
1475		buffer: Buffer,
1476		offset: DeviceSize,
1477		draw_count: u32,
1478		stride: u32,
1479	) -> (),
1480>;
1481
1482#[doc = "Nullable function pointer for `vkCmdDispatch`."]
1483#[doc(alias = "vkCmdDispatch")]
1484#[doc = "\n\n[Khronos reference: `vkCmdDispatch`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatch.html)"]
1485pub type PFN_vkCmdDispatch = Option<
1486	unsafe extern "system" fn(
1487		command_buffer: CommandBuffer,
1488		group_count_x: u32,
1489		group_count_y: u32,
1490		group_count_z: u32,
1491	) -> (),
1492>;
1493
1494#[doc = "Nullable function pointer for `vkCmdDispatchIndirect`."]
1495#[doc(alias = "vkCmdDispatchIndirect")]
1496#[doc = "\n\n[Khronos reference: `vkCmdDispatchIndirect`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchIndirect.html)"]
1497pub type PFN_vkCmdDispatchIndirect = Option<
1498	unsafe extern "system" fn(
1499		command_buffer: CommandBuffer,
1500		buffer: Buffer,
1501		offset: DeviceSize,
1502	) -> (),
1503>;
1504
1505#[doc = "Nullable function pointer for `vkCmdSubpassShadingHUAWEI`."]
1506#[doc(alias = "vkCmdSubpassShadingHUAWEI")]
1507#[doc = "\n\n[Khronos reference: `vkCmdSubpassShadingHUAWEI`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSubpassShadingHUAWEI.html)"]
1508pub type PFN_vkCmdSubpassShadingHUAWEI =
1509	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
1510
1511#[doc = "Nullable function pointer for `vkCmdDrawClusterHUAWEI`."]
1512#[doc(alias = "vkCmdDrawClusterHUAWEI")]
1513#[doc = "\n\n[Khronos reference: `vkCmdDrawClusterHUAWEI`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawClusterHUAWEI.html)"]
1514pub type PFN_vkCmdDrawClusterHUAWEI = Option<
1515	unsafe extern "system" fn(
1516		command_buffer: CommandBuffer,
1517		group_count_x: u32,
1518		group_count_y: u32,
1519		group_count_z: u32,
1520	) -> (),
1521>;
1522
1523#[doc = "Nullable function pointer for `vkCmdDrawClusterIndirectHUAWEI`."]
1524#[doc(alias = "vkCmdDrawClusterIndirectHUAWEI")]
1525#[doc = "\n\n[Khronos reference: `vkCmdDrawClusterIndirectHUAWEI`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawClusterIndirectHUAWEI.html)"]
1526pub type PFN_vkCmdDrawClusterIndirectHUAWEI = Option<
1527	unsafe extern "system" fn(
1528		command_buffer: CommandBuffer,
1529		buffer: Buffer,
1530		offset: DeviceSize,
1531	) -> (),
1532>;
1533
1534#[doc = "Nullable function pointer for `vkCmdUpdatePipelineIndirectBufferNV`."]
1535#[doc(alias = "vkCmdUpdatePipelineIndirectBufferNV")]
1536#[doc = "\n\n[Khronos reference: `vkCmdUpdatePipelineIndirectBufferNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdUpdatePipelineIndirectBufferNV.html)"]
1537pub type PFN_vkCmdUpdatePipelineIndirectBufferNV = Option<
1538	unsafe extern "system" fn(
1539		command_buffer: CommandBuffer,
1540		pipeline_bind_point: PipelineBindPoint,
1541		pipeline: Pipeline,
1542	) -> (),
1543>;
1544
1545#[doc = "Nullable function pointer for `vkCmdCopyBuffer`."]
1546#[doc(alias = "vkCmdCopyBuffer")]
1547#[doc = "\n\n[Khronos reference: `vkCmdCopyBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBuffer.html)"]
1548pub type PFN_vkCmdCopyBuffer = Option<
1549	unsafe extern "system" fn(
1550		command_buffer: CommandBuffer,
1551		src_buffer: Buffer,
1552		dst_buffer: Buffer,
1553		region_count: u32,
1554		p_regions: *const BufferCopy,
1555	) -> (),
1556>;
1557
1558#[doc = "Nullable function pointer for `vkCmdCopyImage`."]
1559#[doc(alias = "vkCmdCopyImage")]
1560#[doc = "\n\n[Khronos reference: `vkCmdCopyImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImage.html)"]
1561pub type PFN_vkCmdCopyImage = Option<
1562	unsafe extern "system" fn(
1563		command_buffer: CommandBuffer,
1564		src_image: Image,
1565		src_image_layout: ImageLayout,
1566		dst_image: Image,
1567		dst_image_layout: ImageLayout,
1568		region_count: u32,
1569		p_regions: *const ImageCopy,
1570	) -> (),
1571>;
1572
1573#[doc = "Nullable function pointer for `vkCmdBlitImage`."]
1574#[doc(alias = "vkCmdBlitImage")]
1575#[doc = "\n\n[Khronos reference: `vkCmdBlitImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBlitImage.html)"]
1576pub type PFN_vkCmdBlitImage = Option<
1577	unsafe extern "system" fn(
1578		command_buffer: CommandBuffer,
1579		src_image: Image,
1580		src_image_layout: ImageLayout,
1581		dst_image: Image,
1582		dst_image_layout: ImageLayout,
1583		region_count: u32,
1584		p_regions: *const ImageBlit,
1585		filter: Filter,
1586	) -> (),
1587>;
1588
1589#[doc = "Nullable function pointer for `vkCmdCopyBufferToImage`."]
1590#[doc(alias = "vkCmdCopyBufferToImage")]
1591#[doc = "\n\n[Khronos reference: `vkCmdCopyBufferToImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBufferToImage.html)"]
1592pub type PFN_vkCmdCopyBufferToImage = Option<
1593	unsafe extern "system" fn(
1594		command_buffer: CommandBuffer,
1595		src_buffer: Buffer,
1596		dst_image: Image,
1597		dst_image_layout: ImageLayout,
1598		region_count: u32,
1599		p_regions: *const BufferImageCopy,
1600	) -> (),
1601>;
1602
1603#[doc = "Nullable function pointer for `vkCmdCopyImageToBuffer`."]
1604#[doc(alias = "vkCmdCopyImageToBuffer")]
1605#[doc = "\n\n[Khronos reference: `vkCmdCopyImageToBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImageToBuffer.html)"]
1606pub type PFN_vkCmdCopyImageToBuffer = Option<
1607	unsafe extern "system" fn(
1608		command_buffer: CommandBuffer,
1609		src_image: Image,
1610		src_image_layout: ImageLayout,
1611		dst_buffer: Buffer,
1612		region_count: u32,
1613		p_regions: *const BufferImageCopy,
1614	) -> (),
1615>;
1616
1617#[doc = "Nullable function pointer for `vkCmdCopyMemoryIndirectNV`."]
1618#[doc(alias = "vkCmdCopyMemoryIndirectNV")]
1619#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryIndirectNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryIndirectNV.html)"]
1620pub type PFN_vkCmdCopyMemoryIndirectNV = Option<
1621	unsafe extern "system" fn(
1622		command_buffer: CommandBuffer,
1623		copy_buffer_address: DeviceAddress,
1624		copy_count: u32,
1625		stride: u32,
1626	) -> (),
1627>;
1628
1629#[doc = "Nullable function pointer for `vkCmdCopyMemoryIndirectKHR`."]
1630#[doc(alias = "vkCmdCopyMemoryIndirectKHR")]
1631#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryIndirectKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryIndirectKHR.html)"]
1632pub type PFN_vkCmdCopyMemoryIndirectKHR = Option<
1633	unsafe extern "system" fn(
1634		command_buffer: CommandBuffer,
1635		p_copy_memory_indirect_info: *const CopyMemoryIndirectInfoKHR<'_>,
1636	) -> (),
1637>;
1638
1639#[doc = "Nullable function pointer for `vkCmdCopyMemoryToImageIndirectNV`."]
1640#[doc(alias = "vkCmdCopyMemoryToImageIndirectNV")]
1641#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryToImageIndirectNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryToImageIndirectNV.html)"]
1642pub type PFN_vkCmdCopyMemoryToImageIndirectNV = Option<
1643	unsafe extern "system" fn(
1644		command_buffer: CommandBuffer,
1645		copy_buffer_address: DeviceAddress,
1646		copy_count: u32,
1647		stride: u32,
1648		dst_image: Image,
1649		dst_image_layout: ImageLayout,
1650		p_image_subresources: *const ImageSubresourceLayers,
1651	) -> (),
1652>;
1653
1654#[doc = "Nullable function pointer for `vkCmdCopyMemoryToImageIndirectKHR`."]
1655#[doc(alias = "vkCmdCopyMemoryToImageIndirectKHR")]
1656#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryToImageIndirectKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryToImageIndirectKHR.html)"]
1657pub type PFN_vkCmdCopyMemoryToImageIndirectKHR = Option<
1658	unsafe extern "system" fn(
1659		command_buffer: CommandBuffer,
1660		p_copy_memory_to_image_indirect_info: *const CopyMemoryToImageIndirectInfoKHR<'_>,
1661	) -> (),
1662>;
1663
1664#[doc = "Nullable function pointer for `vkCmdUpdateBuffer`."]
1665#[doc(alias = "vkCmdUpdateBuffer")]
1666#[doc = "\n\n[Khronos reference: `vkCmdUpdateBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdUpdateBuffer.html)"]
1667pub type PFN_vkCmdUpdateBuffer = Option<
1668	unsafe extern "system" fn(
1669		command_buffer: CommandBuffer,
1670		dst_buffer: Buffer,
1671		dst_offset: DeviceSize,
1672		data_size: DeviceSize,
1673		p_data: *const std::ffi::c_void,
1674	) -> (),
1675>;
1676
1677#[doc = "Nullable function pointer for `vkCmdFillBuffer`."]
1678#[doc(alias = "vkCmdFillBuffer")]
1679#[doc = "\n\n[Khronos reference: `vkCmdFillBuffer`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdFillBuffer.html)"]
1680pub type PFN_vkCmdFillBuffer = Option<
1681	unsafe extern "system" fn(
1682		command_buffer: CommandBuffer,
1683		dst_buffer: Buffer,
1684		dst_offset: DeviceSize,
1685		size: DeviceSize,
1686		data: u32,
1687	) -> (),
1688>;
1689
1690#[doc = "Nullable function pointer for `vkCmdClearColorImage`."]
1691#[doc(alias = "vkCmdClearColorImage")]
1692#[doc = "\n\n[Khronos reference: `vkCmdClearColorImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdClearColorImage.html)"]
1693pub type PFN_vkCmdClearColorImage = Option<
1694	unsafe extern "system" fn(
1695		command_buffer: CommandBuffer,
1696		image: Image,
1697		image_layout: ImageLayout,
1698		p_color: *const ClearColorValue,
1699		range_count: u32,
1700		p_ranges: *const ImageSubresourceRange,
1701	) -> (),
1702>;
1703
1704#[doc = "Nullable function pointer for `vkCmdClearDepthStencilImage`."]
1705#[doc(alias = "vkCmdClearDepthStencilImage")]
1706#[doc = "\n\n[Khronos reference: `vkCmdClearDepthStencilImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdClearDepthStencilImage.html)"]
1707pub type PFN_vkCmdClearDepthStencilImage = Option<
1708	unsafe extern "system" fn(
1709		command_buffer: CommandBuffer,
1710		image: Image,
1711		image_layout: ImageLayout,
1712		p_depth_stencil: *const ClearDepthStencilValue,
1713		range_count: u32,
1714		p_ranges: *const ImageSubresourceRange,
1715	) -> (),
1716>;
1717
1718#[doc = "Nullable function pointer for `vkCmdClearAttachments`."]
1719#[doc(alias = "vkCmdClearAttachments")]
1720#[doc = "\n\n[Khronos reference: `vkCmdClearAttachments`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdClearAttachments.html)"]
1721pub type PFN_vkCmdClearAttachments = Option<
1722	unsafe extern "system" fn(
1723		command_buffer: CommandBuffer,
1724		attachment_count: u32,
1725		p_attachments: *const ClearAttachment,
1726		rect_count: u32,
1727		p_rects: *const ClearRect,
1728	) -> (),
1729>;
1730
1731#[doc = "Nullable function pointer for `vkCmdResolveImage`."]
1732#[doc(alias = "vkCmdResolveImage")]
1733#[doc = "\n\n[Khronos reference: `vkCmdResolveImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResolveImage.html)"]
1734pub type PFN_vkCmdResolveImage = Option<
1735	unsafe extern "system" fn(
1736		command_buffer: CommandBuffer,
1737		src_image: Image,
1738		src_image_layout: ImageLayout,
1739		dst_image: Image,
1740		dst_image_layout: ImageLayout,
1741		region_count: u32,
1742		p_regions: *const ImageResolve,
1743	) -> (),
1744>;
1745
1746#[doc = "Nullable function pointer for `vkCmdSetEvent`."]
1747#[doc(alias = "vkCmdSetEvent")]
1748#[doc = "\n\n[Khronos reference: `vkCmdSetEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetEvent.html)"]
1749pub type PFN_vkCmdSetEvent = Option<
1750	unsafe extern "system" fn(
1751		command_buffer: CommandBuffer,
1752		event: Event,
1753		stage_mask: PipelineStageFlags,
1754	) -> (),
1755>;
1756
1757#[doc = "Nullable function pointer for `vkCmdResetEvent`."]
1758#[doc(alias = "vkCmdResetEvent")]
1759#[doc = "\n\n[Khronos reference: `vkCmdResetEvent`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResetEvent.html)"]
1760pub type PFN_vkCmdResetEvent = Option<
1761	unsafe extern "system" fn(
1762		command_buffer: CommandBuffer,
1763		event: Event,
1764		stage_mask: PipelineStageFlags,
1765	) -> (),
1766>;
1767
1768#[doc = "Nullable function pointer for `vkCmdWaitEvents`."]
1769#[doc(alias = "vkCmdWaitEvents")]
1770#[doc = "\n\n[Khronos reference: `vkCmdWaitEvents`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWaitEvents.html)"]
1771pub type PFN_vkCmdWaitEvents = Option<
1772	unsafe extern "system" fn(
1773		command_buffer: CommandBuffer,
1774		event_count: u32,
1775		p_events: *const Event,
1776		src_stage_mask: PipelineStageFlags,
1777		dst_stage_mask: PipelineStageFlags,
1778		memory_barrier_count: u32,
1779		p_memory_barriers: *const MemoryBarrier<'_>,
1780		buffer_memory_barrier_count: u32,
1781		p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
1782		image_memory_barrier_count: u32,
1783		p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
1784	) -> (),
1785>;
1786
1787#[doc = "Nullable function pointer for `vkCmdPipelineBarrier`."]
1788#[doc(alias = "vkCmdPipelineBarrier")]
1789#[doc = "\n\n[Khronos reference: `vkCmdPipelineBarrier`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPipelineBarrier.html)"]
1790pub type PFN_vkCmdPipelineBarrier = Option<
1791	unsafe extern "system" fn(
1792		command_buffer: CommandBuffer,
1793		src_stage_mask: PipelineStageFlags,
1794		dst_stage_mask: PipelineStageFlags,
1795		dependency_flags: DependencyFlags,
1796		memory_barrier_count: u32,
1797		p_memory_barriers: *const MemoryBarrier<'_>,
1798		buffer_memory_barrier_count: u32,
1799		p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
1800		image_memory_barrier_count: u32,
1801		p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
1802	) -> (),
1803>;
1804
1805#[doc = "Nullable function pointer for `vkCmdBeginQuery`."]
1806#[doc(alias = "vkCmdBeginQuery")]
1807#[doc = "\n\n[Khronos reference: `vkCmdBeginQuery`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginQuery.html)"]
1808pub type PFN_vkCmdBeginQuery = Option<
1809	unsafe extern "system" fn(
1810		command_buffer: CommandBuffer,
1811		query_pool: QueryPool,
1812		query: u32,
1813		flags: QueryControlFlags,
1814	) -> (),
1815>;
1816
1817#[doc = "Nullable function pointer for `vkCmdEndQuery`."]
1818#[doc(alias = "vkCmdEndQuery")]
1819#[doc = "\n\n[Khronos reference: `vkCmdEndQuery`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndQuery.html)"]
1820pub type PFN_vkCmdEndQuery = Option<
1821	unsafe extern "system" fn(command_buffer: CommandBuffer, query_pool: QueryPool, query: u32) -> (),
1822>;
1823
1824#[doc = "Nullable function pointer for `vkCmdBeginConditionalRenderingEXT`."]
1825#[doc(alias = "vkCmdBeginConditionalRenderingEXT")]
1826#[doc = "\n\n[Khronos reference: `vkCmdBeginConditionalRenderingEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginConditionalRenderingEXT.html)"]
1827pub type PFN_vkCmdBeginConditionalRenderingEXT = Option<
1828	unsafe extern "system" fn(
1829		command_buffer: CommandBuffer,
1830		p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT<'_>,
1831	) -> (),
1832>;
1833
1834#[doc = "Nullable function pointer for `vkCmdEndConditionalRenderingEXT`."]
1835#[doc(alias = "vkCmdEndConditionalRenderingEXT")]
1836#[doc = "\n\n[Khronos reference: `vkCmdEndConditionalRenderingEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndConditionalRenderingEXT.html)"]
1837pub type PFN_vkCmdEndConditionalRenderingEXT =
1838	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
1839
1840#[doc = "Nullable function pointer for `vkCmdBeginCustomResolveEXT`."]
1841#[doc(alias = "vkCmdBeginCustomResolveEXT")]
1842#[doc = "\n\n[Khronos reference: `vkCmdBeginCustomResolveEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginCustomResolveEXT.html)"]
1843pub type PFN_vkCmdBeginCustomResolveEXT = Option<
1844	unsafe extern "system" fn(
1845		command_buffer: CommandBuffer,
1846		p_begin_custom_resolve_info: *const BeginCustomResolveInfoEXT<'_>,
1847	) -> (),
1848>;
1849
1850#[doc = "Nullable function pointer for `vkCmdResetQueryPool`."]
1851#[doc(alias = "vkCmdResetQueryPool")]
1852#[doc = "\n\n[Khronos reference: `vkCmdResetQueryPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResetQueryPool.html)"]
1853pub type PFN_vkCmdResetQueryPool = Option<
1854	unsafe extern "system" fn(
1855		command_buffer: CommandBuffer,
1856		query_pool: QueryPool,
1857		first_query: u32,
1858		query_count: u32,
1859	) -> (),
1860>;
1861
1862#[doc = "Nullable function pointer for `vkCmdWriteTimestamp`."]
1863#[doc(alias = "vkCmdWriteTimestamp")]
1864#[doc = "\n\n[Khronos reference: `vkCmdWriteTimestamp`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteTimestamp.html)"]
1865pub type PFN_vkCmdWriteTimestamp = Option<
1866	unsafe extern "system" fn(
1867		command_buffer: CommandBuffer,
1868		pipeline_stage: PipelineStageFlagBits,
1869		query_pool: QueryPool,
1870		query: u32,
1871	) -> (),
1872>;
1873
1874#[doc = "Nullable function pointer for `vkCmdCopyQueryPoolResults`."]
1875#[doc(alias = "vkCmdCopyQueryPoolResults")]
1876#[doc = "\n\n[Khronos reference: `vkCmdCopyQueryPoolResults`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyQueryPoolResults.html)"]
1877pub type PFN_vkCmdCopyQueryPoolResults = Option<
1878	unsafe extern "system" fn(
1879		command_buffer: CommandBuffer,
1880		query_pool: QueryPool,
1881		first_query: u32,
1882		query_count: u32,
1883		dst_buffer: Buffer,
1884		dst_offset: DeviceSize,
1885		stride: DeviceSize,
1886		flags: QueryResultFlags,
1887	) -> (),
1888>;
1889
1890#[doc = "Nullable function pointer for `vkCmdPushConstants`."]
1891#[doc(alias = "vkCmdPushConstants")]
1892#[doc = "\n\n[Khronos reference: `vkCmdPushConstants`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushConstants.html)"]
1893pub type PFN_vkCmdPushConstants = Option<
1894	unsafe extern "system" fn(
1895		command_buffer: CommandBuffer,
1896		layout: PipelineLayout,
1897		stage_flags: ShaderStageFlags,
1898		offset: u32,
1899		size: u32,
1900		p_values: *const std::ffi::c_void,
1901	) -> (),
1902>;
1903
1904#[doc = "Nullable function pointer for `vkCmdBeginRenderPass`."]
1905#[doc(alias = "vkCmdBeginRenderPass")]
1906#[doc = "\n\n[Khronos reference: `vkCmdBeginRenderPass`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginRenderPass.html)"]
1907pub type PFN_vkCmdBeginRenderPass = Option<
1908	unsafe extern "system" fn(
1909		command_buffer: CommandBuffer,
1910		p_render_pass_begin: *const RenderPassBeginInfo<'_>,
1911		contents: SubpassContents,
1912	) -> (),
1913>;
1914
1915#[doc = "Nullable function pointer for `vkCmdNextSubpass`."]
1916#[doc(alias = "vkCmdNextSubpass")]
1917#[doc = "\n\n[Khronos reference: `vkCmdNextSubpass`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdNextSubpass.html)"]
1918pub type PFN_vkCmdNextSubpass =
1919	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, contents: SubpassContents) -> ()>;
1920
1921#[doc = "Nullable function pointer for `vkCmdEndRenderPass`."]
1922#[doc(alias = "vkCmdEndRenderPass")]
1923#[doc = "\n\n[Khronos reference: `vkCmdEndRenderPass`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRenderPass.html)"]
1924pub type PFN_vkCmdEndRenderPass =
1925	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
1926
1927#[doc = "Nullable function pointer for `vkCmdExecuteCommands`."]
1928#[doc(alias = "vkCmdExecuteCommands")]
1929#[doc = "\n\n[Khronos reference: `vkCmdExecuteCommands`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdExecuteCommands.html)"]
1930pub type PFN_vkCmdExecuteCommands = Option<
1931	unsafe extern "system" fn(
1932		command_buffer: CommandBuffer,
1933		command_buffer_count: u32,
1934		p_command_buffers: *const CommandBuffer,
1935	) -> (),
1936>;
1937
1938#[cfg(feature = "platform-android")]
1939#[doc = "Nullable function pointer for `vkCreateAndroidSurfaceKHR`."]
1940#[doc(alias = "vkCreateAndroidSurfaceKHR")]
1941#[doc = "\n\n[Khronos reference: `vkCreateAndroidSurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateAndroidSurfaceKHR.html)"]
1942pub type PFN_vkCreateAndroidSurfaceKHR = Option<
1943	unsafe extern "system" fn(
1944		instance: InstanceHandle,
1945		p_create_info: *const AndroidSurfaceCreateInfoKHR<'_>,
1946		p_allocator: *const AllocationCallbacks,
1947		p_surface: *mut SurfaceKHR,
1948	) -> Result,
1949>;
1950
1951#[cfg(feature = "platform-ohos")]
1952#[doc = "Nullable function pointer for `vkCreateSurfaceOHOS`."]
1953#[doc(alias = "vkCreateSurfaceOHOS")]
1954#[doc = "\n\n[Khronos reference: `vkCreateSurfaceOHOS`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSurfaceOHOS.html)"]
1955pub type PFN_vkCreateSurfaceOHOS = Option<
1956	unsafe extern "system" fn(
1957		instance: InstanceHandle,
1958		p_create_info: *const SurfaceCreateInfoOHOS<'_>,
1959		p_allocator: *const AllocationCallbacks,
1960		p_surface: *mut SurfaceKHR,
1961	) -> Result,
1962>;
1963
1964#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDisplayPropertiesKHR`."]
1965#[doc(alias = "vkGetPhysicalDeviceDisplayPropertiesKHR")]
1966#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDisplayPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDisplayPropertiesKHR.html)"]
1967pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = Option<
1968	unsafe extern "system" fn(
1969		physical_device: PhysicalDevice,
1970		p_property_count: *mut u32,
1971		p_properties: *mut DisplayPropertiesKHR<'_>,
1972	) -> Result,
1973>;
1974
1975#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDisplayPlanePropertiesKHR`."]
1976#[doc(alias = "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")]
1977#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDisplayPlanePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html)"]
1978pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = Option<
1979	unsafe extern "system" fn(
1980		physical_device: PhysicalDevice,
1981		p_property_count: *mut u32,
1982		p_properties: *mut DisplayPlanePropertiesKHR,
1983	) -> Result,
1984>;
1985
1986#[doc = "Nullable function pointer for `vkGetDisplayPlaneSupportedDisplaysKHR`."]
1987#[doc(alias = "vkGetDisplayPlaneSupportedDisplaysKHR")]
1988#[doc = "\n\n[Khronos reference: `vkGetDisplayPlaneSupportedDisplaysKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDisplayPlaneSupportedDisplaysKHR.html)"]
1989pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = Option<
1990	unsafe extern "system" fn(
1991		physical_device: PhysicalDevice,
1992		plane_index: u32,
1993		p_display_count: *mut u32,
1994		p_displays: *mut DisplayKHR,
1995	) -> Result,
1996>;
1997
1998#[doc = "Nullable function pointer for `vkGetDisplayModePropertiesKHR`."]
1999#[doc(alias = "vkGetDisplayModePropertiesKHR")]
2000#[doc = "\n\n[Khronos reference: `vkGetDisplayModePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDisplayModePropertiesKHR.html)"]
2001pub type PFN_vkGetDisplayModePropertiesKHR = Option<
2002	unsafe extern "system" fn(
2003		physical_device: PhysicalDevice,
2004		display: DisplayKHR,
2005		p_property_count: *mut u32,
2006		p_properties: *mut DisplayModePropertiesKHR,
2007	) -> Result,
2008>;
2009
2010#[doc = "Nullable function pointer for `vkCreateDisplayModeKHR`."]
2011#[doc(alias = "vkCreateDisplayModeKHR")]
2012#[doc = "\n\n[Khronos reference: `vkCreateDisplayModeKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDisplayModeKHR.html)"]
2013pub type PFN_vkCreateDisplayModeKHR = Option<
2014	unsafe extern "system" fn(
2015		physical_device: PhysicalDevice,
2016		display: DisplayKHR,
2017		p_create_info: *const DisplayModeCreateInfoKHR<'_>,
2018		p_allocator: *const AllocationCallbacks,
2019		p_mode: *mut DisplayModeKHR,
2020	) -> Result,
2021>;
2022
2023#[doc = "Nullable function pointer for `vkGetDisplayPlaneCapabilitiesKHR`."]
2024#[doc(alias = "vkGetDisplayPlaneCapabilitiesKHR")]
2025#[doc = "\n\n[Khronos reference: `vkGetDisplayPlaneCapabilitiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDisplayPlaneCapabilitiesKHR.html)"]
2026pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = Option<
2027	unsafe extern "system" fn(
2028		physical_device: PhysicalDevice,
2029		mode: DisplayModeKHR,
2030		plane_index: u32,
2031		p_capabilities: *mut DisplayPlaneCapabilitiesKHR,
2032	) -> Result,
2033>;
2034
2035#[doc = "Nullable function pointer for `vkCreateDisplayPlaneSurfaceKHR`."]
2036#[doc(alias = "vkCreateDisplayPlaneSurfaceKHR")]
2037#[doc = "\n\n[Khronos reference: `vkCreateDisplayPlaneSurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDisplayPlaneSurfaceKHR.html)"]
2038pub type PFN_vkCreateDisplayPlaneSurfaceKHR = Option<
2039	unsafe extern "system" fn(
2040		instance: InstanceHandle,
2041		p_create_info: *const DisplaySurfaceCreateInfoKHR<'_>,
2042		p_allocator: *const AllocationCallbacks,
2043		p_surface: *mut SurfaceKHR,
2044	) -> Result,
2045>;
2046
2047#[doc = "Nullable function pointer for `vkCreateSharedSwapchainsKHR`."]
2048#[doc(alias = "vkCreateSharedSwapchainsKHR")]
2049#[doc = "\n\n[Khronos reference: `vkCreateSharedSwapchainsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSharedSwapchainsKHR.html)"]
2050pub type PFN_vkCreateSharedSwapchainsKHR = Option<
2051	unsafe extern "system" fn(
2052		device: DeviceHandle,
2053		swapchain_count: u32,
2054		p_create_infos: *const SwapchainCreateInfoKHR<'_>,
2055		p_allocator: *const AllocationCallbacks,
2056		p_swapchains: *mut SwapchainKHR,
2057	) -> Result,
2058>;
2059
2060#[doc = "Nullable function pointer for `vkDestroySurfaceKHR`."]
2061#[doc(alias = "vkDestroySurfaceKHR")]
2062#[doc = "\n\n[Khronos reference: `vkDestroySurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySurfaceKHR.html)"]
2063pub type PFN_vkDestroySurfaceKHR = Option<
2064	unsafe extern "system" fn(
2065		instance: InstanceHandle,
2066		surface: SurfaceKHR,
2067		p_allocator: *const AllocationCallbacks,
2068	) -> (),
2069>;
2070
2071#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceSupportKHR`."]
2072#[doc(alias = "vkGetPhysicalDeviceSurfaceSupportKHR")]
2073#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceSupportKHR.html)"]
2074pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Option<
2075	unsafe extern "system" fn(
2076		physical_device: PhysicalDevice,
2077		queue_family_index: u32,
2078		surface: SurfaceKHR,
2079		p_supported: *mut Bool32,
2080	) -> Result,
2081>;
2082
2083#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceCapabilitiesKHR`."]
2084#[doc(alias = "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")]
2085#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceCapabilitiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html)"]
2086pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Option<
2087	unsafe extern "system" fn(
2088		physical_device: PhysicalDevice,
2089		surface: SurfaceKHR,
2090		p_surface_capabilities: *mut SurfaceCapabilitiesKHR,
2091	) -> Result,
2092>;
2093
2094#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceFormatsKHR`."]
2095#[doc(alias = "vkGetPhysicalDeviceSurfaceFormatsKHR")]
2096#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceFormatsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceFormatsKHR.html)"]
2097pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Option<
2098	unsafe extern "system" fn(
2099		physical_device: PhysicalDevice,
2100		surface: SurfaceKHR,
2101		p_surface_format_count: *mut u32,
2102		p_surface_formats: *mut SurfaceFormatKHR,
2103	) -> Result,
2104>;
2105
2106#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfacePresentModesKHR`."]
2107#[doc(alias = "vkGetPhysicalDeviceSurfacePresentModesKHR")]
2108#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfacePresentModesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfacePresentModesKHR.html)"]
2109pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Option<
2110	unsafe extern "system" fn(
2111		physical_device: PhysicalDevice,
2112		surface: SurfaceKHR,
2113		p_present_mode_count: *mut u32,
2114		p_present_modes: *mut PresentModeKHR,
2115	) -> Result,
2116>;
2117
2118#[doc = "Nullable function pointer for `vkCreateSwapchainKHR`."]
2119#[doc(alias = "vkCreateSwapchainKHR")]
2120#[doc = "\n\n[Khronos reference: `vkCreateSwapchainKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSwapchainKHR.html)"]
2121pub type PFN_vkCreateSwapchainKHR = Option<
2122	unsafe extern "system" fn(
2123		device: DeviceHandle,
2124		p_create_info: *const SwapchainCreateInfoKHR<'_>,
2125		p_allocator: *const AllocationCallbacks,
2126		p_swapchain: *mut SwapchainKHR,
2127	) -> Result,
2128>;
2129
2130#[doc = "Nullable function pointer for `vkDestroySwapchainKHR`."]
2131#[doc(alias = "vkDestroySwapchainKHR")]
2132#[doc = "\n\n[Khronos reference: `vkDestroySwapchainKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySwapchainKHR.html)"]
2133pub type PFN_vkDestroySwapchainKHR = Option<
2134	unsafe extern "system" fn(
2135		device: DeviceHandle,
2136		swapchain: SwapchainKHR,
2137		p_allocator: *const AllocationCallbacks,
2138	) -> (),
2139>;
2140
2141#[doc = "Nullable function pointer for `vkGetSwapchainImagesKHR`."]
2142#[doc(alias = "vkGetSwapchainImagesKHR")]
2143#[doc = "\n\n[Khronos reference: `vkGetSwapchainImagesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSwapchainImagesKHR.html)"]
2144pub type PFN_vkGetSwapchainImagesKHR = Option<
2145	unsafe extern "system" fn(
2146		device: DeviceHandle,
2147		swapchain: SwapchainKHR,
2148		p_swapchain_image_count: *mut u32,
2149		p_swapchain_images: *mut Image,
2150	) -> Result,
2151>;
2152
2153#[doc = "Nullable function pointer for `vkAcquireNextImageKHR`."]
2154#[doc(alias = "vkAcquireNextImageKHR")]
2155#[doc = "\n\n[Khronos reference: `vkAcquireNextImageKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireNextImageKHR.html)"]
2156pub type PFN_vkAcquireNextImageKHR = Option<
2157	unsafe extern "system" fn(
2158		device: DeviceHandle,
2159		swapchain: SwapchainKHR,
2160		timeout: u64,
2161		semaphore: Semaphore,
2162		fence: Fence,
2163		p_image_index: *mut u32,
2164	) -> Result,
2165>;
2166
2167#[doc = "Nullable function pointer for `vkQueuePresentKHR`."]
2168#[doc(alias = "vkQueuePresentKHR")]
2169#[doc = "\n\n[Khronos reference: `vkQueuePresentKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueuePresentKHR.html)"]
2170pub type PFN_vkQueuePresentKHR = Option<
2171	unsafe extern "system" fn(queue: Queue, p_present_info: *const PresentInfoKHR<'_>) -> Result,
2172>;
2173
2174#[cfg(feature = "platform-vi")]
2175#[doc = "Nullable function pointer for `vkCreateViSurfaceNN`."]
2176#[doc(alias = "vkCreateViSurfaceNN")]
2177#[doc = "\n\n[Khronos reference: `vkCreateViSurfaceNN`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateViSurfaceNN.html)"]
2178pub type PFN_vkCreateViSurfaceNN = Option<
2179	unsafe extern "system" fn(
2180		instance: InstanceHandle,
2181		p_create_info: *const ViSurfaceCreateInfoNN<'_>,
2182		p_allocator: *const AllocationCallbacks,
2183		p_surface: *mut SurfaceKHR,
2184	) -> Result,
2185>;
2186
2187#[cfg(feature = "platform-wayland")]
2188#[doc = "Nullable function pointer for `vkCreateWaylandSurfaceKHR`."]
2189#[doc(alias = "vkCreateWaylandSurfaceKHR")]
2190#[doc = "\n\n[Khronos reference: `vkCreateWaylandSurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateWaylandSurfaceKHR.html)"]
2191pub type PFN_vkCreateWaylandSurfaceKHR = Option<
2192	unsafe extern "system" fn(
2193		instance: InstanceHandle,
2194		p_create_info: *const WaylandSurfaceCreateInfoKHR<'_>,
2195		p_allocator: *const AllocationCallbacks,
2196		p_surface: *mut SurfaceKHR,
2197	) -> Result,
2198>;
2199
2200#[cfg(feature = "platform-wayland")]
2201#[doc = "Nullable function pointer for `vkGetPhysicalDeviceWaylandPresentationSupportKHR`."]
2202#[doc(alias = "vkGetPhysicalDeviceWaylandPresentationSupportKHR")]
2203#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceWaylandPresentationSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html)"]
2204pub type PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR = Option<
2205	unsafe extern "system" fn(
2206		physical_device: PhysicalDevice,
2207		queue_family_index: u32,
2208		display: *mut wl_display,
2209	) -> Bool32,
2210>;
2211
2212#[cfg(feature = "platform-ubm")]
2213#[doc = "Nullable function pointer for `vkCreateUbmSurfaceSEC`."]
2214#[doc(alias = "vkCreateUbmSurfaceSEC")]
2215#[doc = "\n\n[Khronos reference: `vkCreateUbmSurfaceSEC`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateUbmSurfaceSEC.html)"]
2216pub type PFN_vkCreateUbmSurfaceSEC = Option<
2217	unsafe extern "system" fn(
2218		instance: InstanceHandle,
2219		p_create_info: *const UbmSurfaceCreateInfoSEC<'_>,
2220		p_allocator: *const AllocationCallbacks,
2221		p_surface: *mut SurfaceKHR,
2222	) -> Result,
2223>;
2224
2225#[cfg(feature = "platform-ubm")]
2226#[doc = "Nullable function pointer for `vkGetPhysicalDeviceUbmPresentationSupportSEC`."]
2227#[doc(alias = "vkGetPhysicalDeviceUbmPresentationSupportSEC")]
2228#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceUbmPresentationSupportSEC`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceUbmPresentationSupportSEC.html)"]
2229pub type PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC = Option<
2230	unsafe extern "system" fn(
2231		physical_device: PhysicalDevice,
2232		queue_family_index: u32,
2233		device: *mut ubm_device,
2234	) -> Bool32,
2235>;
2236
2237#[cfg(feature = "platform-win32")]
2238#[doc = "Nullable function pointer for `vkCreateWin32SurfaceKHR`."]
2239#[doc(alias = "vkCreateWin32SurfaceKHR")]
2240#[doc = "\n\n[Khronos reference: `vkCreateWin32SurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateWin32SurfaceKHR.html)"]
2241pub type PFN_vkCreateWin32SurfaceKHR = Option<
2242	unsafe extern "system" fn(
2243		instance: InstanceHandle,
2244		p_create_info: *const Win32SurfaceCreateInfoKHR<'_>,
2245		p_allocator: *const AllocationCallbacks,
2246		p_surface: *mut SurfaceKHR,
2247	) -> Result,
2248>;
2249
2250#[cfg(feature = "platform-win32")]
2251#[doc = "Nullable function pointer for `vkGetPhysicalDeviceWin32PresentationSupportKHR`."]
2252#[doc(alias = "vkGetPhysicalDeviceWin32PresentationSupportKHR")]
2253#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceWin32PresentationSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceWin32PresentationSupportKHR.html)"]
2254pub type PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR = Option<
2255	unsafe extern "system" fn(physical_device: PhysicalDevice, queue_family_index: u32) -> Bool32,
2256>;
2257
2258#[cfg(feature = "platform-xlib")]
2259#[doc = "Nullable function pointer for `vkCreateXlibSurfaceKHR`."]
2260#[doc(alias = "vkCreateXlibSurfaceKHR")]
2261#[doc = "\n\n[Khronos reference: `vkCreateXlibSurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateXlibSurfaceKHR.html)"]
2262pub type PFN_vkCreateXlibSurfaceKHR = Option<
2263	unsafe extern "system" fn(
2264		instance: InstanceHandle,
2265		p_create_info: *const XlibSurfaceCreateInfoKHR<'_>,
2266		p_allocator: *const AllocationCallbacks,
2267		p_surface: *mut SurfaceKHR,
2268	) -> Result,
2269>;
2270
2271#[cfg(feature = "platform-xlib")]
2272#[doc = "Nullable function pointer for `vkGetPhysicalDeviceXlibPresentationSupportKHR`."]
2273#[doc(alias = "vkGetPhysicalDeviceXlibPresentationSupportKHR")]
2274#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceXlibPresentationSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceXlibPresentationSupportKHR.html)"]
2275pub type PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR = Option<
2276	unsafe extern "system" fn(
2277		physical_device: PhysicalDevice,
2278		queue_family_index: u32,
2279		dpy: *mut Display,
2280		visual_id: VisualID,
2281	) -> Bool32,
2282>;
2283
2284#[cfg(feature = "platform-xcb")]
2285#[doc = "Nullable function pointer for `vkCreateXcbSurfaceKHR`."]
2286#[doc(alias = "vkCreateXcbSurfaceKHR")]
2287#[doc = "\n\n[Khronos reference: `vkCreateXcbSurfaceKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateXcbSurfaceKHR.html)"]
2288pub type PFN_vkCreateXcbSurfaceKHR = Option<
2289	unsafe extern "system" fn(
2290		instance: InstanceHandle,
2291		p_create_info: *const XcbSurfaceCreateInfoKHR<'_>,
2292		p_allocator: *const AllocationCallbacks,
2293		p_surface: *mut SurfaceKHR,
2294	) -> Result,
2295>;
2296
2297#[cfg(feature = "platform-xcb")]
2298#[doc = "Nullable function pointer for `vkGetPhysicalDeviceXcbPresentationSupportKHR`."]
2299#[doc(alias = "vkGetPhysicalDeviceXcbPresentationSupportKHR")]
2300#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceXcbPresentationSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceXcbPresentationSupportKHR.html)"]
2301pub type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = Option<
2302	unsafe extern "system" fn(
2303		physical_device: PhysicalDevice,
2304		queue_family_index: u32,
2305		connection: *mut xcb_connection_t,
2306		visual_id: xcb_visualid_t,
2307	) -> Bool32,
2308>;
2309
2310#[cfg(feature = "platform-directfb")]
2311#[doc = "Nullable function pointer for `vkCreateDirectFBSurfaceEXT`."]
2312#[doc(alias = "vkCreateDirectFBSurfaceEXT")]
2313#[doc = "\n\n[Khronos reference: `vkCreateDirectFBSurfaceEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDirectFBSurfaceEXT.html)"]
2314pub type PFN_vkCreateDirectFBSurfaceEXT = Option<
2315	unsafe extern "system" fn(
2316		instance: InstanceHandle,
2317		p_create_info: *const DirectFBSurfaceCreateInfoEXT<'_>,
2318		p_allocator: *const AllocationCallbacks,
2319		p_surface: *mut SurfaceKHR,
2320	) -> Result,
2321>;
2322
2323#[cfg(feature = "platform-directfb")]
2324#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDirectFBPresentationSupportEXT`."]
2325#[doc(alias = "vkGetPhysicalDeviceDirectFBPresentationSupportEXT")]
2326#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDirectFBPresentationSupportEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html)"]
2327pub type PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = Option<
2328	unsafe extern "system" fn(
2329		physical_device: PhysicalDevice,
2330		queue_family_index: u32,
2331		dfb: *mut IDirectFB,
2332	) -> Bool32,
2333>;
2334
2335#[cfg(feature = "platform-fuchsia")]
2336#[doc = "Nullable function pointer for `vkCreateImagePipeSurfaceFUCHSIA`."]
2337#[doc(alias = "vkCreateImagePipeSurfaceFUCHSIA")]
2338#[doc = "\n\n[Khronos reference: `vkCreateImagePipeSurfaceFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateImagePipeSurfaceFUCHSIA.html)"]
2339pub type PFN_vkCreateImagePipeSurfaceFUCHSIA = Option<
2340	unsafe extern "system" fn(
2341		instance: InstanceHandle,
2342		p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA<'_>,
2343		p_allocator: *const AllocationCallbacks,
2344		p_surface: *mut SurfaceKHR,
2345	) -> Result,
2346>;
2347
2348#[cfg(feature = "platform-ggp")]
2349#[doc = "Nullable function pointer for `vkCreateStreamDescriptorSurfaceGGP`."]
2350#[doc(alias = "vkCreateStreamDescriptorSurfaceGGP")]
2351#[doc = "\n\n[Khronos reference: `vkCreateStreamDescriptorSurfaceGGP`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateStreamDescriptorSurfaceGGP.html)"]
2352pub type PFN_vkCreateStreamDescriptorSurfaceGGP = Option<
2353	unsafe extern "system" fn(
2354		instance: InstanceHandle,
2355		p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP<'_>,
2356		p_allocator: *const AllocationCallbacks,
2357		p_surface: *mut SurfaceKHR,
2358	) -> Result,
2359>;
2360
2361#[cfg(feature = "platform-screen")]
2362#[doc = "Nullable function pointer for `vkCreateScreenSurfaceQNX`."]
2363#[doc(alias = "vkCreateScreenSurfaceQNX")]
2364#[doc = "\n\n[Khronos reference: `vkCreateScreenSurfaceQNX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateScreenSurfaceQNX.html)"]
2365pub type PFN_vkCreateScreenSurfaceQNX = Option<
2366	unsafe extern "system" fn(
2367		instance: InstanceHandle,
2368		p_create_info: *const ScreenSurfaceCreateInfoQNX<'_>,
2369		p_allocator: *const AllocationCallbacks,
2370		p_surface: *mut SurfaceKHR,
2371	) -> Result,
2372>;
2373
2374#[cfg(feature = "platform-screen")]
2375#[doc = "Nullable function pointer for `vkGetPhysicalDeviceScreenPresentationSupportQNX`."]
2376#[doc(alias = "vkGetPhysicalDeviceScreenPresentationSupportQNX")]
2377#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceScreenPresentationSupportQNX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceScreenPresentationSupportQNX.html)"]
2378pub type PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX = Option<
2379	unsafe extern "system" fn(
2380		physical_device: PhysicalDevice,
2381		queue_family_index: u32,
2382		window: *mut _screen_window,
2383	) -> Bool32,
2384>;
2385
2386#[doc = "Nullable function pointer for `vkCreateDebugReportCallbackEXT`."]
2387#[doc(alias = "vkCreateDebugReportCallbackEXT")]
2388#[doc = "\n\n[Khronos reference: `vkCreateDebugReportCallbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDebugReportCallbackEXT.html)"]
2389pub type PFN_vkCreateDebugReportCallbackEXT = Option<
2390	unsafe extern "system" fn(
2391		instance: InstanceHandle,
2392		p_create_info: *const DebugReportCallbackCreateInfoEXT<'_>,
2393		p_allocator: *const AllocationCallbacks,
2394		p_callback: *mut DebugReportCallbackEXT,
2395	) -> Result,
2396>;
2397
2398#[doc = "Nullable function pointer for `vkDestroyDebugReportCallbackEXT`."]
2399#[doc(alias = "vkDestroyDebugReportCallbackEXT")]
2400#[doc = "\n\n[Khronos reference: `vkDestroyDebugReportCallbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDebugReportCallbackEXT.html)"]
2401pub type PFN_vkDestroyDebugReportCallbackEXT = Option<
2402	unsafe extern "system" fn(
2403		instance: InstanceHandle,
2404		callback: DebugReportCallbackEXT,
2405		p_allocator: *const AllocationCallbacks,
2406	) -> (),
2407>;
2408
2409#[doc = "Nullable function pointer for `vkDebugReportMessageEXT`."]
2410#[doc(alias = "vkDebugReportMessageEXT")]
2411#[doc = "\n\n[Khronos reference: `vkDebugReportMessageEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDebugReportMessageEXT.html)"]
2412pub type PFN_vkDebugReportMessageEXT = Option<
2413	unsafe extern "system" fn(
2414		instance: InstanceHandle,
2415		flags: DebugReportFlagsEXT,
2416		object_type: DebugReportObjectTypeEXT,
2417		object: u64,
2418		location: usize,
2419		message_code: i32,
2420		p_layer_prefix: *const std::ffi::c_char,
2421		p_message: *const std::ffi::c_char,
2422	) -> (),
2423>;
2424
2425#[doc = "Nullable function pointer for `vkDebugMarkerSetObjectNameEXT`."]
2426#[doc(alias = "vkDebugMarkerSetObjectNameEXT")]
2427#[doc = "\n\n[Khronos reference: `vkDebugMarkerSetObjectNameEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDebugMarkerSetObjectNameEXT.html)"]
2428pub type PFN_vkDebugMarkerSetObjectNameEXT = Option<
2429	unsafe extern "system" fn(
2430		device: DeviceHandle,
2431		p_name_info: *const DebugMarkerObjectNameInfoEXT<'_>,
2432	) -> Result,
2433>;
2434
2435#[doc = "Nullable function pointer for `vkDebugMarkerSetObjectTagEXT`."]
2436#[doc(alias = "vkDebugMarkerSetObjectTagEXT")]
2437#[doc = "\n\n[Khronos reference: `vkDebugMarkerSetObjectTagEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDebugMarkerSetObjectTagEXT.html)"]
2438pub type PFN_vkDebugMarkerSetObjectTagEXT = Option<
2439	unsafe extern "system" fn(
2440		device: DeviceHandle,
2441		p_tag_info: *const DebugMarkerObjectTagInfoEXT<'_>,
2442	) -> Result,
2443>;
2444
2445#[doc = "Nullable function pointer for `vkCmdDebugMarkerBeginEXT`."]
2446#[doc(alias = "vkCmdDebugMarkerBeginEXT")]
2447#[doc = "\n\n[Khronos reference: `vkCmdDebugMarkerBeginEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDebugMarkerBeginEXT.html)"]
2448pub type PFN_vkCmdDebugMarkerBeginEXT = Option<
2449	unsafe extern "system" fn(
2450		command_buffer: CommandBuffer,
2451		p_marker_info: *const DebugMarkerMarkerInfoEXT<'_>,
2452	) -> (),
2453>;
2454
2455#[doc = "Nullable function pointer for `vkCmdDebugMarkerEndEXT`."]
2456#[doc(alias = "vkCmdDebugMarkerEndEXT")]
2457#[doc = "\n\n[Khronos reference: `vkCmdDebugMarkerEndEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDebugMarkerEndEXT.html)"]
2458pub type PFN_vkCmdDebugMarkerEndEXT =
2459	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
2460
2461#[doc = "Nullable function pointer for `vkCmdDebugMarkerInsertEXT`."]
2462#[doc(alias = "vkCmdDebugMarkerInsertEXT")]
2463#[doc = "\n\n[Khronos reference: `vkCmdDebugMarkerInsertEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDebugMarkerInsertEXT.html)"]
2464pub type PFN_vkCmdDebugMarkerInsertEXT = Option<
2465	unsafe extern "system" fn(
2466		command_buffer: CommandBuffer,
2467		p_marker_info: *const DebugMarkerMarkerInfoEXT<'_>,
2468	) -> (),
2469>;
2470
2471#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalImageFormatPropertiesNV`."]
2472#[doc(alias = "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")]
2473#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalImageFormatPropertiesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html)"]
2474pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = Option<
2475	unsafe extern "system" fn(
2476		physical_device: PhysicalDevice,
2477		format: Format,
2478		r#type: ImageType,
2479		tiling: ImageTiling,
2480		usage: ImageUsageFlags,
2481		flags: ImageCreateFlags,
2482		external_handle_type: ExternalMemoryHandleTypeFlagsNV,
2483		p_external_image_format_properties: *mut ExternalImageFormatPropertiesNV,
2484	) -> Result,
2485>;
2486
2487#[cfg(feature = "platform-win32")]
2488#[doc = "Nullable function pointer for `vkGetMemoryWin32HandleNV`."]
2489#[doc(alias = "vkGetMemoryWin32HandleNV")]
2490#[doc = "\n\n[Khronos reference: `vkGetMemoryWin32HandleNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryWin32HandleNV.html)"]
2491pub type PFN_vkGetMemoryWin32HandleNV = Option<
2492	unsafe extern "system" fn(
2493		device: DeviceHandle,
2494		memory: DeviceMemory,
2495		handle_type: ExternalMemoryHandleTypeFlagsNV,
2496		p_handle: *mut HANDLE,
2497	) -> Result,
2498>;
2499
2500#[doc = "Nullable function pointer for `vkCmdExecuteGeneratedCommandsNV`."]
2501#[doc(alias = "vkCmdExecuteGeneratedCommandsNV")]
2502#[doc = "\n\n[Khronos reference: `vkCmdExecuteGeneratedCommandsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdExecuteGeneratedCommandsNV.html)"]
2503pub type PFN_vkCmdExecuteGeneratedCommandsNV = Option<
2504	unsafe extern "system" fn(
2505		command_buffer: CommandBuffer,
2506		is_preprocessed: Bool32,
2507		p_generated_commands_info: *const GeneratedCommandsInfoNV<'_>,
2508	) -> (),
2509>;
2510
2511#[doc = "Nullable function pointer for `vkCmdPreprocessGeneratedCommandsNV`."]
2512#[doc(alias = "vkCmdPreprocessGeneratedCommandsNV")]
2513#[doc = "\n\n[Khronos reference: `vkCmdPreprocessGeneratedCommandsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPreprocessGeneratedCommandsNV.html)"]
2514pub type PFN_vkCmdPreprocessGeneratedCommandsNV = Option<
2515	unsafe extern "system" fn(
2516		command_buffer: CommandBuffer,
2517		p_generated_commands_info: *const GeneratedCommandsInfoNV<'_>,
2518	) -> (),
2519>;
2520
2521#[doc = "Nullable function pointer for `vkCmdBindPipelineShaderGroupNV`."]
2522#[doc(alias = "vkCmdBindPipelineShaderGroupNV")]
2523#[doc = "\n\n[Khronos reference: `vkCmdBindPipelineShaderGroupNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindPipelineShaderGroupNV.html)"]
2524pub type PFN_vkCmdBindPipelineShaderGroupNV = Option<
2525	unsafe extern "system" fn(
2526		command_buffer: CommandBuffer,
2527		pipeline_bind_point: PipelineBindPoint,
2528		pipeline: Pipeline,
2529		group_index: u32,
2530	) -> (),
2531>;
2532
2533#[doc = "Nullable function pointer for `vkGetGeneratedCommandsMemoryRequirementsNV`."]
2534#[doc(alias = "vkGetGeneratedCommandsMemoryRequirementsNV")]
2535#[doc = "\n\n[Khronos reference: `vkGetGeneratedCommandsMemoryRequirementsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetGeneratedCommandsMemoryRequirementsNV.html)"]
2536pub type PFN_vkGetGeneratedCommandsMemoryRequirementsNV = Option<
2537	unsafe extern "system" fn(
2538		device: DeviceHandle,
2539		p_info: *const GeneratedCommandsMemoryRequirementsInfoNV<'_>,
2540		p_memory_requirements: *mut MemoryRequirements2<'_>,
2541	) -> (),
2542>;
2543
2544#[doc = "Nullable function pointer for `vkCreateIndirectCommandsLayoutNV`."]
2545#[doc(alias = "vkCreateIndirectCommandsLayoutNV")]
2546#[doc = "\n\n[Khronos reference: `vkCreateIndirectCommandsLayoutNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateIndirectCommandsLayoutNV.html)"]
2547pub type PFN_vkCreateIndirectCommandsLayoutNV = Option<
2548	unsafe extern "system" fn(
2549		device: DeviceHandle,
2550		p_create_info: *const IndirectCommandsLayoutCreateInfoNV<'_>,
2551		p_allocator: *const AllocationCallbacks,
2552		p_indirect_commands_layout: *mut IndirectCommandsLayoutNV,
2553	) -> Result,
2554>;
2555
2556#[doc = "Nullable function pointer for `vkDestroyIndirectCommandsLayoutNV`."]
2557#[doc(alias = "vkDestroyIndirectCommandsLayoutNV")]
2558#[doc = "\n\n[Khronos reference: `vkDestroyIndirectCommandsLayoutNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyIndirectCommandsLayoutNV.html)"]
2559pub type PFN_vkDestroyIndirectCommandsLayoutNV = Option<
2560	unsafe extern "system" fn(
2561		device: DeviceHandle,
2562		indirect_commands_layout: IndirectCommandsLayoutNV,
2563		p_allocator: *const AllocationCallbacks,
2564	) -> (),
2565>;
2566
2567#[doc = "Nullable function pointer for `vkCmdExecuteGeneratedCommandsEXT`."]
2568#[doc(alias = "vkCmdExecuteGeneratedCommandsEXT")]
2569#[doc = "\n\n[Khronos reference: `vkCmdExecuteGeneratedCommandsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdExecuteGeneratedCommandsEXT.html)"]
2570pub type PFN_vkCmdExecuteGeneratedCommandsEXT = Option<
2571	unsafe extern "system" fn(
2572		command_buffer: CommandBuffer,
2573		is_preprocessed: Bool32,
2574		p_generated_commands_info: *const GeneratedCommandsInfoEXT<'_>,
2575	) -> (),
2576>;
2577
2578#[doc = "Nullable function pointer for `vkCmdPreprocessGeneratedCommandsEXT`."]
2579#[doc(alias = "vkCmdPreprocessGeneratedCommandsEXT")]
2580#[doc = "\n\n[Khronos reference: `vkCmdPreprocessGeneratedCommandsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPreprocessGeneratedCommandsEXT.html)"]
2581pub type PFN_vkCmdPreprocessGeneratedCommandsEXT = Option<
2582	unsafe extern "system" fn(
2583		command_buffer: CommandBuffer,
2584		p_generated_commands_info: *const GeneratedCommandsInfoEXT<'_>,
2585		state_command_buffer: CommandBuffer,
2586	) -> (),
2587>;
2588
2589#[doc = "Nullable function pointer for `vkGetGeneratedCommandsMemoryRequirementsEXT`."]
2590#[doc(alias = "vkGetGeneratedCommandsMemoryRequirementsEXT")]
2591#[doc = "\n\n[Khronos reference: `vkGetGeneratedCommandsMemoryRequirementsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetGeneratedCommandsMemoryRequirementsEXT.html)"]
2592pub type PFN_vkGetGeneratedCommandsMemoryRequirementsEXT = Option<
2593	unsafe extern "system" fn(
2594		device: DeviceHandle,
2595		p_info: *const GeneratedCommandsMemoryRequirementsInfoEXT<'_>,
2596		p_memory_requirements: *mut MemoryRequirements2<'_>,
2597	) -> (),
2598>;
2599
2600#[doc = "Nullable function pointer for `vkCreateIndirectCommandsLayoutEXT`."]
2601#[doc(alias = "vkCreateIndirectCommandsLayoutEXT")]
2602#[doc = "\n\n[Khronos reference: `vkCreateIndirectCommandsLayoutEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateIndirectCommandsLayoutEXT.html)"]
2603pub type PFN_vkCreateIndirectCommandsLayoutEXT = Option<
2604	unsafe extern "system" fn(
2605		device: DeviceHandle,
2606		p_create_info: *const IndirectCommandsLayoutCreateInfoEXT<'_>,
2607		p_allocator: *const AllocationCallbacks,
2608		p_indirect_commands_layout: *mut IndirectCommandsLayoutEXT,
2609	) -> Result,
2610>;
2611
2612#[doc = "Nullable function pointer for `vkDestroyIndirectCommandsLayoutEXT`."]
2613#[doc(alias = "vkDestroyIndirectCommandsLayoutEXT")]
2614#[doc = "\n\n[Khronos reference: `vkDestroyIndirectCommandsLayoutEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyIndirectCommandsLayoutEXT.html)"]
2615pub type PFN_vkDestroyIndirectCommandsLayoutEXT = Option<
2616	unsafe extern "system" fn(
2617		device: DeviceHandle,
2618		indirect_commands_layout: IndirectCommandsLayoutEXT,
2619		p_allocator: *const AllocationCallbacks,
2620	) -> (),
2621>;
2622
2623#[doc = "Nullable function pointer for `vkCreateIndirectExecutionSetEXT`."]
2624#[doc(alias = "vkCreateIndirectExecutionSetEXT")]
2625#[doc = "\n\n[Khronos reference: `vkCreateIndirectExecutionSetEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateIndirectExecutionSetEXT.html)"]
2626pub type PFN_vkCreateIndirectExecutionSetEXT = Option<
2627	unsafe extern "system" fn(
2628		device: DeviceHandle,
2629		p_create_info: *const IndirectExecutionSetCreateInfoEXT<'_>,
2630		p_allocator: *const AllocationCallbacks,
2631		p_indirect_execution_set: *mut IndirectExecutionSetEXT,
2632	) -> Result,
2633>;
2634
2635#[doc = "Nullable function pointer for `vkDestroyIndirectExecutionSetEXT`."]
2636#[doc(alias = "vkDestroyIndirectExecutionSetEXT")]
2637#[doc = "\n\n[Khronos reference: `vkDestroyIndirectExecutionSetEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyIndirectExecutionSetEXT.html)"]
2638pub type PFN_vkDestroyIndirectExecutionSetEXT = Option<
2639	unsafe extern "system" fn(
2640		device: DeviceHandle,
2641		indirect_execution_set: IndirectExecutionSetEXT,
2642		p_allocator: *const AllocationCallbacks,
2643	) -> (),
2644>;
2645
2646#[doc = "Nullable function pointer for `vkUpdateIndirectExecutionSetPipelineEXT`."]
2647#[doc(alias = "vkUpdateIndirectExecutionSetPipelineEXT")]
2648#[doc = "\n\n[Khronos reference: `vkUpdateIndirectExecutionSetPipelineEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateIndirectExecutionSetPipelineEXT.html)"]
2649pub type PFN_vkUpdateIndirectExecutionSetPipelineEXT = Option<
2650	unsafe extern "system" fn(
2651		device: DeviceHandle,
2652		indirect_execution_set: IndirectExecutionSetEXT,
2653		execution_set_write_count: u32,
2654		p_execution_set_writes: *const WriteIndirectExecutionSetPipelineEXT<'_>,
2655	) -> (),
2656>;
2657
2658#[doc = "Nullable function pointer for `vkUpdateIndirectExecutionSetShaderEXT`."]
2659#[doc(alias = "vkUpdateIndirectExecutionSetShaderEXT")]
2660#[doc = "\n\n[Khronos reference: `vkUpdateIndirectExecutionSetShaderEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateIndirectExecutionSetShaderEXT.html)"]
2661pub type PFN_vkUpdateIndirectExecutionSetShaderEXT = Option<
2662	unsafe extern "system" fn(
2663		device: DeviceHandle,
2664		indirect_execution_set: IndirectExecutionSetEXT,
2665		execution_set_write_count: u32,
2666		p_execution_set_writes: *const WriteIndirectExecutionSetShaderEXT<'_>,
2667	) -> (),
2668>;
2669
2670#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFeatures2`."]
2671#[doc(alias = "vkGetPhysicalDeviceFeatures2")]
2672#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFeatures2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFeatures2.html)"]
2673pub type PFN_vkGetPhysicalDeviceFeatures2 = Option<
2674	unsafe extern "system" fn(
2675		physical_device: PhysicalDevice,
2676		p_features: *mut PhysicalDeviceFeatures2<'_>,
2677	) -> (),
2678>;
2679
2680#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFeatures2KHR`."]
2681#[doc(alias = "vkGetPhysicalDeviceFeatures2KHR")]
2682#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFeatures2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFeatures2KHR.html)"]
2683pub type PFN_vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2;
2684
2685#[doc = "Nullable function pointer for `vkGetPhysicalDeviceProperties2`."]
2686#[doc(alias = "vkGetPhysicalDeviceProperties2")]
2687#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceProperties2.html)"]
2688pub type PFN_vkGetPhysicalDeviceProperties2 = Option<
2689	unsafe extern "system" fn(
2690		physical_device: PhysicalDevice,
2691		p_properties: *mut PhysicalDeviceProperties2<'_>,
2692	) -> (),
2693>;
2694
2695#[doc = "Nullable function pointer for `vkGetPhysicalDeviceProperties2KHR`."]
2696#[doc(alias = "vkGetPhysicalDeviceProperties2KHR")]
2697#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceProperties2KHR.html)"]
2698pub type PFN_vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2;
2699
2700#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFormatProperties2`."]
2701#[doc(alias = "vkGetPhysicalDeviceFormatProperties2")]
2702#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFormatProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFormatProperties2.html)"]
2703pub type PFN_vkGetPhysicalDeviceFormatProperties2 = Option<
2704	unsafe extern "system" fn(
2705		physical_device: PhysicalDevice,
2706		format: Format,
2707		p_format_properties: *mut FormatProperties2<'_>,
2708	) -> (),
2709>;
2710
2711#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFormatProperties2KHR`."]
2712#[doc(alias = "vkGetPhysicalDeviceFormatProperties2KHR")]
2713#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFormatProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFormatProperties2KHR.html)"]
2714pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2;
2715
2716#[doc = "Nullable function pointer for `vkGetPhysicalDeviceImageFormatProperties2`."]
2717#[doc(alias = "vkGetPhysicalDeviceImageFormatProperties2")]
2718#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceImageFormatProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceImageFormatProperties2.html)"]
2719pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = Option<
2720	unsafe extern "system" fn(
2721		physical_device: PhysicalDevice,
2722		p_image_format_info: *const PhysicalDeviceImageFormatInfo2<'_>,
2723		p_image_format_properties: *mut ImageFormatProperties2<'_>,
2724	) -> Result,
2725>;
2726
2727#[doc = "Nullable function pointer for `vkGetPhysicalDeviceImageFormatProperties2KHR`."]
2728#[doc(alias = "vkGetPhysicalDeviceImageFormatProperties2KHR")]
2729#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceImageFormatProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceImageFormatProperties2KHR.html)"]
2730pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR =
2731	PFN_vkGetPhysicalDeviceImageFormatProperties2;
2732
2733#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyProperties2`."]
2734#[doc(alias = "vkGetPhysicalDeviceQueueFamilyProperties2")]
2735#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyProperties2.html)"]
2736pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = Option<
2737	unsafe extern "system" fn(
2738		physical_device: PhysicalDevice,
2739		p_queue_family_property_count: *mut u32,
2740		p_queue_family_properties: *mut QueueFamilyProperties2<'_>,
2741	) -> (),
2742>;
2743
2744#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyProperties2KHR`."]
2745#[doc(alias = "vkGetPhysicalDeviceQueueFamilyProperties2KHR")]
2746#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html)"]
2747pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR =
2748	PFN_vkGetPhysicalDeviceQueueFamilyProperties2;
2749
2750#[doc = "Nullable function pointer for `vkGetPhysicalDeviceMemoryProperties2`."]
2751#[doc(alias = "vkGetPhysicalDeviceMemoryProperties2")]
2752#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceMemoryProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceMemoryProperties2.html)"]
2753pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = Option<
2754	unsafe extern "system" fn(
2755		physical_device: PhysicalDevice,
2756		p_memory_properties: *mut PhysicalDeviceMemoryProperties2<'_>,
2757	) -> (),
2758>;
2759
2760#[doc = "Nullable function pointer for `vkGetPhysicalDeviceMemoryProperties2KHR`."]
2761#[doc(alias = "vkGetPhysicalDeviceMemoryProperties2KHR")]
2762#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceMemoryProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceMemoryProperties2KHR.html)"]
2763pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2;
2764
2765#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSparseImageFormatProperties2`."]
2766#[doc(alias = "vkGetPhysicalDeviceSparseImageFormatProperties2")]
2767#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSparseImageFormatProperties2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSparseImageFormatProperties2.html)"]
2768pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = Option<
2769	unsafe extern "system" fn(
2770		physical_device: PhysicalDevice,
2771		p_format_info: *const PhysicalDeviceSparseImageFormatInfo2<'_>,
2772		p_property_count: *mut u32,
2773		p_properties: *mut SparseImageFormatProperties2<'_>,
2774	) -> (),
2775>;
2776
2777#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSparseImageFormatProperties2KHR`."]
2778#[doc(alias = "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")]
2779#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSparseImageFormatProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html)"]
2780pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
2781	PFN_vkGetPhysicalDeviceSparseImageFormatProperties2;
2782
2783#[doc = "Nullable function pointer for `vkCmdPushDescriptorSet`."]
2784#[doc(alias = "vkCmdPushDescriptorSet")]
2785#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSet`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSet.html)"]
2786pub type PFN_vkCmdPushDescriptorSet = Option<
2787	unsafe extern "system" fn(
2788		command_buffer: CommandBuffer,
2789		pipeline_bind_point: PipelineBindPoint,
2790		layout: PipelineLayout,
2791		set: u32,
2792		descriptor_write_count: u32,
2793		p_descriptor_writes: *const WriteDescriptorSet<'_>,
2794	) -> (),
2795>;
2796
2797#[doc = "Nullable function pointer for `vkCmdPushDescriptorSetKHR`."]
2798#[doc(alias = "vkCmdPushDescriptorSetKHR")]
2799#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSetKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSetKHR.html)"]
2800pub type PFN_vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSet;
2801
2802#[doc = "Nullable function pointer for `vkTrimCommandPool`."]
2803#[doc(alias = "vkTrimCommandPool")]
2804#[doc = "\n\n[Khronos reference: `vkTrimCommandPool`](https://docs.vulkan.org/refpages/latest/refpages/source/vkTrimCommandPool.html)"]
2805pub type PFN_vkTrimCommandPool = Option<
2806	unsafe extern "system" fn(
2807		device: DeviceHandle,
2808		command_pool: CommandPool,
2809		flags: CommandPoolTrimFlags,
2810	) -> (),
2811>;
2812
2813#[doc = "Nullable function pointer for `vkTrimCommandPoolKHR`."]
2814#[doc(alias = "vkTrimCommandPoolKHR")]
2815#[doc = "\n\n[Khronos reference: `vkTrimCommandPoolKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkTrimCommandPoolKHR.html)"]
2816pub type PFN_vkTrimCommandPoolKHR = PFN_vkTrimCommandPool;
2817
2818#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalBufferProperties`."]
2819#[doc(alias = "vkGetPhysicalDeviceExternalBufferProperties")]
2820#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalBufferProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalBufferProperties.html)"]
2821pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = Option<
2822	unsafe extern "system" fn(
2823		physical_device: PhysicalDevice,
2824		p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo<'_>,
2825		p_external_buffer_properties: *mut ExternalBufferProperties<'_>,
2826	) -> (),
2827>;
2828
2829#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalBufferPropertiesKHR`."]
2830#[doc(alias = "vkGetPhysicalDeviceExternalBufferPropertiesKHR")]
2831#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalBufferPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html)"]
2832pub type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR =
2833	PFN_vkGetPhysicalDeviceExternalBufferProperties;
2834
2835#[cfg(feature = "platform-win32")]
2836#[doc = "Nullable function pointer for `vkGetMemoryWin32HandleKHR`."]
2837#[doc(alias = "vkGetMemoryWin32HandleKHR")]
2838#[doc = "\n\n[Khronos reference: `vkGetMemoryWin32HandleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryWin32HandleKHR.html)"]
2839pub type PFN_vkGetMemoryWin32HandleKHR = Option<
2840	unsafe extern "system" fn(
2841		device: DeviceHandle,
2842		p_get_win32_handle_info: *const MemoryGetWin32HandleInfoKHR<'_>,
2843		p_handle: *mut HANDLE,
2844	) -> Result,
2845>;
2846
2847#[cfg(feature = "platform-win32")]
2848#[doc = "Nullable function pointer for `vkGetMemoryWin32HandlePropertiesKHR`."]
2849#[doc(alias = "vkGetMemoryWin32HandlePropertiesKHR")]
2850#[doc = "\n\n[Khronos reference: `vkGetMemoryWin32HandlePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryWin32HandlePropertiesKHR.html)"]
2851pub type PFN_vkGetMemoryWin32HandlePropertiesKHR = Option<
2852	unsafe extern "system" fn(
2853		device: DeviceHandle,
2854		handle_type: ExternalMemoryHandleTypeFlagBits,
2855		handle: HANDLE,
2856		p_memory_win32_handle_properties: *mut MemoryWin32HandlePropertiesKHR<'_>,
2857	) -> Result,
2858>;
2859
2860#[doc = "Nullable function pointer for `vkGetMemoryFdKHR`."]
2861#[doc(alias = "vkGetMemoryFdKHR")]
2862#[doc = "\n\n[Khronos reference: `vkGetMemoryFdKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryFdKHR.html)"]
2863pub type PFN_vkGetMemoryFdKHR = Option<
2864	unsafe extern "system" fn(
2865		device: DeviceHandle,
2866		p_get_fd_info: *const MemoryGetFdInfoKHR<'_>,
2867		p_fd: *mut i32,
2868	) -> Result,
2869>;
2870
2871#[doc = "Nullable function pointer for `vkGetMemoryFdPropertiesKHR`."]
2872#[doc(alias = "vkGetMemoryFdPropertiesKHR")]
2873#[doc = "\n\n[Khronos reference: `vkGetMemoryFdPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryFdPropertiesKHR.html)"]
2874pub type PFN_vkGetMemoryFdPropertiesKHR = Option<
2875	unsafe extern "system" fn(
2876		device: DeviceHandle,
2877		handle_type: ExternalMemoryHandleTypeFlagBits,
2878		fd: i32,
2879		p_memory_fd_properties: *mut MemoryFdPropertiesKHR<'_>,
2880	) -> Result,
2881>;
2882
2883#[cfg(feature = "platform-fuchsia")]
2884#[doc = "Nullable function pointer for `vkGetMemoryZirconHandleFUCHSIA`."]
2885#[doc(alias = "vkGetMemoryZirconHandleFUCHSIA")]
2886#[doc = "\n\n[Khronos reference: `vkGetMemoryZirconHandleFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryZirconHandleFUCHSIA.html)"]
2887pub type PFN_vkGetMemoryZirconHandleFUCHSIA = Option<
2888	unsafe extern "system" fn(
2889		device: DeviceHandle,
2890		p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA<'_>,
2891		p_zircon_handle: *mut zx_handle_t,
2892	) -> Result,
2893>;
2894
2895#[cfg(feature = "platform-fuchsia")]
2896#[doc = "Nullable function pointer for `vkGetMemoryZirconHandlePropertiesFUCHSIA`."]
2897#[doc(alias = "vkGetMemoryZirconHandlePropertiesFUCHSIA")]
2898#[doc = "\n\n[Khronos reference: `vkGetMemoryZirconHandlePropertiesFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryZirconHandlePropertiesFUCHSIA.html)"]
2899pub type PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA = Option<
2900	unsafe extern "system" fn(
2901		device: DeviceHandle,
2902		handle_type: ExternalMemoryHandleTypeFlagBits,
2903		zircon_handle: zx_handle_t,
2904		p_memory_zircon_handle_properties: *mut MemoryZirconHandlePropertiesFUCHSIA<'_>,
2905	) -> Result,
2906>;
2907
2908#[doc = "Nullable function pointer for `vkGetMemoryRemoteAddressNV`."]
2909#[doc(alias = "vkGetMemoryRemoteAddressNV")]
2910#[doc = "\n\n[Khronos reference: `vkGetMemoryRemoteAddressNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryRemoteAddressNV.html)"]
2911pub type PFN_vkGetMemoryRemoteAddressNV = Option<
2912	unsafe extern "system" fn(
2913		device: DeviceHandle,
2914		p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV<'_>,
2915		p_address: *mut RemoteAddressNV,
2916	) -> Result,
2917>;
2918
2919#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalSemaphoreProperties`."]
2920#[doc(alias = "vkGetPhysicalDeviceExternalSemaphoreProperties")]
2921#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalSemaphoreProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalSemaphoreProperties.html)"]
2922pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = Option<
2923	unsafe extern "system" fn(
2924		physical_device: PhysicalDevice,
2925		p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo<'_>,
2926		p_external_semaphore_properties: *mut ExternalSemaphoreProperties<'_>,
2927	) -> (),
2928>;
2929
2930#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalSemaphorePropertiesKHR`."]
2931#[doc(alias = "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")]
2932#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalSemaphorePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html)"]
2933pub type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
2934	PFN_vkGetPhysicalDeviceExternalSemaphoreProperties;
2935
2936#[cfg(feature = "platform-win32")]
2937#[doc = "Nullable function pointer for `vkGetSemaphoreWin32HandleKHR`."]
2938#[doc(alias = "vkGetSemaphoreWin32HandleKHR")]
2939#[doc = "\n\n[Khronos reference: `vkGetSemaphoreWin32HandleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreWin32HandleKHR.html)"]
2940pub type PFN_vkGetSemaphoreWin32HandleKHR = Option<
2941	unsafe extern "system" fn(
2942		device: DeviceHandle,
2943		p_get_win32_handle_info: *const SemaphoreGetWin32HandleInfoKHR<'_>,
2944		p_handle: *mut HANDLE,
2945	) -> Result,
2946>;
2947
2948#[cfg(feature = "platform-win32")]
2949#[doc = "Nullable function pointer for `vkImportSemaphoreWin32HandleKHR`."]
2950#[doc(alias = "vkImportSemaphoreWin32HandleKHR")]
2951#[doc = "\n\n[Khronos reference: `vkImportSemaphoreWin32HandleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkImportSemaphoreWin32HandleKHR.html)"]
2952pub type PFN_vkImportSemaphoreWin32HandleKHR = Option<
2953	unsafe extern "system" fn(
2954		device: DeviceHandle,
2955		p_import_semaphore_win32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR<'_>,
2956	) -> Result,
2957>;
2958
2959#[doc = "Nullable function pointer for `vkGetSemaphoreFdKHR`."]
2960#[doc(alias = "vkGetSemaphoreFdKHR")]
2961#[doc = "\n\n[Khronos reference: `vkGetSemaphoreFdKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreFdKHR.html)"]
2962pub type PFN_vkGetSemaphoreFdKHR = Option<
2963	unsafe extern "system" fn(
2964		device: DeviceHandle,
2965		p_get_fd_info: *const SemaphoreGetFdInfoKHR<'_>,
2966		p_fd: *mut i32,
2967	) -> Result,
2968>;
2969
2970#[doc = "Nullable function pointer for `vkImportSemaphoreFdKHR`."]
2971#[doc(alias = "vkImportSemaphoreFdKHR")]
2972#[doc = "\n\n[Khronos reference: `vkImportSemaphoreFdKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkImportSemaphoreFdKHR.html)"]
2973pub type PFN_vkImportSemaphoreFdKHR = Option<
2974	unsafe extern "system" fn(
2975		device: DeviceHandle,
2976		p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR<'_>,
2977	) -> Result,
2978>;
2979
2980#[cfg(feature = "platform-fuchsia")]
2981#[doc = "Nullable function pointer for `vkGetSemaphoreZirconHandleFUCHSIA`."]
2982#[doc(alias = "vkGetSemaphoreZirconHandleFUCHSIA")]
2983#[doc = "\n\n[Khronos reference: `vkGetSemaphoreZirconHandleFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreZirconHandleFUCHSIA.html)"]
2984pub type PFN_vkGetSemaphoreZirconHandleFUCHSIA = Option<
2985	unsafe extern "system" fn(
2986		device: DeviceHandle,
2987		p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA<'_>,
2988		p_zircon_handle: *mut zx_handle_t,
2989	) -> Result,
2990>;
2991
2992#[cfg(feature = "platform-fuchsia")]
2993#[doc = "Nullable function pointer for `vkImportSemaphoreZirconHandleFUCHSIA`."]
2994#[doc(alias = "vkImportSemaphoreZirconHandleFUCHSIA")]
2995#[doc = "\n\n[Khronos reference: `vkImportSemaphoreZirconHandleFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkImportSemaphoreZirconHandleFUCHSIA.html)"]
2996pub type PFN_vkImportSemaphoreZirconHandleFUCHSIA = Option<
2997	unsafe extern "system" fn(
2998		device: DeviceHandle,
2999		p_import_semaphore_zircon_handle_info: *const ImportSemaphoreZirconHandleInfoFUCHSIA<'_>,
3000	) -> Result,
3001>;
3002
3003#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalFenceProperties`."]
3004#[doc(alias = "vkGetPhysicalDeviceExternalFenceProperties")]
3005#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalFenceProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalFenceProperties.html)"]
3006pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = Option<
3007	unsafe extern "system" fn(
3008		physical_device: PhysicalDevice,
3009		p_external_fence_info: *const PhysicalDeviceExternalFenceInfo<'_>,
3010		p_external_fence_properties: *mut ExternalFenceProperties<'_>,
3011	) -> (),
3012>;
3013
3014#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalFencePropertiesKHR`."]
3015#[doc(alias = "vkGetPhysicalDeviceExternalFencePropertiesKHR")]
3016#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalFencePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalFencePropertiesKHR.html)"]
3017pub type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR =
3018	PFN_vkGetPhysicalDeviceExternalFenceProperties;
3019
3020#[cfg(feature = "platform-win32")]
3021#[doc = "Nullable function pointer for `vkGetFenceWin32HandleKHR`."]
3022#[doc(alias = "vkGetFenceWin32HandleKHR")]
3023#[doc = "\n\n[Khronos reference: `vkGetFenceWin32HandleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetFenceWin32HandleKHR.html)"]
3024pub type PFN_vkGetFenceWin32HandleKHR = Option<
3025	unsafe extern "system" fn(
3026		device: DeviceHandle,
3027		p_get_win32_handle_info: *const FenceGetWin32HandleInfoKHR<'_>,
3028		p_handle: *mut HANDLE,
3029	) -> Result,
3030>;
3031
3032#[cfg(feature = "platform-win32")]
3033#[doc = "Nullable function pointer for `vkImportFenceWin32HandleKHR`."]
3034#[doc(alias = "vkImportFenceWin32HandleKHR")]
3035#[doc = "\n\n[Khronos reference: `vkImportFenceWin32HandleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkImportFenceWin32HandleKHR.html)"]
3036pub type PFN_vkImportFenceWin32HandleKHR = Option<
3037	unsafe extern "system" fn(
3038		device: DeviceHandle,
3039		p_import_fence_win32_handle_info: *const ImportFenceWin32HandleInfoKHR<'_>,
3040	) -> Result,
3041>;
3042
3043#[doc = "Nullable function pointer for `vkGetFenceFdKHR`."]
3044#[doc(alias = "vkGetFenceFdKHR")]
3045#[doc = "\n\n[Khronos reference: `vkGetFenceFdKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetFenceFdKHR.html)"]
3046pub type PFN_vkGetFenceFdKHR = Option<
3047	unsafe extern "system" fn(
3048		device: DeviceHandle,
3049		p_get_fd_info: *const FenceGetFdInfoKHR<'_>,
3050		p_fd: *mut i32,
3051	) -> Result,
3052>;
3053
3054#[doc = "Nullable function pointer for `vkImportFenceFdKHR`."]
3055#[doc(alias = "vkImportFenceFdKHR")]
3056#[doc = "\n\n[Khronos reference: `vkImportFenceFdKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkImportFenceFdKHR.html)"]
3057pub type PFN_vkImportFenceFdKHR = Option<
3058	unsafe extern "system" fn(
3059		device: DeviceHandle,
3060		p_import_fence_fd_info: *const ImportFenceFdInfoKHR<'_>,
3061	) -> Result,
3062>;
3063
3064#[doc = "Nullable function pointer for `vkReleaseDisplayEXT`."]
3065#[doc(alias = "vkReleaseDisplayEXT")]
3066#[doc = "\n\n[Khronos reference: `vkReleaseDisplayEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseDisplayEXT.html)"]
3067pub type PFN_vkReleaseDisplayEXT =
3068	Option<unsafe extern "system" fn(physical_device: PhysicalDevice, display: DisplayKHR) -> Result>;
3069
3070#[cfg(feature = "platform-xlib-xrandr")]
3071#[doc = "Nullable function pointer for `vkAcquireXlibDisplayEXT`."]
3072#[doc(alias = "vkAcquireXlibDisplayEXT")]
3073#[doc = "\n\n[Khronos reference: `vkAcquireXlibDisplayEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireXlibDisplayEXT.html)"]
3074pub type PFN_vkAcquireXlibDisplayEXT = Option<
3075	unsafe extern "system" fn(
3076		physical_device: PhysicalDevice,
3077		dpy: *mut Display,
3078		display: DisplayKHR,
3079	) -> Result,
3080>;
3081
3082#[cfg(feature = "platform-xlib-xrandr")]
3083#[doc = "Nullable function pointer for `vkGetRandROutputDisplayEXT`."]
3084#[doc(alias = "vkGetRandROutputDisplayEXT")]
3085#[doc = "\n\n[Khronos reference: `vkGetRandROutputDisplayEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRandROutputDisplayEXT.html)"]
3086pub type PFN_vkGetRandROutputDisplayEXT = Option<
3087	unsafe extern "system" fn(
3088		physical_device: PhysicalDevice,
3089		dpy: *mut Display,
3090		rr_output: RROutput,
3091		p_display: *mut DisplayKHR,
3092	) -> Result,
3093>;
3094
3095#[cfg(feature = "platform-win32")]
3096#[doc = "Nullable function pointer for `vkAcquireWinrtDisplayNV`."]
3097#[doc(alias = "vkAcquireWinrtDisplayNV")]
3098#[doc = "\n\n[Khronos reference: `vkAcquireWinrtDisplayNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireWinrtDisplayNV.html)"]
3099pub type PFN_vkAcquireWinrtDisplayNV =
3100	Option<unsafe extern "system" fn(physical_device: PhysicalDevice, display: DisplayKHR) -> Result>;
3101
3102#[cfg(feature = "platform-win32")]
3103#[doc = "Nullable function pointer for `vkGetWinrtDisplayNV`."]
3104#[doc(alias = "vkGetWinrtDisplayNV")]
3105#[doc = "\n\n[Khronos reference: `vkGetWinrtDisplayNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetWinrtDisplayNV.html)"]
3106pub type PFN_vkGetWinrtDisplayNV = Option<
3107	unsafe extern "system" fn(
3108		physical_device: PhysicalDevice,
3109		device_relative_id: u32,
3110		p_display: *mut DisplayKHR,
3111	) -> Result,
3112>;
3113
3114#[doc = "Nullable function pointer for `vkDisplayPowerControlEXT`."]
3115#[doc(alias = "vkDisplayPowerControlEXT")]
3116#[doc = "\n\n[Khronos reference: `vkDisplayPowerControlEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDisplayPowerControlEXT.html)"]
3117pub type PFN_vkDisplayPowerControlEXT = Option<
3118	unsafe extern "system" fn(
3119		device: DeviceHandle,
3120		display: DisplayKHR,
3121		p_display_power_info: *const DisplayPowerInfoEXT<'_>,
3122	) -> Result,
3123>;
3124
3125#[doc = "Nullable function pointer for `vkRegisterDeviceEventEXT`."]
3126#[doc(alias = "vkRegisterDeviceEventEXT")]
3127#[doc = "\n\n[Khronos reference: `vkRegisterDeviceEventEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkRegisterDeviceEventEXT.html)"]
3128pub type PFN_vkRegisterDeviceEventEXT = Option<
3129	unsafe extern "system" fn(
3130		device: DeviceHandle,
3131		p_device_event_info: *const DeviceEventInfoEXT<'_>,
3132		p_allocator: *const AllocationCallbacks,
3133		p_fence: *mut Fence,
3134	) -> Result,
3135>;
3136
3137#[doc = "Nullable function pointer for `vkRegisterDisplayEventEXT`."]
3138#[doc(alias = "vkRegisterDisplayEventEXT")]
3139#[doc = "\n\n[Khronos reference: `vkRegisterDisplayEventEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkRegisterDisplayEventEXT.html)"]
3140pub type PFN_vkRegisterDisplayEventEXT = Option<
3141	unsafe extern "system" fn(
3142		device: DeviceHandle,
3143		display: DisplayKHR,
3144		p_display_event_info: *const DisplayEventInfoEXT<'_>,
3145		p_allocator: *const AllocationCallbacks,
3146		p_fence: *mut Fence,
3147	) -> Result,
3148>;
3149
3150#[doc = "Nullable function pointer for `vkGetSwapchainCounterEXT`."]
3151#[doc(alias = "vkGetSwapchainCounterEXT")]
3152#[doc = "\n\n[Khronos reference: `vkGetSwapchainCounterEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSwapchainCounterEXT.html)"]
3153pub type PFN_vkGetSwapchainCounterEXT = Option<
3154	unsafe extern "system" fn(
3155		device: DeviceHandle,
3156		swapchain: SwapchainKHR,
3157		counter: SurfaceCounterFlagBitsEXT,
3158		p_counter_value: *mut u64,
3159	) -> Result,
3160>;
3161
3162#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceCapabilities2EXT`."]
3163#[doc(alias = "vkGetPhysicalDeviceSurfaceCapabilities2EXT")]
3164#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceCapabilities2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html)"]
3165pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = Option<
3166	unsafe extern "system" fn(
3167		physical_device: PhysicalDevice,
3168		surface: SurfaceKHR,
3169		p_surface_capabilities: *mut SurfaceCapabilities2EXT<'_>,
3170	) -> Result,
3171>;
3172
3173#[doc = "Nullable function pointer for `vkEnumeratePhysicalDeviceGroups`."]
3174#[doc(alias = "vkEnumeratePhysicalDeviceGroups")]
3175#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDeviceGroups`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDeviceGroups.html)"]
3176pub type PFN_vkEnumeratePhysicalDeviceGroups = Option<
3177	unsafe extern "system" fn(
3178		instance: InstanceHandle,
3179		p_physical_device_group_count: *mut u32,
3180		p_physical_device_group_properties: *mut PhysicalDeviceGroupProperties<'_>,
3181	) -> Result,
3182>;
3183
3184#[doc = "Nullable function pointer for `vkEnumeratePhysicalDeviceGroupsKHR`."]
3185#[doc(alias = "vkEnumeratePhysicalDeviceGroupsKHR")]
3186#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDeviceGroupsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDeviceGroupsKHR.html)"]
3187pub type PFN_vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroups;
3188
3189#[doc = "Nullable function pointer for `vkGetDeviceGroupPeerMemoryFeatures`."]
3190#[doc(alias = "vkGetDeviceGroupPeerMemoryFeatures")]
3191#[doc = "\n\n[Khronos reference: `vkGetDeviceGroupPeerMemoryFeatures`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceGroupPeerMemoryFeatures.html)"]
3192pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = Option<
3193	unsafe extern "system" fn(
3194		device: DeviceHandle,
3195		heap_index: u32,
3196		local_device_index: u32,
3197		remote_device_index: u32,
3198		p_peer_memory_features: *mut PeerMemoryFeatureFlags,
3199	) -> (),
3200>;
3201
3202#[doc = "Nullable function pointer for `vkGetDeviceGroupPeerMemoryFeaturesKHR`."]
3203#[doc(alias = "vkGetDeviceGroupPeerMemoryFeaturesKHR")]
3204#[doc = "\n\n[Khronos reference: `vkGetDeviceGroupPeerMemoryFeaturesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceGroupPeerMemoryFeaturesKHR.html)"]
3205pub type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeatures;
3206
3207#[doc = "Nullable function pointer for `vkBindBufferMemory2`."]
3208#[doc(alias = "vkBindBufferMemory2")]
3209#[doc = "\n\n[Khronos reference: `vkBindBufferMemory2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindBufferMemory2.html)"]
3210pub type PFN_vkBindBufferMemory2 = Option<
3211	unsafe extern "system" fn(
3212		device: DeviceHandle,
3213		bind_info_count: u32,
3214		p_bind_infos: *const BindBufferMemoryInfo<'_>,
3215	) -> Result,
3216>;
3217
3218#[doc = "Nullable function pointer for `vkBindBufferMemory2KHR`."]
3219#[doc(alias = "vkBindBufferMemory2KHR")]
3220#[doc = "\n\n[Khronos reference: `vkBindBufferMemory2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindBufferMemory2KHR.html)"]
3221pub type PFN_vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2;
3222
3223#[doc = "Nullable function pointer for `vkBindImageMemory2`."]
3224#[doc(alias = "vkBindImageMemory2")]
3225#[doc = "\n\n[Khronos reference: `vkBindImageMemory2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindImageMemory2.html)"]
3226pub type PFN_vkBindImageMemory2 = Option<
3227	unsafe extern "system" fn(
3228		device: DeviceHandle,
3229		bind_info_count: u32,
3230		p_bind_infos: *const BindImageMemoryInfo<'_>,
3231	) -> Result,
3232>;
3233
3234#[doc = "Nullable function pointer for `vkBindImageMemory2KHR`."]
3235#[doc(alias = "vkBindImageMemory2KHR")]
3236#[doc = "\n\n[Khronos reference: `vkBindImageMemory2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindImageMemory2KHR.html)"]
3237pub type PFN_vkBindImageMemory2KHR = PFN_vkBindImageMemory2;
3238
3239#[doc = "Nullable function pointer for `vkCmdSetDeviceMask`."]
3240#[doc(alias = "vkCmdSetDeviceMask")]
3241#[doc = "\n\n[Khronos reference: `vkCmdSetDeviceMask`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDeviceMask.html)"]
3242pub type PFN_vkCmdSetDeviceMask =
3243	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, device_mask: u32) -> ()>;
3244
3245#[doc = "Nullable function pointer for `vkCmdSetDeviceMaskKHR`."]
3246#[doc(alias = "vkCmdSetDeviceMaskKHR")]
3247#[doc = "\n\n[Khronos reference: `vkCmdSetDeviceMaskKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDeviceMaskKHR.html)"]
3248pub type PFN_vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMask;
3249
3250#[doc = "Nullable function pointer for `vkGetDeviceGroupPresentCapabilitiesKHR`."]
3251#[doc(alias = "vkGetDeviceGroupPresentCapabilitiesKHR")]
3252#[doc = "\n\n[Khronos reference: `vkGetDeviceGroupPresentCapabilitiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceGroupPresentCapabilitiesKHR.html)"]
3253pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = Option<
3254	unsafe extern "system" fn(
3255		device: DeviceHandle,
3256		p_device_group_present_capabilities: *mut DeviceGroupPresentCapabilitiesKHR<'_>,
3257	) -> Result,
3258>;
3259
3260#[doc = "Nullable function pointer for `vkGetDeviceGroupSurfacePresentModesKHR`."]
3261#[doc(alias = "vkGetDeviceGroupSurfacePresentModesKHR")]
3262#[doc = "\n\n[Khronos reference: `vkGetDeviceGroupSurfacePresentModesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceGroupSurfacePresentModesKHR.html)"]
3263pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = Option<
3264	unsafe extern "system" fn(
3265		device: DeviceHandle,
3266		surface: SurfaceKHR,
3267		p_modes: *mut DeviceGroupPresentModeFlagsKHR,
3268	) -> Result,
3269>;
3270
3271#[doc = "Nullable function pointer for `vkAcquireNextImage2KHR`."]
3272#[doc(alias = "vkAcquireNextImage2KHR")]
3273#[doc = "\n\n[Khronos reference: `vkAcquireNextImage2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireNextImage2KHR.html)"]
3274pub type PFN_vkAcquireNextImage2KHR = Option<
3275	unsafe extern "system" fn(
3276		device: DeviceHandle,
3277		p_acquire_info: *const AcquireNextImageInfoKHR<'_>,
3278		p_image_index: *mut u32,
3279	) -> Result,
3280>;
3281
3282#[doc = "Nullable function pointer for `vkCmdDispatchBase`."]
3283#[doc(alias = "vkCmdDispatchBase")]
3284#[doc = "\n\n[Khronos reference: `vkCmdDispatchBase`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchBase.html)"]
3285pub type PFN_vkCmdDispatchBase = Option<
3286	unsafe extern "system" fn(
3287		command_buffer: CommandBuffer,
3288		base_group_x: u32,
3289		base_group_y: u32,
3290		base_group_z: u32,
3291		group_count_x: u32,
3292		group_count_y: u32,
3293		group_count_z: u32,
3294	) -> (),
3295>;
3296
3297#[doc = "Nullable function pointer for `vkCmdDispatchBaseKHR`."]
3298#[doc(alias = "vkCmdDispatchBaseKHR")]
3299#[doc = "\n\n[Khronos reference: `vkCmdDispatchBaseKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchBaseKHR.html)"]
3300pub type PFN_vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBase;
3301
3302#[doc = "Nullable function pointer for `vkGetPhysicalDevicePresentRectanglesKHR`."]
3303#[doc(alias = "vkGetPhysicalDevicePresentRectanglesKHR")]
3304#[doc = "\n\n[Khronos reference: `vkGetPhysicalDevicePresentRectanglesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDevicePresentRectanglesKHR.html)"]
3305pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = Option<
3306	unsafe extern "system" fn(
3307		physical_device: PhysicalDevice,
3308		surface: SurfaceKHR,
3309		p_rect_count: *mut u32,
3310		p_rects: *mut Rect2D,
3311	) -> Result,
3312>;
3313
3314#[doc = "Nullable function pointer for `vkCreateDescriptorUpdateTemplate`."]
3315#[doc(alias = "vkCreateDescriptorUpdateTemplate")]
3316#[doc = "\n\n[Khronos reference: `vkCreateDescriptorUpdateTemplate`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDescriptorUpdateTemplate.html)"]
3317pub type PFN_vkCreateDescriptorUpdateTemplate = Option<
3318	unsafe extern "system" fn(
3319		device: DeviceHandle,
3320		p_create_info: *const DescriptorUpdateTemplateCreateInfo<'_>,
3321		p_allocator: *const AllocationCallbacks,
3322		p_descriptor_update_template: *mut DescriptorUpdateTemplate,
3323	) -> Result,
3324>;
3325
3326#[doc = "Nullable function pointer for `vkCreateDescriptorUpdateTemplateKHR`."]
3327#[doc(alias = "vkCreateDescriptorUpdateTemplateKHR")]
3328#[doc = "\n\n[Khronos reference: `vkCreateDescriptorUpdateTemplateKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDescriptorUpdateTemplateKHR.html)"]
3329pub type PFN_vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplate;
3330
3331#[doc = "Nullable function pointer for `vkDestroyDescriptorUpdateTemplate`."]
3332#[doc(alias = "vkDestroyDescriptorUpdateTemplate")]
3333#[doc = "\n\n[Khronos reference: `vkDestroyDescriptorUpdateTemplate`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDescriptorUpdateTemplate.html)"]
3334pub type PFN_vkDestroyDescriptorUpdateTemplate = Option<
3335	unsafe extern "system" fn(
3336		device: DeviceHandle,
3337		descriptor_update_template: DescriptorUpdateTemplate,
3338		p_allocator: *const AllocationCallbacks,
3339	) -> (),
3340>;
3341
3342#[doc = "Nullable function pointer for `vkDestroyDescriptorUpdateTemplateKHR`."]
3343#[doc(alias = "vkDestroyDescriptorUpdateTemplateKHR")]
3344#[doc = "\n\n[Khronos reference: `vkDestroyDescriptorUpdateTemplateKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDescriptorUpdateTemplateKHR.html)"]
3345pub type PFN_vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplate;
3346
3347#[doc = "Nullable function pointer for `vkUpdateDescriptorSetWithTemplate`."]
3348#[doc(alias = "vkUpdateDescriptorSetWithTemplate")]
3349#[doc = "\n\n[Khronos reference: `vkUpdateDescriptorSetWithTemplate`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateDescriptorSetWithTemplate.html)"]
3350pub type PFN_vkUpdateDescriptorSetWithTemplate = Option<
3351	unsafe extern "system" fn(
3352		device: DeviceHandle,
3353		descriptor_set: DescriptorSet,
3354		descriptor_update_template: DescriptorUpdateTemplate,
3355		p_data: *const std::ffi::c_void,
3356	) -> (),
3357>;
3358
3359#[doc = "Nullable function pointer for `vkUpdateDescriptorSetWithTemplateKHR`."]
3360#[doc(alias = "vkUpdateDescriptorSetWithTemplateKHR")]
3361#[doc = "\n\n[Khronos reference: `vkUpdateDescriptorSetWithTemplateKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateDescriptorSetWithTemplateKHR.html)"]
3362pub type PFN_vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplate;
3363
3364#[doc = "Nullable function pointer for `vkCmdPushDescriptorSetWithTemplate`."]
3365#[doc(alias = "vkCmdPushDescriptorSetWithTemplate")]
3366#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSetWithTemplate`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSetWithTemplate.html)"]
3367pub type PFN_vkCmdPushDescriptorSetWithTemplate = Option<
3368	unsafe extern "system" fn(
3369		command_buffer: CommandBuffer,
3370		descriptor_update_template: DescriptorUpdateTemplate,
3371		layout: PipelineLayout,
3372		set: u32,
3373		p_data: *const std::ffi::c_void,
3374	) -> (),
3375>;
3376
3377#[doc = "Nullable function pointer for `vkCmdPushDescriptorSetWithTemplateKHR`."]
3378#[doc(alias = "vkCmdPushDescriptorSetWithTemplateKHR")]
3379#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSetWithTemplateKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSetWithTemplateKHR.html)"]
3380pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplate;
3381
3382#[doc = "Nullable function pointer for `vkSetHdrMetadataEXT`."]
3383#[doc(alias = "vkSetHdrMetadataEXT")]
3384#[doc = "\n\n[Khronos reference: `vkSetHdrMetadataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetHdrMetadataEXT.html)"]
3385pub type PFN_vkSetHdrMetadataEXT = Option<
3386	unsafe extern "system" fn(
3387		device: DeviceHandle,
3388		swapchain_count: u32,
3389		p_swapchains: *const SwapchainKHR,
3390		p_metadata: *const HdrMetadataEXT<'_>,
3391	) -> (),
3392>;
3393
3394#[doc = "Nullable function pointer for `vkGetSwapchainStatusKHR`."]
3395#[doc(alias = "vkGetSwapchainStatusKHR")]
3396#[doc = "\n\n[Khronos reference: `vkGetSwapchainStatusKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSwapchainStatusKHR.html)"]
3397pub type PFN_vkGetSwapchainStatusKHR =
3398	Option<unsafe extern "system" fn(device: DeviceHandle, swapchain: SwapchainKHR) -> Result>;
3399
3400#[doc = "Nullable function pointer for `vkGetRefreshCycleDurationGOOGLE`."]
3401#[doc(alias = "vkGetRefreshCycleDurationGOOGLE")]
3402#[doc = "\n\n[Khronos reference: `vkGetRefreshCycleDurationGOOGLE`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRefreshCycleDurationGOOGLE.html)"]
3403pub type PFN_vkGetRefreshCycleDurationGOOGLE = Option<
3404	unsafe extern "system" fn(
3405		device: DeviceHandle,
3406		swapchain: SwapchainKHR,
3407		p_display_timing_properties: *mut RefreshCycleDurationGOOGLE,
3408	) -> Result,
3409>;
3410
3411#[doc = "Nullable function pointer for `vkGetPastPresentationTimingGOOGLE`."]
3412#[doc(alias = "vkGetPastPresentationTimingGOOGLE")]
3413#[doc = "\n\n[Khronos reference: `vkGetPastPresentationTimingGOOGLE`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPastPresentationTimingGOOGLE.html)"]
3414pub type PFN_vkGetPastPresentationTimingGOOGLE = Option<
3415	unsafe extern "system" fn(
3416		device: DeviceHandle,
3417		swapchain: SwapchainKHR,
3418		p_presentation_timing_count: *mut u32,
3419		p_presentation_timings: *mut PastPresentationTimingGOOGLE,
3420	) -> Result,
3421>;
3422
3423#[cfg(feature = "platform-ios")]
3424#[doc = "Nullable function pointer for `vkCreateIOSSurfaceMVK`."]
3425#[doc(alias = "vkCreateIOSSurfaceMVK")]
3426#[doc = "\n\n[Khronos reference: `vkCreateIOSSurfaceMVK`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateIOSSurfaceMVK.html)"]
3427pub type PFN_vkCreateIOSSurfaceMVK = Option<
3428	unsafe extern "system" fn(
3429		instance: InstanceHandle,
3430		p_create_info: *const IOSSurfaceCreateInfoMVK<'_>,
3431		p_allocator: *const AllocationCallbacks,
3432		p_surface: *mut SurfaceKHR,
3433	) -> Result,
3434>;
3435
3436#[cfg(feature = "platform-macos")]
3437#[doc = "Nullable function pointer for `vkCreateMacOSSurfaceMVK`."]
3438#[doc(alias = "vkCreateMacOSSurfaceMVK")]
3439#[doc = "\n\n[Khronos reference: `vkCreateMacOSSurfaceMVK`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateMacOSSurfaceMVK.html)"]
3440pub type PFN_vkCreateMacOSSurfaceMVK = Option<
3441	unsafe extern "system" fn(
3442		instance: InstanceHandle,
3443		p_create_info: *const MacOSSurfaceCreateInfoMVK<'_>,
3444		p_allocator: *const AllocationCallbacks,
3445		p_surface: *mut SurfaceKHR,
3446	) -> Result,
3447>;
3448
3449#[cfg(feature = "platform-metal")]
3450#[doc = "Nullable function pointer for `vkCreateMetalSurfaceEXT`."]
3451#[doc(alias = "vkCreateMetalSurfaceEXT")]
3452#[doc = "\n\n[Khronos reference: `vkCreateMetalSurfaceEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateMetalSurfaceEXT.html)"]
3453pub type PFN_vkCreateMetalSurfaceEXT = Option<
3454	unsafe extern "system" fn(
3455		instance: InstanceHandle,
3456		p_create_info: *const MetalSurfaceCreateInfoEXT<'_>,
3457		p_allocator: *const AllocationCallbacks,
3458		p_surface: *mut SurfaceKHR,
3459	) -> Result,
3460>;
3461
3462#[doc = "Nullable function pointer for `vkCmdSetViewportWScalingNV`."]
3463#[doc(alias = "vkCmdSetViewportWScalingNV")]
3464#[doc = "\n\n[Khronos reference: `vkCmdSetViewportWScalingNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportWScalingNV.html)"]
3465pub type PFN_vkCmdSetViewportWScalingNV = Option<
3466	unsafe extern "system" fn(
3467		command_buffer: CommandBuffer,
3468		first_viewport: u32,
3469		viewport_count: u32,
3470		p_viewport_w_scalings: *const ViewportWScalingNV,
3471	) -> (),
3472>;
3473
3474#[doc = "Nullable function pointer for `vkCmdSetDiscardRectangleEXT`."]
3475#[doc(alias = "vkCmdSetDiscardRectangleEXT")]
3476#[doc = "\n\n[Khronos reference: `vkCmdSetDiscardRectangleEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDiscardRectangleEXT.html)"]
3477pub type PFN_vkCmdSetDiscardRectangleEXT = Option<
3478	unsafe extern "system" fn(
3479		command_buffer: CommandBuffer,
3480		first_discard_rectangle: u32,
3481		discard_rectangle_count: u32,
3482		p_discard_rectangles: *const Rect2D,
3483	) -> (),
3484>;
3485
3486#[doc = "Nullable function pointer for `vkCmdSetDiscardRectangleEnableEXT`."]
3487#[doc(alias = "vkCmdSetDiscardRectangleEnableEXT")]
3488#[doc = "\n\n[Khronos reference: `vkCmdSetDiscardRectangleEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDiscardRectangleEnableEXT.html)"]
3489pub type PFN_vkCmdSetDiscardRectangleEnableEXT = Option<
3490	unsafe extern "system" fn(command_buffer: CommandBuffer, discard_rectangle_enable: Bool32) -> (),
3491>;
3492
3493#[doc = "Nullable function pointer for `vkCmdSetDiscardRectangleModeEXT`."]
3494#[doc(alias = "vkCmdSetDiscardRectangleModeEXT")]
3495#[doc = "\n\n[Khronos reference: `vkCmdSetDiscardRectangleModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDiscardRectangleModeEXT.html)"]
3496pub type PFN_vkCmdSetDiscardRectangleModeEXT = Option<
3497	unsafe extern "system" fn(
3498		command_buffer: CommandBuffer,
3499		discard_rectangle_mode: DiscardRectangleModeEXT,
3500	) -> (),
3501>;
3502
3503#[doc = "Nullable function pointer for `vkCmdSetSampleLocationsEXT`."]
3504#[doc(alias = "vkCmdSetSampleLocationsEXT")]
3505#[doc = "\n\n[Khronos reference: `vkCmdSetSampleLocationsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetSampleLocationsEXT.html)"]
3506pub type PFN_vkCmdSetSampleLocationsEXT = Option<
3507	unsafe extern "system" fn(
3508		command_buffer: CommandBuffer,
3509		p_sample_locations_info: *const SampleLocationsInfoEXT<'_>,
3510	) -> (),
3511>;
3512
3513#[doc = "Nullable function pointer for `vkGetPhysicalDeviceMultisamplePropertiesEXT`."]
3514#[doc(alias = "vkGetPhysicalDeviceMultisamplePropertiesEXT")]
3515#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceMultisamplePropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceMultisamplePropertiesEXT.html)"]
3516pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = Option<
3517	unsafe extern "system" fn(
3518		physical_device: PhysicalDevice,
3519		samples: SampleCountFlagBits,
3520		p_multisample_properties: *mut MultisamplePropertiesEXT<'_>,
3521	) -> (),
3522>;
3523
3524#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceCapabilities2KHR`."]
3525#[doc(alias = "vkGetPhysicalDeviceSurfaceCapabilities2KHR")]
3526#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceCapabilities2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html)"]
3527pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = Option<
3528	unsafe extern "system" fn(
3529		physical_device: PhysicalDevice,
3530		p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR<'_>,
3531		p_surface_capabilities: *mut SurfaceCapabilities2KHR<'_>,
3532	) -> Result,
3533>;
3534
3535#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfaceFormats2KHR`."]
3536#[doc(alias = "vkGetPhysicalDeviceSurfaceFormats2KHR")]
3537#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfaceFormats2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfaceFormats2KHR.html)"]
3538pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = Option<
3539	unsafe extern "system" fn(
3540		physical_device: PhysicalDevice,
3541		p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR<'_>,
3542		p_surface_format_count: *mut u32,
3543		p_surface_formats: *mut SurfaceFormat2KHR<'_>,
3544	) -> Result,
3545>;
3546
3547#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDisplayProperties2KHR`."]
3548#[doc(alias = "vkGetPhysicalDeviceDisplayProperties2KHR")]
3549#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDisplayProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDisplayProperties2KHR.html)"]
3550pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = Option<
3551	unsafe extern "system" fn(
3552		physical_device: PhysicalDevice,
3553		p_property_count: *mut u32,
3554		p_properties: *mut DisplayProperties2KHR<'_>,
3555	) -> Result,
3556>;
3557
3558#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDisplayPlaneProperties2KHR`."]
3559#[doc(alias = "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")]
3560#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDisplayPlaneProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html)"]
3561pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = Option<
3562	unsafe extern "system" fn(
3563		physical_device: PhysicalDevice,
3564		p_property_count: *mut u32,
3565		p_properties: *mut DisplayPlaneProperties2KHR<'_>,
3566	) -> Result,
3567>;
3568
3569#[doc = "Nullable function pointer for `vkGetDisplayModeProperties2KHR`."]
3570#[doc(alias = "vkGetDisplayModeProperties2KHR")]
3571#[doc = "\n\n[Khronos reference: `vkGetDisplayModeProperties2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDisplayModeProperties2KHR.html)"]
3572pub type PFN_vkGetDisplayModeProperties2KHR = Option<
3573	unsafe extern "system" fn(
3574		physical_device: PhysicalDevice,
3575		display: DisplayKHR,
3576		p_property_count: *mut u32,
3577		p_properties: *mut DisplayModeProperties2KHR<'_>,
3578	) -> Result,
3579>;
3580
3581#[doc = "Nullable function pointer for `vkGetDisplayPlaneCapabilities2KHR`."]
3582#[doc(alias = "vkGetDisplayPlaneCapabilities2KHR")]
3583#[doc = "\n\n[Khronos reference: `vkGetDisplayPlaneCapabilities2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDisplayPlaneCapabilities2KHR.html)"]
3584pub type PFN_vkGetDisplayPlaneCapabilities2KHR = Option<
3585	unsafe extern "system" fn(
3586		physical_device: PhysicalDevice,
3587		p_display_plane_info: *const DisplayPlaneInfo2KHR<'_>,
3588		p_capabilities: *mut DisplayPlaneCapabilities2KHR<'_>,
3589	) -> Result,
3590>;
3591
3592#[doc = "Nullable function pointer for `vkGetBufferMemoryRequirements2`."]
3593#[doc(alias = "vkGetBufferMemoryRequirements2")]
3594#[doc = "\n\n[Khronos reference: `vkGetBufferMemoryRequirements2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferMemoryRequirements2.html)"]
3595pub type PFN_vkGetBufferMemoryRequirements2 = Option<
3596	unsafe extern "system" fn(
3597		device: DeviceHandle,
3598		p_info: *const BufferMemoryRequirementsInfo2<'_>,
3599		p_memory_requirements: *mut MemoryRequirements2<'_>,
3600	) -> (),
3601>;
3602
3603#[doc = "Nullable function pointer for `vkGetBufferMemoryRequirements2KHR`."]
3604#[doc(alias = "vkGetBufferMemoryRequirements2KHR")]
3605#[doc = "\n\n[Khronos reference: `vkGetBufferMemoryRequirements2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferMemoryRequirements2KHR.html)"]
3606pub type PFN_vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2;
3607
3608#[doc = "Nullable function pointer for `vkGetImageMemoryRequirements2`."]
3609#[doc(alias = "vkGetImageMemoryRequirements2")]
3610#[doc = "\n\n[Khronos reference: `vkGetImageMemoryRequirements2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageMemoryRequirements2.html)"]
3611pub type PFN_vkGetImageMemoryRequirements2 = Option<
3612	unsafe extern "system" fn(
3613		device: DeviceHandle,
3614		p_info: *const ImageMemoryRequirementsInfo2<'_>,
3615		p_memory_requirements: *mut MemoryRequirements2<'_>,
3616	) -> (),
3617>;
3618
3619#[doc = "Nullable function pointer for `vkGetImageMemoryRequirements2KHR`."]
3620#[doc(alias = "vkGetImageMemoryRequirements2KHR")]
3621#[doc = "\n\n[Khronos reference: `vkGetImageMemoryRequirements2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageMemoryRequirements2KHR.html)"]
3622pub type PFN_vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2;
3623
3624#[doc = "Nullable function pointer for `vkGetImageSparseMemoryRequirements2`."]
3625#[doc(alias = "vkGetImageSparseMemoryRequirements2")]
3626#[doc = "\n\n[Khronos reference: `vkGetImageSparseMemoryRequirements2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSparseMemoryRequirements2.html)"]
3627pub type PFN_vkGetImageSparseMemoryRequirements2 = Option<
3628	unsafe extern "system" fn(
3629		device: DeviceHandle,
3630		p_info: *const ImageSparseMemoryRequirementsInfo2<'_>,
3631		p_sparse_memory_requirement_count: *mut u32,
3632		p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2<'_>,
3633	) -> (),
3634>;
3635
3636#[doc = "Nullable function pointer for `vkGetImageSparseMemoryRequirements2KHR`."]
3637#[doc(alias = "vkGetImageSparseMemoryRequirements2KHR")]
3638#[doc = "\n\n[Khronos reference: `vkGetImageSparseMemoryRequirements2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSparseMemoryRequirements2KHR.html)"]
3639pub type PFN_vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2;
3640
3641#[doc = "Nullable function pointer for `vkGetDeviceBufferMemoryRequirements`."]
3642#[doc(alias = "vkGetDeviceBufferMemoryRequirements")]
3643#[doc = "\n\n[Khronos reference: `vkGetDeviceBufferMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceBufferMemoryRequirements.html)"]
3644pub type PFN_vkGetDeviceBufferMemoryRequirements = Option<
3645	unsafe extern "system" fn(
3646		device: DeviceHandle,
3647		p_info: *const DeviceBufferMemoryRequirements<'_>,
3648		p_memory_requirements: *mut MemoryRequirements2<'_>,
3649	) -> (),
3650>;
3651
3652#[doc = "Nullable function pointer for `vkGetDeviceBufferMemoryRequirementsKHR`."]
3653#[doc(alias = "vkGetDeviceBufferMemoryRequirementsKHR")]
3654#[doc = "\n\n[Khronos reference: `vkGetDeviceBufferMemoryRequirementsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceBufferMemoryRequirementsKHR.html)"]
3655pub type PFN_vkGetDeviceBufferMemoryRequirementsKHR = PFN_vkGetDeviceBufferMemoryRequirements;
3656
3657#[doc = "Nullable function pointer for `vkGetDeviceImageMemoryRequirements`."]
3658#[doc(alias = "vkGetDeviceImageMemoryRequirements")]
3659#[doc = "\n\n[Khronos reference: `vkGetDeviceImageMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageMemoryRequirements.html)"]
3660pub type PFN_vkGetDeviceImageMemoryRequirements = Option<
3661	unsafe extern "system" fn(
3662		device: DeviceHandle,
3663		p_info: *const DeviceImageMemoryRequirements<'_>,
3664		p_memory_requirements: *mut MemoryRequirements2<'_>,
3665	) -> (),
3666>;
3667
3668#[doc = "Nullable function pointer for `vkGetDeviceImageMemoryRequirementsKHR`."]
3669#[doc(alias = "vkGetDeviceImageMemoryRequirementsKHR")]
3670#[doc = "\n\n[Khronos reference: `vkGetDeviceImageMemoryRequirementsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageMemoryRequirementsKHR.html)"]
3671pub type PFN_vkGetDeviceImageMemoryRequirementsKHR = PFN_vkGetDeviceImageMemoryRequirements;
3672
3673#[doc = "Nullable function pointer for `vkGetDeviceImageSparseMemoryRequirements`."]
3674#[doc(alias = "vkGetDeviceImageSparseMemoryRequirements")]
3675#[doc = "\n\n[Khronos reference: `vkGetDeviceImageSparseMemoryRequirements`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageSparseMemoryRequirements.html)"]
3676pub type PFN_vkGetDeviceImageSparseMemoryRequirements = Option<
3677	unsafe extern "system" fn(
3678		device: DeviceHandle,
3679		p_info: *const DeviceImageMemoryRequirements<'_>,
3680		p_sparse_memory_requirement_count: *mut u32,
3681		p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2<'_>,
3682	) -> (),
3683>;
3684
3685#[doc = "Nullable function pointer for `vkGetDeviceImageSparseMemoryRequirementsKHR`."]
3686#[doc(alias = "vkGetDeviceImageSparseMemoryRequirementsKHR")]
3687#[doc = "\n\n[Khronos reference: `vkGetDeviceImageSparseMemoryRequirementsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageSparseMemoryRequirementsKHR.html)"]
3688pub type PFN_vkGetDeviceImageSparseMemoryRequirementsKHR =
3689	PFN_vkGetDeviceImageSparseMemoryRequirements;
3690
3691#[doc = "Nullable function pointer for `vkCreateSamplerYcbcrConversion`."]
3692#[doc(alias = "vkCreateSamplerYcbcrConversion")]
3693#[doc = "\n\n[Khronos reference: `vkCreateSamplerYcbcrConversion`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSamplerYcbcrConversion.html)"]
3694pub type PFN_vkCreateSamplerYcbcrConversion = Option<
3695	unsafe extern "system" fn(
3696		device: DeviceHandle,
3697		p_create_info: *const SamplerYcbcrConversionCreateInfo<'_>,
3698		p_allocator: *const AllocationCallbacks,
3699		p_ycbcr_conversion: *mut SamplerYcbcrConversion,
3700	) -> Result,
3701>;
3702
3703#[doc = "Nullable function pointer for `vkCreateSamplerYcbcrConversionKHR`."]
3704#[doc(alias = "vkCreateSamplerYcbcrConversionKHR")]
3705#[doc = "\n\n[Khronos reference: `vkCreateSamplerYcbcrConversionKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateSamplerYcbcrConversionKHR.html)"]
3706pub type PFN_vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversion;
3707
3708#[doc = "Nullable function pointer for `vkDestroySamplerYcbcrConversion`."]
3709#[doc(alias = "vkDestroySamplerYcbcrConversion")]
3710#[doc = "\n\n[Khronos reference: `vkDestroySamplerYcbcrConversion`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySamplerYcbcrConversion.html)"]
3711pub type PFN_vkDestroySamplerYcbcrConversion = Option<
3712	unsafe extern "system" fn(
3713		device: DeviceHandle,
3714		ycbcr_conversion: SamplerYcbcrConversion,
3715		p_allocator: *const AllocationCallbacks,
3716	) -> (),
3717>;
3718
3719#[doc = "Nullable function pointer for `vkDestroySamplerYcbcrConversionKHR`."]
3720#[doc(alias = "vkDestroySamplerYcbcrConversionKHR")]
3721#[doc = "\n\n[Khronos reference: `vkDestroySamplerYcbcrConversionKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroySamplerYcbcrConversionKHR.html)"]
3722pub type PFN_vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversion;
3723
3724#[doc = "Nullable function pointer for `vkGetDeviceQueue2`."]
3725#[doc(alias = "vkGetDeviceQueue2")]
3726#[doc = "\n\n[Khronos reference: `vkGetDeviceQueue2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceQueue2.html)"]
3727pub type PFN_vkGetDeviceQueue2 = Option<
3728	unsafe extern "system" fn(
3729		device: DeviceHandle,
3730		p_queue_info: *const DeviceQueueInfo2<'_>,
3731		p_queue: *mut Queue,
3732	) -> (),
3733>;
3734
3735#[doc = "Nullable function pointer for `vkCreateValidationCacheEXT`."]
3736#[doc(alias = "vkCreateValidationCacheEXT")]
3737#[doc = "\n\n[Khronos reference: `vkCreateValidationCacheEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateValidationCacheEXT.html)"]
3738pub type PFN_vkCreateValidationCacheEXT = Option<
3739	unsafe extern "system" fn(
3740		device: DeviceHandle,
3741		p_create_info: *const ValidationCacheCreateInfoEXT<'_>,
3742		p_allocator: *const AllocationCallbacks,
3743		p_validation_cache: *mut ValidationCacheEXT,
3744	) -> Result,
3745>;
3746
3747#[doc = "Nullable function pointer for `vkDestroyValidationCacheEXT`."]
3748#[doc(alias = "vkDestroyValidationCacheEXT")]
3749#[doc = "\n\n[Khronos reference: `vkDestroyValidationCacheEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyValidationCacheEXT.html)"]
3750pub type PFN_vkDestroyValidationCacheEXT = Option<
3751	unsafe extern "system" fn(
3752		device: DeviceHandle,
3753		validation_cache: ValidationCacheEXT,
3754		p_allocator: *const AllocationCallbacks,
3755	) -> (),
3756>;
3757
3758#[doc = "Nullable function pointer for `vkGetValidationCacheDataEXT`."]
3759#[doc(alias = "vkGetValidationCacheDataEXT")]
3760#[doc = "\n\n[Khronos reference: `vkGetValidationCacheDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetValidationCacheDataEXT.html)"]
3761pub type PFN_vkGetValidationCacheDataEXT = Option<
3762	unsafe extern "system" fn(
3763		device: DeviceHandle,
3764		validation_cache: ValidationCacheEXT,
3765		p_data_size: *mut usize,
3766		p_data: *mut std::ffi::c_void,
3767	) -> Result,
3768>;
3769
3770#[doc = "Nullable function pointer for `vkMergeValidationCachesEXT`."]
3771#[doc(alias = "vkMergeValidationCachesEXT")]
3772#[doc = "\n\n[Khronos reference: `vkMergeValidationCachesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkMergeValidationCachesEXT.html)"]
3773pub type PFN_vkMergeValidationCachesEXT = Option<
3774	unsafe extern "system" fn(
3775		device: DeviceHandle,
3776		dst_cache: ValidationCacheEXT,
3777		src_cache_count: u32,
3778		p_src_caches: *const ValidationCacheEXT,
3779	) -> Result,
3780>;
3781
3782#[doc = "Nullable function pointer for `vkGetDescriptorSetLayoutSupport`."]
3783#[doc(alias = "vkGetDescriptorSetLayoutSupport")]
3784#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetLayoutSupport`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetLayoutSupport.html)"]
3785pub type PFN_vkGetDescriptorSetLayoutSupport = Option<
3786	unsafe extern "system" fn(
3787		device: DeviceHandle,
3788		p_create_info: *const DescriptorSetLayoutCreateInfo<'_>,
3789		p_support: *mut DescriptorSetLayoutSupport<'_>,
3790	) -> (),
3791>;
3792
3793#[doc = "Nullable function pointer for `vkGetDescriptorSetLayoutSupportKHR`."]
3794#[doc(alias = "vkGetDescriptorSetLayoutSupportKHR")]
3795#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetLayoutSupportKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetLayoutSupportKHR.html)"]
3796pub type PFN_vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupport;
3797
3798#[doc = "Nullable function pointer for `vkGetShaderInfoAMD`."]
3799#[doc(alias = "vkGetShaderInfoAMD")]
3800#[doc = "\n\n[Khronos reference: `vkGetShaderInfoAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetShaderInfoAMD.html)"]
3801pub type PFN_vkGetShaderInfoAMD = Option<
3802	unsafe extern "system" fn(
3803		device: DeviceHandle,
3804		pipeline: Pipeline,
3805		shader_stage: ShaderStageFlagBits,
3806		info_type: ShaderInfoTypeAMD,
3807		p_info_size: *mut usize,
3808		p_info: *mut std::ffi::c_void,
3809	) -> Result,
3810>;
3811
3812#[doc = "Nullable function pointer for `vkSetLocalDimmingAMD`."]
3813#[doc(alias = "vkSetLocalDimmingAMD")]
3814#[doc = "\n\n[Khronos reference: `vkSetLocalDimmingAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetLocalDimmingAMD.html)"]
3815pub type PFN_vkSetLocalDimmingAMD = Option<
3816	unsafe extern "system" fn(
3817		device: DeviceHandle,
3818		swap_chain: SwapchainKHR,
3819		local_dimming_enable: Bool32,
3820	) -> (),
3821>;
3822
3823#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCalibrateableTimeDomainsKHR`."]
3824#[doc(alias = "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR")]
3825#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCalibrateableTimeDomainsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html)"]
3826pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = Option<
3827	unsafe extern "system" fn(
3828		physical_device: PhysicalDevice,
3829		p_time_domain_count: *mut u32,
3830		p_time_domains: *mut TimeDomainKHR,
3831	) -> Result,
3832>;
3833
3834#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCalibrateableTimeDomainsEXT`."]
3835#[doc(alias = "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")]
3836#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCalibrateableTimeDomainsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html)"]
3837pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
3838	PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR;
3839
3840#[doc = "Nullable function pointer for `vkGetCalibratedTimestampsKHR`."]
3841#[doc(alias = "vkGetCalibratedTimestampsKHR")]
3842#[doc = "\n\n[Khronos reference: `vkGetCalibratedTimestampsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetCalibratedTimestampsKHR.html)"]
3843pub type PFN_vkGetCalibratedTimestampsKHR = Option<
3844	unsafe extern "system" fn(
3845		device: DeviceHandle,
3846		timestamp_count: u32,
3847		p_timestamp_infos: *const CalibratedTimestampInfoKHR<'_>,
3848		p_timestamps: *mut u64,
3849		p_max_deviation: *mut u64,
3850	) -> Result,
3851>;
3852
3853#[doc = "Nullable function pointer for `vkGetCalibratedTimestampsEXT`."]
3854#[doc(alias = "vkGetCalibratedTimestampsEXT")]
3855#[doc = "\n\n[Khronos reference: `vkGetCalibratedTimestampsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetCalibratedTimestampsEXT.html)"]
3856pub type PFN_vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsKHR;
3857
3858#[doc = "Nullable function pointer for `vkSetDebugUtilsObjectNameEXT`."]
3859#[doc(alias = "vkSetDebugUtilsObjectNameEXT")]
3860#[doc = "\n\n[Khronos reference: `vkSetDebugUtilsObjectNameEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetDebugUtilsObjectNameEXT.html)"]
3861pub type PFN_vkSetDebugUtilsObjectNameEXT = Option<
3862	unsafe extern "system" fn(
3863		device: DeviceHandle,
3864		p_name_info: *const DebugUtilsObjectNameInfoEXT<'_>,
3865	) -> Result,
3866>;
3867
3868#[doc = "Nullable function pointer for `vkSetDebugUtilsObjectTagEXT`."]
3869#[doc(alias = "vkSetDebugUtilsObjectTagEXT")]
3870#[doc = "\n\n[Khronos reference: `vkSetDebugUtilsObjectTagEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetDebugUtilsObjectTagEXT.html)"]
3871pub type PFN_vkSetDebugUtilsObjectTagEXT = Option<
3872	unsafe extern "system" fn(
3873		device: DeviceHandle,
3874		p_tag_info: *const DebugUtilsObjectTagInfoEXT<'_>,
3875	) -> Result,
3876>;
3877
3878#[doc = "Nullable function pointer for `vkQueueBeginDebugUtilsLabelEXT`."]
3879#[doc(alias = "vkQueueBeginDebugUtilsLabelEXT")]
3880#[doc = "\n\n[Khronos reference: `vkQueueBeginDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueBeginDebugUtilsLabelEXT.html)"]
3881pub type PFN_vkQueueBeginDebugUtilsLabelEXT = Option<
3882	unsafe extern "system" fn(queue: Queue, p_label_info: *const DebugUtilsLabelEXT<'_>) -> (),
3883>;
3884
3885#[doc = "Nullable function pointer for `vkQueueEndDebugUtilsLabelEXT`."]
3886#[doc(alias = "vkQueueEndDebugUtilsLabelEXT")]
3887#[doc = "\n\n[Khronos reference: `vkQueueEndDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueEndDebugUtilsLabelEXT.html)"]
3888pub type PFN_vkQueueEndDebugUtilsLabelEXT = Option<unsafe extern "system" fn(queue: Queue) -> ()>;
3889
3890#[doc = "Nullable function pointer for `vkQueueInsertDebugUtilsLabelEXT`."]
3891#[doc(alias = "vkQueueInsertDebugUtilsLabelEXT")]
3892#[doc = "\n\n[Khronos reference: `vkQueueInsertDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueInsertDebugUtilsLabelEXT.html)"]
3893pub type PFN_vkQueueInsertDebugUtilsLabelEXT = Option<
3894	unsafe extern "system" fn(queue: Queue, p_label_info: *const DebugUtilsLabelEXT<'_>) -> (),
3895>;
3896
3897#[doc = "Nullable function pointer for `vkCmdBeginDebugUtilsLabelEXT`."]
3898#[doc(alias = "vkCmdBeginDebugUtilsLabelEXT")]
3899#[doc = "\n\n[Khronos reference: `vkCmdBeginDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginDebugUtilsLabelEXT.html)"]
3900pub type PFN_vkCmdBeginDebugUtilsLabelEXT = Option<
3901	unsafe extern "system" fn(
3902		command_buffer: CommandBuffer,
3903		p_label_info: *const DebugUtilsLabelEXT<'_>,
3904	) -> (),
3905>;
3906
3907#[doc = "Nullable function pointer for `vkCmdEndDebugUtilsLabelEXT`."]
3908#[doc(alias = "vkCmdEndDebugUtilsLabelEXT")]
3909#[doc = "\n\n[Khronos reference: `vkCmdEndDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndDebugUtilsLabelEXT.html)"]
3910pub type PFN_vkCmdEndDebugUtilsLabelEXT =
3911	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
3912
3913#[doc = "Nullable function pointer for `vkCmdInsertDebugUtilsLabelEXT`."]
3914#[doc(alias = "vkCmdInsertDebugUtilsLabelEXT")]
3915#[doc = "\n\n[Khronos reference: `vkCmdInsertDebugUtilsLabelEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdInsertDebugUtilsLabelEXT.html)"]
3916pub type PFN_vkCmdInsertDebugUtilsLabelEXT = Option<
3917	unsafe extern "system" fn(
3918		command_buffer: CommandBuffer,
3919		p_label_info: *const DebugUtilsLabelEXT<'_>,
3920	) -> (),
3921>;
3922
3923#[doc = "Nullable function pointer for `vkCreateDebugUtilsMessengerEXT`."]
3924#[doc(alias = "vkCreateDebugUtilsMessengerEXT")]
3925#[doc = "\n\n[Khronos reference: `vkCreateDebugUtilsMessengerEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDebugUtilsMessengerEXT.html)"]
3926pub type PFN_vkCreateDebugUtilsMessengerEXT = Option<
3927	unsafe extern "system" fn(
3928		instance: InstanceHandle,
3929		p_create_info: *const DebugUtilsMessengerCreateInfoEXT<'_>,
3930		p_allocator: *const AllocationCallbacks,
3931		p_messenger: *mut DebugUtilsMessengerEXT,
3932	) -> Result,
3933>;
3934
3935#[doc = "Nullable function pointer for `vkDestroyDebugUtilsMessengerEXT`."]
3936#[doc(alias = "vkDestroyDebugUtilsMessengerEXT")]
3937#[doc = "\n\n[Khronos reference: `vkDestroyDebugUtilsMessengerEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDebugUtilsMessengerEXT.html)"]
3938pub type PFN_vkDestroyDebugUtilsMessengerEXT = Option<
3939	unsafe extern "system" fn(
3940		instance: InstanceHandle,
3941		messenger: DebugUtilsMessengerEXT,
3942		p_allocator: *const AllocationCallbacks,
3943	) -> (),
3944>;
3945
3946#[doc = "Nullable function pointer for `vkSubmitDebugUtilsMessageEXT`."]
3947#[doc(alias = "vkSubmitDebugUtilsMessageEXT")]
3948#[doc = "\n\n[Khronos reference: `vkSubmitDebugUtilsMessageEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSubmitDebugUtilsMessageEXT.html)"]
3949pub type PFN_vkSubmitDebugUtilsMessageEXT = Option<
3950	unsafe extern "system" fn(
3951		instance: InstanceHandle,
3952		message_severity: DebugUtilsMessageSeverityFlagBitsEXT,
3953		message_types: DebugUtilsMessageTypeFlagsEXT,
3954		p_callback_data: *const DebugUtilsMessengerCallbackDataEXT<'_>,
3955	) -> (),
3956>;
3957
3958#[doc = "Nullable function pointer for `vkGetMemoryHostPointerPropertiesEXT`."]
3959#[doc(alias = "vkGetMemoryHostPointerPropertiesEXT")]
3960#[doc = "\n\n[Khronos reference: `vkGetMemoryHostPointerPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryHostPointerPropertiesEXT.html)"]
3961pub type PFN_vkGetMemoryHostPointerPropertiesEXT = Option<
3962	unsafe extern "system" fn(
3963		device: DeviceHandle,
3964		handle_type: ExternalMemoryHandleTypeFlagBits,
3965		p_host_pointer: *const std::ffi::c_void,
3966		p_memory_host_pointer_properties: *mut MemoryHostPointerPropertiesEXT<'_>,
3967	) -> Result,
3968>;
3969
3970#[doc = "Nullable function pointer for `vkCmdWriteBufferMarkerAMD`."]
3971#[doc(alias = "vkCmdWriteBufferMarkerAMD")]
3972#[doc = "\n\n[Khronos reference: `vkCmdWriteBufferMarkerAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteBufferMarkerAMD.html)"]
3973pub type PFN_vkCmdWriteBufferMarkerAMD = Option<
3974	unsafe extern "system" fn(
3975		command_buffer: CommandBuffer,
3976		pipeline_stage: PipelineStageFlagBits,
3977		dst_buffer: Buffer,
3978		dst_offset: DeviceSize,
3979		marker: u32,
3980	) -> (),
3981>;
3982
3983#[doc = "Nullable function pointer for `vkCreateRenderPass2`."]
3984#[doc(alias = "vkCreateRenderPass2")]
3985#[doc = "\n\n[Khronos reference: `vkCreateRenderPass2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateRenderPass2.html)"]
3986pub type PFN_vkCreateRenderPass2 = Option<
3987	unsafe extern "system" fn(
3988		device: DeviceHandle,
3989		p_create_info: *const RenderPassCreateInfo2<'_>,
3990		p_allocator: *const AllocationCallbacks,
3991		p_render_pass: *mut RenderPass,
3992	) -> Result,
3993>;
3994
3995#[doc = "Nullable function pointer for `vkCreateRenderPass2KHR`."]
3996#[doc(alias = "vkCreateRenderPass2KHR")]
3997#[doc = "\n\n[Khronos reference: `vkCreateRenderPass2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateRenderPass2KHR.html)"]
3998pub type PFN_vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2;
3999
4000#[doc = "Nullable function pointer for `vkCmdBeginRenderPass2`."]
4001#[doc(alias = "vkCmdBeginRenderPass2")]
4002#[doc = "\n\n[Khronos reference: `vkCmdBeginRenderPass2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginRenderPass2.html)"]
4003pub type PFN_vkCmdBeginRenderPass2 = Option<
4004	unsafe extern "system" fn(
4005		command_buffer: CommandBuffer,
4006		p_render_pass_begin: *const RenderPassBeginInfo<'_>,
4007		p_subpass_begin_info: *const SubpassBeginInfo<'_>,
4008	) -> (),
4009>;
4010
4011#[doc = "Nullable function pointer for `vkCmdBeginRenderPass2KHR`."]
4012#[doc(alias = "vkCmdBeginRenderPass2KHR")]
4013#[doc = "\n\n[Khronos reference: `vkCmdBeginRenderPass2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginRenderPass2KHR.html)"]
4014pub type PFN_vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2;
4015
4016#[doc = "Nullable function pointer for `vkCmdNextSubpass2`."]
4017#[doc(alias = "vkCmdNextSubpass2")]
4018#[doc = "\n\n[Khronos reference: `vkCmdNextSubpass2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdNextSubpass2.html)"]
4019pub type PFN_vkCmdNextSubpass2 = Option<
4020	unsafe extern "system" fn(
4021		command_buffer: CommandBuffer,
4022		p_subpass_begin_info: *const SubpassBeginInfo<'_>,
4023		p_subpass_end_info: *const SubpassEndInfo<'_>,
4024	) -> (),
4025>;
4026
4027#[doc = "Nullable function pointer for `vkCmdNextSubpass2KHR`."]
4028#[doc(alias = "vkCmdNextSubpass2KHR")]
4029#[doc = "\n\n[Khronos reference: `vkCmdNextSubpass2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdNextSubpass2KHR.html)"]
4030pub type PFN_vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2;
4031
4032#[doc = "Nullable function pointer for `vkCmdEndRenderPass2`."]
4033#[doc(alias = "vkCmdEndRenderPass2")]
4034#[doc = "\n\n[Khronos reference: `vkCmdEndRenderPass2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRenderPass2.html)"]
4035pub type PFN_vkCmdEndRenderPass2 = Option<
4036	unsafe extern "system" fn(
4037		command_buffer: CommandBuffer,
4038		p_subpass_end_info: *const SubpassEndInfo<'_>,
4039	) -> (),
4040>;
4041
4042#[doc = "Nullable function pointer for `vkCmdEndRenderPass2KHR`."]
4043#[doc(alias = "vkCmdEndRenderPass2KHR")]
4044#[doc = "\n\n[Khronos reference: `vkCmdEndRenderPass2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRenderPass2KHR.html)"]
4045pub type PFN_vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2;
4046
4047#[doc = "Nullable function pointer for `vkGetSemaphoreCounterValue`."]
4048#[doc(alias = "vkGetSemaphoreCounterValue")]
4049#[doc = "\n\n[Khronos reference: `vkGetSemaphoreCounterValue`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreCounterValue.html)"]
4050pub type PFN_vkGetSemaphoreCounterValue = Option<
4051	unsafe extern "system" fn(
4052		device: DeviceHandle,
4053		semaphore: Semaphore,
4054		p_value: *mut u64,
4055	) -> Result,
4056>;
4057
4058#[doc = "Nullable function pointer for `vkGetSemaphoreCounterValueKHR`."]
4059#[doc(alias = "vkGetSemaphoreCounterValueKHR")]
4060#[doc = "\n\n[Khronos reference: `vkGetSemaphoreCounterValueKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreCounterValueKHR.html)"]
4061pub type PFN_vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValue;
4062
4063#[doc = "Nullable function pointer for `vkWaitSemaphores`."]
4064#[doc(alias = "vkWaitSemaphores")]
4065#[doc = "\n\n[Khronos reference: `vkWaitSemaphores`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWaitSemaphores.html)"]
4066pub type PFN_vkWaitSemaphores = Option<
4067	unsafe extern "system" fn(
4068		device: DeviceHandle,
4069		p_wait_info: *const SemaphoreWaitInfo<'_>,
4070		timeout: u64,
4071	) -> Result,
4072>;
4073
4074#[doc = "Nullable function pointer for `vkWaitSemaphoresKHR`."]
4075#[doc(alias = "vkWaitSemaphoresKHR")]
4076#[doc = "\n\n[Khronos reference: `vkWaitSemaphoresKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWaitSemaphoresKHR.html)"]
4077pub type PFN_vkWaitSemaphoresKHR = PFN_vkWaitSemaphores;
4078
4079#[doc = "Nullable function pointer for `vkSignalSemaphore`."]
4080#[doc(alias = "vkSignalSemaphore")]
4081#[doc = "\n\n[Khronos reference: `vkSignalSemaphore`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSignalSemaphore.html)"]
4082pub type PFN_vkSignalSemaphore = Option<
4083	unsafe extern "system" fn(
4084		device: DeviceHandle,
4085		p_signal_info: *const SemaphoreSignalInfo<'_>,
4086	) -> Result,
4087>;
4088
4089#[doc = "Nullable function pointer for `vkSignalSemaphoreKHR`."]
4090#[doc(alias = "vkSignalSemaphoreKHR")]
4091#[doc = "\n\n[Khronos reference: `vkSignalSemaphoreKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSignalSemaphoreKHR.html)"]
4092pub type PFN_vkSignalSemaphoreKHR = PFN_vkSignalSemaphore;
4093
4094#[cfg(feature = "platform-android")]
4095#[doc = "Nullable function pointer for `vkGetAndroidHardwareBufferPropertiesANDROID`."]
4096#[doc(alias = "vkGetAndroidHardwareBufferPropertiesANDROID")]
4097#[doc = "\n\n[Khronos reference: `vkGetAndroidHardwareBufferPropertiesANDROID`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAndroidHardwareBufferPropertiesANDROID.html)"]
4098pub type PFN_vkGetAndroidHardwareBufferPropertiesANDROID = Option<
4099	unsafe extern "system" fn(
4100		device: DeviceHandle,
4101		buffer: *const AHardwareBuffer,
4102		p_properties: *mut AndroidHardwareBufferPropertiesANDROID<'_>,
4103	) -> Result,
4104>;
4105
4106#[cfg(feature = "platform-android")]
4107#[doc = "Nullable function pointer for `vkGetMemoryAndroidHardwareBufferANDROID`."]
4108#[doc(alias = "vkGetMemoryAndroidHardwareBufferANDROID")]
4109#[doc = "\n\n[Khronos reference: `vkGetMemoryAndroidHardwareBufferANDROID`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryAndroidHardwareBufferANDROID.html)"]
4110pub type PFN_vkGetMemoryAndroidHardwareBufferANDROID = Option<
4111	unsafe extern "system" fn(
4112		device: DeviceHandle,
4113		p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID<'_>,
4114		p_buffer: *mut *mut AHardwareBuffer,
4115	) -> Result,
4116>;
4117
4118#[doc = "Nullable function pointer for `vkCmdDrawIndirectCount`."]
4119#[doc(alias = "vkCmdDrawIndirectCount")]
4120#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectCount`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectCount.html)"]
4121pub type PFN_vkCmdDrawIndirectCount = Option<
4122	unsafe extern "system" fn(
4123		command_buffer: CommandBuffer,
4124		buffer: Buffer,
4125		offset: DeviceSize,
4126		count_buffer: Buffer,
4127		count_buffer_offset: DeviceSize,
4128		max_draw_count: u32,
4129		stride: u32,
4130	) -> (),
4131>;
4132
4133#[doc = "Nullable function pointer for `vkCmdDrawIndirectCountKHR`."]
4134#[doc(alias = "vkCmdDrawIndirectCountKHR")]
4135#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectCountKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectCountKHR.html)"]
4136pub type PFN_vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCount;
4137
4138#[doc = "Nullable function pointer for `vkCmdDrawIndirectCountAMD`."]
4139#[doc(alias = "vkCmdDrawIndirectCountAMD")]
4140#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectCountAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectCountAMD.html)"]
4141pub type PFN_vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCount;
4142
4143#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirectCount`."]
4144#[doc(alias = "vkCmdDrawIndexedIndirectCount")]
4145#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirectCount`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirectCount.html)"]
4146pub type PFN_vkCmdDrawIndexedIndirectCount = Option<
4147	unsafe extern "system" fn(
4148		command_buffer: CommandBuffer,
4149		buffer: Buffer,
4150		offset: DeviceSize,
4151		count_buffer: Buffer,
4152		count_buffer_offset: DeviceSize,
4153		max_draw_count: u32,
4154		stride: u32,
4155	) -> (),
4156>;
4157
4158#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirectCountKHR`."]
4159#[doc(alias = "vkCmdDrawIndexedIndirectCountKHR")]
4160#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirectCountKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirectCountKHR.html)"]
4161pub type PFN_vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCount;
4162
4163#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirectCountAMD`."]
4164#[doc(alias = "vkCmdDrawIndexedIndirectCountAMD")]
4165#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirectCountAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirectCountAMD.html)"]
4166pub type PFN_vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCount;
4167
4168#[doc = "Nullable function pointer for `vkCmdSetCheckpointNV`."]
4169#[doc(alias = "vkCmdSetCheckpointNV")]
4170#[doc = "\n\n[Khronos reference: `vkCmdSetCheckpointNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCheckpointNV.html)"]
4171pub type PFN_vkCmdSetCheckpointNV = Option<
4172	unsafe extern "system" fn(
4173		command_buffer: CommandBuffer,
4174		p_checkpoint_marker: *const std::ffi::c_void,
4175	) -> (),
4176>;
4177
4178#[doc = "Nullable function pointer for `vkGetQueueCheckpointDataNV`."]
4179#[doc(alias = "vkGetQueueCheckpointDataNV")]
4180#[doc = "\n\n[Khronos reference: `vkGetQueueCheckpointDataNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetQueueCheckpointDataNV.html)"]
4181pub type PFN_vkGetQueueCheckpointDataNV = Option<
4182	unsafe extern "system" fn(
4183		queue: Queue,
4184		p_checkpoint_data_count: *mut u32,
4185		p_checkpoint_data: *mut CheckpointDataNV<'_>,
4186	) -> (),
4187>;
4188
4189#[doc = "Nullable function pointer for `vkCmdBindTransformFeedbackBuffersEXT`."]
4190#[doc(alias = "vkCmdBindTransformFeedbackBuffersEXT")]
4191#[doc = "\n\n[Khronos reference: `vkCmdBindTransformFeedbackBuffersEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindTransformFeedbackBuffersEXT.html)"]
4192pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = Option<
4193	unsafe extern "system" fn(
4194		command_buffer: CommandBuffer,
4195		first_binding: u32,
4196		binding_count: u32,
4197		p_buffers: *const Buffer,
4198		p_offsets: *const DeviceSize,
4199		p_sizes: *const DeviceSize,
4200	) -> (),
4201>;
4202
4203#[doc = "Nullable function pointer for `vkCmdBeginTransformFeedbackEXT`."]
4204#[doc(alias = "vkCmdBeginTransformFeedbackEXT")]
4205#[doc = "\n\n[Khronos reference: `vkCmdBeginTransformFeedbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginTransformFeedbackEXT.html)"]
4206pub type PFN_vkCmdBeginTransformFeedbackEXT = Option<
4207	unsafe extern "system" fn(
4208		command_buffer: CommandBuffer,
4209		first_counter_buffer: u32,
4210		counter_buffer_count: u32,
4211		p_counter_buffers: *const Buffer,
4212		p_counter_buffer_offsets: *const DeviceSize,
4213	) -> (),
4214>;
4215
4216#[doc = "Nullable function pointer for `vkCmdEndTransformFeedbackEXT`."]
4217#[doc(alias = "vkCmdEndTransformFeedbackEXT")]
4218#[doc = "\n\n[Khronos reference: `vkCmdEndTransformFeedbackEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndTransformFeedbackEXT.html)"]
4219pub type PFN_vkCmdEndTransformFeedbackEXT = Option<
4220	unsafe extern "system" fn(
4221		command_buffer: CommandBuffer,
4222		first_counter_buffer: u32,
4223		counter_buffer_count: u32,
4224		p_counter_buffers: *const Buffer,
4225		p_counter_buffer_offsets: *const DeviceSize,
4226	) -> (),
4227>;
4228
4229#[doc = "Nullable function pointer for `vkCmdBeginQueryIndexedEXT`."]
4230#[doc(alias = "vkCmdBeginQueryIndexedEXT")]
4231#[doc = "\n\n[Khronos reference: `vkCmdBeginQueryIndexedEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginQueryIndexedEXT.html)"]
4232pub type PFN_vkCmdBeginQueryIndexedEXT = Option<
4233	unsafe extern "system" fn(
4234		command_buffer: CommandBuffer,
4235		query_pool: QueryPool,
4236		query: u32,
4237		flags: QueryControlFlags,
4238		index: u32,
4239	) -> (),
4240>;
4241
4242#[doc = "Nullable function pointer for `vkCmdEndQueryIndexedEXT`."]
4243#[doc(alias = "vkCmdEndQueryIndexedEXT")]
4244#[doc = "\n\n[Khronos reference: `vkCmdEndQueryIndexedEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndQueryIndexedEXT.html)"]
4245pub type PFN_vkCmdEndQueryIndexedEXT = Option<
4246	unsafe extern "system" fn(
4247		command_buffer: CommandBuffer,
4248		query_pool: QueryPool,
4249		query: u32,
4250		index: u32,
4251	) -> (),
4252>;
4253
4254#[doc = "Nullable function pointer for `vkCmdDrawIndirectByteCountEXT`."]
4255#[doc(alias = "vkCmdDrawIndirectByteCountEXT")]
4256#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectByteCountEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectByteCountEXT.html)"]
4257pub type PFN_vkCmdDrawIndirectByteCountEXT = Option<
4258	unsafe extern "system" fn(
4259		command_buffer: CommandBuffer,
4260		instance_count: u32,
4261		first_instance: u32,
4262		counter_buffer: Buffer,
4263		counter_buffer_offset: DeviceSize,
4264		counter_offset: u32,
4265		vertex_stride: u32,
4266	) -> (),
4267>;
4268
4269#[doc = "Nullable function pointer for `vkCmdSetExclusiveScissorNV`."]
4270#[doc(alias = "vkCmdSetExclusiveScissorNV")]
4271#[doc = "\n\n[Khronos reference: `vkCmdSetExclusiveScissorNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetExclusiveScissorNV.html)"]
4272pub type PFN_vkCmdSetExclusiveScissorNV = Option<
4273	unsafe extern "system" fn(
4274		command_buffer: CommandBuffer,
4275		first_exclusive_scissor: u32,
4276		exclusive_scissor_count: u32,
4277		p_exclusive_scissors: *const Rect2D,
4278	) -> (),
4279>;
4280
4281#[doc = "Nullable function pointer for `vkCmdSetExclusiveScissorEnableNV`."]
4282#[doc(alias = "vkCmdSetExclusiveScissorEnableNV")]
4283#[doc = "\n\n[Khronos reference: `vkCmdSetExclusiveScissorEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetExclusiveScissorEnableNV.html)"]
4284pub type PFN_vkCmdSetExclusiveScissorEnableNV = Option<
4285	unsafe extern "system" fn(
4286		command_buffer: CommandBuffer,
4287		first_exclusive_scissor: u32,
4288		exclusive_scissor_count: u32,
4289		p_exclusive_scissor_enables: *const Bool32,
4290	) -> (),
4291>;
4292
4293#[doc = "Nullable function pointer for `vkCmdBindShadingRateImageNV`."]
4294#[doc(alias = "vkCmdBindShadingRateImageNV")]
4295#[doc = "\n\n[Khronos reference: `vkCmdBindShadingRateImageNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindShadingRateImageNV.html)"]
4296pub type PFN_vkCmdBindShadingRateImageNV = Option<
4297	unsafe extern "system" fn(
4298		command_buffer: CommandBuffer,
4299		image_view: ImageView,
4300		image_layout: ImageLayout,
4301	) -> (),
4302>;
4303
4304#[doc = "Nullable function pointer for `vkCmdSetViewportShadingRatePaletteNV`."]
4305#[doc(alias = "vkCmdSetViewportShadingRatePaletteNV")]
4306#[doc = "\n\n[Khronos reference: `vkCmdSetViewportShadingRatePaletteNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportShadingRatePaletteNV.html)"]
4307pub type PFN_vkCmdSetViewportShadingRatePaletteNV = Option<
4308	unsafe extern "system" fn(
4309		command_buffer: CommandBuffer,
4310		first_viewport: u32,
4311		viewport_count: u32,
4312		p_shading_rate_palettes: *const ShadingRatePaletteNV<'_>,
4313	) -> (),
4314>;
4315
4316#[doc = "Nullable function pointer for `vkCmdSetCoarseSampleOrderNV`."]
4317#[doc(alias = "vkCmdSetCoarseSampleOrderNV")]
4318#[doc = "\n\n[Khronos reference: `vkCmdSetCoarseSampleOrderNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoarseSampleOrderNV.html)"]
4319pub type PFN_vkCmdSetCoarseSampleOrderNV = Option<
4320	unsafe extern "system" fn(
4321		command_buffer: CommandBuffer,
4322		sample_order_type: CoarseSampleOrderTypeNV,
4323		custom_sample_order_count: u32,
4324		p_custom_sample_orders: *const CoarseSampleOrderCustomNV<'_>,
4325	) -> (),
4326>;
4327
4328#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksNV`."]
4329#[doc(alias = "vkCmdDrawMeshTasksNV")]
4330#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksNV.html)"]
4331pub type PFN_vkCmdDrawMeshTasksNV = Option<
4332	unsafe extern "system" fn(command_buffer: CommandBuffer, task_count: u32, first_task: u32) -> (),
4333>;
4334
4335#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirectNV`."]
4336#[doc(alias = "vkCmdDrawMeshTasksIndirectNV")]
4337#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirectNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirectNV.html)"]
4338pub type PFN_vkCmdDrawMeshTasksIndirectNV = Option<
4339	unsafe extern "system" fn(
4340		command_buffer: CommandBuffer,
4341		buffer: Buffer,
4342		offset: DeviceSize,
4343		draw_count: u32,
4344		stride: u32,
4345	) -> (),
4346>;
4347
4348#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirectCountNV`."]
4349#[doc(alias = "vkCmdDrawMeshTasksIndirectCountNV")]
4350#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirectCountNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirectCountNV.html)"]
4351pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = Option<
4352	unsafe extern "system" fn(
4353		command_buffer: CommandBuffer,
4354		buffer: Buffer,
4355		offset: DeviceSize,
4356		count_buffer: Buffer,
4357		count_buffer_offset: DeviceSize,
4358		max_draw_count: u32,
4359		stride: u32,
4360	) -> (),
4361>;
4362
4363#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksEXT`."]
4364#[doc(alias = "vkCmdDrawMeshTasksEXT")]
4365#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksEXT.html)"]
4366pub type PFN_vkCmdDrawMeshTasksEXT = Option<
4367	unsafe extern "system" fn(
4368		command_buffer: CommandBuffer,
4369		group_count_x: u32,
4370		group_count_y: u32,
4371		group_count_z: u32,
4372	) -> (),
4373>;
4374
4375#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirectEXT`."]
4376#[doc(alias = "vkCmdDrawMeshTasksIndirectEXT")]
4377#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirectEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirectEXT.html)"]
4378pub type PFN_vkCmdDrawMeshTasksIndirectEXT = Option<
4379	unsafe extern "system" fn(
4380		command_buffer: CommandBuffer,
4381		buffer: Buffer,
4382		offset: DeviceSize,
4383		draw_count: u32,
4384		stride: u32,
4385	) -> (),
4386>;
4387
4388#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirectCountEXT`."]
4389#[doc(alias = "vkCmdDrawMeshTasksIndirectCountEXT")]
4390#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirectCountEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirectCountEXT.html)"]
4391pub type PFN_vkCmdDrawMeshTasksIndirectCountEXT = Option<
4392	unsafe extern "system" fn(
4393		command_buffer: CommandBuffer,
4394		buffer: Buffer,
4395		offset: DeviceSize,
4396		count_buffer: Buffer,
4397		count_buffer_offset: DeviceSize,
4398		max_draw_count: u32,
4399		stride: u32,
4400	) -> (),
4401>;
4402
4403#[doc = "Nullable function pointer for `vkCompileDeferredNV`."]
4404#[doc(alias = "vkCompileDeferredNV")]
4405#[doc = "\n\n[Khronos reference: `vkCompileDeferredNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCompileDeferredNV.html)"]
4406pub type PFN_vkCompileDeferredNV = Option<
4407	unsafe extern "system" fn(device: DeviceHandle, pipeline: Pipeline, shader: u32) -> Result,
4408>;
4409
4410#[doc = "Nullable function pointer for `vkCreateAccelerationStructureNV`."]
4411#[doc(alias = "vkCreateAccelerationStructureNV")]
4412#[doc = "\n\n[Khronos reference: `vkCreateAccelerationStructureNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateAccelerationStructureNV.html)"]
4413pub type PFN_vkCreateAccelerationStructureNV = Option<
4414	unsafe extern "system" fn(
4415		device: DeviceHandle,
4416		p_create_info: *const AccelerationStructureCreateInfoNV<'_>,
4417		p_allocator: *const AllocationCallbacks,
4418		p_acceleration_structure: *mut AccelerationStructureNV,
4419	) -> Result,
4420>;
4421
4422#[doc = "Nullable function pointer for `vkCmdBindInvocationMaskHUAWEI`."]
4423#[doc(alias = "vkCmdBindInvocationMaskHUAWEI")]
4424#[doc = "\n\n[Khronos reference: `vkCmdBindInvocationMaskHUAWEI`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindInvocationMaskHUAWEI.html)"]
4425pub type PFN_vkCmdBindInvocationMaskHUAWEI = Option<
4426	unsafe extern "system" fn(
4427		command_buffer: CommandBuffer,
4428		image_view: ImageView,
4429		image_layout: ImageLayout,
4430	) -> (),
4431>;
4432
4433#[doc = "Nullable function pointer for `vkDestroyAccelerationStructureKHR`."]
4434#[doc(alias = "vkDestroyAccelerationStructureKHR")]
4435#[doc = "\n\n[Khronos reference: `vkDestroyAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyAccelerationStructureKHR.html)"]
4436pub type PFN_vkDestroyAccelerationStructureKHR = Option<
4437	unsafe extern "system" fn(
4438		device: DeviceHandle,
4439		acceleration_structure: AccelerationStructureKHR,
4440		p_allocator: *const AllocationCallbacks,
4441	) -> (),
4442>;
4443
4444#[doc = "Nullable function pointer for `vkDestroyAccelerationStructureNV`."]
4445#[doc(alias = "vkDestroyAccelerationStructureNV")]
4446#[doc = "\n\n[Khronos reference: `vkDestroyAccelerationStructureNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyAccelerationStructureNV.html)"]
4447pub type PFN_vkDestroyAccelerationStructureNV = Option<
4448	unsafe extern "system" fn(
4449		device: DeviceHandle,
4450		acceleration_structure: AccelerationStructureNV,
4451		p_allocator: *const AllocationCallbacks,
4452	) -> (),
4453>;
4454
4455#[doc = "Nullable function pointer for `vkGetAccelerationStructureMemoryRequirementsNV`."]
4456#[doc(alias = "vkGetAccelerationStructureMemoryRequirementsNV")]
4457#[doc = "\n\n[Khronos reference: `vkGetAccelerationStructureMemoryRequirementsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAccelerationStructureMemoryRequirementsNV.html)"]
4458pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = Option<
4459	unsafe extern "system" fn(
4460		device: DeviceHandle,
4461		p_info: *const AccelerationStructureMemoryRequirementsInfoNV<'_>,
4462		p_memory_requirements: *mut MemoryRequirements2<'_>,
4463	) -> (),
4464>;
4465
4466#[doc = "Nullable function pointer for `vkBindAccelerationStructureMemoryNV`."]
4467#[doc(alias = "vkBindAccelerationStructureMemoryNV")]
4468#[doc = "\n\n[Khronos reference: `vkBindAccelerationStructureMemoryNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindAccelerationStructureMemoryNV.html)"]
4469pub type PFN_vkBindAccelerationStructureMemoryNV = Option<
4470	unsafe extern "system" fn(
4471		device: DeviceHandle,
4472		bind_info_count: u32,
4473		p_bind_infos: *const BindAccelerationStructureMemoryInfoNV<'_>,
4474	) -> Result,
4475>;
4476
4477#[doc = "Nullable function pointer for `vkCmdCopyAccelerationStructureNV`."]
4478#[doc(alias = "vkCmdCopyAccelerationStructureNV")]
4479#[doc = "\n\n[Khronos reference: `vkCmdCopyAccelerationStructureNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyAccelerationStructureNV.html)"]
4480pub type PFN_vkCmdCopyAccelerationStructureNV = Option<
4481	unsafe extern "system" fn(
4482		command_buffer: CommandBuffer,
4483		dst: AccelerationStructureNV,
4484		src: AccelerationStructureNV,
4485		mode: CopyAccelerationStructureModeKHR,
4486	) -> (),
4487>;
4488
4489#[doc = "Nullable function pointer for `vkCmdCopyAccelerationStructureKHR`."]
4490#[doc(alias = "vkCmdCopyAccelerationStructureKHR")]
4491#[doc = "\n\n[Khronos reference: `vkCmdCopyAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyAccelerationStructureKHR.html)"]
4492pub type PFN_vkCmdCopyAccelerationStructureKHR = Option<
4493	unsafe extern "system" fn(
4494		command_buffer: CommandBuffer,
4495		p_info: *const CopyAccelerationStructureInfoKHR<'_>,
4496	) -> (),
4497>;
4498
4499#[doc = "Nullable function pointer for `vkCopyAccelerationStructureKHR`."]
4500#[doc(alias = "vkCopyAccelerationStructureKHR")]
4501#[doc = "\n\n[Khronos reference: `vkCopyAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyAccelerationStructureKHR.html)"]
4502pub type PFN_vkCopyAccelerationStructureKHR = Option<
4503	unsafe extern "system" fn(
4504		device: DeviceHandle,
4505		deferred_operation: DeferredOperationKHR,
4506		p_info: *const CopyAccelerationStructureInfoKHR<'_>,
4507	) -> Result,
4508>;
4509
4510#[doc = "Nullable function pointer for `vkCmdCopyAccelerationStructureToMemoryKHR`."]
4511#[doc(alias = "vkCmdCopyAccelerationStructureToMemoryKHR")]
4512#[doc = "\n\n[Khronos reference: `vkCmdCopyAccelerationStructureToMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyAccelerationStructureToMemoryKHR.html)"]
4513pub type PFN_vkCmdCopyAccelerationStructureToMemoryKHR = Option<
4514	unsafe extern "system" fn(
4515		command_buffer: CommandBuffer,
4516		p_info: *const CopyAccelerationStructureToMemoryInfoKHR<'_>,
4517	) -> (),
4518>;
4519
4520#[doc = "Nullable function pointer for `vkCopyAccelerationStructureToMemoryKHR`."]
4521#[doc(alias = "vkCopyAccelerationStructureToMemoryKHR")]
4522#[doc = "\n\n[Khronos reference: `vkCopyAccelerationStructureToMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyAccelerationStructureToMemoryKHR.html)"]
4523pub type PFN_vkCopyAccelerationStructureToMemoryKHR = Option<
4524	unsafe extern "system" fn(
4525		device: DeviceHandle,
4526		deferred_operation: DeferredOperationKHR,
4527		p_info: *const CopyAccelerationStructureToMemoryInfoKHR<'_>,
4528	) -> Result,
4529>;
4530
4531#[doc = "Nullable function pointer for `vkCmdCopyMemoryToAccelerationStructureKHR`."]
4532#[doc(alias = "vkCmdCopyMemoryToAccelerationStructureKHR")]
4533#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryToAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryToAccelerationStructureKHR.html)"]
4534pub type PFN_vkCmdCopyMemoryToAccelerationStructureKHR = Option<
4535	unsafe extern "system" fn(
4536		command_buffer: CommandBuffer,
4537		p_info: *const CopyMemoryToAccelerationStructureInfoKHR<'_>,
4538	) -> (),
4539>;
4540
4541#[doc = "Nullable function pointer for `vkCopyMemoryToAccelerationStructureKHR`."]
4542#[doc(alias = "vkCopyMemoryToAccelerationStructureKHR")]
4543#[doc = "\n\n[Khronos reference: `vkCopyMemoryToAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMemoryToAccelerationStructureKHR.html)"]
4544pub type PFN_vkCopyMemoryToAccelerationStructureKHR = Option<
4545	unsafe extern "system" fn(
4546		device: DeviceHandle,
4547		deferred_operation: DeferredOperationKHR,
4548		p_info: *const CopyMemoryToAccelerationStructureInfoKHR<'_>,
4549	) -> Result,
4550>;
4551
4552#[doc = "Nullable function pointer for `vkCmdWriteAccelerationStructuresPropertiesKHR`."]
4553#[doc(alias = "vkCmdWriteAccelerationStructuresPropertiesKHR")]
4554#[doc = "\n\n[Khronos reference: `vkCmdWriteAccelerationStructuresPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteAccelerationStructuresPropertiesKHR.html)"]
4555pub type PFN_vkCmdWriteAccelerationStructuresPropertiesKHR = Option<
4556	unsafe extern "system" fn(
4557		command_buffer: CommandBuffer,
4558		acceleration_structure_count: u32,
4559		p_acceleration_structures: *const AccelerationStructureKHR,
4560		query_type: QueryType,
4561		query_pool: QueryPool,
4562		first_query: u32,
4563	) -> (),
4564>;
4565
4566#[doc = "Nullable function pointer for `vkCmdWriteAccelerationStructuresPropertiesNV`."]
4567#[doc(alias = "vkCmdWriteAccelerationStructuresPropertiesNV")]
4568#[doc = "\n\n[Khronos reference: `vkCmdWriteAccelerationStructuresPropertiesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteAccelerationStructuresPropertiesNV.html)"]
4569pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = Option<
4570	unsafe extern "system" fn(
4571		command_buffer: CommandBuffer,
4572		acceleration_structure_count: u32,
4573		p_acceleration_structures: *const AccelerationStructureNV,
4574		query_type: QueryType,
4575		query_pool: QueryPool,
4576		first_query: u32,
4577	) -> (),
4578>;
4579
4580#[doc = "Nullable function pointer for `vkCmdBuildAccelerationStructureNV`."]
4581#[doc(alias = "vkCmdBuildAccelerationStructureNV")]
4582#[doc = "\n\n[Khronos reference: `vkCmdBuildAccelerationStructureNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildAccelerationStructureNV.html)"]
4583pub type PFN_vkCmdBuildAccelerationStructureNV = Option<
4584	unsafe extern "system" fn(
4585		command_buffer: CommandBuffer,
4586		p_info: *const AccelerationStructureInfoNV<'_>,
4587		instance_data: Buffer,
4588		instance_offset: DeviceSize,
4589		update: Bool32,
4590		dst: AccelerationStructureNV,
4591		src: AccelerationStructureNV,
4592		scratch: Buffer,
4593		scratch_offset: DeviceSize,
4594	) -> (),
4595>;
4596
4597#[doc = "Nullable function pointer for `vkWriteAccelerationStructuresPropertiesKHR`."]
4598#[doc(alias = "vkWriteAccelerationStructuresPropertiesKHR")]
4599#[doc = "\n\n[Khronos reference: `vkWriteAccelerationStructuresPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWriteAccelerationStructuresPropertiesKHR.html)"]
4600pub type PFN_vkWriteAccelerationStructuresPropertiesKHR = Option<
4601	unsafe extern "system" fn(
4602		device: DeviceHandle,
4603		acceleration_structure_count: u32,
4604		p_acceleration_structures: *const AccelerationStructureKHR,
4605		query_type: QueryType,
4606		data_size: usize,
4607		p_data: *mut std::ffi::c_void,
4608		stride: usize,
4609	) -> Result,
4610>;
4611
4612#[doc = "Nullable function pointer for `vkCmdTraceRaysKHR`."]
4613#[doc(alias = "vkCmdTraceRaysKHR")]
4614#[doc = "\n\n[Khronos reference: `vkCmdTraceRaysKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdTraceRaysKHR.html)"]
4615pub type PFN_vkCmdTraceRaysKHR = Option<
4616	unsafe extern "system" fn(
4617		command_buffer: CommandBuffer,
4618		p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4619		p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4620		p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4621		p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4622		width: u32,
4623		height: u32,
4624		depth: u32,
4625	) -> (),
4626>;
4627
4628#[doc = "Nullable function pointer for `vkCmdTraceRaysNV`."]
4629#[doc(alias = "vkCmdTraceRaysNV")]
4630#[doc = "\n\n[Khronos reference: `vkCmdTraceRaysNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdTraceRaysNV.html)"]
4631pub type PFN_vkCmdTraceRaysNV = Option<
4632	unsafe extern "system" fn(
4633		command_buffer: CommandBuffer,
4634		raygen_shader_binding_table_buffer: Buffer,
4635		raygen_shader_binding_offset: DeviceSize,
4636		miss_shader_binding_table_buffer: Buffer,
4637		miss_shader_binding_offset: DeviceSize,
4638		miss_shader_binding_stride: DeviceSize,
4639		hit_shader_binding_table_buffer: Buffer,
4640		hit_shader_binding_offset: DeviceSize,
4641		hit_shader_binding_stride: DeviceSize,
4642		callable_shader_binding_table_buffer: Buffer,
4643		callable_shader_binding_offset: DeviceSize,
4644		callable_shader_binding_stride: DeviceSize,
4645		width: u32,
4646		height: u32,
4647		depth: u32,
4648	) -> (),
4649>;
4650
4651#[doc = "Nullable function pointer for `vkGetRayTracingShaderGroupHandlesKHR`."]
4652#[doc(alias = "vkGetRayTracingShaderGroupHandlesKHR")]
4653#[doc = "\n\n[Khronos reference: `vkGetRayTracingShaderGroupHandlesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRayTracingShaderGroupHandlesKHR.html)"]
4654pub type PFN_vkGetRayTracingShaderGroupHandlesKHR = Option<
4655	unsafe extern "system" fn(
4656		device: DeviceHandle,
4657		pipeline: Pipeline,
4658		first_group: u32,
4659		group_count: u32,
4660		data_size: usize,
4661		p_data: *mut std::ffi::c_void,
4662	) -> Result,
4663>;
4664
4665#[doc = "Nullable function pointer for `vkGetRayTracingShaderGroupHandlesNV`."]
4666#[doc(alias = "vkGetRayTracingShaderGroupHandlesNV")]
4667#[doc = "\n\n[Khronos reference: `vkGetRayTracingShaderGroupHandlesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRayTracingShaderGroupHandlesNV.html)"]
4668pub type PFN_vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesKHR;
4669
4670#[doc = "Nullable function pointer for `vkGetRayTracingCaptureReplayShaderGroupHandlesKHR`."]
4671#[doc(alias = "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")]
4672#[doc = "\n\n[Khronos reference: `vkGetRayTracingCaptureReplayShaderGroupHandlesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html)"]
4673pub type PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = Option<
4674	unsafe extern "system" fn(
4675		device: DeviceHandle,
4676		pipeline: Pipeline,
4677		first_group: u32,
4678		group_count: u32,
4679		data_size: usize,
4680		p_data: *mut std::ffi::c_void,
4681	) -> Result,
4682>;
4683
4684#[doc = "Nullable function pointer for `vkGetAccelerationStructureHandleNV`."]
4685#[doc(alias = "vkGetAccelerationStructureHandleNV")]
4686#[doc = "\n\n[Khronos reference: `vkGetAccelerationStructureHandleNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAccelerationStructureHandleNV.html)"]
4687pub type PFN_vkGetAccelerationStructureHandleNV = Option<
4688	unsafe extern "system" fn(
4689		device: DeviceHandle,
4690		acceleration_structure: AccelerationStructureNV,
4691		data_size: usize,
4692		p_data: *mut std::ffi::c_void,
4693	) -> Result,
4694>;
4695
4696#[doc = "Nullable function pointer for `vkCreateRayTracingPipelinesNV`."]
4697#[doc(alias = "vkCreateRayTracingPipelinesNV")]
4698#[doc = "\n\n[Khronos reference: `vkCreateRayTracingPipelinesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateRayTracingPipelinesNV.html)"]
4699pub type PFN_vkCreateRayTracingPipelinesNV = Option<
4700	unsafe extern "system" fn(
4701		device: DeviceHandle,
4702		pipeline_cache: PipelineCache,
4703		create_info_count: u32,
4704		p_create_infos: *const RayTracingPipelineCreateInfoNV<'_>,
4705		p_allocator: *const AllocationCallbacks,
4706		p_pipelines: *mut Pipeline,
4707	) -> Result,
4708>;
4709
4710#[doc = "Nullable function pointer for `vkCreateRayTracingPipelinesKHR`."]
4711#[doc(alias = "vkCreateRayTracingPipelinesKHR")]
4712#[doc = "\n\n[Khronos reference: `vkCreateRayTracingPipelinesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateRayTracingPipelinesKHR.html)"]
4713pub type PFN_vkCreateRayTracingPipelinesKHR = Option<
4714	unsafe extern "system" fn(
4715		device: DeviceHandle,
4716		deferred_operation: DeferredOperationKHR,
4717		pipeline_cache: PipelineCache,
4718		create_info_count: u32,
4719		p_create_infos: *const RayTracingPipelineCreateInfoKHR<'_>,
4720		p_allocator: *const AllocationCallbacks,
4721		p_pipelines: *mut Pipeline,
4722	) -> Result,
4723>;
4724
4725#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCooperativeMatrixPropertiesNV`."]
4726#[doc(alias = "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")]
4727#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCooperativeMatrixPropertiesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html)"]
4728pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = Option<
4729	unsafe extern "system" fn(
4730		physical_device: PhysicalDevice,
4731		p_property_count: *mut u32,
4732		p_properties: *mut CooperativeMatrixPropertiesNV<'_>,
4733	) -> Result,
4734>;
4735
4736#[doc = "Nullable function pointer for `vkCmdTraceRaysIndirectKHR`."]
4737#[doc(alias = "vkCmdTraceRaysIndirectKHR")]
4738#[doc = "\n\n[Khronos reference: `vkCmdTraceRaysIndirectKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdTraceRaysIndirectKHR.html)"]
4739pub type PFN_vkCmdTraceRaysIndirectKHR = Option<
4740	unsafe extern "system" fn(
4741		command_buffer: CommandBuffer,
4742		p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4743		p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4744		p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4745		p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR,
4746		indirect_device_address: DeviceAddress,
4747	) -> (),
4748>;
4749
4750#[doc = "Nullable function pointer for `vkCmdTraceRaysIndirect2KHR`."]
4751#[doc(alias = "vkCmdTraceRaysIndirect2KHR")]
4752#[doc = "\n\n[Khronos reference: `vkCmdTraceRaysIndirect2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdTraceRaysIndirect2KHR.html)"]
4753pub type PFN_vkCmdTraceRaysIndirect2KHR = Option<
4754	unsafe extern "system" fn(
4755		command_buffer: CommandBuffer,
4756		indirect_device_address: DeviceAddress,
4757	) -> (),
4758>;
4759
4760#[doc = "Nullable function pointer for `vkGetClusterAccelerationStructureBuildSizesNV`."]
4761#[doc(alias = "vkGetClusterAccelerationStructureBuildSizesNV")]
4762#[doc = "\n\n[Khronos reference: `vkGetClusterAccelerationStructureBuildSizesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetClusterAccelerationStructureBuildSizesNV.html)"]
4763pub type PFN_vkGetClusterAccelerationStructureBuildSizesNV = Option<
4764	unsafe extern "system" fn(
4765		device: DeviceHandle,
4766		p_info: *const ClusterAccelerationStructureInputInfoNV<'_>,
4767		p_size_info: *mut AccelerationStructureBuildSizesInfoKHR<'_>,
4768	) -> (),
4769>;
4770
4771#[doc = "Nullable function pointer for `vkCmdBuildClusterAccelerationStructureIndirectNV`."]
4772#[doc(alias = "vkCmdBuildClusterAccelerationStructureIndirectNV")]
4773#[doc = "\n\n[Khronos reference: `vkCmdBuildClusterAccelerationStructureIndirectNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildClusterAccelerationStructureIndirectNV.html)"]
4774pub type PFN_vkCmdBuildClusterAccelerationStructureIndirectNV = Option<
4775	unsafe extern "system" fn(
4776		command_buffer: CommandBuffer,
4777		p_command_infos: *const ClusterAccelerationStructureCommandsInfoNV<'_>,
4778	) -> (),
4779>;
4780
4781#[doc = "Nullable function pointer for `vkGetDeviceAccelerationStructureCompatibilityKHR`."]
4782#[doc(alias = "vkGetDeviceAccelerationStructureCompatibilityKHR")]
4783#[doc = "\n\n[Khronos reference: `vkGetDeviceAccelerationStructureCompatibilityKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceAccelerationStructureCompatibilityKHR.html)"]
4784pub type PFN_vkGetDeviceAccelerationStructureCompatibilityKHR = Option<
4785	unsafe extern "system" fn(
4786		device: DeviceHandle,
4787		p_version_info: *const AccelerationStructureVersionInfoKHR<'_>,
4788		p_compatibility: *mut AccelerationStructureCompatibilityKHR,
4789	) -> (),
4790>;
4791
4792#[doc = "Nullable function pointer for `vkGetRayTracingShaderGroupStackSizeKHR`."]
4793#[doc(alias = "vkGetRayTracingShaderGroupStackSizeKHR")]
4794#[doc = "\n\n[Khronos reference: `vkGetRayTracingShaderGroupStackSizeKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetRayTracingShaderGroupStackSizeKHR.html)"]
4795pub type PFN_vkGetRayTracingShaderGroupStackSizeKHR = Option<
4796	unsafe extern "system" fn(
4797		device: DeviceHandle,
4798		pipeline: Pipeline,
4799		group: u32,
4800		group_shader: ShaderGroupShaderKHR,
4801	) -> DeviceSize,
4802>;
4803
4804#[doc = "Nullable function pointer for `vkCmdSetRayTracingPipelineStackSizeKHR`."]
4805#[doc(alias = "vkCmdSetRayTracingPipelineStackSizeKHR")]
4806#[doc = "\n\n[Khronos reference: `vkCmdSetRayTracingPipelineStackSizeKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRayTracingPipelineStackSizeKHR.html)"]
4807pub type PFN_vkCmdSetRayTracingPipelineStackSizeKHR =
4808	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, pipeline_stack_size: u32) -> ()>;
4809
4810#[doc = "Nullable function pointer for `vkGetImageViewHandleNVX`."]
4811#[doc(alias = "vkGetImageViewHandleNVX")]
4812#[doc = "\n\n[Khronos reference: `vkGetImageViewHandleNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageViewHandleNVX.html)"]
4813pub type PFN_vkGetImageViewHandleNVX = Option<
4814	unsafe extern "system" fn(device: DeviceHandle, p_info: *const ImageViewHandleInfoNVX<'_>) -> u32,
4815>;
4816
4817#[doc = "Nullable function pointer for `vkGetImageViewHandle64NVX`."]
4818#[doc(alias = "vkGetImageViewHandle64NVX")]
4819#[doc = "\n\n[Khronos reference: `vkGetImageViewHandle64NVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageViewHandle64NVX.html)"]
4820pub type PFN_vkGetImageViewHandle64NVX = Option<
4821	unsafe extern "system" fn(device: DeviceHandle, p_info: *const ImageViewHandleInfoNVX<'_>) -> u64,
4822>;
4823
4824#[doc = "Nullable function pointer for `vkGetImageViewAddressNVX`."]
4825#[doc(alias = "vkGetImageViewAddressNVX")]
4826#[doc = "\n\n[Khronos reference: `vkGetImageViewAddressNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageViewAddressNVX.html)"]
4827pub type PFN_vkGetImageViewAddressNVX = Option<
4828	unsafe extern "system" fn(
4829		device: DeviceHandle,
4830		image_view: ImageView,
4831		p_properties: *mut ImageViewAddressPropertiesNVX<'_>,
4832	) -> Result,
4833>;
4834
4835#[doc = "Nullable function pointer for `vkGetDeviceCombinedImageSamplerIndexNVX`."]
4836#[doc(alias = "vkGetDeviceCombinedImageSamplerIndexNVX")]
4837#[doc = "\n\n[Khronos reference: `vkGetDeviceCombinedImageSamplerIndexNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceCombinedImageSamplerIndexNVX.html)"]
4838pub type PFN_vkGetDeviceCombinedImageSamplerIndexNVX = Option<
4839	unsafe extern "system" fn(device: DeviceHandle, image_view_index: u64, sampler_index: u64) -> u64,
4840>;
4841
4842#[cfg(feature = "platform-win32")]
4843#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSurfacePresentModes2EXT`."]
4844#[doc(alias = "vkGetPhysicalDeviceSurfacePresentModes2EXT")]
4845#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSurfacePresentModes2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSurfacePresentModes2EXT.html)"]
4846pub type PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT = Option<
4847	unsafe extern "system" fn(
4848		physical_device: PhysicalDevice,
4849		p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR<'_>,
4850		p_present_mode_count: *mut u32,
4851		p_present_modes: *mut PresentModeKHR,
4852	) -> Result,
4853>;
4854
4855#[cfg(feature = "platform-win32")]
4856#[doc = "Nullable function pointer for `vkGetDeviceGroupSurfacePresentModes2EXT`."]
4857#[doc(alias = "vkGetDeviceGroupSurfacePresentModes2EXT")]
4858#[doc = "\n\n[Khronos reference: `vkGetDeviceGroupSurfacePresentModes2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceGroupSurfacePresentModes2EXT.html)"]
4859pub type PFN_vkGetDeviceGroupSurfacePresentModes2EXT = Option<
4860	unsafe extern "system" fn(
4861		device: DeviceHandle,
4862		p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR<'_>,
4863		p_modes: *mut DeviceGroupPresentModeFlagsKHR,
4864	) -> Result,
4865>;
4866
4867#[cfg(feature = "platform-win32")]
4868#[doc = "Nullable function pointer for `vkAcquireFullScreenExclusiveModeEXT`."]
4869#[doc(alias = "vkAcquireFullScreenExclusiveModeEXT")]
4870#[doc = "\n\n[Khronos reference: `vkAcquireFullScreenExclusiveModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireFullScreenExclusiveModeEXT.html)"]
4871pub type PFN_vkAcquireFullScreenExclusiveModeEXT =
4872	Option<unsafe extern "system" fn(device: DeviceHandle, swapchain: SwapchainKHR) -> Result>;
4873
4874#[cfg(feature = "platform-win32")]
4875#[doc = "Nullable function pointer for `vkReleaseFullScreenExclusiveModeEXT`."]
4876#[doc(alias = "vkReleaseFullScreenExclusiveModeEXT")]
4877#[doc = "\n\n[Khronos reference: `vkReleaseFullScreenExclusiveModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseFullScreenExclusiveModeEXT.html)"]
4878pub type PFN_vkReleaseFullScreenExclusiveModeEXT =
4879	Option<unsafe extern "system" fn(device: DeviceHandle, swapchain: SwapchainKHR) -> Result>;
4880
4881#[doc = "Nullable function pointer for `vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR`."]
4882#[doc(alias = "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")]
4883#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html)"]
4884pub type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = Option<
4885	unsafe extern "system" fn(
4886		physical_device: PhysicalDevice,
4887		queue_family_index: u32,
4888		p_counter_count: *mut u32,
4889		p_counters: *mut PerformanceCounterKHR<'_>,
4890		p_counter_descriptions: *mut PerformanceCounterDescriptionKHR<'_>,
4891	) -> Result,
4892>;
4893
4894#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR`."]
4895#[doc(alias = "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")]
4896#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html)"]
4897pub type PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = Option<
4898	unsafe extern "system" fn(
4899		physical_device: PhysicalDevice,
4900		p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR<'_>,
4901		p_num_passes: *mut u32,
4902	) -> (),
4903>;
4904
4905#[doc = "Nullable function pointer for `vkAcquireProfilingLockKHR`."]
4906#[doc(alias = "vkAcquireProfilingLockKHR")]
4907#[doc = "\n\n[Khronos reference: `vkAcquireProfilingLockKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireProfilingLockKHR.html)"]
4908pub type PFN_vkAcquireProfilingLockKHR = Option<
4909	unsafe extern "system" fn(
4910		device: DeviceHandle,
4911		p_info: *const AcquireProfilingLockInfoKHR<'_>,
4912	) -> Result,
4913>;
4914
4915#[doc = "Nullable function pointer for `vkReleaseProfilingLockKHR`."]
4916#[doc(alias = "vkReleaseProfilingLockKHR")]
4917#[doc = "\n\n[Khronos reference: `vkReleaseProfilingLockKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseProfilingLockKHR.html)"]
4918pub type PFN_vkReleaseProfilingLockKHR =
4919	Option<unsafe extern "system" fn(device: DeviceHandle) -> ()>;
4920
4921#[doc = "Nullable function pointer for `vkGetImageDrmFormatModifierPropertiesEXT`."]
4922#[doc(alias = "vkGetImageDrmFormatModifierPropertiesEXT")]
4923#[doc = "\n\n[Khronos reference: `vkGetImageDrmFormatModifierPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageDrmFormatModifierPropertiesEXT.html)"]
4924pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = Option<
4925	unsafe extern "system" fn(
4926		device: DeviceHandle,
4927		image: Image,
4928		p_properties: *mut ImageDrmFormatModifierPropertiesEXT<'_>,
4929	) -> Result,
4930>;
4931
4932#[doc = "Nullable function pointer for `vkGetBufferOpaqueCaptureAddress`."]
4933#[doc(alias = "vkGetBufferOpaqueCaptureAddress")]
4934#[doc = "\n\n[Khronos reference: `vkGetBufferOpaqueCaptureAddress`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferOpaqueCaptureAddress.html)"]
4935pub type PFN_vkGetBufferOpaqueCaptureAddress = Option<
4936	unsafe extern "system" fn(
4937		device: DeviceHandle,
4938		p_info: *const BufferDeviceAddressInfo<'_>,
4939	) -> u64,
4940>;
4941
4942#[doc = "Nullable function pointer for `vkGetBufferOpaqueCaptureAddressKHR`."]
4943#[doc(alias = "vkGetBufferOpaqueCaptureAddressKHR")]
4944#[doc = "\n\n[Khronos reference: `vkGetBufferOpaqueCaptureAddressKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferOpaqueCaptureAddressKHR.html)"]
4945pub type PFN_vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddress;
4946
4947#[doc = "Nullable function pointer for `vkGetBufferDeviceAddress`."]
4948#[doc(alias = "vkGetBufferDeviceAddress")]
4949#[doc = "\n\n[Khronos reference: `vkGetBufferDeviceAddress`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferDeviceAddress.html)"]
4950pub type PFN_vkGetBufferDeviceAddress = Option<
4951	unsafe extern "system" fn(
4952		device: DeviceHandle,
4953		p_info: *const BufferDeviceAddressInfo<'_>,
4954	) -> DeviceAddress,
4955>;
4956
4957#[doc = "Nullable function pointer for `vkGetBufferDeviceAddressKHR`."]
4958#[doc(alias = "vkGetBufferDeviceAddressKHR")]
4959#[doc = "\n\n[Khronos reference: `vkGetBufferDeviceAddressKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferDeviceAddressKHR.html)"]
4960pub type PFN_vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddress;
4961
4962#[doc = "Nullable function pointer for `vkGetBufferDeviceAddressEXT`."]
4963#[doc(alias = "vkGetBufferDeviceAddressEXT")]
4964#[doc = "\n\n[Khronos reference: `vkGetBufferDeviceAddressEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferDeviceAddressEXT.html)"]
4965pub type PFN_vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddress;
4966
4967#[doc = "Nullable function pointer for `vkCreateHeadlessSurfaceEXT`."]
4968#[doc(alias = "vkCreateHeadlessSurfaceEXT")]
4969#[doc = "\n\n[Khronos reference: `vkCreateHeadlessSurfaceEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateHeadlessSurfaceEXT.html)"]
4970pub type PFN_vkCreateHeadlessSurfaceEXT = Option<
4971	unsafe extern "system" fn(
4972		instance: InstanceHandle,
4973		p_create_info: *const HeadlessSurfaceCreateInfoEXT<'_>,
4974		p_allocator: *const AllocationCallbacks,
4975		p_surface: *mut SurfaceKHR,
4976	) -> Result,
4977>;
4978
4979#[doc = "Nullable function pointer for `vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV`."]
4980#[doc(alias = "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")]
4981#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html)"]
4982pub type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = Option<
4983	unsafe extern "system" fn(
4984		physical_device: PhysicalDevice,
4985		p_combination_count: *mut u32,
4986		p_combinations: *mut FramebufferMixedSamplesCombinationNV<'_>,
4987	) -> Result,
4988>;
4989
4990#[doc = "Nullable function pointer for `vkInitializePerformanceApiINTEL`."]
4991#[doc(alias = "vkInitializePerformanceApiINTEL")]
4992#[doc = "\n\n[Khronos reference: `vkInitializePerformanceApiINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkInitializePerformanceApiINTEL.html)"]
4993pub type PFN_vkInitializePerformanceApiINTEL = Option<
4994	unsafe extern "system" fn(
4995		device: DeviceHandle,
4996		p_initialize_info: *const InitializePerformanceApiInfoINTEL<'_>,
4997	) -> Result,
4998>;
4999
5000#[doc = "Nullable function pointer for `vkUninitializePerformanceApiINTEL`."]
5001#[doc(alias = "vkUninitializePerformanceApiINTEL")]
5002#[doc = "\n\n[Khronos reference: `vkUninitializePerformanceApiINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUninitializePerformanceApiINTEL.html)"]
5003pub type PFN_vkUninitializePerformanceApiINTEL =
5004	Option<unsafe extern "system" fn(device: DeviceHandle) -> ()>;
5005
5006#[doc = "Nullable function pointer for `vkCmdSetPerformanceMarkerINTEL`."]
5007#[doc(alias = "vkCmdSetPerformanceMarkerINTEL")]
5008#[doc = "\n\n[Khronos reference: `vkCmdSetPerformanceMarkerINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPerformanceMarkerINTEL.html)"]
5009pub type PFN_vkCmdSetPerformanceMarkerINTEL = Option<
5010	unsafe extern "system" fn(
5011		command_buffer: CommandBuffer,
5012		p_marker_info: *const PerformanceMarkerInfoINTEL<'_>,
5013	) -> Result,
5014>;
5015
5016#[doc = "Nullable function pointer for `vkCmdSetPerformanceStreamMarkerINTEL`."]
5017#[doc(alias = "vkCmdSetPerformanceStreamMarkerINTEL")]
5018#[doc = "\n\n[Khronos reference: `vkCmdSetPerformanceStreamMarkerINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPerformanceStreamMarkerINTEL.html)"]
5019pub type PFN_vkCmdSetPerformanceStreamMarkerINTEL = Option<
5020	unsafe extern "system" fn(
5021		command_buffer: CommandBuffer,
5022		p_marker_info: *const PerformanceStreamMarkerInfoINTEL<'_>,
5023	) -> Result,
5024>;
5025
5026#[doc = "Nullable function pointer for `vkCmdSetPerformanceOverrideINTEL`."]
5027#[doc(alias = "vkCmdSetPerformanceOverrideINTEL")]
5028#[doc = "\n\n[Khronos reference: `vkCmdSetPerformanceOverrideINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPerformanceOverrideINTEL.html)"]
5029pub type PFN_vkCmdSetPerformanceOverrideINTEL = Option<
5030	unsafe extern "system" fn(
5031		command_buffer: CommandBuffer,
5032		p_override_info: *const PerformanceOverrideInfoINTEL<'_>,
5033	) -> Result,
5034>;
5035
5036#[doc = "Nullable function pointer for `vkAcquirePerformanceConfigurationINTEL`."]
5037#[doc(alias = "vkAcquirePerformanceConfigurationINTEL")]
5038#[doc = "\n\n[Khronos reference: `vkAcquirePerformanceConfigurationINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquirePerformanceConfigurationINTEL.html)"]
5039pub type PFN_vkAcquirePerformanceConfigurationINTEL = Option<
5040	unsafe extern "system" fn(
5041		device: DeviceHandle,
5042		p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL<'_>,
5043		p_configuration: *mut PerformanceConfigurationINTEL,
5044	) -> Result,
5045>;
5046
5047#[doc = "Nullable function pointer for `vkReleasePerformanceConfigurationINTEL`."]
5048#[doc(alias = "vkReleasePerformanceConfigurationINTEL")]
5049#[doc = "\n\n[Khronos reference: `vkReleasePerformanceConfigurationINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleasePerformanceConfigurationINTEL.html)"]
5050pub type PFN_vkReleasePerformanceConfigurationINTEL = Option<
5051	unsafe extern "system" fn(
5052		device: DeviceHandle,
5053		configuration: PerformanceConfigurationINTEL,
5054	) -> Result,
5055>;
5056
5057#[doc = "Nullable function pointer for `vkQueueSetPerformanceConfigurationINTEL`."]
5058#[doc(alias = "vkQueueSetPerformanceConfigurationINTEL")]
5059#[doc = "\n\n[Khronos reference: `vkQueueSetPerformanceConfigurationINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueSetPerformanceConfigurationINTEL.html)"]
5060pub type PFN_vkQueueSetPerformanceConfigurationINTEL = Option<
5061	unsafe extern "system" fn(queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result,
5062>;
5063
5064#[doc = "Nullable function pointer for `vkGetPerformanceParameterINTEL`."]
5065#[doc(alias = "vkGetPerformanceParameterINTEL")]
5066#[doc = "\n\n[Khronos reference: `vkGetPerformanceParameterINTEL`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPerformanceParameterINTEL.html)"]
5067pub type PFN_vkGetPerformanceParameterINTEL = Option<
5068	unsafe extern "system" fn(
5069		device: DeviceHandle,
5070		parameter: PerformanceParameterTypeINTEL,
5071		p_value: *mut PerformanceValueINTEL<'_>,
5072	) -> Result,
5073>;
5074
5075#[doc = "Nullable function pointer for `vkGetDeviceMemoryOpaqueCaptureAddress`."]
5076#[doc(alias = "vkGetDeviceMemoryOpaqueCaptureAddress")]
5077#[doc = "\n\n[Khronos reference: `vkGetDeviceMemoryOpaqueCaptureAddress`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceMemoryOpaqueCaptureAddress.html)"]
5078pub type PFN_vkGetDeviceMemoryOpaqueCaptureAddress = Option<
5079	unsafe extern "system" fn(
5080		device: DeviceHandle,
5081		p_info: *const DeviceMemoryOpaqueCaptureAddressInfo<'_>,
5082	) -> u64,
5083>;
5084
5085#[doc = "Nullable function pointer for `vkGetDeviceMemoryOpaqueCaptureAddressKHR`."]
5086#[doc(alias = "vkGetDeviceMemoryOpaqueCaptureAddressKHR")]
5087#[doc = "\n\n[Khronos reference: `vkGetDeviceMemoryOpaqueCaptureAddressKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html)"]
5088pub type PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddress;
5089
5090#[doc = "Nullable function pointer for `vkGetPipelineExecutablePropertiesKHR`."]
5091#[doc(alias = "vkGetPipelineExecutablePropertiesKHR")]
5092#[doc = "\n\n[Khronos reference: `vkGetPipelineExecutablePropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineExecutablePropertiesKHR.html)"]
5093pub type PFN_vkGetPipelineExecutablePropertiesKHR = Option<
5094	unsafe extern "system" fn(
5095		device: DeviceHandle,
5096		p_pipeline_info: *const PipelineInfoKHR<'_>,
5097		p_executable_count: *mut u32,
5098		p_properties: *mut PipelineExecutablePropertiesKHR<'_>,
5099	) -> Result,
5100>;
5101
5102#[doc = "Nullable function pointer for `vkGetPipelineExecutableStatisticsKHR`."]
5103#[doc(alias = "vkGetPipelineExecutableStatisticsKHR")]
5104#[doc = "\n\n[Khronos reference: `vkGetPipelineExecutableStatisticsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineExecutableStatisticsKHR.html)"]
5105pub type PFN_vkGetPipelineExecutableStatisticsKHR = Option<
5106	unsafe extern "system" fn(
5107		device: DeviceHandle,
5108		p_executable_info: *const PipelineExecutableInfoKHR<'_>,
5109		p_statistic_count: *mut u32,
5110		p_statistics: *mut PipelineExecutableStatisticKHR<'_>,
5111	) -> Result,
5112>;
5113
5114#[doc = "Nullable function pointer for `vkGetPipelineExecutableInternalRepresentationsKHR`."]
5115#[doc(alias = "vkGetPipelineExecutableInternalRepresentationsKHR")]
5116#[doc = "\n\n[Khronos reference: `vkGetPipelineExecutableInternalRepresentationsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineExecutableInternalRepresentationsKHR.html)"]
5117pub type PFN_vkGetPipelineExecutableInternalRepresentationsKHR = Option<
5118	unsafe extern "system" fn(
5119		device: DeviceHandle,
5120		p_executable_info: *const PipelineExecutableInfoKHR<'_>,
5121		p_internal_representation_count: *mut u32,
5122		p_internal_representations: *mut PipelineExecutableInternalRepresentationKHR<'_>,
5123	) -> Result,
5124>;
5125
5126#[doc = "Nullable function pointer for `vkCmdSetLineStipple`."]
5127#[doc(alias = "vkCmdSetLineStipple")]
5128#[doc = "\n\n[Khronos reference: `vkCmdSetLineStipple`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineStipple.html)"]
5129pub type PFN_vkCmdSetLineStipple = Option<
5130	unsafe extern "system" fn(
5131		command_buffer: CommandBuffer,
5132		line_stipple_factor: u32,
5133		line_stipple_pattern: u16,
5134	) -> (),
5135>;
5136
5137#[doc = "Nullable function pointer for `vkCmdSetLineStippleKHR`."]
5138#[doc(alias = "vkCmdSetLineStippleKHR")]
5139#[doc = "\n\n[Khronos reference: `vkCmdSetLineStippleKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineStippleKHR.html)"]
5140pub type PFN_vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStipple;
5141
5142#[doc = "Nullable function pointer for `vkCmdSetLineStippleEXT`."]
5143#[doc(alias = "vkCmdSetLineStippleEXT")]
5144#[doc = "\n\n[Khronos reference: `vkCmdSetLineStippleEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineStippleEXT.html)"]
5145pub type PFN_vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStipple;
5146
5147#[doc = "Nullable function pointer for `vkGetPhysicalDeviceToolProperties`."]
5148#[doc(alias = "vkGetPhysicalDeviceToolProperties")]
5149#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceToolProperties`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceToolProperties.html)"]
5150pub type PFN_vkGetPhysicalDeviceToolProperties = Option<
5151	unsafe extern "system" fn(
5152		physical_device: PhysicalDevice,
5153		p_tool_count: *mut u32,
5154		p_tool_properties: *mut PhysicalDeviceToolProperties<'_>,
5155	) -> Result,
5156>;
5157
5158#[doc = "Nullable function pointer for `vkGetPhysicalDeviceToolPropertiesEXT`."]
5159#[doc(alias = "vkGetPhysicalDeviceToolPropertiesEXT")]
5160#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceToolPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceToolPropertiesEXT.html)"]
5161pub type PFN_vkGetPhysicalDeviceToolPropertiesEXT = PFN_vkGetPhysicalDeviceToolProperties;
5162
5163#[doc = "Nullable function pointer for `vkCreateAccelerationStructureKHR`."]
5164#[doc(alias = "vkCreateAccelerationStructureKHR")]
5165#[doc = "\n\n[Khronos reference: `vkCreateAccelerationStructureKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateAccelerationStructureKHR.html)"]
5166pub type PFN_vkCreateAccelerationStructureKHR = Option<
5167	unsafe extern "system" fn(
5168		device: DeviceHandle,
5169		p_create_info: *const AccelerationStructureCreateInfoKHR<'_>,
5170		p_allocator: *const AllocationCallbacks,
5171		p_acceleration_structure: *mut AccelerationStructureKHR,
5172	) -> Result,
5173>;
5174
5175#[doc = "Nullable function pointer for `vkCmdBuildAccelerationStructuresKHR`."]
5176#[doc(alias = "vkCmdBuildAccelerationStructuresKHR")]
5177#[doc = "\n\n[Khronos reference: `vkCmdBuildAccelerationStructuresKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildAccelerationStructuresKHR.html)"]
5178pub type PFN_vkCmdBuildAccelerationStructuresKHR = Option<
5179	unsafe extern "system" fn(
5180		command_buffer: CommandBuffer,
5181		info_count: u32,
5182		p_infos: *const AccelerationStructureBuildGeometryInfoKHR<'_>,
5183		pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR,
5184	) -> (),
5185>;
5186
5187#[doc = "Nullable function pointer for `vkCmdBuildAccelerationStructuresIndirectKHR`."]
5188#[doc(alias = "vkCmdBuildAccelerationStructuresIndirectKHR")]
5189#[doc = "\n\n[Khronos reference: `vkCmdBuildAccelerationStructuresIndirectKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildAccelerationStructuresIndirectKHR.html)"]
5190pub type PFN_vkCmdBuildAccelerationStructuresIndirectKHR = Option<
5191	unsafe extern "system" fn(
5192		command_buffer: CommandBuffer,
5193		info_count: u32,
5194		p_infos: *const AccelerationStructureBuildGeometryInfoKHR<'_>,
5195		p_indirect_device_addresses: *const DeviceAddress,
5196		p_indirect_strides: *const u32,
5197		pp_max_primitive_counts: *const *const u32,
5198	) -> (),
5199>;
5200
5201#[doc = "Nullable function pointer for `vkBuildAccelerationStructuresKHR`."]
5202#[doc(alias = "vkBuildAccelerationStructuresKHR")]
5203#[doc = "\n\n[Khronos reference: `vkBuildAccelerationStructuresKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBuildAccelerationStructuresKHR.html)"]
5204pub type PFN_vkBuildAccelerationStructuresKHR = Option<
5205	unsafe extern "system" fn(
5206		device: DeviceHandle,
5207		deferred_operation: DeferredOperationKHR,
5208		info_count: u32,
5209		p_infos: *const AccelerationStructureBuildGeometryInfoKHR<'_>,
5210		pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR,
5211	) -> Result,
5212>;
5213
5214#[doc = "Nullable function pointer for `vkGetAccelerationStructureDeviceAddressKHR`."]
5215#[doc(alias = "vkGetAccelerationStructureDeviceAddressKHR")]
5216#[doc = "\n\n[Khronos reference: `vkGetAccelerationStructureDeviceAddressKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAccelerationStructureDeviceAddressKHR.html)"]
5217pub type PFN_vkGetAccelerationStructureDeviceAddressKHR = Option<
5218	unsafe extern "system" fn(
5219		device: DeviceHandle,
5220		p_info: *const AccelerationStructureDeviceAddressInfoKHR<'_>,
5221	) -> DeviceAddress,
5222>;
5223
5224#[doc = "Nullable function pointer for `vkCreateDeferredOperationKHR`."]
5225#[doc(alias = "vkCreateDeferredOperationKHR")]
5226#[doc = "\n\n[Khronos reference: `vkCreateDeferredOperationKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDeferredOperationKHR.html)"]
5227pub type PFN_vkCreateDeferredOperationKHR = Option<
5228	unsafe extern "system" fn(
5229		device: DeviceHandle,
5230		p_allocator: *const AllocationCallbacks,
5231		p_deferred_operation: *mut DeferredOperationKHR,
5232	) -> Result,
5233>;
5234
5235#[doc = "Nullable function pointer for `vkDestroyDeferredOperationKHR`."]
5236#[doc(alias = "vkDestroyDeferredOperationKHR")]
5237#[doc = "\n\n[Khronos reference: `vkDestroyDeferredOperationKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDeferredOperationKHR.html)"]
5238pub type PFN_vkDestroyDeferredOperationKHR = Option<
5239	unsafe extern "system" fn(
5240		device: DeviceHandle,
5241		operation: DeferredOperationKHR,
5242		p_allocator: *const AllocationCallbacks,
5243	) -> (),
5244>;
5245
5246#[doc = "Nullable function pointer for `vkGetDeferredOperationMaxConcurrencyKHR`."]
5247#[doc(alias = "vkGetDeferredOperationMaxConcurrencyKHR")]
5248#[doc = "\n\n[Khronos reference: `vkGetDeferredOperationMaxConcurrencyKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeferredOperationMaxConcurrencyKHR.html)"]
5249pub type PFN_vkGetDeferredOperationMaxConcurrencyKHR =
5250	Option<unsafe extern "system" fn(device: DeviceHandle, operation: DeferredOperationKHR) -> u32>;
5251
5252#[doc = "Nullable function pointer for `vkGetDeferredOperationResultKHR`."]
5253#[doc(alias = "vkGetDeferredOperationResultKHR")]
5254#[doc = "\n\n[Khronos reference: `vkGetDeferredOperationResultKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeferredOperationResultKHR.html)"]
5255pub type PFN_vkGetDeferredOperationResultKHR = Option<
5256	unsafe extern "system" fn(device: DeviceHandle, operation: DeferredOperationKHR) -> Result,
5257>;
5258
5259#[doc = "Nullable function pointer for `vkDeferredOperationJoinKHR`."]
5260#[doc(alias = "vkDeferredOperationJoinKHR")]
5261#[doc = "\n\n[Khronos reference: `vkDeferredOperationJoinKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDeferredOperationJoinKHR.html)"]
5262pub type PFN_vkDeferredOperationJoinKHR = Option<
5263	unsafe extern "system" fn(device: DeviceHandle, operation: DeferredOperationKHR) -> Result,
5264>;
5265
5266#[doc = "Nullable function pointer for `vkGetPipelineIndirectMemoryRequirementsNV`."]
5267#[doc(alias = "vkGetPipelineIndirectMemoryRequirementsNV")]
5268#[doc = "\n\n[Khronos reference: `vkGetPipelineIndirectMemoryRequirementsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineIndirectMemoryRequirementsNV.html)"]
5269pub type PFN_vkGetPipelineIndirectMemoryRequirementsNV = Option<
5270	unsafe extern "system" fn(
5271		device: DeviceHandle,
5272		p_create_info: *const ComputePipelineCreateInfo<'_>,
5273		p_memory_requirements: *mut MemoryRequirements2<'_>,
5274	) -> (),
5275>;
5276
5277#[doc = "Nullable function pointer for `vkGetPipelineIndirectDeviceAddressNV`."]
5278#[doc(alias = "vkGetPipelineIndirectDeviceAddressNV")]
5279#[doc = "\n\n[Khronos reference: `vkGetPipelineIndirectDeviceAddressNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelineIndirectDeviceAddressNV.html)"]
5280pub type PFN_vkGetPipelineIndirectDeviceAddressNV = Option<
5281	unsafe extern "system" fn(
5282		device: DeviceHandle,
5283		p_info: *const PipelineIndirectDeviceAddressInfoNV<'_>,
5284	) -> DeviceAddress,
5285>;
5286
5287#[doc = "Nullable function pointer for `vkAntiLagUpdateAMD`."]
5288#[doc(alias = "vkAntiLagUpdateAMD")]
5289#[doc = "\n\n[Khronos reference: `vkAntiLagUpdateAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAntiLagUpdateAMD.html)"]
5290pub type PFN_vkAntiLagUpdateAMD =
5291	Option<unsafe extern "system" fn(device: DeviceHandle, p_data: *const AntiLagDataAMD<'_>) -> ()>;
5292
5293#[doc = "Nullable function pointer for `vkCmdSetCullMode`."]
5294#[doc(alias = "vkCmdSetCullMode")]
5295#[doc = "\n\n[Khronos reference: `vkCmdSetCullMode`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCullMode.html)"]
5296pub type PFN_vkCmdSetCullMode =
5297	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, cull_mode: CullModeFlags) -> ()>;
5298
5299#[doc = "Nullable function pointer for `vkCmdSetCullModeEXT`."]
5300#[doc(alias = "vkCmdSetCullModeEXT")]
5301#[doc = "\n\n[Khronos reference: `vkCmdSetCullModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCullModeEXT.html)"]
5302pub type PFN_vkCmdSetCullModeEXT = PFN_vkCmdSetCullMode;
5303
5304#[doc = "Nullable function pointer for `vkCmdSetFrontFace`."]
5305#[doc(alias = "vkCmdSetFrontFace")]
5306#[doc = "\n\n[Khronos reference: `vkCmdSetFrontFace`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetFrontFace.html)"]
5307pub type PFN_vkCmdSetFrontFace =
5308	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, front_face: FrontFace) -> ()>;
5309
5310#[doc = "Nullable function pointer for `vkCmdSetFrontFaceEXT`."]
5311#[doc(alias = "vkCmdSetFrontFaceEXT")]
5312#[doc = "\n\n[Khronos reference: `vkCmdSetFrontFaceEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetFrontFaceEXT.html)"]
5313pub type PFN_vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFace;
5314
5315#[doc = "Nullable function pointer for `vkCmdSetPrimitiveTopology`."]
5316#[doc(alias = "vkCmdSetPrimitiveTopology")]
5317#[doc = "\n\n[Khronos reference: `vkCmdSetPrimitiveTopology`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPrimitiveTopology.html)"]
5318pub type PFN_vkCmdSetPrimitiveTopology = Option<
5319	unsafe extern "system" fn(
5320		command_buffer: CommandBuffer,
5321		primitive_topology: PrimitiveTopology,
5322	) -> (),
5323>;
5324
5325#[doc = "Nullable function pointer for `vkCmdSetPrimitiveTopologyEXT`."]
5326#[doc(alias = "vkCmdSetPrimitiveTopologyEXT")]
5327#[doc = "\n\n[Khronos reference: `vkCmdSetPrimitiveTopologyEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPrimitiveTopologyEXT.html)"]
5328pub type PFN_vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopology;
5329
5330#[doc = "Nullable function pointer for `vkCmdSetViewportWithCount`."]
5331#[doc(alias = "vkCmdSetViewportWithCount")]
5332#[doc = "\n\n[Khronos reference: `vkCmdSetViewportWithCount`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportWithCount.html)"]
5333pub type PFN_vkCmdSetViewportWithCount = Option<
5334	unsafe extern "system" fn(
5335		command_buffer: CommandBuffer,
5336		viewport_count: u32,
5337		p_viewports: *const Viewport,
5338	) -> (),
5339>;
5340
5341#[doc = "Nullable function pointer for `vkCmdSetViewportWithCountEXT`."]
5342#[doc(alias = "vkCmdSetViewportWithCountEXT")]
5343#[doc = "\n\n[Khronos reference: `vkCmdSetViewportWithCountEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportWithCountEXT.html)"]
5344pub type PFN_vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCount;
5345
5346#[doc = "Nullable function pointer for `vkCmdSetScissorWithCount`."]
5347#[doc(alias = "vkCmdSetScissorWithCount")]
5348#[doc = "\n\n[Khronos reference: `vkCmdSetScissorWithCount`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetScissorWithCount.html)"]
5349pub type PFN_vkCmdSetScissorWithCount = Option<
5350	unsafe extern "system" fn(
5351		command_buffer: CommandBuffer,
5352		scissor_count: u32,
5353		p_scissors: *const Rect2D,
5354	) -> (),
5355>;
5356
5357#[doc = "Nullable function pointer for `vkCmdSetScissorWithCountEXT`."]
5358#[doc(alias = "vkCmdSetScissorWithCountEXT")]
5359#[doc = "\n\n[Khronos reference: `vkCmdSetScissorWithCountEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetScissorWithCountEXT.html)"]
5360pub type PFN_vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCount;
5361
5362#[doc = "Nullable function pointer for `vkCmdBindIndexBuffer2`."]
5363#[doc(alias = "vkCmdBindIndexBuffer2")]
5364#[doc = "\n\n[Khronos reference: `vkCmdBindIndexBuffer2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindIndexBuffer2.html)"]
5365pub type PFN_vkCmdBindIndexBuffer2 = Option<
5366	unsafe extern "system" fn(
5367		command_buffer: CommandBuffer,
5368		buffer: Buffer,
5369		offset: DeviceSize,
5370		size: DeviceSize,
5371		index_type: IndexType,
5372	) -> (),
5373>;
5374
5375#[doc = "Nullable function pointer for `vkCmdBindIndexBuffer2KHR`."]
5376#[doc(alias = "vkCmdBindIndexBuffer2KHR")]
5377#[doc = "\n\n[Khronos reference: `vkCmdBindIndexBuffer2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindIndexBuffer2KHR.html)"]
5378pub type PFN_vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2;
5379
5380#[doc = "Nullable function pointer for `vkCmdBindVertexBuffers2`."]
5381#[doc(alias = "vkCmdBindVertexBuffers2")]
5382#[doc = "\n\n[Khronos reference: `vkCmdBindVertexBuffers2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindVertexBuffers2.html)"]
5383pub type PFN_vkCmdBindVertexBuffers2 = Option<
5384	unsafe extern "system" fn(
5385		command_buffer: CommandBuffer,
5386		first_binding: u32,
5387		binding_count: u32,
5388		p_buffers: *const Buffer,
5389		p_offsets: *const DeviceSize,
5390		p_sizes: *const DeviceSize,
5391		p_strides: *const DeviceSize,
5392	) -> (),
5393>;
5394
5395#[doc = "Nullable function pointer for `vkCmdBindVertexBuffers2EXT`."]
5396#[doc(alias = "vkCmdBindVertexBuffers2EXT")]
5397#[doc = "\n\n[Khronos reference: `vkCmdBindVertexBuffers2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindVertexBuffers2EXT.html)"]
5398pub type PFN_vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2;
5399
5400#[doc = "Nullable function pointer for `vkCmdSetDepthTestEnable`."]
5401#[doc(alias = "vkCmdSetDepthTestEnable")]
5402#[doc = "\n\n[Khronos reference: `vkCmdSetDepthTestEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthTestEnable.html)"]
5403pub type PFN_vkCmdSetDepthTestEnable =
5404	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, depth_test_enable: Bool32) -> ()>;
5405
5406#[doc = "Nullable function pointer for `vkCmdSetDepthTestEnableEXT`."]
5407#[doc(alias = "vkCmdSetDepthTestEnableEXT")]
5408#[doc = "\n\n[Khronos reference: `vkCmdSetDepthTestEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthTestEnableEXT.html)"]
5409pub type PFN_vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnable;
5410
5411#[doc = "Nullable function pointer for `vkCmdSetDepthWriteEnable`."]
5412#[doc(alias = "vkCmdSetDepthWriteEnable")]
5413#[doc = "\n\n[Khronos reference: `vkCmdSetDepthWriteEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthWriteEnable.html)"]
5414pub type PFN_vkCmdSetDepthWriteEnable = Option<
5415	unsafe extern "system" fn(command_buffer: CommandBuffer, depth_write_enable: Bool32) -> (),
5416>;
5417
5418#[doc = "Nullable function pointer for `vkCmdSetDepthWriteEnableEXT`."]
5419#[doc(alias = "vkCmdSetDepthWriteEnableEXT")]
5420#[doc = "\n\n[Khronos reference: `vkCmdSetDepthWriteEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthWriteEnableEXT.html)"]
5421pub type PFN_vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnable;
5422
5423#[doc = "Nullable function pointer for `vkCmdSetDepthCompareOp`."]
5424#[doc(alias = "vkCmdSetDepthCompareOp")]
5425#[doc = "\n\n[Khronos reference: `vkCmdSetDepthCompareOp`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthCompareOp.html)"]
5426pub type PFN_vkCmdSetDepthCompareOp = Option<
5427	unsafe extern "system" fn(command_buffer: CommandBuffer, depth_compare_op: CompareOp) -> (),
5428>;
5429
5430#[doc = "Nullable function pointer for `vkCmdSetDepthCompareOpEXT`."]
5431#[doc(alias = "vkCmdSetDepthCompareOpEXT")]
5432#[doc = "\n\n[Khronos reference: `vkCmdSetDepthCompareOpEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthCompareOpEXT.html)"]
5433pub type PFN_vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOp;
5434
5435#[doc = "Nullable function pointer for `vkCmdSetDepthBoundsTestEnable`."]
5436#[doc(alias = "vkCmdSetDepthBoundsTestEnable")]
5437#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBoundsTestEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBoundsTestEnable.html)"]
5438pub type PFN_vkCmdSetDepthBoundsTestEnable = Option<
5439	unsafe extern "system" fn(command_buffer: CommandBuffer, depth_bounds_test_enable: Bool32) -> (),
5440>;
5441
5442#[doc = "Nullable function pointer for `vkCmdSetDepthBoundsTestEnableEXT`."]
5443#[doc(alias = "vkCmdSetDepthBoundsTestEnableEXT")]
5444#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBoundsTestEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBoundsTestEnableEXT.html)"]
5445pub type PFN_vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnable;
5446
5447#[doc = "Nullable function pointer for `vkCmdSetStencilTestEnable`."]
5448#[doc(alias = "vkCmdSetStencilTestEnable")]
5449#[doc = "\n\n[Khronos reference: `vkCmdSetStencilTestEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilTestEnable.html)"]
5450pub type PFN_vkCmdSetStencilTestEnable = Option<
5451	unsafe extern "system" fn(command_buffer: CommandBuffer, stencil_test_enable: Bool32) -> (),
5452>;
5453
5454#[doc = "Nullable function pointer for `vkCmdSetStencilTestEnableEXT`."]
5455#[doc(alias = "vkCmdSetStencilTestEnableEXT")]
5456#[doc = "\n\n[Khronos reference: `vkCmdSetStencilTestEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilTestEnableEXT.html)"]
5457pub type PFN_vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnable;
5458
5459#[doc = "Nullable function pointer for `vkCmdSetStencilOp`."]
5460#[doc(alias = "vkCmdSetStencilOp")]
5461#[doc = "\n\n[Khronos reference: `vkCmdSetStencilOp`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilOp.html)"]
5462pub type PFN_vkCmdSetStencilOp = Option<
5463	unsafe extern "system" fn(
5464		command_buffer: CommandBuffer,
5465		face_mask: StencilFaceFlags,
5466		fail_op: StencilOp,
5467		pass_op: StencilOp,
5468		depth_fail_op: StencilOp,
5469		compare_op: CompareOp,
5470	) -> (),
5471>;
5472
5473#[doc = "Nullable function pointer for `vkCmdSetStencilOpEXT`."]
5474#[doc(alias = "vkCmdSetStencilOpEXT")]
5475#[doc = "\n\n[Khronos reference: `vkCmdSetStencilOpEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetStencilOpEXT.html)"]
5476pub type PFN_vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOp;
5477
5478#[doc = "Nullable function pointer for `vkCmdSetPatchControlPointsEXT`."]
5479#[doc(alias = "vkCmdSetPatchControlPointsEXT")]
5480#[doc = "\n\n[Khronos reference: `vkCmdSetPatchControlPointsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPatchControlPointsEXT.html)"]
5481pub type PFN_vkCmdSetPatchControlPointsEXT =
5482	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, patch_control_points: u32) -> ()>;
5483
5484#[doc = "Nullable function pointer for `vkCmdSetRasterizerDiscardEnable`."]
5485#[doc(alias = "vkCmdSetRasterizerDiscardEnable")]
5486#[doc = "\n\n[Khronos reference: `vkCmdSetRasterizerDiscardEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRasterizerDiscardEnable.html)"]
5487pub type PFN_vkCmdSetRasterizerDiscardEnable = Option<
5488	unsafe extern "system" fn(command_buffer: CommandBuffer, rasterizer_discard_enable: Bool32) -> (),
5489>;
5490
5491#[doc = "Nullable function pointer for `vkCmdSetRasterizerDiscardEnableEXT`."]
5492#[doc(alias = "vkCmdSetRasterizerDiscardEnableEXT")]
5493#[doc = "\n\n[Khronos reference: `vkCmdSetRasterizerDiscardEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRasterizerDiscardEnableEXT.html)"]
5494pub type PFN_vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnable;
5495
5496#[doc = "Nullable function pointer for `vkCmdSetDepthBiasEnable`."]
5497#[doc(alias = "vkCmdSetDepthBiasEnable")]
5498#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBiasEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBiasEnable.html)"]
5499pub type PFN_vkCmdSetDepthBiasEnable =
5500	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, depth_bias_enable: Bool32) -> ()>;
5501
5502#[doc = "Nullable function pointer for `vkCmdSetDepthBiasEnableEXT`."]
5503#[doc(alias = "vkCmdSetDepthBiasEnableEXT")]
5504#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBiasEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBiasEnableEXT.html)"]
5505pub type PFN_vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnable;
5506
5507#[doc = "Nullable function pointer for `vkCmdSetLogicOpEXT`."]
5508#[doc(alias = "vkCmdSetLogicOpEXT")]
5509#[doc = "\n\n[Khronos reference: `vkCmdSetLogicOpEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLogicOpEXT.html)"]
5510pub type PFN_vkCmdSetLogicOpEXT =
5511	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, logic_op: LogicOp) -> ()>;
5512
5513#[doc = "Nullable function pointer for `vkCmdSetPrimitiveRestartEnable`."]
5514#[doc(alias = "vkCmdSetPrimitiveRestartEnable")]
5515#[doc = "\n\n[Khronos reference: `vkCmdSetPrimitiveRestartEnable`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPrimitiveRestartEnable.html)"]
5516pub type PFN_vkCmdSetPrimitiveRestartEnable = Option<
5517	unsafe extern "system" fn(command_buffer: CommandBuffer, primitive_restart_enable: Bool32) -> (),
5518>;
5519
5520#[doc = "Nullable function pointer for `vkCmdSetPrimitiveRestartEnableEXT`."]
5521#[doc(alias = "vkCmdSetPrimitiveRestartEnableEXT")]
5522#[doc = "\n\n[Khronos reference: `vkCmdSetPrimitiveRestartEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPrimitiveRestartEnableEXT.html)"]
5523pub type PFN_vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnable;
5524
5525#[doc = "Nullable function pointer for `vkCmdSetTessellationDomainOriginEXT`."]
5526#[doc(alias = "vkCmdSetTessellationDomainOriginEXT")]
5527#[doc = "\n\n[Khronos reference: `vkCmdSetTessellationDomainOriginEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetTessellationDomainOriginEXT.html)"]
5528pub type PFN_vkCmdSetTessellationDomainOriginEXT = Option<
5529	unsafe extern "system" fn(
5530		command_buffer: CommandBuffer,
5531		domain_origin: TessellationDomainOrigin,
5532	) -> (),
5533>;
5534
5535#[doc = "Nullable function pointer for `vkCmdSetDepthClampEnableEXT`."]
5536#[doc(alias = "vkCmdSetDepthClampEnableEXT")]
5537#[doc = "\n\n[Khronos reference: `vkCmdSetDepthClampEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthClampEnableEXT.html)"]
5538pub type PFN_vkCmdSetDepthClampEnableEXT = Option<
5539	unsafe extern "system" fn(command_buffer: CommandBuffer, depth_clamp_enable: Bool32) -> (),
5540>;
5541
5542#[doc = "Nullable function pointer for `vkCmdSetPolygonModeEXT`."]
5543#[doc(alias = "vkCmdSetPolygonModeEXT")]
5544#[doc = "\n\n[Khronos reference: `vkCmdSetPolygonModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetPolygonModeEXT.html)"]
5545pub type PFN_vkCmdSetPolygonModeEXT =
5546	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, polygon_mode: PolygonMode) -> ()>;
5547
5548#[doc = "Nullable function pointer for `vkCmdSetRasterizationSamplesEXT`."]
5549#[doc(alias = "vkCmdSetRasterizationSamplesEXT")]
5550#[doc = "\n\n[Khronos reference: `vkCmdSetRasterizationSamplesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRasterizationSamplesEXT.html)"]
5551pub type PFN_vkCmdSetRasterizationSamplesEXT = Option<
5552	unsafe extern "system" fn(
5553		command_buffer: CommandBuffer,
5554		rasterization_samples: SampleCountFlagBits,
5555	) -> (),
5556>;
5557
5558#[doc = "Nullable function pointer for `vkCmdSetSampleMaskEXT`."]
5559#[doc(alias = "vkCmdSetSampleMaskEXT")]
5560#[doc = "\n\n[Khronos reference: `vkCmdSetSampleMaskEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetSampleMaskEXT.html)"]
5561pub type PFN_vkCmdSetSampleMaskEXT = Option<
5562	unsafe extern "system" fn(
5563		command_buffer: CommandBuffer,
5564		samples: SampleCountFlagBits,
5565		p_sample_mask: *const SampleMask,
5566	) -> (),
5567>;
5568
5569#[doc = "Nullable function pointer for `vkCmdSetAlphaToCoverageEnableEXT`."]
5570#[doc(alias = "vkCmdSetAlphaToCoverageEnableEXT")]
5571#[doc = "\n\n[Khronos reference: `vkCmdSetAlphaToCoverageEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetAlphaToCoverageEnableEXT.html)"]
5572pub type PFN_vkCmdSetAlphaToCoverageEnableEXT = Option<
5573	unsafe extern "system" fn(command_buffer: CommandBuffer, alpha_to_coverage_enable: Bool32) -> (),
5574>;
5575
5576#[doc = "Nullable function pointer for `vkCmdSetAlphaToOneEnableEXT`."]
5577#[doc(alias = "vkCmdSetAlphaToOneEnableEXT")]
5578#[doc = "\n\n[Khronos reference: `vkCmdSetAlphaToOneEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetAlphaToOneEnableEXT.html)"]
5579pub type PFN_vkCmdSetAlphaToOneEnableEXT = Option<
5580	unsafe extern "system" fn(command_buffer: CommandBuffer, alpha_to_one_enable: Bool32) -> (),
5581>;
5582
5583#[doc = "Nullable function pointer for `vkCmdSetLogicOpEnableEXT`."]
5584#[doc(alias = "vkCmdSetLogicOpEnableEXT")]
5585#[doc = "\n\n[Khronos reference: `vkCmdSetLogicOpEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLogicOpEnableEXT.html)"]
5586pub type PFN_vkCmdSetLogicOpEnableEXT =
5587	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, logic_op_enable: Bool32) -> ()>;
5588
5589#[doc = "Nullable function pointer for `vkCmdSetColorBlendEnableEXT`."]
5590#[doc(alias = "vkCmdSetColorBlendEnableEXT")]
5591#[doc = "\n\n[Khronos reference: `vkCmdSetColorBlendEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetColorBlendEnableEXT.html)"]
5592pub type PFN_vkCmdSetColorBlendEnableEXT = Option<
5593	unsafe extern "system" fn(
5594		command_buffer: CommandBuffer,
5595		first_attachment: u32,
5596		attachment_count: u32,
5597		p_color_blend_enables: *const Bool32,
5598	) -> (),
5599>;
5600
5601#[doc = "Nullable function pointer for `vkCmdSetColorBlendEquationEXT`."]
5602#[doc(alias = "vkCmdSetColorBlendEquationEXT")]
5603#[doc = "\n\n[Khronos reference: `vkCmdSetColorBlendEquationEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetColorBlendEquationEXT.html)"]
5604pub type PFN_vkCmdSetColorBlendEquationEXT = Option<
5605	unsafe extern "system" fn(
5606		command_buffer: CommandBuffer,
5607		first_attachment: u32,
5608		attachment_count: u32,
5609		p_color_blend_equations: *const ColorBlendEquationEXT,
5610	) -> (),
5611>;
5612
5613#[doc = "Nullable function pointer for `vkCmdSetColorWriteMaskEXT`."]
5614#[doc(alias = "vkCmdSetColorWriteMaskEXT")]
5615#[doc = "\n\n[Khronos reference: `vkCmdSetColorWriteMaskEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetColorWriteMaskEXT.html)"]
5616pub type PFN_vkCmdSetColorWriteMaskEXT = Option<
5617	unsafe extern "system" fn(
5618		command_buffer: CommandBuffer,
5619		first_attachment: u32,
5620		attachment_count: u32,
5621		p_color_write_masks: *const ColorComponentFlags,
5622	) -> (),
5623>;
5624
5625#[doc = "Nullable function pointer for `vkCmdSetRasterizationStreamEXT`."]
5626#[doc(alias = "vkCmdSetRasterizationStreamEXT")]
5627#[doc = "\n\n[Khronos reference: `vkCmdSetRasterizationStreamEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRasterizationStreamEXT.html)"]
5628pub type PFN_vkCmdSetRasterizationStreamEXT =
5629	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, rasterization_stream: u32) -> ()>;
5630
5631#[doc = "Nullable function pointer for `vkCmdSetConservativeRasterizationModeEXT`."]
5632#[doc(alias = "vkCmdSetConservativeRasterizationModeEXT")]
5633#[doc = "\n\n[Khronos reference: `vkCmdSetConservativeRasterizationModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetConservativeRasterizationModeEXT.html)"]
5634pub type PFN_vkCmdSetConservativeRasterizationModeEXT = Option<
5635	unsafe extern "system" fn(
5636		command_buffer: CommandBuffer,
5637		conservative_rasterization_mode: ConservativeRasterizationModeEXT,
5638	) -> (),
5639>;
5640
5641#[doc = "Nullable function pointer for `vkCmdSetExtraPrimitiveOverestimationSizeEXT`."]
5642#[doc(alias = "vkCmdSetExtraPrimitiveOverestimationSizeEXT")]
5643#[doc = "\n\n[Khronos reference: `vkCmdSetExtraPrimitiveOverestimationSizeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html)"]
5644pub type PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT = Option<
5645	unsafe extern "system" fn(
5646		command_buffer: CommandBuffer,
5647		extra_primitive_overestimation_size: f32,
5648	) -> (),
5649>;
5650
5651#[doc = "Nullable function pointer for `vkCmdSetDepthClipEnableEXT`."]
5652#[doc(alias = "vkCmdSetDepthClipEnableEXT")]
5653#[doc = "\n\n[Khronos reference: `vkCmdSetDepthClipEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthClipEnableEXT.html)"]
5654pub type PFN_vkCmdSetDepthClipEnableEXT =
5655	Option<unsafe extern "system" fn(command_buffer: CommandBuffer, depth_clip_enable: Bool32) -> ()>;
5656
5657#[doc = "Nullable function pointer for `vkCmdSetSampleLocationsEnableEXT`."]
5658#[doc(alias = "vkCmdSetSampleLocationsEnableEXT")]
5659#[doc = "\n\n[Khronos reference: `vkCmdSetSampleLocationsEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetSampleLocationsEnableEXT.html)"]
5660pub type PFN_vkCmdSetSampleLocationsEnableEXT = Option<
5661	unsafe extern "system" fn(command_buffer: CommandBuffer, sample_locations_enable: Bool32) -> (),
5662>;
5663
5664#[doc = "Nullable function pointer for `vkCmdSetColorBlendAdvancedEXT`."]
5665#[doc(alias = "vkCmdSetColorBlendAdvancedEXT")]
5666#[doc = "\n\n[Khronos reference: `vkCmdSetColorBlendAdvancedEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetColorBlendAdvancedEXT.html)"]
5667pub type PFN_vkCmdSetColorBlendAdvancedEXT = Option<
5668	unsafe extern "system" fn(
5669		command_buffer: CommandBuffer,
5670		first_attachment: u32,
5671		attachment_count: u32,
5672		p_color_blend_advanced: *const ColorBlendAdvancedEXT,
5673	) -> (),
5674>;
5675
5676#[doc = "Nullable function pointer for `vkCmdSetProvokingVertexModeEXT`."]
5677#[doc(alias = "vkCmdSetProvokingVertexModeEXT")]
5678#[doc = "\n\n[Khronos reference: `vkCmdSetProvokingVertexModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetProvokingVertexModeEXT.html)"]
5679pub type PFN_vkCmdSetProvokingVertexModeEXT = Option<
5680	unsafe extern "system" fn(
5681		command_buffer: CommandBuffer,
5682		provoking_vertex_mode: ProvokingVertexModeEXT,
5683	) -> (),
5684>;
5685
5686#[doc = "Nullable function pointer for `vkCmdSetLineRasterizationModeEXT`."]
5687#[doc(alias = "vkCmdSetLineRasterizationModeEXT")]
5688#[doc = "\n\n[Khronos reference: `vkCmdSetLineRasterizationModeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineRasterizationModeEXT.html)"]
5689pub type PFN_vkCmdSetLineRasterizationModeEXT = Option<
5690	unsafe extern "system" fn(
5691		command_buffer: CommandBuffer,
5692		line_rasterization_mode: LineRasterizationModeEXT,
5693	) -> (),
5694>;
5695
5696#[doc = "Nullable function pointer for `vkCmdSetLineStippleEnableEXT`."]
5697#[doc(alias = "vkCmdSetLineStippleEnableEXT")]
5698#[doc = "\n\n[Khronos reference: `vkCmdSetLineStippleEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetLineStippleEnableEXT.html)"]
5699pub type PFN_vkCmdSetLineStippleEnableEXT = Option<
5700	unsafe extern "system" fn(command_buffer: CommandBuffer, stippled_line_enable: Bool32) -> (),
5701>;
5702
5703#[doc = "Nullable function pointer for `vkCmdSetDepthClipNegativeOneToOneEXT`."]
5704#[doc(alias = "vkCmdSetDepthClipNegativeOneToOneEXT")]
5705#[doc = "\n\n[Khronos reference: `vkCmdSetDepthClipNegativeOneToOneEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthClipNegativeOneToOneEXT.html)"]
5706pub type PFN_vkCmdSetDepthClipNegativeOneToOneEXT = Option<
5707	unsafe extern "system" fn(command_buffer: CommandBuffer, negative_one_to_one: Bool32) -> (),
5708>;
5709
5710#[doc = "Nullable function pointer for `vkCmdSetViewportWScalingEnableNV`."]
5711#[doc(alias = "vkCmdSetViewportWScalingEnableNV")]
5712#[doc = "\n\n[Khronos reference: `vkCmdSetViewportWScalingEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportWScalingEnableNV.html)"]
5713pub type PFN_vkCmdSetViewportWScalingEnableNV = Option<
5714	unsafe extern "system" fn(command_buffer: CommandBuffer, viewport_w_scaling_enable: Bool32) -> (),
5715>;
5716
5717#[doc = "Nullable function pointer for `vkCmdSetViewportSwizzleNV`."]
5718#[doc(alias = "vkCmdSetViewportSwizzleNV")]
5719#[doc = "\n\n[Khronos reference: `vkCmdSetViewportSwizzleNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetViewportSwizzleNV.html)"]
5720pub type PFN_vkCmdSetViewportSwizzleNV = Option<
5721	unsafe extern "system" fn(
5722		command_buffer: CommandBuffer,
5723		first_viewport: u32,
5724		viewport_count: u32,
5725		p_viewport_swizzles: *const ViewportSwizzleNV,
5726	) -> (),
5727>;
5728
5729#[doc = "Nullable function pointer for `vkCmdSetCoverageToColorEnableNV`."]
5730#[doc(alias = "vkCmdSetCoverageToColorEnableNV")]
5731#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageToColorEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageToColorEnableNV.html)"]
5732pub type PFN_vkCmdSetCoverageToColorEnableNV = Option<
5733	unsafe extern "system" fn(command_buffer: CommandBuffer, coverage_to_color_enable: Bool32) -> (),
5734>;
5735
5736#[doc = "Nullable function pointer for `vkCmdSetCoverageToColorLocationNV`."]
5737#[doc(alias = "vkCmdSetCoverageToColorLocationNV")]
5738#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageToColorLocationNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageToColorLocationNV.html)"]
5739pub type PFN_vkCmdSetCoverageToColorLocationNV = Option<
5740	unsafe extern "system" fn(command_buffer: CommandBuffer, coverage_to_color_location: u32) -> (),
5741>;
5742
5743#[doc = "Nullable function pointer for `vkCmdSetCoverageModulationModeNV`."]
5744#[doc(alias = "vkCmdSetCoverageModulationModeNV")]
5745#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageModulationModeNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageModulationModeNV.html)"]
5746pub type PFN_vkCmdSetCoverageModulationModeNV = Option<
5747	unsafe extern "system" fn(
5748		command_buffer: CommandBuffer,
5749		coverage_modulation_mode: CoverageModulationModeNV,
5750	) -> (),
5751>;
5752
5753#[doc = "Nullable function pointer for `vkCmdSetCoverageModulationTableEnableNV`."]
5754#[doc(alias = "vkCmdSetCoverageModulationTableEnableNV")]
5755#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageModulationTableEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageModulationTableEnableNV.html)"]
5756pub type PFN_vkCmdSetCoverageModulationTableEnableNV = Option<
5757	unsafe extern "system" fn(
5758		command_buffer: CommandBuffer,
5759		coverage_modulation_table_enable: Bool32,
5760	) -> (),
5761>;
5762
5763#[doc = "Nullable function pointer for `vkCmdSetCoverageModulationTableNV`."]
5764#[doc(alias = "vkCmdSetCoverageModulationTableNV")]
5765#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageModulationTableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageModulationTableNV.html)"]
5766pub type PFN_vkCmdSetCoverageModulationTableNV = Option<
5767	unsafe extern "system" fn(
5768		command_buffer: CommandBuffer,
5769		coverage_modulation_table_count: u32,
5770		p_coverage_modulation_table: *const f32,
5771	) -> (),
5772>;
5773
5774#[doc = "Nullable function pointer for `vkCmdSetShadingRateImageEnableNV`."]
5775#[doc(alias = "vkCmdSetShadingRateImageEnableNV")]
5776#[doc = "\n\n[Khronos reference: `vkCmdSetShadingRateImageEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetShadingRateImageEnableNV.html)"]
5777pub type PFN_vkCmdSetShadingRateImageEnableNV = Option<
5778	unsafe extern "system" fn(command_buffer: CommandBuffer, shading_rate_image_enable: Bool32) -> (),
5779>;
5780
5781#[doc = "Nullable function pointer for `vkCmdSetCoverageReductionModeNV`."]
5782#[doc(alias = "vkCmdSetCoverageReductionModeNV")]
5783#[doc = "\n\n[Khronos reference: `vkCmdSetCoverageReductionModeNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetCoverageReductionModeNV.html)"]
5784pub type PFN_vkCmdSetCoverageReductionModeNV = Option<
5785	unsafe extern "system" fn(
5786		command_buffer: CommandBuffer,
5787		coverage_reduction_mode: CoverageReductionModeNV,
5788	) -> (),
5789>;
5790
5791#[doc = "Nullable function pointer for `vkCmdSetRepresentativeFragmentTestEnableNV`."]
5792#[doc(alias = "vkCmdSetRepresentativeFragmentTestEnableNV")]
5793#[doc = "\n\n[Khronos reference: `vkCmdSetRepresentativeFragmentTestEnableNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRepresentativeFragmentTestEnableNV.html)"]
5794pub type PFN_vkCmdSetRepresentativeFragmentTestEnableNV = Option<
5795	unsafe extern "system" fn(
5796		command_buffer: CommandBuffer,
5797		representative_fragment_test_enable: Bool32,
5798	) -> (),
5799>;
5800
5801#[doc = "Nullable function pointer for `vkCreatePrivateDataSlot`."]
5802#[doc(alias = "vkCreatePrivateDataSlot")]
5803#[doc = "\n\n[Khronos reference: `vkCreatePrivateDataSlot`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreatePrivateDataSlot.html)"]
5804pub type PFN_vkCreatePrivateDataSlot = Option<
5805	unsafe extern "system" fn(
5806		device: DeviceHandle,
5807		p_create_info: *const PrivateDataSlotCreateInfo<'_>,
5808		p_allocator: *const AllocationCallbacks,
5809		p_private_data_slot: *mut PrivateDataSlot,
5810	) -> Result,
5811>;
5812
5813#[doc = "Nullable function pointer for `vkCreatePrivateDataSlotEXT`."]
5814#[doc(alias = "vkCreatePrivateDataSlotEXT")]
5815#[doc = "\n\n[Khronos reference: `vkCreatePrivateDataSlotEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreatePrivateDataSlotEXT.html)"]
5816pub type PFN_vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlot;
5817
5818#[doc = "Nullable function pointer for `vkDestroyPrivateDataSlot`."]
5819#[doc(alias = "vkDestroyPrivateDataSlot")]
5820#[doc = "\n\n[Khronos reference: `vkDestroyPrivateDataSlot`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPrivateDataSlot.html)"]
5821pub type PFN_vkDestroyPrivateDataSlot = Option<
5822	unsafe extern "system" fn(
5823		device: DeviceHandle,
5824		private_data_slot: PrivateDataSlot,
5825		p_allocator: *const AllocationCallbacks,
5826	) -> (),
5827>;
5828
5829#[doc = "Nullable function pointer for `vkDestroyPrivateDataSlotEXT`."]
5830#[doc(alias = "vkDestroyPrivateDataSlotEXT")]
5831#[doc = "\n\n[Khronos reference: `vkDestroyPrivateDataSlotEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyPrivateDataSlotEXT.html)"]
5832pub type PFN_vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlot;
5833
5834#[doc = "Nullable function pointer for `vkSetPrivateData`."]
5835#[doc(alias = "vkSetPrivateData")]
5836#[doc = "\n\n[Khronos reference: `vkSetPrivateData`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetPrivateData.html)"]
5837pub type PFN_vkSetPrivateData = Option<
5838	unsafe extern "system" fn(
5839		device: DeviceHandle,
5840		object_type: ObjectType,
5841		object_handle: u64,
5842		private_data_slot: PrivateDataSlot,
5843		data: u64,
5844	) -> Result,
5845>;
5846
5847#[doc = "Nullable function pointer for `vkSetPrivateDataEXT`."]
5848#[doc(alias = "vkSetPrivateDataEXT")]
5849#[doc = "\n\n[Khronos reference: `vkSetPrivateDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetPrivateDataEXT.html)"]
5850pub type PFN_vkSetPrivateDataEXT = PFN_vkSetPrivateData;
5851
5852#[doc = "Nullable function pointer for `vkGetPrivateData`."]
5853#[doc(alias = "vkGetPrivateData")]
5854#[doc = "\n\n[Khronos reference: `vkGetPrivateData`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPrivateData.html)"]
5855pub type PFN_vkGetPrivateData = Option<
5856	unsafe extern "system" fn(
5857		device: DeviceHandle,
5858		object_type: ObjectType,
5859		object_handle: u64,
5860		private_data_slot: PrivateDataSlot,
5861		p_data: *mut u64,
5862	) -> (),
5863>;
5864
5865#[doc = "Nullable function pointer for `vkGetPrivateDataEXT`."]
5866#[doc(alias = "vkGetPrivateDataEXT")]
5867#[doc = "\n\n[Khronos reference: `vkGetPrivateDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPrivateDataEXT.html)"]
5868pub type PFN_vkGetPrivateDataEXT = PFN_vkGetPrivateData;
5869
5870#[doc = "Nullable function pointer for `vkCmdCopyBuffer2`."]
5871#[doc(alias = "vkCmdCopyBuffer2")]
5872#[doc = "\n\n[Khronos reference: `vkCmdCopyBuffer2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBuffer2.html)"]
5873pub type PFN_vkCmdCopyBuffer2 = Option<
5874	unsafe extern "system" fn(
5875		command_buffer: CommandBuffer,
5876		p_copy_buffer_info: *const CopyBufferInfo2<'_>,
5877	) -> (),
5878>;
5879
5880#[doc = "Nullable function pointer for `vkCmdCopyBuffer2KHR`."]
5881#[doc(alias = "vkCmdCopyBuffer2KHR")]
5882#[doc = "\n\n[Khronos reference: `vkCmdCopyBuffer2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBuffer2KHR.html)"]
5883pub type PFN_vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2;
5884
5885#[doc = "Nullable function pointer for `vkCmdCopyImage2`."]
5886#[doc(alias = "vkCmdCopyImage2")]
5887#[doc = "\n\n[Khronos reference: `vkCmdCopyImage2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImage2.html)"]
5888pub type PFN_vkCmdCopyImage2 = Option<
5889	unsafe extern "system" fn(
5890		command_buffer: CommandBuffer,
5891		p_copy_image_info: *const CopyImageInfo2<'_>,
5892	) -> (),
5893>;
5894
5895#[doc = "Nullable function pointer for `vkCmdCopyImage2KHR`."]
5896#[doc(alias = "vkCmdCopyImage2KHR")]
5897#[doc = "\n\n[Khronos reference: `vkCmdCopyImage2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImage2KHR.html)"]
5898pub type PFN_vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2;
5899
5900#[doc = "Nullable function pointer for `vkCmdBlitImage2`."]
5901#[doc(alias = "vkCmdBlitImage2")]
5902#[doc = "\n\n[Khronos reference: `vkCmdBlitImage2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBlitImage2.html)"]
5903pub type PFN_vkCmdBlitImage2 = Option<
5904	unsafe extern "system" fn(
5905		command_buffer: CommandBuffer,
5906		p_blit_image_info: *const BlitImageInfo2<'_>,
5907	) -> (),
5908>;
5909
5910#[doc = "Nullable function pointer for `vkCmdBlitImage2KHR`."]
5911#[doc(alias = "vkCmdBlitImage2KHR")]
5912#[doc = "\n\n[Khronos reference: `vkCmdBlitImage2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBlitImage2KHR.html)"]
5913pub type PFN_vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2;
5914
5915#[doc = "Nullable function pointer for `vkCmdCopyBufferToImage2`."]
5916#[doc(alias = "vkCmdCopyBufferToImage2")]
5917#[doc = "\n\n[Khronos reference: `vkCmdCopyBufferToImage2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBufferToImage2.html)"]
5918pub type PFN_vkCmdCopyBufferToImage2 = Option<
5919	unsafe extern "system" fn(
5920		command_buffer: CommandBuffer,
5921		p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2<'_>,
5922	) -> (),
5923>;
5924
5925#[doc = "Nullable function pointer for `vkCmdCopyBufferToImage2KHR`."]
5926#[doc(alias = "vkCmdCopyBufferToImage2KHR")]
5927#[doc = "\n\n[Khronos reference: `vkCmdCopyBufferToImage2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyBufferToImage2KHR.html)"]
5928pub type PFN_vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2;
5929
5930#[doc = "Nullable function pointer for `vkCmdCopyImageToBuffer2`."]
5931#[doc(alias = "vkCmdCopyImageToBuffer2")]
5932#[doc = "\n\n[Khronos reference: `vkCmdCopyImageToBuffer2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImageToBuffer2.html)"]
5933pub type PFN_vkCmdCopyImageToBuffer2 = Option<
5934	unsafe extern "system" fn(
5935		command_buffer: CommandBuffer,
5936		p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2<'_>,
5937	) -> (),
5938>;
5939
5940#[doc = "Nullable function pointer for `vkCmdCopyImageToBuffer2KHR`."]
5941#[doc(alias = "vkCmdCopyImageToBuffer2KHR")]
5942#[doc = "\n\n[Khronos reference: `vkCmdCopyImageToBuffer2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImageToBuffer2KHR.html)"]
5943pub type PFN_vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2;
5944
5945#[doc = "Nullable function pointer for `vkCmdResolveImage2`."]
5946#[doc(alias = "vkCmdResolveImage2")]
5947#[doc = "\n\n[Khronos reference: `vkCmdResolveImage2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResolveImage2.html)"]
5948pub type PFN_vkCmdResolveImage2 = Option<
5949	unsafe extern "system" fn(
5950		command_buffer: CommandBuffer,
5951		p_resolve_image_info: *const ResolveImageInfo2<'_>,
5952	) -> (),
5953>;
5954
5955#[doc = "Nullable function pointer for `vkCmdResolveImage2KHR`."]
5956#[doc(alias = "vkCmdResolveImage2KHR")]
5957#[doc = "\n\n[Khronos reference: `vkCmdResolveImage2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResolveImage2KHR.html)"]
5958pub type PFN_vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2;
5959
5960#[doc = "Nullable function pointer for `vkCmdSetFragmentShadingRateKHR`."]
5961#[doc(alias = "vkCmdSetFragmentShadingRateKHR")]
5962#[doc = "\n\n[Khronos reference: `vkCmdSetFragmentShadingRateKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetFragmentShadingRateKHR.html)"]
5963pub type PFN_vkCmdSetFragmentShadingRateKHR = Option<
5964	unsafe extern "system" fn(
5965		command_buffer: CommandBuffer,
5966		p_fragment_size: *const Extent2D,
5967		combiner_ops: *const FragmentShadingRateCombinerOpKHR,
5968	) -> (),
5969>;
5970
5971#[doc = "Nullable function pointer for `vkGetPhysicalDeviceFragmentShadingRatesKHR`."]
5972#[doc(alias = "vkGetPhysicalDeviceFragmentShadingRatesKHR")]
5973#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceFragmentShadingRatesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceFragmentShadingRatesKHR.html)"]
5974pub type PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR = Option<
5975	unsafe extern "system" fn(
5976		physical_device: PhysicalDevice,
5977		p_fragment_shading_rate_count: *mut u32,
5978		p_fragment_shading_rates: *mut PhysicalDeviceFragmentShadingRateKHR<'_>,
5979	) -> Result,
5980>;
5981
5982#[doc = "Nullable function pointer for `vkCmdSetFragmentShadingRateEnumNV`."]
5983#[doc(alias = "vkCmdSetFragmentShadingRateEnumNV")]
5984#[doc = "\n\n[Khronos reference: `vkCmdSetFragmentShadingRateEnumNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetFragmentShadingRateEnumNV.html)"]
5985pub type PFN_vkCmdSetFragmentShadingRateEnumNV = Option<
5986	unsafe extern "system" fn(
5987		command_buffer: CommandBuffer,
5988		shading_rate: FragmentShadingRateNV,
5989		combiner_ops: *const FragmentShadingRateCombinerOpKHR,
5990	) -> (),
5991>;
5992
5993#[doc = "Nullable function pointer for `vkGetAccelerationStructureBuildSizesKHR`."]
5994#[doc(alias = "vkGetAccelerationStructureBuildSizesKHR")]
5995#[doc = "\n\n[Khronos reference: `vkGetAccelerationStructureBuildSizesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAccelerationStructureBuildSizesKHR.html)"]
5996pub type PFN_vkGetAccelerationStructureBuildSizesKHR = Option<
5997	unsafe extern "system" fn(
5998		device: DeviceHandle,
5999		build_type: AccelerationStructureBuildTypeKHR,
6000		p_build_info: *const AccelerationStructureBuildGeometryInfoKHR<'_>,
6001		p_max_primitive_counts: *const u32,
6002		p_size_info: *mut AccelerationStructureBuildSizesInfoKHR<'_>,
6003	) -> (),
6004>;
6005
6006#[doc = "Nullable function pointer for `vkCmdSetVertexInputEXT`."]
6007#[doc(alias = "vkCmdSetVertexInputEXT")]
6008#[doc = "\n\n[Khronos reference: `vkCmdSetVertexInputEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetVertexInputEXT.html)"]
6009pub type PFN_vkCmdSetVertexInputEXT = Option<
6010	unsafe extern "system" fn(
6011		command_buffer: CommandBuffer,
6012		vertex_binding_description_count: u32,
6013		p_vertex_binding_descriptions: *const VertexInputBindingDescription2EXT<'_>,
6014		vertex_attribute_description_count: u32,
6015		p_vertex_attribute_descriptions: *const VertexInputAttributeDescription2EXT<'_>,
6016	) -> (),
6017>;
6018
6019#[doc = "Nullable function pointer for `vkCmdSetColorWriteEnableEXT`."]
6020#[doc(alias = "vkCmdSetColorWriteEnableEXT")]
6021#[doc = "\n\n[Khronos reference: `vkCmdSetColorWriteEnableEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetColorWriteEnableEXT.html)"]
6022pub type PFN_vkCmdSetColorWriteEnableEXT = Option<
6023	unsafe extern "system" fn(
6024		command_buffer: CommandBuffer,
6025		attachment_count: u32,
6026		p_color_write_enables: *const Bool32,
6027	) -> (),
6028>;
6029
6030#[doc = "Nullable function pointer for `vkCmdSetEvent2`."]
6031#[doc(alias = "vkCmdSetEvent2")]
6032#[doc = "\n\n[Khronos reference: `vkCmdSetEvent2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetEvent2.html)"]
6033pub type PFN_vkCmdSetEvent2 = Option<
6034	unsafe extern "system" fn(
6035		command_buffer: CommandBuffer,
6036		event: Event,
6037		p_dependency_info: *const DependencyInfo<'_>,
6038	) -> (),
6039>;
6040
6041#[doc = "Nullable function pointer for `vkCmdSetEvent2KHR`."]
6042#[doc(alias = "vkCmdSetEvent2KHR")]
6043#[doc = "\n\n[Khronos reference: `vkCmdSetEvent2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetEvent2KHR.html)"]
6044pub type PFN_vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2;
6045
6046#[doc = "Nullable function pointer for `vkCmdResetEvent2`."]
6047#[doc(alias = "vkCmdResetEvent2")]
6048#[doc = "\n\n[Khronos reference: `vkCmdResetEvent2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResetEvent2.html)"]
6049pub type PFN_vkCmdResetEvent2 = Option<
6050	unsafe extern "system" fn(
6051		command_buffer: CommandBuffer,
6052		event: Event,
6053		stage_mask: PipelineStageFlags2,
6054	) -> (),
6055>;
6056
6057#[doc = "Nullable function pointer for `vkCmdResetEvent2KHR`."]
6058#[doc(alias = "vkCmdResetEvent2KHR")]
6059#[doc = "\n\n[Khronos reference: `vkCmdResetEvent2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdResetEvent2KHR.html)"]
6060pub type PFN_vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2;
6061
6062#[doc = "Nullable function pointer for `vkCmdWaitEvents2`."]
6063#[doc(alias = "vkCmdWaitEvents2")]
6064#[doc = "\n\n[Khronos reference: `vkCmdWaitEvents2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWaitEvents2.html)"]
6065pub type PFN_vkCmdWaitEvents2 = Option<
6066	unsafe extern "system" fn(
6067		command_buffer: CommandBuffer,
6068		event_count: u32,
6069		p_events: *const Event,
6070		p_dependency_infos: *const DependencyInfo<'_>,
6071	) -> (),
6072>;
6073
6074#[doc = "Nullable function pointer for `vkCmdWaitEvents2KHR`."]
6075#[doc(alias = "vkCmdWaitEvents2KHR")]
6076#[doc = "\n\n[Khronos reference: `vkCmdWaitEvents2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWaitEvents2KHR.html)"]
6077pub type PFN_vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2;
6078
6079#[doc = "Nullable function pointer for `vkCmdPipelineBarrier2`."]
6080#[doc(alias = "vkCmdPipelineBarrier2")]
6081#[doc = "\n\n[Khronos reference: `vkCmdPipelineBarrier2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPipelineBarrier2.html)"]
6082pub type PFN_vkCmdPipelineBarrier2 = Option<
6083	unsafe extern "system" fn(
6084		command_buffer: CommandBuffer,
6085		p_dependency_info: *const DependencyInfo<'_>,
6086	) -> (),
6087>;
6088
6089#[doc = "Nullable function pointer for `vkCmdPipelineBarrier2KHR`."]
6090#[doc(alias = "vkCmdPipelineBarrier2KHR")]
6091#[doc = "\n\n[Khronos reference: `vkCmdPipelineBarrier2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPipelineBarrier2KHR.html)"]
6092pub type PFN_vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2;
6093
6094#[doc = "Nullable function pointer for `vkQueueSubmit2`."]
6095#[doc(alias = "vkQueueSubmit2")]
6096#[doc = "\n\n[Khronos reference: `vkQueueSubmit2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueSubmit2.html)"]
6097pub type PFN_vkQueueSubmit2 = Option<
6098	unsafe extern "system" fn(
6099		queue: Queue,
6100		submit_count: u32,
6101		p_submits: *const SubmitInfo2<'_>,
6102		fence: Fence,
6103	) -> Result,
6104>;
6105
6106#[doc = "Nullable function pointer for `vkQueueSubmit2KHR`."]
6107#[doc(alias = "vkQueueSubmit2KHR")]
6108#[doc = "\n\n[Khronos reference: `vkQueueSubmit2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueSubmit2KHR.html)"]
6109pub type PFN_vkQueueSubmit2KHR = PFN_vkQueueSubmit2;
6110
6111#[doc = "Nullable function pointer for `vkCmdWriteTimestamp2`."]
6112#[doc(alias = "vkCmdWriteTimestamp2")]
6113#[doc = "\n\n[Khronos reference: `vkCmdWriteTimestamp2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteTimestamp2.html)"]
6114pub type PFN_vkCmdWriteTimestamp2 = Option<
6115	unsafe extern "system" fn(
6116		command_buffer: CommandBuffer,
6117		stage: PipelineStageFlags2,
6118		query_pool: QueryPool,
6119		query: u32,
6120	) -> (),
6121>;
6122
6123#[doc = "Nullable function pointer for `vkCmdWriteTimestamp2KHR`."]
6124#[doc(alias = "vkCmdWriteTimestamp2KHR")]
6125#[doc = "\n\n[Khronos reference: `vkCmdWriteTimestamp2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteTimestamp2KHR.html)"]
6126pub type PFN_vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2;
6127
6128#[doc = "Nullable function pointer for `vkCmdWriteBufferMarker2AMD`."]
6129#[doc(alias = "vkCmdWriteBufferMarker2AMD")]
6130#[doc = "\n\n[Khronos reference: `vkCmdWriteBufferMarker2AMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteBufferMarker2AMD.html)"]
6131pub type PFN_vkCmdWriteBufferMarker2AMD = Option<
6132	unsafe extern "system" fn(
6133		command_buffer: CommandBuffer,
6134		stage: PipelineStageFlags2,
6135		dst_buffer: Buffer,
6136		dst_offset: DeviceSize,
6137		marker: u32,
6138	) -> (),
6139>;
6140
6141#[doc = "Nullable function pointer for `vkGetQueueCheckpointData2NV`."]
6142#[doc(alias = "vkGetQueueCheckpointData2NV")]
6143#[doc = "\n\n[Khronos reference: `vkGetQueueCheckpointData2NV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetQueueCheckpointData2NV.html)"]
6144pub type PFN_vkGetQueueCheckpointData2NV = Option<
6145	unsafe extern "system" fn(
6146		queue: Queue,
6147		p_checkpoint_data_count: *mut u32,
6148		p_checkpoint_data: *mut CheckpointData2NV<'_>,
6149	) -> (),
6150>;
6151
6152#[doc = "Nullable function pointer for `vkCopyMemoryToImage`."]
6153#[doc(alias = "vkCopyMemoryToImage")]
6154#[doc = "\n\n[Khronos reference: `vkCopyMemoryToImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMemoryToImage.html)"]
6155pub type PFN_vkCopyMemoryToImage = Option<
6156	unsafe extern "system" fn(
6157		device: DeviceHandle,
6158		p_copy_memory_to_image_info: *const CopyMemoryToImageInfo<'_>,
6159	) -> Result,
6160>;
6161
6162#[doc = "Nullable function pointer for `vkCopyMemoryToImageEXT`."]
6163#[doc(alias = "vkCopyMemoryToImageEXT")]
6164#[doc = "\n\n[Khronos reference: `vkCopyMemoryToImageEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMemoryToImageEXT.html)"]
6165pub type PFN_vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImage;
6166
6167#[doc = "Nullable function pointer for `vkCopyImageToMemory`."]
6168#[doc(alias = "vkCopyImageToMemory")]
6169#[doc = "\n\n[Khronos reference: `vkCopyImageToMemory`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyImageToMemory.html)"]
6170pub type PFN_vkCopyImageToMemory = Option<
6171	unsafe extern "system" fn(
6172		device: DeviceHandle,
6173		p_copy_image_to_memory_info: *const CopyImageToMemoryInfo<'_>,
6174	) -> Result,
6175>;
6176
6177#[doc = "Nullable function pointer for `vkCopyImageToMemoryEXT`."]
6178#[doc(alias = "vkCopyImageToMemoryEXT")]
6179#[doc = "\n\n[Khronos reference: `vkCopyImageToMemoryEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyImageToMemoryEXT.html)"]
6180pub type PFN_vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemory;
6181
6182#[doc = "Nullable function pointer for `vkCopyImageToImage`."]
6183#[doc(alias = "vkCopyImageToImage")]
6184#[doc = "\n\n[Khronos reference: `vkCopyImageToImage`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyImageToImage.html)"]
6185pub type PFN_vkCopyImageToImage = Option<
6186	unsafe extern "system" fn(
6187		device: DeviceHandle,
6188		p_copy_image_to_image_info: *const CopyImageToImageInfo<'_>,
6189	) -> Result,
6190>;
6191
6192#[doc = "Nullable function pointer for `vkCopyImageToImageEXT`."]
6193#[doc(alias = "vkCopyImageToImageEXT")]
6194#[doc = "\n\n[Khronos reference: `vkCopyImageToImageEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyImageToImageEXT.html)"]
6195pub type PFN_vkCopyImageToImageEXT = PFN_vkCopyImageToImage;
6196
6197#[doc = "Nullable function pointer for `vkTransitionImageLayout`."]
6198#[doc(alias = "vkTransitionImageLayout")]
6199#[doc = "\n\n[Khronos reference: `vkTransitionImageLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkTransitionImageLayout.html)"]
6200pub type PFN_vkTransitionImageLayout = Option<
6201	unsafe extern "system" fn(
6202		device: DeviceHandle,
6203		transition_count: u32,
6204		p_transitions: *const HostImageLayoutTransitionInfo<'_>,
6205	) -> Result,
6206>;
6207
6208#[doc = "Nullable function pointer for `vkTransitionImageLayoutEXT`."]
6209#[doc(alias = "vkTransitionImageLayoutEXT")]
6210#[doc = "\n\n[Khronos reference: `vkTransitionImageLayoutEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkTransitionImageLayoutEXT.html)"]
6211pub type PFN_vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayout;
6212
6213#[doc = "Nullable function pointer for `vkGetPhysicalDeviceVideoCapabilitiesKHR`."]
6214#[doc(alias = "vkGetPhysicalDeviceVideoCapabilitiesKHR")]
6215#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceVideoCapabilitiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceVideoCapabilitiesKHR.html)"]
6216pub type PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR = Option<
6217	unsafe extern "system" fn(
6218		physical_device: PhysicalDevice,
6219		p_video_profile: *const VideoProfileInfoKHR<'_>,
6220		p_capabilities: *mut VideoCapabilitiesKHR<'_>,
6221	) -> Result,
6222>;
6223
6224#[doc = "Nullable function pointer for `vkGetPhysicalDeviceVideoFormatPropertiesKHR`."]
6225#[doc(alias = "vkGetPhysicalDeviceVideoFormatPropertiesKHR")]
6226#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceVideoFormatPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html)"]
6227pub type PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR = Option<
6228	unsafe extern "system" fn(
6229		physical_device: PhysicalDevice,
6230		p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR<'_>,
6231		p_video_format_property_count: *mut u32,
6232		p_video_format_properties: *mut VideoFormatPropertiesKHR<'_>,
6233	) -> Result,
6234>;
6235
6236#[doc = "Nullable function pointer for `vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR`."]
6237#[doc(alias = "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR")]
6238#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html)"]
6239pub type PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = Option<
6240	unsafe extern "system" fn(
6241		physical_device: PhysicalDevice,
6242		p_quality_level_info: *const PhysicalDeviceVideoEncodeQualityLevelInfoKHR<'_>,
6243		p_quality_level_properties: *mut VideoEncodeQualityLevelPropertiesKHR<'_>,
6244	) -> Result,
6245>;
6246
6247#[doc = "Nullable function pointer for `vkCreateVideoSessionKHR`."]
6248#[doc(alias = "vkCreateVideoSessionKHR")]
6249#[doc = "\n\n[Khronos reference: `vkCreateVideoSessionKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateVideoSessionKHR.html)"]
6250pub type PFN_vkCreateVideoSessionKHR = Option<
6251	unsafe extern "system" fn(
6252		device: DeviceHandle,
6253		p_create_info: *const VideoSessionCreateInfoKHR<'_>,
6254		p_allocator: *const AllocationCallbacks,
6255		p_video_session: *mut VideoSessionKHR,
6256	) -> Result,
6257>;
6258
6259#[doc = "Nullable function pointer for `vkDestroyVideoSessionKHR`."]
6260#[doc(alias = "vkDestroyVideoSessionKHR")]
6261#[doc = "\n\n[Khronos reference: `vkDestroyVideoSessionKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyVideoSessionKHR.html)"]
6262pub type PFN_vkDestroyVideoSessionKHR = Option<
6263	unsafe extern "system" fn(
6264		device: DeviceHandle,
6265		video_session: VideoSessionKHR,
6266		p_allocator: *const AllocationCallbacks,
6267	) -> (),
6268>;
6269
6270#[doc = "Nullable function pointer for `vkCreateVideoSessionParametersKHR`."]
6271#[doc(alias = "vkCreateVideoSessionParametersKHR")]
6272#[doc = "\n\n[Khronos reference: `vkCreateVideoSessionParametersKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateVideoSessionParametersKHR.html)"]
6273pub type PFN_vkCreateVideoSessionParametersKHR = Option<
6274	unsafe extern "system" fn(
6275		device: DeviceHandle,
6276		p_create_info: *const VideoSessionParametersCreateInfoKHR<'_>,
6277		p_allocator: *const AllocationCallbacks,
6278		p_video_session_parameters: *mut VideoSessionParametersKHR,
6279	) -> Result,
6280>;
6281
6282#[doc = "Nullable function pointer for `vkUpdateVideoSessionParametersKHR`."]
6283#[doc(alias = "vkUpdateVideoSessionParametersKHR")]
6284#[doc = "\n\n[Khronos reference: `vkUpdateVideoSessionParametersKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUpdateVideoSessionParametersKHR.html)"]
6285pub type PFN_vkUpdateVideoSessionParametersKHR = Option<
6286	unsafe extern "system" fn(
6287		device: DeviceHandle,
6288		video_session_parameters: VideoSessionParametersKHR,
6289		p_update_info: *const VideoSessionParametersUpdateInfoKHR<'_>,
6290	) -> Result,
6291>;
6292
6293#[doc = "Nullable function pointer for `vkGetEncodedVideoSessionParametersKHR`."]
6294#[doc(alias = "vkGetEncodedVideoSessionParametersKHR")]
6295#[doc = "\n\n[Khronos reference: `vkGetEncodedVideoSessionParametersKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetEncodedVideoSessionParametersKHR.html)"]
6296pub type PFN_vkGetEncodedVideoSessionParametersKHR = Option<
6297	unsafe extern "system" fn(
6298		device: DeviceHandle,
6299		p_video_session_parameters_info: *const VideoEncodeSessionParametersGetInfoKHR<'_>,
6300		p_feedback_info: *mut VideoEncodeSessionParametersFeedbackInfoKHR<'_>,
6301		p_data_size: *mut usize,
6302		p_data: *mut std::ffi::c_void,
6303	) -> Result,
6304>;
6305
6306#[doc = "Nullable function pointer for `vkDestroyVideoSessionParametersKHR`."]
6307#[doc(alias = "vkDestroyVideoSessionParametersKHR")]
6308#[doc = "\n\n[Khronos reference: `vkDestroyVideoSessionParametersKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyVideoSessionParametersKHR.html)"]
6309pub type PFN_vkDestroyVideoSessionParametersKHR = Option<
6310	unsafe extern "system" fn(
6311		device: DeviceHandle,
6312		video_session_parameters: VideoSessionParametersKHR,
6313		p_allocator: *const AllocationCallbacks,
6314	) -> (),
6315>;
6316
6317#[doc = "Nullable function pointer for `vkGetVideoSessionMemoryRequirementsKHR`."]
6318#[doc(alias = "vkGetVideoSessionMemoryRequirementsKHR")]
6319#[doc = "\n\n[Khronos reference: `vkGetVideoSessionMemoryRequirementsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetVideoSessionMemoryRequirementsKHR.html)"]
6320pub type PFN_vkGetVideoSessionMemoryRequirementsKHR = Option<
6321	unsafe extern "system" fn(
6322		device: DeviceHandle,
6323		video_session: VideoSessionKHR,
6324		p_memory_requirements_count: *mut u32,
6325		p_memory_requirements: *mut VideoSessionMemoryRequirementsKHR<'_>,
6326	) -> Result,
6327>;
6328
6329#[doc = "Nullable function pointer for `vkBindVideoSessionMemoryKHR`."]
6330#[doc(alias = "vkBindVideoSessionMemoryKHR")]
6331#[doc = "\n\n[Khronos reference: `vkBindVideoSessionMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindVideoSessionMemoryKHR.html)"]
6332pub type PFN_vkBindVideoSessionMemoryKHR = Option<
6333	unsafe extern "system" fn(
6334		device: DeviceHandle,
6335		video_session: VideoSessionKHR,
6336		bind_session_memory_info_count: u32,
6337		p_bind_session_memory_infos: *const BindVideoSessionMemoryInfoKHR<'_>,
6338	) -> Result,
6339>;
6340
6341#[doc = "Nullable function pointer for `vkCmdDecodeVideoKHR`."]
6342#[doc(alias = "vkCmdDecodeVideoKHR")]
6343#[doc = "\n\n[Khronos reference: `vkCmdDecodeVideoKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDecodeVideoKHR.html)"]
6344pub type PFN_vkCmdDecodeVideoKHR = Option<
6345	unsafe extern "system" fn(
6346		command_buffer: CommandBuffer,
6347		p_decode_info: *const VideoDecodeInfoKHR<'_>,
6348	) -> (),
6349>;
6350
6351#[doc = "Nullable function pointer for `vkCmdBeginVideoCodingKHR`."]
6352#[doc(alias = "vkCmdBeginVideoCodingKHR")]
6353#[doc = "\n\n[Khronos reference: `vkCmdBeginVideoCodingKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginVideoCodingKHR.html)"]
6354pub type PFN_vkCmdBeginVideoCodingKHR = Option<
6355	unsafe extern "system" fn(
6356		command_buffer: CommandBuffer,
6357		p_begin_info: *const VideoBeginCodingInfoKHR<'_>,
6358	) -> (),
6359>;
6360
6361#[doc = "Nullable function pointer for `vkCmdControlVideoCodingKHR`."]
6362#[doc(alias = "vkCmdControlVideoCodingKHR")]
6363#[doc = "\n\n[Khronos reference: `vkCmdControlVideoCodingKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdControlVideoCodingKHR.html)"]
6364pub type PFN_vkCmdControlVideoCodingKHR = Option<
6365	unsafe extern "system" fn(
6366		command_buffer: CommandBuffer,
6367		p_coding_control_info: *const VideoCodingControlInfoKHR<'_>,
6368	) -> (),
6369>;
6370
6371#[doc = "Nullable function pointer for `vkCmdEndVideoCodingKHR`."]
6372#[doc(alias = "vkCmdEndVideoCodingKHR")]
6373#[doc = "\n\n[Khronos reference: `vkCmdEndVideoCodingKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndVideoCodingKHR.html)"]
6374pub type PFN_vkCmdEndVideoCodingKHR = Option<
6375	unsafe extern "system" fn(
6376		command_buffer: CommandBuffer,
6377		p_end_coding_info: *const VideoEndCodingInfoKHR<'_>,
6378	) -> (),
6379>;
6380
6381#[doc = "Nullable function pointer for `vkCmdEncodeVideoKHR`."]
6382#[doc(alias = "vkCmdEncodeVideoKHR")]
6383#[doc = "\n\n[Khronos reference: `vkCmdEncodeVideoKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEncodeVideoKHR.html)"]
6384pub type PFN_vkCmdEncodeVideoKHR = Option<
6385	unsafe extern "system" fn(
6386		command_buffer: CommandBuffer,
6387		p_encode_info: *const VideoEncodeInfoKHR<'_>,
6388	) -> (),
6389>;
6390
6391#[doc = "Nullable function pointer for `vkCmdDecompressMemoryNV`."]
6392#[doc(alias = "vkCmdDecompressMemoryNV")]
6393#[doc = "\n\n[Khronos reference: `vkCmdDecompressMemoryNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDecompressMemoryNV.html)"]
6394pub type PFN_vkCmdDecompressMemoryNV = Option<
6395	unsafe extern "system" fn(
6396		command_buffer: CommandBuffer,
6397		decompress_region_count: u32,
6398		p_decompress_memory_regions: *const DecompressMemoryRegionNV,
6399	) -> (),
6400>;
6401
6402#[doc = "Nullable function pointer for `vkCmdDecompressMemoryIndirectCountNV`."]
6403#[doc(alias = "vkCmdDecompressMemoryIndirectCountNV")]
6404#[doc = "\n\n[Khronos reference: `vkCmdDecompressMemoryIndirectCountNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDecompressMemoryIndirectCountNV.html)"]
6405pub type PFN_vkCmdDecompressMemoryIndirectCountNV = Option<
6406	unsafe extern "system" fn(
6407		command_buffer: CommandBuffer,
6408		indirect_commands_address: DeviceAddress,
6409		indirect_commands_count_address: DeviceAddress,
6410		stride: u32,
6411	) -> (),
6412>;
6413
6414#[doc = "Nullable function pointer for `vkGetPartitionedAccelerationStructuresBuildSizesNV`."]
6415#[doc(alias = "vkGetPartitionedAccelerationStructuresBuildSizesNV")]
6416#[doc = "\n\n[Khronos reference: `vkGetPartitionedAccelerationStructuresBuildSizesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPartitionedAccelerationStructuresBuildSizesNV.html)"]
6417pub type PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV = Option<
6418	unsafe extern "system" fn(
6419		device: DeviceHandle,
6420		p_info: *const PartitionedAccelerationStructureInstancesInputNV<'_>,
6421		p_size_info: *mut AccelerationStructureBuildSizesInfoKHR<'_>,
6422	) -> (),
6423>;
6424
6425#[doc = "Nullable function pointer for `vkCmdBuildPartitionedAccelerationStructuresNV`."]
6426#[doc(alias = "vkCmdBuildPartitionedAccelerationStructuresNV")]
6427#[doc = "\n\n[Khronos reference: `vkCmdBuildPartitionedAccelerationStructuresNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildPartitionedAccelerationStructuresNV.html)"]
6428pub type PFN_vkCmdBuildPartitionedAccelerationStructuresNV = Option<
6429	unsafe extern "system" fn(
6430		command_buffer: CommandBuffer,
6431		p_build_info: *const BuildPartitionedAccelerationStructureInfoNV<'_>,
6432	) -> (),
6433>;
6434
6435#[doc = "Nullable function pointer for `vkCmdDecompressMemoryEXT`."]
6436#[doc(alias = "vkCmdDecompressMemoryEXT")]
6437#[doc = "\n\n[Khronos reference: `vkCmdDecompressMemoryEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDecompressMemoryEXT.html)"]
6438pub type PFN_vkCmdDecompressMemoryEXT = Option<
6439	unsafe extern "system" fn(
6440		command_buffer: CommandBuffer,
6441		p_decompress_memory_info_ext: *const DecompressMemoryInfoEXT<'_>,
6442	) -> (),
6443>;
6444
6445#[doc = "Nullable function pointer for `vkCmdDecompressMemoryIndirectCountEXT`."]
6446#[doc(alias = "vkCmdDecompressMemoryIndirectCountEXT")]
6447#[doc = "\n\n[Khronos reference: `vkCmdDecompressMemoryIndirectCountEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDecompressMemoryIndirectCountEXT.html)"]
6448pub type PFN_vkCmdDecompressMemoryIndirectCountEXT = Option<
6449	unsafe extern "system" fn(
6450		command_buffer: CommandBuffer,
6451		decompression_method: MemoryDecompressionMethodFlagsEXT,
6452		indirect_commands_address: DeviceAddress,
6453		indirect_commands_count_address: DeviceAddress,
6454		max_decompression_count: u32,
6455		stride: u32,
6456	) -> (),
6457>;
6458
6459#[doc = "Nullable function pointer for `vkCreateCuModuleNVX`."]
6460#[doc(alias = "vkCreateCuModuleNVX")]
6461#[doc = "\n\n[Khronos reference: `vkCreateCuModuleNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateCuModuleNVX.html)"]
6462pub type PFN_vkCreateCuModuleNVX = Option<
6463	unsafe extern "system" fn(
6464		device: DeviceHandle,
6465		p_create_info: *const CuModuleCreateInfoNVX<'_>,
6466		p_allocator: *const AllocationCallbacks,
6467		p_module: *mut CuModuleNVX,
6468	) -> Result,
6469>;
6470
6471#[doc = "Nullable function pointer for `vkCreateCuFunctionNVX`."]
6472#[doc(alias = "vkCreateCuFunctionNVX")]
6473#[doc = "\n\n[Khronos reference: `vkCreateCuFunctionNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateCuFunctionNVX.html)"]
6474pub type PFN_vkCreateCuFunctionNVX = Option<
6475	unsafe extern "system" fn(
6476		device: DeviceHandle,
6477		p_create_info: *const CuFunctionCreateInfoNVX<'_>,
6478		p_allocator: *const AllocationCallbacks,
6479		p_function: *mut CuFunctionNVX,
6480	) -> Result,
6481>;
6482
6483#[doc = "Nullable function pointer for `vkDestroyCuModuleNVX`."]
6484#[doc(alias = "vkDestroyCuModuleNVX")]
6485#[doc = "\n\n[Khronos reference: `vkDestroyCuModuleNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyCuModuleNVX.html)"]
6486pub type PFN_vkDestroyCuModuleNVX = Option<
6487	unsafe extern "system" fn(
6488		device: DeviceHandle,
6489		module: CuModuleNVX,
6490		p_allocator: *const AllocationCallbacks,
6491	) -> (),
6492>;
6493
6494#[doc = "Nullable function pointer for `vkDestroyCuFunctionNVX`."]
6495#[doc(alias = "vkDestroyCuFunctionNVX")]
6496#[doc = "\n\n[Khronos reference: `vkDestroyCuFunctionNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyCuFunctionNVX.html)"]
6497pub type PFN_vkDestroyCuFunctionNVX = Option<
6498	unsafe extern "system" fn(
6499		device: DeviceHandle,
6500		function: CuFunctionNVX,
6501		p_allocator: *const AllocationCallbacks,
6502	) -> (),
6503>;
6504
6505#[doc = "Nullable function pointer for `vkCmdCuLaunchKernelNVX`."]
6506#[doc(alias = "vkCmdCuLaunchKernelNVX")]
6507#[doc = "\n\n[Khronos reference: `vkCmdCuLaunchKernelNVX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCuLaunchKernelNVX.html)"]
6508pub type PFN_vkCmdCuLaunchKernelNVX = Option<
6509	unsafe extern "system" fn(
6510		command_buffer: CommandBuffer,
6511		p_launch_info: *const CuLaunchInfoNVX<'_>,
6512	) -> (),
6513>;
6514
6515#[doc = "Nullable function pointer for `vkGetDescriptorSetLayoutSizeEXT`."]
6516#[doc(alias = "vkGetDescriptorSetLayoutSizeEXT")]
6517#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetLayoutSizeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetLayoutSizeEXT.html)"]
6518pub type PFN_vkGetDescriptorSetLayoutSizeEXT = Option<
6519	unsafe extern "system" fn(
6520		device: DeviceHandle,
6521		layout: DescriptorSetLayout,
6522		p_layout_size_in_bytes: *mut DeviceSize,
6523	) -> (),
6524>;
6525
6526#[doc = "Nullable function pointer for `vkGetDescriptorSetLayoutBindingOffsetEXT`."]
6527#[doc(alias = "vkGetDescriptorSetLayoutBindingOffsetEXT")]
6528#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetLayoutBindingOffsetEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetLayoutBindingOffsetEXT.html)"]
6529pub type PFN_vkGetDescriptorSetLayoutBindingOffsetEXT = Option<
6530	unsafe extern "system" fn(
6531		device: DeviceHandle,
6532		layout: DescriptorSetLayout,
6533		binding: u32,
6534		p_offset: *mut DeviceSize,
6535	) -> (),
6536>;
6537
6538#[doc = "Nullable function pointer for `vkGetDescriptorEXT`."]
6539#[doc(alias = "vkGetDescriptorEXT")]
6540#[doc = "\n\n[Khronos reference: `vkGetDescriptorEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorEXT.html)"]
6541pub type PFN_vkGetDescriptorEXT = Option<
6542	unsafe extern "system" fn(
6543		device: DeviceHandle,
6544		p_descriptor_info: *const DescriptorGetInfoEXT<'_>,
6545		data_size: usize,
6546		p_descriptor: *mut std::ffi::c_void,
6547	) -> (),
6548>;
6549
6550#[doc = "Nullable function pointer for `vkCmdBindDescriptorBuffersEXT`."]
6551#[doc(alias = "vkCmdBindDescriptorBuffersEXT")]
6552#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorBuffersEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorBuffersEXT.html)"]
6553pub type PFN_vkCmdBindDescriptorBuffersEXT = Option<
6554	unsafe extern "system" fn(
6555		command_buffer: CommandBuffer,
6556		buffer_count: u32,
6557		p_binding_infos: *const DescriptorBufferBindingInfoEXT<'_>,
6558	) -> (),
6559>;
6560
6561#[doc = "Nullable function pointer for `vkCmdSetDescriptorBufferOffsetsEXT`."]
6562#[doc(alias = "vkCmdSetDescriptorBufferOffsetsEXT")]
6563#[doc = "\n\n[Khronos reference: `vkCmdSetDescriptorBufferOffsetsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDescriptorBufferOffsetsEXT.html)"]
6564pub type PFN_vkCmdSetDescriptorBufferOffsetsEXT = Option<
6565	unsafe extern "system" fn(
6566		command_buffer: CommandBuffer,
6567		pipeline_bind_point: PipelineBindPoint,
6568		layout: PipelineLayout,
6569		first_set: u32,
6570		set_count: u32,
6571		p_buffer_indices: *const u32,
6572		p_offsets: *const DeviceSize,
6573	) -> (),
6574>;
6575
6576#[doc = "Nullable function pointer for `vkCmdBindDescriptorBufferEmbeddedSamplersEXT`."]
6577#[doc(alias = "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")]
6578#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorBufferEmbeddedSamplersEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html)"]
6579pub type PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT = Option<
6580	unsafe extern "system" fn(
6581		command_buffer: CommandBuffer,
6582		pipeline_bind_point: PipelineBindPoint,
6583		layout: PipelineLayout,
6584		set: u32,
6585	) -> (),
6586>;
6587
6588#[doc = "Nullable function pointer for `vkGetBufferOpaqueCaptureDescriptorDataEXT`."]
6589#[doc(alias = "vkGetBufferOpaqueCaptureDescriptorDataEXT")]
6590#[doc = "\n\n[Khronos reference: `vkGetBufferOpaqueCaptureDescriptorDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferOpaqueCaptureDescriptorDataEXT.html)"]
6591pub type PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT = Option<
6592	unsafe extern "system" fn(
6593		device: DeviceHandle,
6594		p_info: *const BufferCaptureDescriptorDataInfoEXT<'_>,
6595		p_data: *mut std::ffi::c_void,
6596	) -> Result,
6597>;
6598
6599#[doc = "Nullable function pointer for `vkGetImageOpaqueCaptureDescriptorDataEXT`."]
6600#[doc(alias = "vkGetImageOpaqueCaptureDescriptorDataEXT")]
6601#[doc = "\n\n[Khronos reference: `vkGetImageOpaqueCaptureDescriptorDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageOpaqueCaptureDescriptorDataEXT.html)"]
6602pub type PFN_vkGetImageOpaqueCaptureDescriptorDataEXT = Option<
6603	unsafe extern "system" fn(
6604		device: DeviceHandle,
6605		p_info: *const ImageCaptureDescriptorDataInfoEXT<'_>,
6606		p_data: *mut std::ffi::c_void,
6607	) -> Result,
6608>;
6609
6610#[doc = "Nullable function pointer for `vkGetImageViewOpaqueCaptureDescriptorDataEXT`."]
6611#[doc(alias = "vkGetImageViewOpaqueCaptureDescriptorDataEXT")]
6612#[doc = "\n\n[Khronos reference: `vkGetImageViewOpaqueCaptureDescriptorDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html)"]
6613pub type PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT = Option<
6614	unsafe extern "system" fn(
6615		device: DeviceHandle,
6616		p_info: *const ImageViewCaptureDescriptorDataInfoEXT<'_>,
6617		p_data: *mut std::ffi::c_void,
6618	) -> Result,
6619>;
6620
6621#[doc = "Nullable function pointer for `vkGetSamplerOpaqueCaptureDescriptorDataEXT`."]
6622#[doc(alias = "vkGetSamplerOpaqueCaptureDescriptorDataEXT")]
6623#[doc = "\n\n[Khronos reference: `vkGetSamplerOpaqueCaptureDescriptorDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html)"]
6624pub type PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT = Option<
6625	unsafe extern "system" fn(
6626		device: DeviceHandle,
6627		p_info: *const SamplerCaptureDescriptorDataInfoEXT<'_>,
6628		p_data: *mut std::ffi::c_void,
6629	) -> Result,
6630>;
6631
6632#[doc = "Nullable function pointer for `vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT`."]
6633#[doc(alias = "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")]
6634#[doc = "\n\n[Khronos reference: `vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html)"]
6635pub type PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = Option<
6636	unsafe extern "system" fn(
6637		device: DeviceHandle,
6638		p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT<'_>,
6639		p_data: *mut std::ffi::c_void,
6640	) -> Result,
6641>;
6642
6643#[doc = "Nullable function pointer for `vkSetDeviceMemoryPriorityEXT`."]
6644#[doc(alias = "vkSetDeviceMemoryPriorityEXT")]
6645#[doc = "\n\n[Khronos reference: `vkSetDeviceMemoryPriorityEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetDeviceMemoryPriorityEXT.html)"]
6646pub type PFN_vkSetDeviceMemoryPriorityEXT = Option<
6647	unsafe extern "system" fn(device: DeviceHandle, memory: DeviceMemory, priority: f32) -> (),
6648>;
6649
6650#[doc = "Nullable function pointer for `vkAcquireDrmDisplayEXT`."]
6651#[doc(alias = "vkAcquireDrmDisplayEXT")]
6652#[doc = "\n\n[Khronos reference: `vkAcquireDrmDisplayEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkAcquireDrmDisplayEXT.html)"]
6653pub type PFN_vkAcquireDrmDisplayEXT = Option<
6654	unsafe extern "system" fn(
6655		physical_device: PhysicalDevice,
6656		drm_fd: i32,
6657		display: DisplayKHR,
6658	) -> Result,
6659>;
6660
6661#[doc = "Nullable function pointer for `vkGetDrmDisplayEXT`."]
6662#[doc(alias = "vkGetDrmDisplayEXT")]
6663#[doc = "\n\n[Khronos reference: `vkGetDrmDisplayEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDrmDisplayEXT.html)"]
6664pub type PFN_vkGetDrmDisplayEXT = Option<
6665	unsafe extern "system" fn(
6666		physical_device: PhysicalDevice,
6667		drm_fd: i32,
6668		connector_id: u32,
6669		display: *mut DisplayKHR,
6670	) -> Result,
6671>;
6672
6673#[doc = "Nullable function pointer for `vkWaitForPresent2KHR`."]
6674#[doc(alias = "vkWaitForPresent2KHR")]
6675#[doc = "\n\n[Khronos reference: `vkWaitForPresent2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWaitForPresent2KHR.html)"]
6676pub type PFN_vkWaitForPresent2KHR = Option<
6677	unsafe extern "system" fn(
6678		device: DeviceHandle,
6679		swapchain: SwapchainKHR,
6680		p_present_wait2_info: *const PresentWait2InfoKHR<'_>,
6681	) -> Result,
6682>;
6683
6684#[doc = "Nullable function pointer for `vkWaitForPresentKHR`."]
6685#[doc(alias = "vkWaitForPresentKHR")]
6686#[doc = "\n\n[Khronos reference: `vkWaitForPresentKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWaitForPresentKHR.html)"]
6687pub type PFN_vkWaitForPresentKHR = Option<
6688	unsafe extern "system" fn(
6689		device: DeviceHandle,
6690		swapchain: SwapchainKHR,
6691		present_id: u64,
6692		timeout: u64,
6693	) -> Result,
6694>;
6695
6696#[cfg(feature = "platform-fuchsia")]
6697#[doc = "Nullable function pointer for `vkCreateBufferCollectionFUCHSIA`."]
6698#[doc(alias = "vkCreateBufferCollectionFUCHSIA")]
6699#[doc = "\n\n[Khronos reference: `vkCreateBufferCollectionFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateBufferCollectionFUCHSIA.html)"]
6700pub type PFN_vkCreateBufferCollectionFUCHSIA = Option<
6701	unsafe extern "system" fn(
6702		device: DeviceHandle,
6703		p_create_info: *const BufferCollectionCreateInfoFUCHSIA<'_>,
6704		p_allocator: *const AllocationCallbacks,
6705		p_collection: *mut BufferCollectionFUCHSIA,
6706	) -> Result,
6707>;
6708
6709#[cfg(feature = "platform-fuchsia")]
6710#[doc = "Nullable function pointer for `vkSetBufferCollectionBufferConstraintsFUCHSIA`."]
6711#[doc(alias = "vkSetBufferCollectionBufferConstraintsFUCHSIA")]
6712#[doc = "\n\n[Khronos reference: `vkSetBufferCollectionBufferConstraintsFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetBufferCollectionBufferConstraintsFUCHSIA.html)"]
6713pub type PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA = Option<
6714	unsafe extern "system" fn(
6715		device: DeviceHandle,
6716		collection: BufferCollectionFUCHSIA,
6717		p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA<'_>,
6718	) -> Result,
6719>;
6720
6721#[cfg(feature = "platform-fuchsia")]
6722#[doc = "Nullable function pointer for `vkSetBufferCollectionImageConstraintsFUCHSIA`."]
6723#[doc(alias = "vkSetBufferCollectionImageConstraintsFUCHSIA")]
6724#[doc = "\n\n[Khronos reference: `vkSetBufferCollectionImageConstraintsFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetBufferCollectionImageConstraintsFUCHSIA.html)"]
6725pub type PFN_vkSetBufferCollectionImageConstraintsFUCHSIA = Option<
6726	unsafe extern "system" fn(
6727		device: DeviceHandle,
6728		collection: BufferCollectionFUCHSIA,
6729		p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA<'_>,
6730	) -> Result,
6731>;
6732
6733#[cfg(feature = "platform-fuchsia")]
6734#[doc = "Nullable function pointer for `vkDestroyBufferCollectionFUCHSIA`."]
6735#[doc(alias = "vkDestroyBufferCollectionFUCHSIA")]
6736#[doc = "\n\n[Khronos reference: `vkDestroyBufferCollectionFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyBufferCollectionFUCHSIA.html)"]
6737pub type PFN_vkDestroyBufferCollectionFUCHSIA = Option<
6738	unsafe extern "system" fn(
6739		device: DeviceHandle,
6740		collection: BufferCollectionFUCHSIA,
6741		p_allocator: *const AllocationCallbacks,
6742	) -> (),
6743>;
6744
6745#[cfg(feature = "platform-fuchsia")]
6746#[doc = "Nullable function pointer for `vkGetBufferCollectionPropertiesFUCHSIA`."]
6747#[doc(alias = "vkGetBufferCollectionPropertiesFUCHSIA")]
6748#[doc = "\n\n[Khronos reference: `vkGetBufferCollectionPropertiesFUCHSIA`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetBufferCollectionPropertiesFUCHSIA.html)"]
6749pub type PFN_vkGetBufferCollectionPropertiesFUCHSIA = Option<
6750	unsafe extern "system" fn(
6751		device: DeviceHandle,
6752		collection: BufferCollectionFUCHSIA,
6753		p_properties: *mut BufferCollectionPropertiesFUCHSIA<'_>,
6754	) -> Result,
6755>;
6756
6757#[cfg(feature = "provisional")]
6758#[doc = "Nullable function pointer for `vkCreateCudaModuleNV`."]
6759#[doc(alias = "vkCreateCudaModuleNV")]
6760#[doc = "\n\n[Khronos reference: `vkCreateCudaModuleNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateCudaModuleNV.html)"]
6761pub type PFN_vkCreateCudaModuleNV = Option<
6762	unsafe extern "system" fn(
6763		device: DeviceHandle,
6764		p_create_info: *const CudaModuleCreateInfoNV<'_>,
6765		p_allocator: *const AllocationCallbacks,
6766		p_module: *mut CudaModuleNV,
6767	) -> Result,
6768>;
6769
6770#[cfg(feature = "provisional")]
6771#[doc = "Nullable function pointer for `vkGetCudaModuleCacheNV`."]
6772#[doc(alias = "vkGetCudaModuleCacheNV")]
6773#[doc = "\n\n[Khronos reference: `vkGetCudaModuleCacheNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetCudaModuleCacheNV.html)"]
6774pub type PFN_vkGetCudaModuleCacheNV = Option<
6775	unsafe extern "system" fn(
6776		device: DeviceHandle,
6777		module: CudaModuleNV,
6778		p_cache_size: *mut usize,
6779		p_cache_data: *mut std::ffi::c_void,
6780	) -> Result,
6781>;
6782
6783#[cfg(feature = "provisional")]
6784#[doc = "Nullable function pointer for `vkCreateCudaFunctionNV`."]
6785#[doc(alias = "vkCreateCudaFunctionNV")]
6786#[doc = "\n\n[Khronos reference: `vkCreateCudaFunctionNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateCudaFunctionNV.html)"]
6787pub type PFN_vkCreateCudaFunctionNV = Option<
6788	unsafe extern "system" fn(
6789		device: DeviceHandle,
6790		p_create_info: *const CudaFunctionCreateInfoNV<'_>,
6791		p_allocator: *const AllocationCallbacks,
6792		p_function: *mut CudaFunctionNV,
6793	) -> Result,
6794>;
6795
6796#[cfg(feature = "provisional")]
6797#[doc = "Nullable function pointer for `vkDestroyCudaModuleNV`."]
6798#[doc(alias = "vkDestroyCudaModuleNV")]
6799#[doc = "\n\n[Khronos reference: `vkDestroyCudaModuleNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyCudaModuleNV.html)"]
6800pub type PFN_vkDestroyCudaModuleNV = Option<
6801	unsafe extern "system" fn(
6802		device: DeviceHandle,
6803		module: CudaModuleNV,
6804		p_allocator: *const AllocationCallbacks,
6805	) -> (),
6806>;
6807
6808#[cfg(feature = "provisional")]
6809#[doc = "Nullable function pointer for `vkDestroyCudaFunctionNV`."]
6810#[doc(alias = "vkDestroyCudaFunctionNV")]
6811#[doc = "\n\n[Khronos reference: `vkDestroyCudaFunctionNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyCudaFunctionNV.html)"]
6812pub type PFN_vkDestroyCudaFunctionNV = Option<
6813	unsafe extern "system" fn(
6814		device: DeviceHandle,
6815		function: CudaFunctionNV,
6816		p_allocator: *const AllocationCallbacks,
6817	) -> (),
6818>;
6819
6820#[cfg(feature = "provisional")]
6821#[doc = "Nullable function pointer for `vkCmdCudaLaunchKernelNV`."]
6822#[doc(alias = "vkCmdCudaLaunchKernelNV")]
6823#[doc = "\n\n[Khronos reference: `vkCmdCudaLaunchKernelNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCudaLaunchKernelNV.html)"]
6824pub type PFN_vkCmdCudaLaunchKernelNV = Option<
6825	unsafe extern "system" fn(
6826		command_buffer: CommandBuffer,
6827		p_launch_info: *const CudaLaunchInfoNV<'_>,
6828	) -> (),
6829>;
6830
6831#[doc = "Nullable function pointer for `vkCmdBeginRendering`."]
6832#[doc(alias = "vkCmdBeginRendering")]
6833#[doc = "\n\n[Khronos reference: `vkCmdBeginRendering`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginRendering.html)"]
6834pub type PFN_vkCmdBeginRendering = Option<
6835	unsafe extern "system" fn(
6836		command_buffer: CommandBuffer,
6837		p_rendering_info: *const RenderingInfo<'_>,
6838	) -> (),
6839>;
6840
6841#[doc = "Nullable function pointer for `vkCmdBeginRenderingKHR`."]
6842#[doc(alias = "vkCmdBeginRenderingKHR")]
6843#[doc = "\n\n[Khronos reference: `vkCmdBeginRenderingKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginRenderingKHR.html)"]
6844pub type PFN_vkCmdBeginRenderingKHR = PFN_vkCmdBeginRendering;
6845
6846#[doc = "Nullable function pointer for `vkCmdEndRendering`."]
6847#[doc(alias = "vkCmdEndRendering")]
6848#[doc = "\n\n[Khronos reference: `vkCmdEndRendering`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRendering.html)"]
6849pub type PFN_vkCmdEndRendering =
6850	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
6851
6852#[doc = "Nullable function pointer for `vkCmdEndRendering2KHR`."]
6853#[doc(alias = "vkCmdEndRendering2KHR")]
6854#[doc = "\n\n[Khronos reference: `vkCmdEndRendering2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRendering2KHR.html)"]
6855pub type PFN_vkCmdEndRendering2KHR = Option<
6856	unsafe extern "system" fn(
6857		command_buffer: CommandBuffer,
6858		p_rendering_end_info: *const RenderingEndInfoKHR<'_>,
6859	) -> (),
6860>;
6861
6862#[doc = "Nullable function pointer for `vkCmdEndRendering2EXT`."]
6863#[doc(alias = "vkCmdEndRendering2EXT")]
6864#[doc = "\n\n[Khronos reference: `vkCmdEndRendering2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRendering2EXT.html)"]
6865pub type PFN_vkCmdEndRendering2EXT = PFN_vkCmdEndRendering2KHR;
6866
6867#[doc = "Nullable function pointer for `vkCmdEndRenderingKHR`."]
6868#[doc(alias = "vkCmdEndRenderingKHR")]
6869#[doc = "\n\n[Khronos reference: `vkCmdEndRenderingKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndRenderingKHR.html)"]
6870pub type PFN_vkCmdEndRenderingKHR = PFN_vkCmdEndRendering;
6871
6872#[doc = "Nullable function pointer for `vkGetDescriptorSetLayoutHostMappingInfoVALVE`."]
6873#[doc(alias = "vkGetDescriptorSetLayoutHostMappingInfoVALVE")]
6874#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetLayoutHostMappingInfoVALVE`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html)"]
6875pub type PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Option<
6876	unsafe extern "system" fn(
6877		device: DeviceHandle,
6878		p_binding_reference: *const DescriptorSetBindingReferenceVALVE<'_>,
6879		p_host_mapping: *mut DescriptorSetLayoutHostMappingInfoVALVE<'_>,
6880	) -> (),
6881>;
6882
6883#[doc = "Nullable function pointer for `vkGetDescriptorSetHostMappingVALVE`."]
6884#[doc(alias = "vkGetDescriptorSetHostMappingVALVE")]
6885#[doc = "\n\n[Khronos reference: `vkGetDescriptorSetHostMappingVALVE`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDescriptorSetHostMappingVALVE.html)"]
6886pub type PFN_vkGetDescriptorSetHostMappingVALVE = Option<
6887	unsafe extern "system" fn(
6888		device: DeviceHandle,
6889		descriptor_set: DescriptorSet,
6890		pp_data: *mut *mut std::ffi::c_void,
6891	) -> (),
6892>;
6893
6894#[doc = "Nullable function pointer for `vkCreateMicromapEXT`."]
6895#[doc(alias = "vkCreateMicromapEXT")]
6896#[doc = "\n\n[Khronos reference: `vkCreateMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateMicromapEXT.html)"]
6897pub type PFN_vkCreateMicromapEXT = Option<
6898	unsafe extern "system" fn(
6899		device: DeviceHandle,
6900		p_create_info: *const MicromapCreateInfoEXT<'_>,
6901		p_allocator: *const AllocationCallbacks,
6902		p_micromap: *mut MicromapEXT,
6903	) -> Result,
6904>;
6905
6906#[doc = "Nullable function pointer for `vkCmdBuildMicromapsEXT`."]
6907#[doc(alias = "vkCmdBuildMicromapsEXT")]
6908#[doc = "\n\n[Khronos reference: `vkCmdBuildMicromapsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBuildMicromapsEXT.html)"]
6909pub type PFN_vkCmdBuildMicromapsEXT = Option<
6910	unsafe extern "system" fn(
6911		command_buffer: CommandBuffer,
6912		info_count: u32,
6913		p_infos: *const MicromapBuildInfoEXT<'_>,
6914	) -> (),
6915>;
6916
6917#[doc = "Nullable function pointer for `vkBuildMicromapsEXT`."]
6918#[doc(alias = "vkBuildMicromapsEXT")]
6919#[doc = "\n\n[Khronos reference: `vkBuildMicromapsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBuildMicromapsEXT.html)"]
6920pub type PFN_vkBuildMicromapsEXT = Option<
6921	unsafe extern "system" fn(
6922		device: DeviceHandle,
6923		deferred_operation: DeferredOperationKHR,
6924		info_count: u32,
6925		p_infos: *const MicromapBuildInfoEXT<'_>,
6926	) -> Result,
6927>;
6928
6929#[doc = "Nullable function pointer for `vkDestroyMicromapEXT`."]
6930#[doc(alias = "vkDestroyMicromapEXT")]
6931#[doc = "\n\n[Khronos reference: `vkDestroyMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyMicromapEXT.html)"]
6932pub type PFN_vkDestroyMicromapEXT = Option<
6933	unsafe extern "system" fn(
6934		device: DeviceHandle,
6935		micromap: MicromapEXT,
6936		p_allocator: *const AllocationCallbacks,
6937	) -> (),
6938>;
6939
6940#[doc = "Nullable function pointer for `vkCmdCopyMicromapEXT`."]
6941#[doc(alias = "vkCmdCopyMicromapEXT")]
6942#[doc = "\n\n[Khronos reference: `vkCmdCopyMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMicromapEXT.html)"]
6943pub type PFN_vkCmdCopyMicromapEXT = Option<
6944	unsafe extern "system" fn(
6945		command_buffer: CommandBuffer,
6946		p_info: *const CopyMicromapInfoEXT<'_>,
6947	) -> (),
6948>;
6949
6950#[doc = "Nullable function pointer for `vkCopyMicromapEXT`."]
6951#[doc(alias = "vkCopyMicromapEXT")]
6952#[doc = "\n\n[Khronos reference: `vkCopyMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMicromapEXT.html)"]
6953pub type PFN_vkCopyMicromapEXT = Option<
6954	unsafe extern "system" fn(
6955		device: DeviceHandle,
6956		deferred_operation: DeferredOperationKHR,
6957		p_info: *const CopyMicromapInfoEXT<'_>,
6958	) -> Result,
6959>;
6960
6961#[doc = "Nullable function pointer for `vkCmdCopyMicromapToMemoryEXT`."]
6962#[doc(alias = "vkCmdCopyMicromapToMemoryEXT")]
6963#[doc = "\n\n[Khronos reference: `vkCmdCopyMicromapToMemoryEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMicromapToMemoryEXT.html)"]
6964pub type PFN_vkCmdCopyMicromapToMemoryEXT = Option<
6965	unsafe extern "system" fn(
6966		command_buffer: CommandBuffer,
6967		p_info: *const CopyMicromapToMemoryInfoEXT<'_>,
6968	) -> (),
6969>;
6970
6971#[doc = "Nullable function pointer for `vkCopyMicromapToMemoryEXT`."]
6972#[doc(alias = "vkCopyMicromapToMemoryEXT")]
6973#[doc = "\n\n[Khronos reference: `vkCopyMicromapToMemoryEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMicromapToMemoryEXT.html)"]
6974pub type PFN_vkCopyMicromapToMemoryEXT = Option<
6975	unsafe extern "system" fn(
6976		device: DeviceHandle,
6977		deferred_operation: DeferredOperationKHR,
6978		p_info: *const CopyMicromapToMemoryInfoEXT<'_>,
6979	) -> Result,
6980>;
6981
6982#[doc = "Nullable function pointer for `vkCmdCopyMemoryToMicromapEXT`."]
6983#[doc(alias = "vkCmdCopyMemoryToMicromapEXT")]
6984#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryToMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryToMicromapEXT.html)"]
6985pub type PFN_vkCmdCopyMemoryToMicromapEXT = Option<
6986	unsafe extern "system" fn(
6987		command_buffer: CommandBuffer,
6988		p_info: *const CopyMemoryToMicromapInfoEXT<'_>,
6989	) -> (),
6990>;
6991
6992#[doc = "Nullable function pointer for `vkCopyMemoryToMicromapEXT`."]
6993#[doc(alias = "vkCopyMemoryToMicromapEXT")]
6994#[doc = "\n\n[Khronos reference: `vkCopyMemoryToMicromapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCopyMemoryToMicromapEXT.html)"]
6995pub type PFN_vkCopyMemoryToMicromapEXT = Option<
6996	unsafe extern "system" fn(
6997		device: DeviceHandle,
6998		deferred_operation: DeferredOperationKHR,
6999		p_info: *const CopyMemoryToMicromapInfoEXT<'_>,
7000	) -> Result,
7001>;
7002
7003#[doc = "Nullable function pointer for `vkCmdWriteMicromapsPropertiesEXT`."]
7004#[doc(alias = "vkCmdWriteMicromapsPropertiesEXT")]
7005#[doc = "\n\n[Khronos reference: `vkCmdWriteMicromapsPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteMicromapsPropertiesEXT.html)"]
7006pub type PFN_vkCmdWriteMicromapsPropertiesEXT = Option<
7007	unsafe extern "system" fn(
7008		command_buffer: CommandBuffer,
7009		micromap_count: u32,
7010		p_micromaps: *const MicromapEXT,
7011		query_type: QueryType,
7012		query_pool: QueryPool,
7013		first_query: u32,
7014	) -> (),
7015>;
7016
7017#[doc = "Nullable function pointer for `vkWriteMicromapsPropertiesEXT`."]
7018#[doc(alias = "vkWriteMicromapsPropertiesEXT")]
7019#[doc = "\n\n[Khronos reference: `vkWriteMicromapsPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWriteMicromapsPropertiesEXT.html)"]
7020pub type PFN_vkWriteMicromapsPropertiesEXT = Option<
7021	unsafe extern "system" fn(
7022		device: DeviceHandle,
7023		micromap_count: u32,
7024		p_micromaps: *const MicromapEXT,
7025		query_type: QueryType,
7026		data_size: usize,
7027		p_data: *mut std::ffi::c_void,
7028		stride: usize,
7029	) -> Result,
7030>;
7031
7032#[doc = "Nullable function pointer for `vkGetDeviceMicromapCompatibilityEXT`."]
7033#[doc(alias = "vkGetDeviceMicromapCompatibilityEXT")]
7034#[doc = "\n\n[Khronos reference: `vkGetDeviceMicromapCompatibilityEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceMicromapCompatibilityEXT.html)"]
7035pub type PFN_vkGetDeviceMicromapCompatibilityEXT = Option<
7036	unsafe extern "system" fn(
7037		device: DeviceHandle,
7038		p_version_info: *const MicromapVersionInfoEXT<'_>,
7039		p_compatibility: *mut AccelerationStructureCompatibilityKHR,
7040	) -> (),
7041>;
7042
7043#[doc = "Nullable function pointer for `vkGetMicromapBuildSizesEXT`."]
7044#[doc(alias = "vkGetMicromapBuildSizesEXT")]
7045#[doc = "\n\n[Khronos reference: `vkGetMicromapBuildSizesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMicromapBuildSizesEXT.html)"]
7046pub type PFN_vkGetMicromapBuildSizesEXT = Option<
7047	unsafe extern "system" fn(
7048		device: DeviceHandle,
7049		build_type: AccelerationStructureBuildTypeKHR,
7050		p_build_info: *const MicromapBuildInfoEXT<'_>,
7051		p_size_info: *mut MicromapBuildSizesInfoEXT<'_>,
7052	) -> (),
7053>;
7054
7055#[doc = "Nullable function pointer for `vkGetShaderModuleIdentifierEXT`."]
7056#[doc(alias = "vkGetShaderModuleIdentifierEXT")]
7057#[doc = "\n\n[Khronos reference: `vkGetShaderModuleIdentifierEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetShaderModuleIdentifierEXT.html)"]
7058pub type PFN_vkGetShaderModuleIdentifierEXT = Option<
7059	unsafe extern "system" fn(
7060		device: DeviceHandle,
7061		shader_module: ShaderModule,
7062		p_identifier: *mut ShaderModuleIdentifierEXT<'_>,
7063	) -> (),
7064>;
7065
7066#[doc = "Nullable function pointer for `vkGetShaderModuleCreateInfoIdentifierEXT`."]
7067#[doc(alias = "vkGetShaderModuleCreateInfoIdentifierEXT")]
7068#[doc = "\n\n[Khronos reference: `vkGetShaderModuleCreateInfoIdentifierEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetShaderModuleCreateInfoIdentifierEXT.html)"]
7069pub type PFN_vkGetShaderModuleCreateInfoIdentifierEXT = Option<
7070	unsafe extern "system" fn(
7071		device: DeviceHandle,
7072		p_create_info: *const ShaderModuleCreateInfo<'_>,
7073		p_identifier: *mut ShaderModuleIdentifierEXT<'_>,
7074	) -> (),
7075>;
7076
7077#[doc = "Nullable function pointer for `vkGetImageSubresourceLayout2`."]
7078#[doc(alias = "vkGetImageSubresourceLayout2")]
7079#[doc = "\n\n[Khronos reference: `vkGetImageSubresourceLayout2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSubresourceLayout2.html)"]
7080pub type PFN_vkGetImageSubresourceLayout2 = Option<
7081	unsafe extern "system" fn(
7082		device: DeviceHandle,
7083		image: Image,
7084		p_subresource: *const ImageSubresource2<'_>,
7085		p_layout: *mut SubresourceLayout2<'_>,
7086	) -> (),
7087>;
7088
7089#[doc = "Nullable function pointer for `vkGetImageSubresourceLayout2KHR`."]
7090#[doc(alias = "vkGetImageSubresourceLayout2KHR")]
7091#[doc = "\n\n[Khronos reference: `vkGetImageSubresourceLayout2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSubresourceLayout2KHR.html)"]
7092pub type PFN_vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2;
7093
7094#[doc = "Nullable function pointer for `vkGetImageSubresourceLayout2EXT`."]
7095#[doc(alias = "vkGetImageSubresourceLayout2EXT")]
7096#[doc = "\n\n[Khronos reference: `vkGetImageSubresourceLayout2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageSubresourceLayout2EXT.html)"]
7097pub type PFN_vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2;
7098
7099#[doc = "Nullable function pointer for `vkGetPipelinePropertiesEXT`."]
7100#[doc(alias = "vkGetPipelinePropertiesEXT")]
7101#[doc = "\n\n[Khronos reference: `vkGetPipelinePropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPipelinePropertiesEXT.html)"]
7102pub type PFN_vkGetPipelinePropertiesEXT = Option<
7103	unsafe extern "system" fn(
7104		device: DeviceHandle,
7105		p_pipeline_info: *const PipelineInfoKHR<'_>,
7106		p_pipeline_properties: *mut BaseOutStructure<'_>,
7107	) -> Result,
7108>;
7109
7110#[cfg(feature = "platform-metal")]
7111#[doc = "Nullable function pointer for `vkExportMetalObjectsEXT`."]
7112#[doc(alias = "vkExportMetalObjectsEXT")]
7113#[doc = "\n\n[Khronos reference: `vkExportMetalObjectsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkExportMetalObjectsEXT.html)"]
7114pub type PFN_vkExportMetalObjectsEXT = Option<
7115	unsafe extern "system" fn(
7116		device: DeviceHandle,
7117		p_metal_objects_info: *mut ExportMetalObjectsInfoEXT<'_>,
7118	) -> (),
7119>;
7120
7121#[doc = "Nullable function pointer for `vkCmdBindTileMemoryQCOM`."]
7122#[doc(alias = "vkCmdBindTileMemoryQCOM")]
7123#[doc = "\n\n[Khronos reference: `vkCmdBindTileMemoryQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindTileMemoryQCOM.html)"]
7124pub type PFN_vkCmdBindTileMemoryQCOM = Option<
7125	unsafe extern "system" fn(
7126		command_buffer: CommandBuffer,
7127		p_tile_memory_bind_info: *const TileMemoryBindInfoQCOM<'_>,
7128	) -> (),
7129>;
7130
7131#[doc = "Nullable function pointer for `vkGetFramebufferTilePropertiesQCOM`."]
7132#[doc(alias = "vkGetFramebufferTilePropertiesQCOM")]
7133#[doc = "\n\n[Khronos reference: `vkGetFramebufferTilePropertiesQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetFramebufferTilePropertiesQCOM.html)"]
7134pub type PFN_vkGetFramebufferTilePropertiesQCOM = Option<
7135	unsafe extern "system" fn(
7136		device: DeviceHandle,
7137		framebuffer: Framebuffer,
7138		p_properties_count: *mut u32,
7139		p_properties: *mut TilePropertiesQCOM<'_>,
7140	) -> Result,
7141>;
7142
7143#[doc = "Nullable function pointer for `vkGetDynamicRenderingTilePropertiesQCOM`."]
7144#[doc(alias = "vkGetDynamicRenderingTilePropertiesQCOM")]
7145#[doc = "\n\n[Khronos reference: `vkGetDynamicRenderingTilePropertiesQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDynamicRenderingTilePropertiesQCOM.html)"]
7146pub type PFN_vkGetDynamicRenderingTilePropertiesQCOM = Option<
7147	unsafe extern "system" fn(
7148		device: DeviceHandle,
7149		p_rendering_info: *const RenderingInfo<'_>,
7150		p_properties: *mut TilePropertiesQCOM<'_>,
7151	) -> Result,
7152>;
7153
7154#[doc = "Nullable function pointer for `vkGetPhysicalDeviceOpticalFlowImageFormatsNV`."]
7155#[doc(alias = "vkGetPhysicalDeviceOpticalFlowImageFormatsNV")]
7156#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceOpticalFlowImageFormatsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html)"]
7157pub type PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV = Option<
7158	unsafe extern "system" fn(
7159		physical_device: PhysicalDevice,
7160		p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV<'_>,
7161		p_format_count: *mut u32,
7162		p_image_format_properties: *mut OpticalFlowImageFormatPropertiesNV<'_>,
7163	) -> Result,
7164>;
7165
7166#[doc = "Nullable function pointer for `vkCreateOpticalFlowSessionNV`."]
7167#[doc(alias = "vkCreateOpticalFlowSessionNV")]
7168#[doc = "\n\n[Khronos reference: `vkCreateOpticalFlowSessionNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateOpticalFlowSessionNV.html)"]
7169pub type PFN_vkCreateOpticalFlowSessionNV = Option<
7170	unsafe extern "system" fn(
7171		device: DeviceHandle,
7172		p_create_info: *const OpticalFlowSessionCreateInfoNV<'_>,
7173		p_allocator: *const AllocationCallbacks,
7174		p_session: *mut OpticalFlowSessionNV,
7175	) -> Result,
7176>;
7177
7178#[doc = "Nullable function pointer for `vkDestroyOpticalFlowSessionNV`."]
7179#[doc(alias = "vkDestroyOpticalFlowSessionNV")]
7180#[doc = "\n\n[Khronos reference: `vkDestroyOpticalFlowSessionNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyOpticalFlowSessionNV.html)"]
7181pub type PFN_vkDestroyOpticalFlowSessionNV = Option<
7182	unsafe extern "system" fn(
7183		device: DeviceHandle,
7184		session: OpticalFlowSessionNV,
7185		p_allocator: *const AllocationCallbacks,
7186	) -> (),
7187>;
7188
7189#[doc = "Nullable function pointer for `vkBindOpticalFlowSessionImageNV`."]
7190#[doc(alias = "vkBindOpticalFlowSessionImageNV")]
7191#[doc = "\n\n[Khronos reference: `vkBindOpticalFlowSessionImageNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindOpticalFlowSessionImageNV.html)"]
7192pub type PFN_vkBindOpticalFlowSessionImageNV = Option<
7193	unsafe extern "system" fn(
7194		device: DeviceHandle,
7195		session: OpticalFlowSessionNV,
7196		binding_point: OpticalFlowSessionBindingPointNV,
7197		view: ImageView,
7198		layout: ImageLayout,
7199	) -> Result,
7200>;
7201
7202#[doc = "Nullable function pointer for `vkCmdOpticalFlowExecuteNV`."]
7203#[doc(alias = "vkCmdOpticalFlowExecuteNV")]
7204#[doc = "\n\n[Khronos reference: `vkCmdOpticalFlowExecuteNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdOpticalFlowExecuteNV.html)"]
7205pub type PFN_vkCmdOpticalFlowExecuteNV = Option<
7206	unsafe extern "system" fn(
7207		command_buffer: CommandBuffer,
7208		session: OpticalFlowSessionNV,
7209		p_execute_info: *const OpticalFlowExecuteInfoNV<'_>,
7210	) -> (),
7211>;
7212
7213#[doc = "Nullable function pointer for `vkGetDeviceFaultInfoEXT`."]
7214#[doc(alias = "vkGetDeviceFaultInfoEXT")]
7215#[doc = "\n\n[Khronos reference: `vkGetDeviceFaultInfoEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceFaultInfoEXT.html)"]
7216pub type PFN_vkGetDeviceFaultInfoEXT = Option<
7217	unsafe extern "system" fn(
7218		device: DeviceHandle,
7219		p_fault_counts: *mut DeviceFaultCountsEXT<'_>,
7220		p_fault_info: *mut DeviceFaultInfoEXT<'_>,
7221	) -> Result,
7222>;
7223
7224#[doc = "Nullable function pointer for `vkGetDeviceFaultReportsKHR`."]
7225#[doc(alias = "vkGetDeviceFaultReportsKHR")]
7226#[doc = "\n\n[Khronos reference: `vkGetDeviceFaultReportsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceFaultReportsKHR.html)"]
7227pub type PFN_vkGetDeviceFaultReportsKHR = Option<
7228	unsafe extern "system" fn(
7229		device: DeviceHandle,
7230		timeout: u64,
7231		p_fault_counts: *mut u32,
7232		p_fault_info: *mut DeviceFaultInfoKHR<'_>,
7233	) -> Result,
7234>;
7235
7236#[doc = "Nullable function pointer for `vkGetDeviceFaultDebugInfoKHR`."]
7237#[doc(alias = "vkGetDeviceFaultDebugInfoKHR")]
7238#[doc = "\n\n[Khronos reference: `vkGetDeviceFaultDebugInfoKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceFaultDebugInfoKHR.html)"]
7239pub type PFN_vkGetDeviceFaultDebugInfoKHR = Option<
7240	unsafe extern "system" fn(
7241		device: DeviceHandle,
7242		p_debug_info: *mut DeviceFaultDebugInfoKHR<'_>,
7243	) -> Result,
7244>;
7245
7246#[doc = "Nullable function pointer for `vkCmdSetDepthBias2EXT`."]
7247#[doc(alias = "vkCmdSetDepthBias2EXT")]
7248#[doc = "\n\n[Khronos reference: `vkCmdSetDepthBias2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthBias2EXT.html)"]
7249pub type PFN_vkCmdSetDepthBias2EXT = Option<
7250	unsafe extern "system" fn(
7251		command_buffer: CommandBuffer,
7252		p_depth_bias_info: *const DepthBiasInfoEXT<'_>,
7253	) -> (),
7254>;
7255
7256#[doc = "Nullable function pointer for `vkReleaseSwapchainImagesKHR`."]
7257#[doc(alias = "vkReleaseSwapchainImagesKHR")]
7258#[doc = "\n\n[Khronos reference: `vkReleaseSwapchainImagesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseSwapchainImagesKHR.html)"]
7259pub type PFN_vkReleaseSwapchainImagesKHR = Option<
7260	unsafe extern "system" fn(
7261		device: DeviceHandle,
7262		p_release_info: *const ReleaseSwapchainImagesInfoKHR<'_>,
7263	) -> Result,
7264>;
7265
7266#[doc = "Nullable function pointer for `vkReleaseSwapchainImagesEXT`."]
7267#[doc(alias = "vkReleaseSwapchainImagesEXT")]
7268#[doc = "\n\n[Khronos reference: `vkReleaseSwapchainImagesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkReleaseSwapchainImagesEXT.html)"]
7269pub type PFN_vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesKHR;
7270
7271#[doc = "Nullable function pointer for `vkGetDeviceImageSubresourceLayout`."]
7272#[doc(alias = "vkGetDeviceImageSubresourceLayout")]
7273#[doc = "\n\n[Khronos reference: `vkGetDeviceImageSubresourceLayout`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageSubresourceLayout.html)"]
7274pub type PFN_vkGetDeviceImageSubresourceLayout = Option<
7275	unsafe extern "system" fn(
7276		device: DeviceHandle,
7277		p_info: *const DeviceImageSubresourceInfo<'_>,
7278		p_layout: *mut SubresourceLayout2<'_>,
7279	) -> (),
7280>;
7281
7282#[doc = "Nullable function pointer for `vkGetDeviceImageSubresourceLayoutKHR`."]
7283#[doc(alias = "vkGetDeviceImageSubresourceLayoutKHR")]
7284#[doc = "\n\n[Khronos reference: `vkGetDeviceImageSubresourceLayoutKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageSubresourceLayoutKHR.html)"]
7285pub type PFN_vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayout;
7286
7287#[doc = "Nullable function pointer for `vkMapMemory2`."]
7288#[doc(alias = "vkMapMemory2")]
7289#[doc = "\n\n[Khronos reference: `vkMapMemory2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkMapMemory2.html)"]
7290pub type PFN_vkMapMemory2 = Option<
7291	unsafe extern "system" fn(
7292		device: DeviceHandle,
7293		p_memory_map_info: *const MemoryMapInfo<'_>,
7294		pp_data: *mut *mut std::ffi::c_void,
7295	) -> Result,
7296>;
7297
7298#[doc = "Nullable function pointer for `vkMapMemory2KHR`."]
7299#[doc(alias = "vkMapMemory2KHR")]
7300#[doc = "\n\n[Khronos reference: `vkMapMemory2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkMapMemory2KHR.html)"]
7301pub type PFN_vkMapMemory2KHR = PFN_vkMapMemory2;
7302
7303#[doc = "Nullable function pointer for `vkUnmapMemory2`."]
7304#[doc(alias = "vkUnmapMemory2")]
7305#[doc = "\n\n[Khronos reference: `vkUnmapMemory2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUnmapMemory2.html)"]
7306pub type PFN_vkUnmapMemory2 = Option<
7307	unsafe extern "system" fn(
7308		device: DeviceHandle,
7309		p_memory_unmap_info: *const MemoryUnmapInfo<'_>,
7310	) -> Result,
7311>;
7312
7313#[doc = "Nullable function pointer for `vkUnmapMemory2KHR`."]
7314#[doc(alias = "vkUnmapMemory2KHR")]
7315#[doc = "\n\n[Khronos reference: `vkUnmapMemory2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUnmapMemory2KHR.html)"]
7316pub type PFN_vkUnmapMemory2KHR = PFN_vkUnmapMemory2;
7317
7318#[doc = "Nullable function pointer for `vkCreateShadersEXT`."]
7319#[doc(alias = "vkCreateShadersEXT")]
7320#[doc = "\n\n[Khronos reference: `vkCreateShadersEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateShadersEXT.html)"]
7321pub type PFN_vkCreateShadersEXT = Option<
7322	unsafe extern "system" fn(
7323		device: DeviceHandle,
7324		create_info_count: u32,
7325		p_create_infos: *const ShaderCreateInfoEXT<'_>,
7326		p_allocator: *const AllocationCallbacks,
7327		p_shaders: *mut ShaderEXT,
7328	) -> Result,
7329>;
7330
7331#[doc = "Nullable function pointer for `vkDestroyShaderEXT`."]
7332#[doc(alias = "vkDestroyShaderEXT")]
7333#[doc = "\n\n[Khronos reference: `vkDestroyShaderEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyShaderEXT.html)"]
7334pub type PFN_vkDestroyShaderEXT = Option<
7335	unsafe extern "system" fn(
7336		device: DeviceHandle,
7337		shader: ShaderEXT,
7338		p_allocator: *const AllocationCallbacks,
7339	) -> (),
7340>;
7341
7342#[doc = "Nullable function pointer for `vkGetShaderBinaryDataEXT`."]
7343#[doc(alias = "vkGetShaderBinaryDataEXT")]
7344#[doc = "\n\n[Khronos reference: `vkGetShaderBinaryDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetShaderBinaryDataEXT.html)"]
7345pub type PFN_vkGetShaderBinaryDataEXT = Option<
7346	unsafe extern "system" fn(
7347		device: DeviceHandle,
7348		shader: ShaderEXT,
7349		p_data_size: *mut usize,
7350		p_data: *mut std::ffi::c_void,
7351	) -> Result,
7352>;
7353
7354#[doc = "Nullable function pointer for `vkCmdBindShadersEXT`."]
7355#[doc(alias = "vkCmdBindShadersEXT")]
7356#[doc = "\n\n[Khronos reference: `vkCmdBindShadersEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindShadersEXT.html)"]
7357pub type PFN_vkCmdBindShadersEXT = Option<
7358	unsafe extern "system" fn(
7359		command_buffer: CommandBuffer,
7360		stage_count: u32,
7361		p_stages: *const ShaderStageFlagBits,
7362		p_shaders: *const ShaderEXT,
7363	) -> (),
7364>;
7365
7366#[doc = "Nullable function pointer for `vkSetSwapchainPresentTimingQueueSizeEXT`."]
7367#[doc(alias = "vkSetSwapchainPresentTimingQueueSizeEXT")]
7368#[doc = "\n\n[Khronos reference: `vkSetSwapchainPresentTimingQueueSizeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetSwapchainPresentTimingQueueSizeEXT.html)"]
7369pub type PFN_vkSetSwapchainPresentTimingQueueSizeEXT = Option<
7370	unsafe extern "system" fn(device: DeviceHandle, swapchain: SwapchainKHR, size: u32) -> Result,
7371>;
7372
7373#[doc = "Nullable function pointer for `vkGetSwapchainTimingPropertiesEXT`."]
7374#[doc(alias = "vkGetSwapchainTimingPropertiesEXT")]
7375#[doc = "\n\n[Khronos reference: `vkGetSwapchainTimingPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSwapchainTimingPropertiesEXT.html)"]
7376pub type PFN_vkGetSwapchainTimingPropertiesEXT = Option<
7377	unsafe extern "system" fn(
7378		device: DeviceHandle,
7379		swapchain: SwapchainKHR,
7380		p_swapchain_timing_properties: *mut SwapchainTimingPropertiesEXT<'_>,
7381		p_swapchain_timing_properties_counter: *mut u64,
7382	) -> Result,
7383>;
7384
7385#[doc = "Nullable function pointer for `vkGetSwapchainTimeDomainPropertiesEXT`."]
7386#[doc(alias = "vkGetSwapchainTimeDomainPropertiesEXT")]
7387#[doc = "\n\n[Khronos reference: `vkGetSwapchainTimeDomainPropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSwapchainTimeDomainPropertiesEXT.html)"]
7388pub type PFN_vkGetSwapchainTimeDomainPropertiesEXT = Option<
7389	unsafe extern "system" fn(
7390		device: DeviceHandle,
7391		swapchain: SwapchainKHR,
7392		p_swapchain_time_domain_properties: *mut SwapchainTimeDomainPropertiesEXT<'_>,
7393		p_time_domains_counter: *mut u64,
7394	) -> Result,
7395>;
7396
7397#[doc = "Nullable function pointer for `vkGetPastPresentationTimingEXT`."]
7398#[doc(alias = "vkGetPastPresentationTimingEXT")]
7399#[doc = "\n\n[Khronos reference: `vkGetPastPresentationTimingEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPastPresentationTimingEXT.html)"]
7400pub type PFN_vkGetPastPresentationTimingEXT = Option<
7401	unsafe extern "system" fn(
7402		device: DeviceHandle,
7403		p_past_presentation_timing_info: *const PastPresentationTimingInfoEXT<'_>,
7404		p_past_presentation_timing_properties: *mut PastPresentationTimingPropertiesEXT<'_>,
7405	) -> Result,
7406>;
7407
7408#[cfg(feature = "platform-screen")]
7409#[doc = "Nullable function pointer for `vkGetScreenBufferPropertiesQNX`."]
7410#[doc(alias = "vkGetScreenBufferPropertiesQNX")]
7411#[doc = "\n\n[Khronos reference: `vkGetScreenBufferPropertiesQNX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetScreenBufferPropertiesQNX.html)"]
7412pub type PFN_vkGetScreenBufferPropertiesQNX = Option<
7413	unsafe extern "system" fn(
7414		device: DeviceHandle,
7415		buffer: *const _screen_buffer,
7416		p_properties: *mut ScreenBufferPropertiesQNX<'_>,
7417	) -> Result,
7418>;
7419
7420#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR`."]
7421#[doc(alias = "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR")]
7422#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html)"]
7423pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = Option<
7424	unsafe extern "system" fn(
7425		physical_device: PhysicalDevice,
7426		p_property_count: *mut u32,
7427		p_properties: *mut CooperativeMatrixPropertiesKHR<'_>,
7428	) -> Result,
7429>;
7430
7431#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCooperativeMatrixProperties2EXT`."]
7432#[doc(alias = "vkGetPhysicalDeviceCooperativeMatrixProperties2EXT")]
7433#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCooperativeMatrixProperties2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html)"]
7434pub type PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT = Option<
7435	unsafe extern "system" fn(
7436		physical_device: PhysicalDevice,
7437		p_cooperative_matrix_info: *const PhysicalDeviceCooperativeMatrixInfo2EXT<'_>,
7438		p_property_count: *mut u32,
7439		p_properties: *mut CooperativeMatrixProperties2EXT<'_>,
7440	) -> Result,
7441>;
7442
7443#[cfg(feature = "provisional")]
7444#[doc = "Nullable function pointer for `vkGetExecutionGraphPipelineScratchSizeAMDX`."]
7445#[doc(alias = "vkGetExecutionGraphPipelineScratchSizeAMDX")]
7446#[doc = "\n\n[Khronos reference: `vkGetExecutionGraphPipelineScratchSizeAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetExecutionGraphPipelineScratchSizeAMDX.html)"]
7447pub type PFN_vkGetExecutionGraphPipelineScratchSizeAMDX = Option<
7448	unsafe extern "system" fn(
7449		device: DeviceHandle,
7450		execution_graph: Pipeline,
7451		p_size_info: *mut ExecutionGraphPipelineScratchSizeAMDX<'_>,
7452	) -> Result,
7453>;
7454
7455#[cfg(feature = "provisional")]
7456#[doc = "Nullable function pointer for `vkGetExecutionGraphPipelineNodeIndexAMDX`."]
7457#[doc(alias = "vkGetExecutionGraphPipelineNodeIndexAMDX")]
7458#[doc = "\n\n[Khronos reference: `vkGetExecutionGraphPipelineNodeIndexAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetExecutionGraphPipelineNodeIndexAMDX.html)"]
7459pub type PFN_vkGetExecutionGraphPipelineNodeIndexAMDX = Option<
7460	unsafe extern "system" fn(
7461		device: DeviceHandle,
7462		execution_graph: Pipeline,
7463		p_node_info: *const PipelineShaderStageNodeCreateInfoAMDX<'_>,
7464		p_node_index: *mut u32,
7465	) -> Result,
7466>;
7467
7468#[cfg(feature = "provisional")]
7469#[doc = "Nullable function pointer for `vkCreateExecutionGraphPipelinesAMDX`."]
7470#[doc(alias = "vkCreateExecutionGraphPipelinesAMDX")]
7471#[doc = "\n\n[Khronos reference: `vkCreateExecutionGraphPipelinesAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateExecutionGraphPipelinesAMDX.html)"]
7472pub type PFN_vkCreateExecutionGraphPipelinesAMDX = Option<
7473	unsafe extern "system" fn(
7474		device: DeviceHandle,
7475		pipeline_cache: PipelineCache,
7476		create_info_count: u32,
7477		p_create_infos: *const ExecutionGraphPipelineCreateInfoAMDX<'_>,
7478		p_allocator: *const AllocationCallbacks,
7479		p_pipelines: *mut Pipeline,
7480	) -> Result,
7481>;
7482
7483#[cfg(feature = "provisional")]
7484#[doc = "Nullable function pointer for `vkCmdInitializeGraphScratchMemoryAMDX`."]
7485#[doc(alias = "vkCmdInitializeGraphScratchMemoryAMDX")]
7486#[doc = "\n\n[Khronos reference: `vkCmdInitializeGraphScratchMemoryAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdInitializeGraphScratchMemoryAMDX.html)"]
7487pub type PFN_vkCmdInitializeGraphScratchMemoryAMDX = Option<
7488	unsafe extern "system" fn(
7489		command_buffer: CommandBuffer,
7490		execution_graph: Pipeline,
7491		scratch: DeviceAddress,
7492		scratch_size: DeviceSize,
7493	) -> (),
7494>;
7495
7496#[cfg(feature = "provisional")]
7497#[doc = "Nullable function pointer for `vkCmdDispatchGraphAMDX`."]
7498#[doc(alias = "vkCmdDispatchGraphAMDX")]
7499#[doc = "\n\n[Khronos reference: `vkCmdDispatchGraphAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchGraphAMDX.html)"]
7500pub type PFN_vkCmdDispatchGraphAMDX = Option<
7501	unsafe extern "system" fn(
7502		command_buffer: CommandBuffer,
7503		scratch: DeviceAddress,
7504		scratch_size: DeviceSize,
7505		p_count_info: *const DispatchGraphCountInfoAMDX,
7506	) -> (),
7507>;
7508
7509#[cfg(feature = "provisional")]
7510#[doc = "Nullable function pointer for `vkCmdDispatchGraphIndirectAMDX`."]
7511#[doc(alias = "vkCmdDispatchGraphIndirectAMDX")]
7512#[doc = "\n\n[Khronos reference: `vkCmdDispatchGraphIndirectAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchGraphIndirectAMDX.html)"]
7513pub type PFN_vkCmdDispatchGraphIndirectAMDX = Option<
7514	unsafe extern "system" fn(
7515		command_buffer: CommandBuffer,
7516		scratch: DeviceAddress,
7517		scratch_size: DeviceSize,
7518		p_count_info: *const DispatchGraphCountInfoAMDX,
7519	) -> (),
7520>;
7521
7522#[cfg(feature = "provisional")]
7523#[doc = "Nullable function pointer for `vkCmdDispatchGraphIndirectCountAMDX`."]
7524#[doc(alias = "vkCmdDispatchGraphIndirectCountAMDX")]
7525#[doc = "\n\n[Khronos reference: `vkCmdDispatchGraphIndirectCountAMDX`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchGraphIndirectCountAMDX.html)"]
7526pub type PFN_vkCmdDispatchGraphIndirectCountAMDX = Option<
7527	unsafe extern "system" fn(
7528		command_buffer: CommandBuffer,
7529		scratch: DeviceAddress,
7530		scratch_size: DeviceSize,
7531		count_info: DeviceAddress,
7532	) -> (),
7533>;
7534
7535#[doc = "Nullable function pointer for `vkCreateGpaSessionAMD`."]
7536#[doc(alias = "vkCreateGpaSessionAMD")]
7537#[doc = "\n\n[Khronos reference: `vkCreateGpaSessionAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateGpaSessionAMD.html)"]
7538pub type PFN_vkCreateGpaSessionAMD = Option<
7539	unsafe extern "system" fn(
7540		device: DeviceHandle,
7541		p_create_info: *const GpaSessionCreateInfoAMD<'_>,
7542		p_allocator: *const AllocationCallbacks,
7543		p_gpa_session: *mut GpaSessionAMD,
7544	) -> Result,
7545>;
7546
7547#[doc = "Nullable function pointer for `vkDestroyGpaSessionAMD`."]
7548#[doc(alias = "vkDestroyGpaSessionAMD")]
7549#[doc = "\n\n[Khronos reference: `vkDestroyGpaSessionAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyGpaSessionAMD.html)"]
7550pub type PFN_vkDestroyGpaSessionAMD = Option<
7551	unsafe extern "system" fn(
7552		device: DeviceHandle,
7553		gpa_session: GpaSessionAMD,
7554		p_allocator: *const AllocationCallbacks,
7555	) -> (),
7556>;
7557
7558#[doc = "Nullable function pointer for `vkSetGpaDeviceClockModeAMD`."]
7559#[doc(alias = "vkSetGpaDeviceClockModeAMD")]
7560#[doc = "\n\n[Khronos reference: `vkSetGpaDeviceClockModeAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetGpaDeviceClockModeAMD.html)"]
7561pub type PFN_vkSetGpaDeviceClockModeAMD = Option<
7562	unsafe extern "system" fn(
7563		device: DeviceHandle,
7564		p_info: *mut GpaDeviceClockModeInfoAMD<'_>,
7565	) -> Result,
7566>;
7567
7568#[doc = "Nullable function pointer for `vkGetGpaDeviceClockInfoAMD`."]
7569#[doc(alias = "vkGetGpaDeviceClockInfoAMD")]
7570#[doc = "\n\n[Khronos reference: `vkGetGpaDeviceClockInfoAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetGpaDeviceClockInfoAMD.html)"]
7571pub type PFN_vkGetGpaDeviceClockInfoAMD = Option<
7572	unsafe extern "system" fn(
7573		device: DeviceHandle,
7574		p_info: *mut GpaDeviceGetClockInfoAMD<'_>,
7575	) -> Result,
7576>;
7577
7578#[doc = "Nullable function pointer for `vkCmdBeginGpaSessionAMD`."]
7579#[doc(alias = "vkCmdBeginGpaSessionAMD")]
7580#[doc = "\n\n[Khronos reference: `vkCmdBeginGpaSessionAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginGpaSessionAMD.html)"]
7581pub type PFN_vkCmdBeginGpaSessionAMD = Option<
7582	unsafe extern "system" fn(command_buffer: CommandBuffer, gpa_session: GpaSessionAMD) -> Result,
7583>;
7584
7585#[doc = "Nullable function pointer for `vkCmdEndGpaSessionAMD`."]
7586#[doc(alias = "vkCmdEndGpaSessionAMD")]
7587#[doc = "\n\n[Khronos reference: `vkCmdEndGpaSessionAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndGpaSessionAMD.html)"]
7588pub type PFN_vkCmdEndGpaSessionAMD = Option<
7589	unsafe extern "system" fn(command_buffer: CommandBuffer, gpa_session: GpaSessionAMD) -> Result,
7590>;
7591
7592#[doc = "Nullable function pointer for `vkCmdBeginGpaSampleAMD`."]
7593#[doc(alias = "vkCmdBeginGpaSampleAMD")]
7594#[doc = "\n\n[Khronos reference: `vkCmdBeginGpaSampleAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginGpaSampleAMD.html)"]
7595pub type PFN_vkCmdBeginGpaSampleAMD = Option<
7596	unsafe extern "system" fn(
7597		command_buffer: CommandBuffer,
7598		gpa_session: GpaSessionAMD,
7599		p_gpa_sample_begin_info: *const GpaSampleBeginInfoAMD<'_>,
7600		p_sample_id: *mut u32,
7601	) -> Result,
7602>;
7603
7604#[doc = "Nullable function pointer for `vkCmdEndGpaSampleAMD`."]
7605#[doc(alias = "vkCmdEndGpaSampleAMD")]
7606#[doc = "\n\n[Khronos reference: `vkCmdEndGpaSampleAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndGpaSampleAMD.html)"]
7607pub type PFN_vkCmdEndGpaSampleAMD = Option<
7608	unsafe extern "system" fn(
7609		command_buffer: CommandBuffer,
7610		gpa_session: GpaSessionAMD,
7611		sample_id: u32,
7612	) -> (),
7613>;
7614
7615#[doc = "Nullable function pointer for `vkGetGpaSessionStatusAMD`."]
7616#[doc(alias = "vkGetGpaSessionStatusAMD")]
7617#[doc = "\n\n[Khronos reference: `vkGetGpaSessionStatusAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetGpaSessionStatusAMD.html)"]
7618pub type PFN_vkGetGpaSessionStatusAMD =
7619	Option<unsafe extern "system" fn(device: DeviceHandle, gpa_session: GpaSessionAMD) -> Result>;
7620
7621#[doc = "Nullable function pointer for `vkGetGpaSessionResultsAMD`."]
7622#[doc(alias = "vkGetGpaSessionResultsAMD")]
7623#[doc = "\n\n[Khronos reference: `vkGetGpaSessionResultsAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetGpaSessionResultsAMD.html)"]
7624pub type PFN_vkGetGpaSessionResultsAMD = Option<
7625	unsafe extern "system" fn(
7626		device: DeviceHandle,
7627		gpa_session: GpaSessionAMD,
7628		sample_id: u32,
7629		p_size_in_bytes: *mut usize,
7630		p_data: *mut std::ffi::c_void,
7631	) -> Result,
7632>;
7633
7634#[doc = "Nullable function pointer for `vkResetGpaSessionAMD`."]
7635#[doc(alias = "vkResetGpaSessionAMD")]
7636#[doc = "\n\n[Khronos reference: `vkResetGpaSessionAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkResetGpaSessionAMD.html)"]
7637pub type PFN_vkResetGpaSessionAMD =
7638	Option<unsafe extern "system" fn(device: DeviceHandle, gpa_session: GpaSessionAMD) -> Result>;
7639
7640#[doc = "Nullable function pointer for `vkCmdCopyGpaSessionResultsAMD`."]
7641#[doc(alias = "vkCmdCopyGpaSessionResultsAMD")]
7642#[doc = "\n\n[Khronos reference: `vkCmdCopyGpaSessionResultsAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyGpaSessionResultsAMD.html)"]
7643pub type PFN_vkCmdCopyGpaSessionResultsAMD = Option<
7644	unsafe extern "system" fn(command_buffer: CommandBuffer, gpa_session: GpaSessionAMD) -> (),
7645>;
7646
7647#[doc = "Nullable function pointer for `vkCmdBindDescriptorSets2`."]
7648#[doc(alias = "vkCmdBindDescriptorSets2")]
7649#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorSets2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorSets2.html)"]
7650pub type PFN_vkCmdBindDescriptorSets2 = Option<
7651	unsafe extern "system" fn(
7652		command_buffer: CommandBuffer,
7653		p_bind_descriptor_sets_info: *const BindDescriptorSetsInfo<'_>,
7654	) -> (),
7655>;
7656
7657#[doc = "Nullable function pointer for `vkCmdBindDescriptorSets2KHR`."]
7658#[doc(alias = "vkCmdBindDescriptorSets2KHR")]
7659#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorSets2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorSets2KHR.html)"]
7660pub type PFN_vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2;
7661
7662#[doc = "Nullable function pointer for `vkCmdPushConstants2`."]
7663#[doc(alias = "vkCmdPushConstants2")]
7664#[doc = "\n\n[Khronos reference: `vkCmdPushConstants2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushConstants2.html)"]
7665pub type PFN_vkCmdPushConstants2 = Option<
7666	unsafe extern "system" fn(
7667		command_buffer: CommandBuffer,
7668		p_push_constants_info: *const PushConstantsInfo<'_>,
7669	) -> (),
7670>;
7671
7672#[doc = "Nullable function pointer for `vkCmdPushConstants2KHR`."]
7673#[doc(alias = "vkCmdPushConstants2KHR")]
7674#[doc = "\n\n[Khronos reference: `vkCmdPushConstants2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushConstants2KHR.html)"]
7675pub type PFN_vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2;
7676
7677#[doc = "Nullable function pointer for `vkCmdPushDescriptorSet2`."]
7678#[doc(alias = "vkCmdPushDescriptorSet2")]
7679#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSet2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSet2.html)"]
7680pub type PFN_vkCmdPushDescriptorSet2 = Option<
7681	unsafe extern "system" fn(
7682		command_buffer: CommandBuffer,
7683		p_push_descriptor_set_info: *const PushDescriptorSetInfo<'_>,
7684	) -> (),
7685>;
7686
7687#[doc = "Nullable function pointer for `vkCmdPushDescriptorSet2KHR`."]
7688#[doc(alias = "vkCmdPushDescriptorSet2KHR")]
7689#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSet2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSet2KHR.html)"]
7690pub type PFN_vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2;
7691
7692#[doc = "Nullable function pointer for `vkCmdPushDescriptorSetWithTemplate2`."]
7693#[doc(alias = "vkCmdPushDescriptorSetWithTemplate2")]
7694#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSetWithTemplate2`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSetWithTemplate2.html)"]
7695pub type PFN_vkCmdPushDescriptorSetWithTemplate2 = Option<
7696	unsafe extern "system" fn(
7697		command_buffer: CommandBuffer,
7698		p_push_descriptor_set_with_template_info: *const PushDescriptorSetWithTemplateInfo<'_>,
7699	) -> (),
7700>;
7701
7702#[doc = "Nullable function pointer for `vkCmdPushDescriptorSetWithTemplate2KHR`."]
7703#[doc(alias = "vkCmdPushDescriptorSetWithTemplate2KHR")]
7704#[doc = "\n\n[Khronos reference: `vkCmdPushDescriptorSetWithTemplate2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDescriptorSetWithTemplate2KHR.html)"]
7705pub type PFN_vkCmdPushDescriptorSetWithTemplate2KHR = PFN_vkCmdPushDescriptorSetWithTemplate2;
7706
7707#[doc = "Nullable function pointer for `vkCmdSetDescriptorBufferOffsets2EXT`."]
7708#[doc(alias = "vkCmdSetDescriptorBufferOffsets2EXT")]
7709#[doc = "\n\n[Khronos reference: `vkCmdSetDescriptorBufferOffsets2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDescriptorBufferOffsets2EXT.html)"]
7710pub type PFN_vkCmdSetDescriptorBufferOffsets2EXT = Option<
7711	unsafe extern "system" fn(
7712		command_buffer: CommandBuffer,
7713		p_set_descriptor_buffer_offsets_info: *const SetDescriptorBufferOffsetsInfoEXT<'_>,
7714	) -> (),
7715>;
7716
7717#[doc = "Nullable function pointer for `vkCmdBindDescriptorBufferEmbeddedSamplers2EXT`."]
7718#[doc(alias = "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT")]
7719#[doc = "\n\n[Khronos reference: `vkCmdBindDescriptorBufferEmbeddedSamplers2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html)"]
7720pub type PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = Option<unsafe extern "system" fn(command_buffer: CommandBuffer, p_bind_descriptor_buffer_embedded_samplers_info: *const BindDescriptorBufferEmbeddedSamplersInfoEXT<'_>) -> ()>;
7721
7722#[doc = "Nullable function pointer for `vkSetLatencySleepModeNV`."]
7723#[doc(alias = "vkSetLatencySleepModeNV")]
7724#[doc = "\n\n[Khronos reference: `vkSetLatencySleepModeNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetLatencySleepModeNV.html)"]
7725pub type PFN_vkSetLatencySleepModeNV = Option<
7726	unsafe extern "system" fn(
7727		device: DeviceHandle,
7728		swapchain: SwapchainKHR,
7729		p_sleep_mode_info: *const LatencySleepModeInfoNV<'_>,
7730	) -> Result,
7731>;
7732
7733#[doc = "Nullable function pointer for `vkLatencySleepNV`."]
7734#[doc(alias = "vkLatencySleepNV")]
7735#[doc = "\n\n[Khronos reference: `vkLatencySleepNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkLatencySleepNV.html)"]
7736pub type PFN_vkLatencySleepNV = Option<
7737	unsafe extern "system" fn(
7738		device: DeviceHandle,
7739		swapchain: SwapchainKHR,
7740		p_sleep_info: *const LatencySleepInfoNV<'_>,
7741	) -> Result,
7742>;
7743
7744#[doc = "Nullable function pointer for `vkSetLatencyMarkerNV`."]
7745#[doc(alias = "vkSetLatencyMarkerNV")]
7746#[doc = "\n\n[Khronos reference: `vkSetLatencyMarkerNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetLatencyMarkerNV.html)"]
7747pub type PFN_vkSetLatencyMarkerNV = Option<
7748	unsafe extern "system" fn(
7749		device: DeviceHandle,
7750		swapchain: SwapchainKHR,
7751		p_latency_marker_info: *const SetLatencyMarkerInfoNV<'_>,
7752	) -> (),
7753>;
7754
7755#[doc = "Nullable function pointer for `vkGetLatencyTimingsNV`."]
7756#[doc(alias = "vkGetLatencyTimingsNV")]
7757#[doc = "\n\n[Khronos reference: `vkGetLatencyTimingsNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetLatencyTimingsNV.html)"]
7758pub type PFN_vkGetLatencyTimingsNV = Option<
7759	unsafe extern "system" fn(
7760		device: DeviceHandle,
7761		swapchain: SwapchainKHR,
7762		p_latency_marker_info: *mut GetLatencyMarkerInfoNV<'_>,
7763	) -> (),
7764>;
7765
7766#[doc = "Nullable function pointer for `vkQueueNotifyOutOfBandNV`."]
7767#[doc(alias = "vkQueueNotifyOutOfBandNV")]
7768#[doc = "\n\n[Khronos reference: `vkQueueNotifyOutOfBandNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueNotifyOutOfBandNV.html)"]
7769pub type PFN_vkQueueNotifyOutOfBandNV = Option<
7770	unsafe extern "system" fn(
7771		queue: Queue,
7772		p_queue_type_info: *const OutOfBandQueueTypeInfoNV<'_>,
7773	) -> (),
7774>;
7775
7776#[doc = "Nullable function pointer for `vkSetLatencySleepModeLegacyNV`."]
7777#[doc(alias = "vkSetLatencySleepModeLegacyNV")]
7778#[doc = "\n\n[Khronos reference: `vkSetLatencySleepModeLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetLatencySleepModeLegacyNV.html)"]
7779pub type PFN_vkSetLatencySleepModeLegacyNV = Option<
7780	unsafe extern "system" fn(
7781		device: DeviceHandle,
7782		low_latency_mode: Bool32,
7783		low_latency_boost: Bool32,
7784		minimum_interval_us: u32,
7785	) -> (),
7786>;
7787
7788#[doc = "Nullable function pointer for `vkLatencySleepLegacyNV`."]
7789#[doc(alias = "vkLatencySleepLegacyNV")]
7790#[doc = "\n\n[Khronos reference: `vkLatencySleepLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkLatencySleepLegacyNV.html)"]
7791pub type PFN_vkLatencySleepLegacyNV = Option<
7792	unsafe extern "system" fn(device: DeviceHandle, signal_semaphore: Semaphore, value: u64) -> (),
7793>;
7794
7795#[doc = "Nullable function pointer for `vkSetLatencyMarkerLegacyNV`."]
7796#[doc(alias = "vkSetLatencyMarkerLegacyNV")]
7797#[doc = "\n\n[Khronos reference: `vkSetLatencyMarkerLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkSetLatencyMarkerLegacyNV.html)"]
7798pub type PFN_vkSetLatencyMarkerLegacyNV =
7799	Option<unsafe extern "system" fn(device: DeviceHandle, frame_id: u64, marker: u32) -> ()>;
7800
7801#[doc = "Nullable function pointer for `vkGetLatencyTimingsLegacyNV`."]
7802#[doc(alias = "vkGetLatencyTimingsLegacyNV")]
7803#[doc = "\n\n[Khronos reference: `vkGetLatencyTimingsLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetLatencyTimingsLegacyNV.html)"]
7804pub type PFN_vkGetLatencyTimingsLegacyNV =
7805	Option<unsafe extern "system" fn(device: DeviceHandle, p_timings: *mut std::ffi::c_void) -> ()>;
7806
7807#[doc = "Nullable function pointer for `vkQueueNotifyOutOfBandLegacyNV`."]
7808#[doc(alias = "vkQueueNotifyOutOfBandLegacyNV")]
7809#[doc = "\n\n[Khronos reference: `vkQueueNotifyOutOfBandLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueNotifyOutOfBandLegacyNV.html)"]
7810pub type PFN_vkQueueNotifyOutOfBandLegacyNV =
7811	Option<unsafe extern "system" fn(queue: Queue, queue_type: u32) -> ()>;
7812
7813#[doc = "Nullable function pointer for `vkGetSleepStatusLegacyNV`."]
7814#[doc(alias = "vkGetSleepStatusLegacyNV")]
7815#[doc = "\n\n[Khronos reference: `vkGetSleepStatusLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSleepStatusLegacyNV.html)"]
7816pub type PFN_vkGetSleepStatusLegacyNV =
7817	Option<unsafe extern "system" fn(device: DeviceHandle, p_low_latency_mode: *mut Bool32) -> ()>;
7818
7819#[doc = "Nullable function pointer for `vkShutdownLatencyDeviceLegacyNV`."]
7820#[doc(alias = "vkShutdownLatencyDeviceLegacyNV")]
7821#[doc = "\n\n[Khronos reference: `vkShutdownLatencyDeviceLegacyNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkShutdownLatencyDeviceLegacyNV.html)"]
7822pub type PFN_vkShutdownLatencyDeviceLegacyNV =
7823	Option<unsafe extern "system" fn(device: DeviceHandle) -> ()>;
7824
7825#[doc = "Nullable function pointer for `vkCmdSetRenderingAttachmentLocations`."]
7826#[doc(alias = "vkCmdSetRenderingAttachmentLocations")]
7827#[doc = "\n\n[Khronos reference: `vkCmdSetRenderingAttachmentLocations`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRenderingAttachmentLocations.html)"]
7828pub type PFN_vkCmdSetRenderingAttachmentLocations = Option<
7829	unsafe extern "system" fn(
7830		command_buffer: CommandBuffer,
7831		p_location_info: *const RenderingAttachmentLocationInfo<'_>,
7832	) -> (),
7833>;
7834
7835#[doc = "Nullable function pointer for `vkCmdSetRenderingAttachmentLocationsKHR`."]
7836#[doc(alias = "vkCmdSetRenderingAttachmentLocationsKHR")]
7837#[doc = "\n\n[Khronos reference: `vkCmdSetRenderingAttachmentLocationsKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRenderingAttachmentLocationsKHR.html)"]
7838pub type PFN_vkCmdSetRenderingAttachmentLocationsKHR = PFN_vkCmdSetRenderingAttachmentLocations;
7839
7840#[doc = "Nullable function pointer for `vkCmdSetRenderingInputAttachmentIndices`."]
7841#[doc(alias = "vkCmdSetRenderingInputAttachmentIndices")]
7842#[doc = "\n\n[Khronos reference: `vkCmdSetRenderingInputAttachmentIndices`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRenderingInputAttachmentIndices.html)"]
7843pub type PFN_vkCmdSetRenderingInputAttachmentIndices = Option<
7844	unsafe extern "system" fn(
7845		command_buffer: CommandBuffer,
7846		p_input_attachment_index_info: *const RenderingInputAttachmentIndexInfo<'_>,
7847	) -> (),
7848>;
7849
7850#[doc = "Nullable function pointer for `vkCmdSetRenderingInputAttachmentIndicesKHR`."]
7851#[doc(alias = "vkCmdSetRenderingInputAttachmentIndicesKHR")]
7852#[doc = "\n\n[Khronos reference: `vkCmdSetRenderingInputAttachmentIndicesKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetRenderingInputAttachmentIndicesKHR.html)"]
7853pub type PFN_vkCmdSetRenderingInputAttachmentIndicesKHR =
7854	PFN_vkCmdSetRenderingInputAttachmentIndices;
7855
7856#[doc = "Nullable function pointer for `vkCmdSetDepthClampRangeEXT`."]
7857#[doc(alias = "vkCmdSetDepthClampRangeEXT")]
7858#[doc = "\n\n[Khronos reference: `vkCmdSetDepthClampRangeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDepthClampRangeEXT.html)"]
7859pub type PFN_vkCmdSetDepthClampRangeEXT = Option<
7860	unsafe extern "system" fn(
7861		command_buffer: CommandBuffer,
7862		depth_clamp_mode: DepthClampModeEXT,
7863		p_depth_clamp_range: *const DepthClampRangeEXT,
7864	) -> (),
7865>;
7866
7867#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV`."]
7868#[doc(alias = "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV")]
7869#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html)"]
7870pub type PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = Option<
7871	unsafe extern "system" fn(
7872		physical_device: PhysicalDevice,
7873		p_property_count: *mut u32,
7874		p_properties: *mut CooperativeMatrixFlexibleDimensionsPropertiesNV<'_>,
7875	) -> Result,
7876>;
7877
7878#[cfg(feature = "platform-metal")]
7879#[doc = "Nullable function pointer for `vkGetMemoryMetalHandleEXT`."]
7880#[doc(alias = "vkGetMemoryMetalHandleEXT")]
7881#[doc = "\n\n[Khronos reference: `vkGetMemoryMetalHandleEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryMetalHandleEXT.html)"]
7882pub type PFN_vkGetMemoryMetalHandleEXT = Option<
7883	unsafe extern "system" fn(
7884		device: DeviceHandle,
7885		p_get_metal_handle_info: *const MemoryGetMetalHandleInfoEXT<'_>,
7886		p_handle: *mut *mut std::ffi::c_void,
7887	) -> Result,
7888>;
7889
7890#[cfg(feature = "platform-metal")]
7891#[doc = "Nullable function pointer for `vkGetMemoryMetalHandlePropertiesEXT`."]
7892#[doc(alias = "vkGetMemoryMetalHandlePropertiesEXT")]
7893#[doc = "\n\n[Khronos reference: `vkGetMemoryMetalHandlePropertiesEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryMetalHandlePropertiesEXT.html)"]
7894pub type PFN_vkGetMemoryMetalHandlePropertiesEXT = Option<
7895	unsafe extern "system" fn(
7896		device: DeviceHandle,
7897		handle_type: ExternalMemoryHandleTypeFlagBits,
7898		p_handle: *const std::ffi::c_void,
7899		p_memory_metal_handle_properties: *mut MemoryMetalHandlePropertiesEXT<'_>,
7900	) -> Result,
7901>;
7902
7903#[doc = "Nullable function pointer for `vkGetPhysicalDeviceCooperativeVectorPropertiesNV`."]
7904#[doc(alias = "vkGetPhysicalDeviceCooperativeVectorPropertiesNV")]
7905#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceCooperativeVectorPropertiesNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html)"]
7906pub type PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV = Option<
7907	unsafe extern "system" fn(
7908		physical_device: PhysicalDevice,
7909		p_property_count: *mut u32,
7910		p_properties: *mut CooperativeVectorPropertiesNV<'_>,
7911	) -> Result,
7912>;
7913
7914#[doc = "Nullable function pointer for `vkConvertCooperativeVectorMatrixNV`."]
7915#[doc(alias = "vkConvertCooperativeVectorMatrixNV")]
7916#[doc = "\n\n[Khronos reference: `vkConvertCooperativeVectorMatrixNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkConvertCooperativeVectorMatrixNV.html)"]
7917pub type PFN_vkConvertCooperativeVectorMatrixNV = Option<
7918	unsafe extern "system" fn(
7919		device: DeviceHandle,
7920		p_info: *const ConvertCooperativeVectorMatrixInfoNV<'_>,
7921	) -> Result,
7922>;
7923
7924#[doc = "Nullable function pointer for `vkCmdConvertCooperativeVectorMatrixNV`."]
7925#[doc(alias = "vkCmdConvertCooperativeVectorMatrixNV")]
7926#[doc = "\n\n[Khronos reference: `vkCmdConvertCooperativeVectorMatrixNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdConvertCooperativeVectorMatrixNV.html)"]
7927pub type PFN_vkCmdConvertCooperativeVectorMatrixNV = Option<
7928	unsafe extern "system" fn(
7929		command_buffer: CommandBuffer,
7930		info_count: u32,
7931		p_infos: *const ConvertCooperativeVectorMatrixInfoNV<'_>,
7932	) -> (),
7933>;
7934
7935#[doc = "Nullable function pointer for `vkCmdDispatchTileQCOM`."]
7936#[doc(alias = "vkCmdDispatchTileQCOM")]
7937#[doc = "\n\n[Khronos reference: `vkCmdDispatchTileQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchTileQCOM.html)"]
7938pub type PFN_vkCmdDispatchTileQCOM = Option<
7939	unsafe extern "system" fn(
7940		command_buffer: CommandBuffer,
7941		p_dispatch_tile_info: *const DispatchTileInfoQCOM<'_>,
7942	) -> (),
7943>;
7944
7945#[doc = "Nullable function pointer for `vkCmdBeginPerTileExecutionQCOM`."]
7946#[doc(alias = "vkCmdBeginPerTileExecutionQCOM")]
7947#[doc = "\n\n[Khronos reference: `vkCmdBeginPerTileExecutionQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginPerTileExecutionQCOM.html)"]
7948pub type PFN_vkCmdBeginPerTileExecutionQCOM = Option<
7949	unsafe extern "system" fn(
7950		command_buffer: CommandBuffer,
7951		p_per_tile_begin_info: *const PerTileBeginInfoQCOM<'_>,
7952	) -> (),
7953>;
7954
7955#[doc = "Nullable function pointer for `vkCmdEndPerTileExecutionQCOM`."]
7956#[doc(alias = "vkCmdEndPerTileExecutionQCOM")]
7957#[doc = "\n\n[Khronos reference: `vkCmdEndPerTileExecutionQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndPerTileExecutionQCOM.html)"]
7958pub type PFN_vkCmdEndPerTileExecutionQCOM = Option<
7959	unsafe extern "system" fn(
7960		command_buffer: CommandBuffer,
7961		p_per_tile_end_info: *const PerTileEndInfoQCOM<'_>,
7962	) -> (),
7963>;
7964
7965#[doc = "Nullable function pointer for `vkCreateExternalComputeQueueNV`."]
7966#[doc(alias = "vkCreateExternalComputeQueueNV")]
7967#[doc = "\n\n[Khronos reference: `vkCreateExternalComputeQueueNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateExternalComputeQueueNV.html)"]
7968pub type PFN_vkCreateExternalComputeQueueNV = Option<
7969	unsafe extern "system" fn(
7970		device: DeviceHandle,
7971		p_create_info: *const ExternalComputeQueueCreateInfoNV<'_>,
7972		p_allocator: *const AllocationCallbacks,
7973		p_external_queue: *mut ExternalComputeQueueNV,
7974	) -> Result,
7975>;
7976
7977#[doc = "Nullable function pointer for `vkDestroyExternalComputeQueueNV`."]
7978#[doc(alias = "vkDestroyExternalComputeQueueNV")]
7979#[doc = "\n\n[Khronos reference: `vkDestroyExternalComputeQueueNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyExternalComputeQueueNV.html)"]
7980pub type PFN_vkDestroyExternalComputeQueueNV = Option<
7981	unsafe extern "system" fn(
7982		device: DeviceHandle,
7983		external_queue: ExternalComputeQueueNV,
7984		p_allocator: *const AllocationCallbacks,
7985	) -> (),
7986>;
7987
7988#[doc = "Nullable function pointer for `vkGetExternalComputeQueueDataNV`."]
7989#[doc(alias = "vkGetExternalComputeQueueDataNV")]
7990#[doc = "\n\n[Khronos reference: `vkGetExternalComputeQueueDataNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetExternalComputeQueueDataNV.html)"]
7991pub type PFN_vkGetExternalComputeQueueDataNV = Option<
7992	unsafe extern "system" fn(
7993		external_queue: ExternalComputeQueueNV,
7994		params: *mut ExternalComputeQueueDataParamsNV<'_>,
7995		p_data: *mut std::ffi::c_void,
7996	) -> (),
7997>;
7998
7999#[doc = "Nullable function pointer for `vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM`."]
8000#[doc(alias = "vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM")]
8001#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html)"]
8002pub type PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM = Option<
8003	unsafe extern "system" fn(
8004		physical_device: PhysicalDevice,
8005		p_description_count: *mut u32,
8006		p_descriptions: *mut ShaderInstrumentationMetricDescriptionARM<'_>,
8007	) -> Result,
8008>;
8009
8010#[doc = "Nullable function pointer for `vkCreateShaderInstrumentationARM`."]
8011#[doc(alias = "vkCreateShaderInstrumentationARM")]
8012#[doc = "\n\n[Khronos reference: `vkCreateShaderInstrumentationARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateShaderInstrumentationARM.html)"]
8013pub type PFN_vkCreateShaderInstrumentationARM = Option<
8014	unsafe extern "system" fn(
8015		device: DeviceHandle,
8016		p_create_info: *const ShaderInstrumentationCreateInfoARM<'_>,
8017		p_allocator: *const AllocationCallbacks,
8018		p_instrumentation: *mut ShaderInstrumentationARM,
8019	) -> Result,
8020>;
8021
8022#[doc = "Nullable function pointer for `vkDestroyShaderInstrumentationARM`."]
8023#[doc(alias = "vkDestroyShaderInstrumentationARM")]
8024#[doc = "\n\n[Khronos reference: `vkDestroyShaderInstrumentationARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyShaderInstrumentationARM.html)"]
8025pub type PFN_vkDestroyShaderInstrumentationARM = Option<
8026	unsafe extern "system" fn(
8027		device: DeviceHandle,
8028		instrumentation: ShaderInstrumentationARM,
8029		p_allocator: *const AllocationCallbacks,
8030	) -> (),
8031>;
8032
8033#[doc = "Nullable function pointer for `vkCmdBeginShaderInstrumentationARM`."]
8034#[doc(alias = "vkCmdBeginShaderInstrumentationARM")]
8035#[doc = "\n\n[Khronos reference: `vkCmdBeginShaderInstrumentationARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginShaderInstrumentationARM.html)"]
8036pub type PFN_vkCmdBeginShaderInstrumentationARM = Option<
8037	unsafe extern "system" fn(
8038		command_buffer: CommandBuffer,
8039		instrumentation: ShaderInstrumentationARM,
8040	) -> (),
8041>;
8042
8043#[doc = "Nullable function pointer for `vkCmdEndShaderInstrumentationARM`."]
8044#[doc(alias = "vkCmdEndShaderInstrumentationARM")]
8045#[doc = "\n\n[Khronos reference: `vkCmdEndShaderInstrumentationARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndShaderInstrumentationARM.html)"]
8046pub type PFN_vkCmdEndShaderInstrumentationARM =
8047	Option<unsafe extern "system" fn(command_buffer: CommandBuffer) -> ()>;
8048
8049#[doc = "Nullable function pointer for `vkGetShaderInstrumentationValuesARM`."]
8050#[doc(alias = "vkGetShaderInstrumentationValuesARM")]
8051#[doc = "\n\n[Khronos reference: `vkGetShaderInstrumentationValuesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetShaderInstrumentationValuesARM.html)"]
8052pub type PFN_vkGetShaderInstrumentationValuesARM = Option<
8053	unsafe extern "system" fn(
8054		device: DeviceHandle,
8055		instrumentation: ShaderInstrumentationARM,
8056		p_metric_block_count: *mut u32,
8057		p_metric_values: *mut std::ffi::c_void,
8058		flags: ShaderInstrumentationValuesFlagsARM,
8059	) -> Result,
8060>;
8061
8062#[doc = "Nullable function pointer for `vkClearShaderInstrumentationMetricsARM`."]
8063#[doc(alias = "vkClearShaderInstrumentationMetricsARM")]
8064#[doc = "\n\n[Khronos reference: `vkClearShaderInstrumentationMetricsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkClearShaderInstrumentationMetricsARM.html)"]
8065pub type PFN_vkClearShaderInstrumentationMetricsARM = Option<
8066	unsafe extern "system" fn(device: DeviceHandle, instrumentation: ShaderInstrumentationARM) -> (),
8067>;
8068
8069#[doc = "Nullable function pointer for `vkCreateTensorARM`."]
8070#[doc(alias = "vkCreateTensorARM")]
8071#[doc = "\n\n[Khronos reference: `vkCreateTensorARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateTensorARM.html)"]
8072pub type PFN_vkCreateTensorARM = Option<
8073	unsafe extern "system" fn(
8074		device: DeviceHandle,
8075		p_create_info: *const TensorCreateInfoARM<'_>,
8076		p_allocator: *const AllocationCallbacks,
8077		p_tensor: *mut TensorARM,
8078	) -> Result,
8079>;
8080
8081#[doc = "Nullable function pointer for `vkDestroyTensorARM`."]
8082#[doc(alias = "vkDestroyTensorARM")]
8083#[doc = "\n\n[Khronos reference: `vkDestroyTensorARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyTensorARM.html)"]
8084pub type PFN_vkDestroyTensorARM = Option<
8085	unsafe extern "system" fn(
8086		device: DeviceHandle,
8087		tensor: TensorARM,
8088		p_allocator: *const AllocationCallbacks,
8089	) -> (),
8090>;
8091
8092#[doc = "Nullable function pointer for `vkCreateTensorViewARM`."]
8093#[doc(alias = "vkCreateTensorViewARM")]
8094#[doc = "\n\n[Khronos reference: `vkCreateTensorViewARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateTensorViewARM.html)"]
8095pub type PFN_vkCreateTensorViewARM = Option<
8096	unsafe extern "system" fn(
8097		device: DeviceHandle,
8098		p_create_info: *const TensorViewCreateInfoARM<'_>,
8099		p_allocator: *const AllocationCallbacks,
8100		p_view: *mut TensorViewARM,
8101	) -> Result,
8102>;
8103
8104#[doc = "Nullable function pointer for `vkDestroyTensorViewARM`."]
8105#[doc(alias = "vkDestroyTensorViewARM")]
8106#[doc = "\n\n[Khronos reference: `vkDestroyTensorViewARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyTensorViewARM.html)"]
8107pub type PFN_vkDestroyTensorViewARM = Option<
8108	unsafe extern "system" fn(
8109		device: DeviceHandle,
8110		tensor_view: TensorViewARM,
8111		p_allocator: *const AllocationCallbacks,
8112	) -> (),
8113>;
8114
8115#[doc = "Nullable function pointer for `vkGetTensorMemoryRequirementsARM`."]
8116#[doc(alias = "vkGetTensorMemoryRequirementsARM")]
8117#[doc = "\n\n[Khronos reference: `vkGetTensorMemoryRequirementsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetTensorMemoryRequirementsARM.html)"]
8118pub type PFN_vkGetTensorMemoryRequirementsARM = Option<
8119	unsafe extern "system" fn(
8120		device: DeviceHandle,
8121		p_info: *const TensorMemoryRequirementsInfoARM<'_>,
8122		p_memory_requirements: *mut MemoryRequirements2<'_>,
8123	) -> (),
8124>;
8125
8126#[doc = "Nullable function pointer for `vkBindTensorMemoryARM`."]
8127#[doc(alias = "vkBindTensorMemoryARM")]
8128#[doc = "\n\n[Khronos reference: `vkBindTensorMemoryARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindTensorMemoryARM.html)"]
8129pub type PFN_vkBindTensorMemoryARM = Option<
8130	unsafe extern "system" fn(
8131		device: DeviceHandle,
8132		bind_info_count: u32,
8133		p_bind_infos: *const BindTensorMemoryInfoARM<'_>,
8134	) -> Result,
8135>;
8136
8137#[doc = "Nullable function pointer for `vkGetDeviceTensorMemoryRequirementsARM`."]
8138#[doc(alias = "vkGetDeviceTensorMemoryRequirementsARM")]
8139#[doc = "\n\n[Khronos reference: `vkGetDeviceTensorMemoryRequirementsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceTensorMemoryRequirementsARM.html)"]
8140pub type PFN_vkGetDeviceTensorMemoryRequirementsARM = Option<
8141	unsafe extern "system" fn(
8142		device: DeviceHandle,
8143		p_info: *const DeviceTensorMemoryRequirementsARM<'_>,
8144		p_memory_requirements: *mut MemoryRequirements2<'_>,
8145	) -> (),
8146>;
8147
8148#[doc = "Nullable function pointer for `vkCmdCopyTensorARM`."]
8149#[doc(alias = "vkCmdCopyTensorARM")]
8150#[doc = "\n\n[Khronos reference: `vkCmdCopyTensorARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyTensorARM.html)"]
8151pub type PFN_vkCmdCopyTensorARM = Option<
8152	unsafe extern "system" fn(
8153		command_buffer: CommandBuffer,
8154		p_copy_tensor_info: *const CopyTensorInfoARM<'_>,
8155	) -> (),
8156>;
8157
8158#[doc = "Nullable function pointer for `vkGetTensorOpaqueCaptureDescriptorDataARM`."]
8159#[doc(alias = "vkGetTensorOpaqueCaptureDescriptorDataARM")]
8160#[doc = "\n\n[Khronos reference: `vkGetTensorOpaqueCaptureDescriptorDataARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetTensorOpaqueCaptureDescriptorDataARM.html)"]
8161pub type PFN_vkGetTensorOpaqueCaptureDescriptorDataARM = Option<
8162	unsafe extern "system" fn(
8163		device: DeviceHandle,
8164		p_info: *const TensorCaptureDescriptorDataInfoARM<'_>,
8165		p_data: *mut std::ffi::c_void,
8166	) -> Result,
8167>;
8168
8169#[doc = "Nullable function pointer for `vkGetTensorViewOpaqueCaptureDescriptorDataARM`."]
8170#[doc(alias = "vkGetTensorViewOpaqueCaptureDescriptorDataARM")]
8171#[doc = "\n\n[Khronos reference: `vkGetTensorViewOpaqueCaptureDescriptorDataARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html)"]
8172pub type PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM = Option<
8173	unsafe extern "system" fn(
8174		device: DeviceHandle,
8175		p_info: *const TensorViewCaptureDescriptorDataInfoARM<'_>,
8176		p_data: *mut std::ffi::c_void,
8177	) -> Result,
8178>;
8179
8180#[doc = "Nullable function pointer for `vkGetPhysicalDeviceExternalTensorPropertiesARM`."]
8181#[doc(alias = "vkGetPhysicalDeviceExternalTensorPropertiesARM")]
8182#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceExternalTensorPropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceExternalTensorPropertiesARM.html)"]
8183pub type PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM = Option<
8184	unsafe extern "system" fn(
8185		physical_device: PhysicalDevice,
8186		p_external_tensor_info: *const PhysicalDeviceExternalTensorInfoARM<'_>,
8187		p_external_tensor_properties: *mut ExternalTensorPropertiesARM<'_>,
8188	) -> (),
8189>;
8190
8191#[doc = "Nullable function pointer for `vkCreateDataGraphPipelinesARM`."]
8192#[doc(alias = "vkCreateDataGraphPipelinesARM")]
8193#[doc = "\n\n[Khronos reference: `vkCreateDataGraphPipelinesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDataGraphPipelinesARM.html)"]
8194pub type PFN_vkCreateDataGraphPipelinesARM = Option<
8195	unsafe extern "system" fn(
8196		device: DeviceHandle,
8197		deferred_operation: DeferredOperationKHR,
8198		pipeline_cache: PipelineCache,
8199		create_info_count: u32,
8200		p_create_infos: *const DataGraphPipelineCreateInfoARM<'_>,
8201		p_allocator: *const AllocationCallbacks,
8202		p_pipelines: *mut Pipeline,
8203	) -> Result,
8204>;
8205
8206#[doc = "Nullable function pointer for `vkCreateDataGraphPipelineSessionARM`."]
8207#[doc(alias = "vkCreateDataGraphPipelineSessionARM")]
8208#[doc = "\n\n[Khronos reference: `vkCreateDataGraphPipelineSessionARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateDataGraphPipelineSessionARM.html)"]
8209pub type PFN_vkCreateDataGraphPipelineSessionARM = Option<
8210	unsafe extern "system" fn(
8211		device: DeviceHandle,
8212		p_create_info: *const DataGraphPipelineSessionCreateInfoARM<'_>,
8213		p_allocator: *const AllocationCallbacks,
8214		p_session: *mut DataGraphPipelineSessionARM,
8215	) -> Result,
8216>;
8217
8218#[doc = "Nullable function pointer for `vkGetDataGraphPipelineSessionBindPointRequirementsARM`."]
8219#[doc(alias = "vkGetDataGraphPipelineSessionBindPointRequirementsARM")]
8220#[doc = "\n\n[Khronos reference: `vkGetDataGraphPipelineSessionBindPointRequirementsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html)"]
8221pub type PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM = Option<
8222	unsafe extern "system" fn(
8223		device: DeviceHandle,
8224		p_info: *const DataGraphPipelineSessionBindPointRequirementsInfoARM<'_>,
8225		p_bind_point_requirement_count: *mut u32,
8226		p_bind_point_requirements: *mut DataGraphPipelineSessionBindPointRequirementARM<'_>,
8227	) -> Result,
8228>;
8229
8230#[doc = "Nullable function pointer for `vkGetDataGraphPipelineSessionMemoryRequirementsARM`."]
8231#[doc(alias = "vkGetDataGraphPipelineSessionMemoryRequirementsARM")]
8232#[doc = "\n\n[Khronos reference: `vkGetDataGraphPipelineSessionMemoryRequirementsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html)"]
8233pub type PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM = Option<
8234	unsafe extern "system" fn(
8235		device: DeviceHandle,
8236		p_info: *const DataGraphPipelineSessionMemoryRequirementsInfoARM<'_>,
8237		p_memory_requirements: *mut MemoryRequirements2<'_>,
8238	) -> (),
8239>;
8240
8241#[doc = "Nullable function pointer for `vkBindDataGraphPipelineSessionMemoryARM`."]
8242#[doc(alias = "vkBindDataGraphPipelineSessionMemoryARM")]
8243#[doc = "\n\n[Khronos reference: `vkBindDataGraphPipelineSessionMemoryARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkBindDataGraphPipelineSessionMemoryARM.html)"]
8244pub type PFN_vkBindDataGraphPipelineSessionMemoryARM = Option<
8245	unsafe extern "system" fn(
8246		device: DeviceHandle,
8247		bind_info_count: u32,
8248		p_bind_infos: *const BindDataGraphPipelineSessionMemoryInfoARM<'_>,
8249	) -> Result,
8250>;
8251
8252#[doc = "Nullable function pointer for `vkDestroyDataGraphPipelineSessionARM`."]
8253#[doc(alias = "vkDestroyDataGraphPipelineSessionARM")]
8254#[doc = "\n\n[Khronos reference: `vkDestroyDataGraphPipelineSessionARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkDestroyDataGraphPipelineSessionARM.html)"]
8255pub type PFN_vkDestroyDataGraphPipelineSessionARM = Option<
8256	unsafe extern "system" fn(
8257		device: DeviceHandle,
8258		session: DataGraphPipelineSessionARM,
8259		p_allocator: *const AllocationCallbacks,
8260	) -> (),
8261>;
8262
8263#[doc = "Nullable function pointer for `vkCmdDispatchDataGraphARM`."]
8264#[doc(alias = "vkCmdDispatchDataGraphARM")]
8265#[doc = "\n\n[Khronos reference: `vkCmdDispatchDataGraphARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchDataGraphARM.html)"]
8266pub type PFN_vkCmdDispatchDataGraphARM = Option<
8267	unsafe extern "system" fn(
8268		command_buffer: CommandBuffer,
8269		session: DataGraphPipelineSessionARM,
8270		p_info: *const DataGraphPipelineDispatchInfoARM<'_>,
8271	) -> (),
8272>;
8273
8274#[doc = "Nullable function pointer for `vkGetDataGraphPipelineAvailablePropertiesARM`."]
8275#[doc(alias = "vkGetDataGraphPipelineAvailablePropertiesARM")]
8276#[doc = "\n\n[Khronos reference: `vkGetDataGraphPipelineAvailablePropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDataGraphPipelineAvailablePropertiesARM.html)"]
8277pub type PFN_vkGetDataGraphPipelineAvailablePropertiesARM = Option<
8278	unsafe extern "system" fn(
8279		device: DeviceHandle,
8280		p_pipeline_info: *const DataGraphPipelineInfoARM<'_>,
8281		p_properties_count: *mut u32,
8282		p_properties: *mut DataGraphPipelinePropertyARM,
8283	) -> Result,
8284>;
8285
8286#[doc = "Nullable function pointer for `vkGetDataGraphPipelinePropertiesARM`."]
8287#[doc(alias = "vkGetDataGraphPipelinePropertiesARM")]
8288#[doc = "\n\n[Khronos reference: `vkGetDataGraphPipelinePropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDataGraphPipelinePropertiesARM.html)"]
8289pub type PFN_vkGetDataGraphPipelinePropertiesARM = Option<
8290	unsafe extern "system" fn(
8291		device: DeviceHandle,
8292		p_pipeline_info: *const DataGraphPipelineInfoARM<'_>,
8293		properties_count: u32,
8294		p_properties: *mut DataGraphPipelinePropertyQueryResultARM<'_>,
8295	) -> Result,
8296>;
8297
8298#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM`."]
8299#[doc(alias = "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM")]
8300#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html)"]
8301pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = Option<
8302	unsafe extern "system" fn(
8303		physical_device: PhysicalDevice,
8304		queue_family_index: u32,
8305		p_queue_family_data_graph_property_count: *mut u32,
8306		p_queue_family_data_graph_properties: *mut QueueFamilyDataGraphPropertiesARM<'_>,
8307	) -> Result,
8308>;
8309
8310#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM`."]
8311#[doc(alias = "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM")]
8312#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html)"]
8313pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = Option<unsafe extern "system" fn(physical_device: PhysicalDevice, p_queue_family_data_graph_processing_engine_info: *const PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM<'_>, p_queue_family_data_graph_processing_engine_properties: *mut QueueFamilyDataGraphProcessingEnginePropertiesARM<'_>) -> ()>;
8314
8315#[cfg(feature = "platform-ohos")]
8316#[doc = "Nullable function pointer for `vkGetNativeBufferPropertiesOHOS`."]
8317#[doc(alias = "vkGetNativeBufferPropertiesOHOS")]
8318#[doc = "\n\n[Khronos reference: `vkGetNativeBufferPropertiesOHOS`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetNativeBufferPropertiesOHOS.html)"]
8319pub type PFN_vkGetNativeBufferPropertiesOHOS = Option<
8320	unsafe extern "system" fn(
8321		device: DeviceHandle,
8322		buffer: *const OH_NativeBuffer,
8323		p_properties: *mut NativeBufferPropertiesOHOS<'_>,
8324	) -> Result,
8325>;
8326
8327#[cfg(feature = "platform-ohos")]
8328#[doc = "Nullable function pointer for `vkGetMemoryNativeBufferOHOS`."]
8329#[doc(alias = "vkGetMemoryNativeBufferOHOS")]
8330#[doc = "\n\n[Khronos reference: `vkGetMemoryNativeBufferOHOS`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetMemoryNativeBufferOHOS.html)"]
8331pub type PFN_vkGetMemoryNativeBufferOHOS = Option<
8332	unsafe extern "system" fn(
8333		device: DeviceHandle,
8334		p_info: *const MemoryGetNativeBufferInfoOHOS<'_>,
8335		p_buffer: *mut *mut OH_NativeBuffer,
8336	) -> Result,
8337>;
8338
8339#[doc = "Nullable function pointer for `vkQueueSetPerfHintQCOM`."]
8340#[doc(alias = "vkQueueSetPerfHintQCOM")]
8341#[doc = "\n\n[Khronos reference: `vkQueueSetPerfHintQCOM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkQueueSetPerfHintQCOM.html)"]
8342pub type PFN_vkQueueSetPerfHintQCOM = Option<
8343	unsafe extern "system" fn(queue: Queue, p_perf_hint_info: *const PerfHintInfoQCOM<'_>) -> Result,
8344>;
8345
8346#[doc = "Nullable function pointer for `vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM`."]
8347#[doc(alias = "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM")]
8348#[doc = "\n\n[Khronos reference: `vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html)"]
8349pub type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = Option<
8350	unsafe extern "system" fn(
8351		physical_device: PhysicalDevice,
8352		queue_family_index: u32,
8353		p_counter_count: *mut u32,
8354		p_counters: *mut PerformanceCounterARM<'_>,
8355		p_counter_descriptions: *mut PerformanceCounterDescriptionARM<'_>,
8356	) -> Result,
8357>;
8358
8359#[doc = "Nullable function pointer for `vkCmdSetComputeOccupancyPriorityNV`."]
8360#[doc(alias = "vkCmdSetComputeOccupancyPriorityNV")]
8361#[doc = "\n\n[Khronos reference: `vkCmdSetComputeOccupancyPriorityNV`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetComputeOccupancyPriorityNV.html)"]
8362pub type PFN_vkCmdSetComputeOccupancyPriorityNV = Option<
8363	unsafe extern "system" fn(
8364		command_buffer: CommandBuffer,
8365		p_parameters: *const ComputeOccupancyPriorityParametersNV<'_>,
8366	) -> (),
8367>;
8368
8369#[doc = "Nullable function pointer for `vkWriteSamplerDescriptorsEXT`."]
8370#[doc(alias = "vkWriteSamplerDescriptorsEXT")]
8371#[doc = "\n\n[Khronos reference: `vkWriteSamplerDescriptorsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWriteSamplerDescriptorsEXT.html)"]
8372pub type PFN_vkWriteSamplerDescriptorsEXT = Option<
8373	unsafe extern "system" fn(
8374		device: DeviceHandle,
8375		sampler_count: u32,
8376		p_samplers: *const SamplerCreateInfo<'_>,
8377		p_descriptors: *const HostAddressRangeEXT<'_>,
8378	) -> Result,
8379>;
8380
8381#[doc = "Nullable function pointer for `vkWriteResourceDescriptorsEXT`."]
8382#[doc(alias = "vkWriteResourceDescriptorsEXT")]
8383#[doc = "\n\n[Khronos reference: `vkWriteResourceDescriptorsEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkWriteResourceDescriptorsEXT.html)"]
8384pub type PFN_vkWriteResourceDescriptorsEXT = Option<
8385	unsafe extern "system" fn(
8386		device: DeviceHandle,
8387		resource_count: u32,
8388		p_resources: *const ResourceDescriptorInfoEXT<'_>,
8389		p_descriptors: *const HostAddressRangeEXT<'_>,
8390	) -> Result,
8391>;
8392
8393#[doc = "Nullable function pointer for `vkCmdBindSamplerHeapEXT`."]
8394#[doc(alias = "vkCmdBindSamplerHeapEXT")]
8395#[doc = "\n\n[Khronos reference: `vkCmdBindSamplerHeapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindSamplerHeapEXT.html)"]
8396pub type PFN_vkCmdBindSamplerHeapEXT = Option<
8397	unsafe extern "system" fn(
8398		command_buffer: CommandBuffer,
8399		p_bind_info: *const BindHeapInfoEXT<'_>,
8400	) -> (),
8401>;
8402
8403#[doc = "Nullable function pointer for `vkCmdBindResourceHeapEXT`."]
8404#[doc(alias = "vkCmdBindResourceHeapEXT")]
8405#[doc = "\n\n[Khronos reference: `vkCmdBindResourceHeapEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindResourceHeapEXT.html)"]
8406pub type PFN_vkCmdBindResourceHeapEXT = Option<
8407	unsafe extern "system" fn(
8408		command_buffer: CommandBuffer,
8409		p_bind_info: *const BindHeapInfoEXT<'_>,
8410	) -> (),
8411>;
8412
8413#[doc = "Nullable function pointer for `vkCmdPushDataEXT`."]
8414#[doc(alias = "vkCmdPushDataEXT")]
8415#[doc = "\n\n[Khronos reference: `vkCmdPushDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdPushDataEXT.html)"]
8416pub type PFN_vkCmdPushDataEXT = Option<
8417	unsafe extern "system" fn(
8418		command_buffer: CommandBuffer,
8419		p_push_data_info: *const PushDataInfoEXT<'_>,
8420	) -> (),
8421>;
8422
8423#[doc = "Nullable function pointer for `vkRegisterCustomBorderColorEXT`."]
8424#[doc(alias = "vkRegisterCustomBorderColorEXT")]
8425#[doc = "\n\n[Khronos reference: `vkRegisterCustomBorderColorEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkRegisterCustomBorderColorEXT.html)"]
8426pub type PFN_vkRegisterCustomBorderColorEXT = Option<
8427	unsafe extern "system" fn(
8428		device: DeviceHandle,
8429		p_border_color: *const SamplerCustomBorderColorCreateInfoEXT<'_>,
8430		request_index: Bool32,
8431		p_index: *mut u32,
8432	) -> Result,
8433>;
8434
8435#[doc = "Nullable function pointer for `vkUnregisterCustomBorderColorEXT`."]
8436#[doc(alias = "vkUnregisterCustomBorderColorEXT")]
8437#[doc = "\n\n[Khronos reference: `vkUnregisterCustomBorderColorEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkUnregisterCustomBorderColorEXT.html)"]
8438pub type PFN_vkUnregisterCustomBorderColorEXT =
8439	Option<unsafe extern "system" fn(device: DeviceHandle, index: u32) -> ()>;
8440
8441#[doc = "Nullable function pointer for `vkGetImageOpaqueCaptureDataEXT`."]
8442#[doc(alias = "vkGetImageOpaqueCaptureDataEXT")]
8443#[doc = "\n\n[Khronos reference: `vkGetImageOpaqueCaptureDataEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetImageOpaqueCaptureDataEXT.html)"]
8444pub type PFN_vkGetImageOpaqueCaptureDataEXT = Option<
8445	unsafe extern "system" fn(
8446		device: DeviceHandle,
8447		image_count: u32,
8448		p_images: *const Image,
8449		p_datas: *mut HostAddressRangeEXT<'_>,
8450	) -> Result,
8451>;
8452
8453#[doc = "Nullable function pointer for `vkGetPhysicalDeviceDescriptorSizeEXT`."]
8454#[doc(alias = "vkGetPhysicalDeviceDescriptorSizeEXT")]
8455#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceDescriptorSizeEXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceDescriptorSizeEXT.html)"]
8456pub type PFN_vkGetPhysicalDeviceDescriptorSizeEXT = Option<
8457	unsafe extern "system" fn(
8458		physical_device: PhysicalDevice,
8459		descriptor_type: DescriptorType,
8460	) -> DeviceSize,
8461>;
8462
8463#[doc = "Nullable function pointer for `vkGetTensorOpaqueCaptureDataARM`."]
8464#[doc(alias = "vkGetTensorOpaqueCaptureDataARM")]
8465#[doc = "\n\n[Khronos reference: `vkGetTensorOpaqueCaptureDataARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetTensorOpaqueCaptureDataARM.html)"]
8466pub type PFN_vkGetTensorOpaqueCaptureDataARM = Option<
8467	unsafe extern "system" fn(
8468		device: DeviceHandle,
8469		tensor_count: u32,
8470		p_tensors: *const TensorARM,
8471		p_datas: *mut HostAddressRangeEXT<'_>,
8472	) -> Result,
8473>;
8474
8475#[doc = "Nullable function pointer for `vkCmdCopyMemoryKHR`."]
8476#[doc(alias = "vkCmdCopyMemoryKHR")]
8477#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryKHR.html)"]
8478pub type PFN_vkCmdCopyMemoryKHR = Option<
8479	unsafe extern "system" fn(
8480		command_buffer: CommandBuffer,
8481		p_copy_memory_info: *const CopyDeviceMemoryInfoKHR<'_>,
8482	) -> (),
8483>;
8484
8485#[doc = "Nullable function pointer for `vkCmdCopyMemoryToImageKHR`."]
8486#[doc(alias = "vkCmdCopyMemoryToImageKHR")]
8487#[doc = "\n\n[Khronos reference: `vkCmdCopyMemoryToImageKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyMemoryToImageKHR.html)"]
8488pub type PFN_vkCmdCopyMemoryToImageKHR = Option<
8489	unsafe extern "system" fn(
8490		command_buffer: CommandBuffer,
8491		p_copy_memory_info: *const CopyDeviceMemoryImageInfoKHR<'_>,
8492	) -> (),
8493>;
8494
8495#[doc = "Nullable function pointer for `vkCmdCopyImageToMemoryKHR`."]
8496#[doc(alias = "vkCmdCopyImageToMemoryKHR")]
8497#[doc = "\n\n[Khronos reference: `vkCmdCopyImageToMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyImageToMemoryKHR.html)"]
8498pub type PFN_vkCmdCopyImageToMemoryKHR = Option<
8499	unsafe extern "system" fn(
8500		command_buffer: CommandBuffer,
8501		p_copy_memory_info: *const CopyDeviceMemoryImageInfoKHR<'_>,
8502	) -> (),
8503>;
8504
8505#[doc = "Nullable function pointer for `vkCmdUpdateMemoryKHR`."]
8506#[doc(alias = "vkCmdUpdateMemoryKHR")]
8507#[doc = "\n\n[Khronos reference: `vkCmdUpdateMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdUpdateMemoryKHR.html)"]
8508pub type PFN_vkCmdUpdateMemoryKHR = Option<
8509	unsafe extern "system" fn(
8510		command_buffer: CommandBuffer,
8511		p_dst_range: *const DeviceAddressRangeKHR,
8512		dst_flags: AddressCommandFlagsKHR,
8513		data_size: DeviceSize,
8514		p_data: *const std::ffi::c_void,
8515	) -> (),
8516>;
8517
8518#[doc = "Nullable function pointer for `vkCmdFillMemoryKHR`."]
8519#[doc(alias = "vkCmdFillMemoryKHR")]
8520#[doc = "\n\n[Khronos reference: `vkCmdFillMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdFillMemoryKHR.html)"]
8521pub type PFN_vkCmdFillMemoryKHR = Option<
8522	unsafe extern "system" fn(
8523		command_buffer: CommandBuffer,
8524		p_dst_range: *const DeviceAddressRangeKHR,
8525		dst_flags: AddressCommandFlagsKHR,
8526		data: u32,
8527	) -> (),
8528>;
8529
8530#[doc = "Nullable function pointer for `vkCmdCopyQueryPoolResultsToMemoryKHR`."]
8531#[doc(alias = "vkCmdCopyQueryPoolResultsToMemoryKHR")]
8532#[doc = "\n\n[Khronos reference: `vkCmdCopyQueryPoolResultsToMemoryKHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdCopyQueryPoolResultsToMemoryKHR.html)"]
8533pub type PFN_vkCmdCopyQueryPoolResultsToMemoryKHR = Option<
8534	unsafe extern "system" fn(
8535		command_buffer: CommandBuffer,
8536		query_pool: QueryPool,
8537		first_query: u32,
8538		query_count: u32,
8539		p_dst_range: *const StridedDeviceAddressRangeKHR,
8540		dst_flags: AddressCommandFlagsKHR,
8541		query_result_flags: QueryResultFlags,
8542	) -> (),
8543>;
8544
8545#[doc = "Nullable function pointer for `vkCmdBeginConditionalRendering2EXT`."]
8546#[doc(alias = "vkCmdBeginConditionalRendering2EXT")]
8547#[doc = "\n\n[Khronos reference: `vkCmdBeginConditionalRendering2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginConditionalRendering2EXT.html)"]
8548pub type PFN_vkCmdBeginConditionalRendering2EXT = Option<
8549	unsafe extern "system" fn(
8550		command_buffer: CommandBuffer,
8551		p_conditional_rendering_begin: *const ConditionalRenderingBeginInfo2EXT<'_>,
8552	) -> (),
8553>;
8554
8555#[doc = "Nullable function pointer for `vkCmdBindTransformFeedbackBuffers2EXT`."]
8556#[doc(alias = "vkCmdBindTransformFeedbackBuffers2EXT")]
8557#[doc = "\n\n[Khronos reference: `vkCmdBindTransformFeedbackBuffers2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindTransformFeedbackBuffers2EXT.html)"]
8558pub type PFN_vkCmdBindTransformFeedbackBuffers2EXT = Option<
8559	unsafe extern "system" fn(
8560		command_buffer: CommandBuffer,
8561		first_binding: u32,
8562		binding_count: u32,
8563		p_binding_infos: *const BindTransformFeedbackBuffer2InfoEXT<'_>,
8564	) -> (),
8565>;
8566
8567#[doc = "Nullable function pointer for `vkCmdBeginTransformFeedback2EXT`."]
8568#[doc(alias = "vkCmdBeginTransformFeedback2EXT")]
8569#[doc = "\n\n[Khronos reference: `vkCmdBeginTransformFeedback2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBeginTransformFeedback2EXT.html)"]
8570pub type PFN_vkCmdBeginTransformFeedback2EXT = Option<
8571	unsafe extern "system" fn(
8572		command_buffer: CommandBuffer,
8573		first_counter_range: u32,
8574		counter_range_count: u32,
8575		p_counter_infos: *const BindTransformFeedbackBuffer2InfoEXT<'_>,
8576	) -> (),
8577>;
8578
8579#[doc = "Nullable function pointer for `vkCmdEndTransformFeedback2EXT`."]
8580#[doc(alias = "vkCmdEndTransformFeedback2EXT")]
8581#[doc = "\n\n[Khronos reference: `vkCmdEndTransformFeedback2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdEndTransformFeedback2EXT.html)"]
8582pub type PFN_vkCmdEndTransformFeedback2EXT = Option<
8583	unsafe extern "system" fn(
8584		command_buffer: CommandBuffer,
8585		first_counter_range: u32,
8586		counter_range_count: u32,
8587		p_counter_infos: *const BindTransformFeedbackBuffer2InfoEXT<'_>,
8588	) -> (),
8589>;
8590
8591#[doc = "Nullable function pointer for `vkCmdDrawIndirectByteCount2EXT`."]
8592#[doc(alias = "vkCmdDrawIndirectByteCount2EXT")]
8593#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectByteCount2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectByteCount2EXT.html)"]
8594pub type PFN_vkCmdDrawIndirectByteCount2EXT = Option<
8595	unsafe extern "system" fn(
8596		command_buffer: CommandBuffer,
8597		instance_count: u32,
8598		first_instance: u32,
8599		p_counter_info: *const BindTransformFeedbackBuffer2InfoEXT<'_>,
8600		counter_offset: u32,
8601		vertex_stride: u32,
8602	) -> (),
8603>;
8604
8605#[doc = "Nullable function pointer for `vkCmdWriteMarkerToMemoryAMD`."]
8606#[doc(alias = "vkCmdWriteMarkerToMemoryAMD")]
8607#[doc = "\n\n[Khronos reference: `vkCmdWriteMarkerToMemoryAMD`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdWriteMarkerToMemoryAMD.html)"]
8608pub type PFN_vkCmdWriteMarkerToMemoryAMD = Option<
8609	unsafe extern "system" fn(
8610		command_buffer: CommandBuffer,
8611		p_info: *const MemoryMarkerInfoAMD<'_>,
8612	) -> (),
8613>;
8614
8615#[doc = "Nullable function pointer for `vkCmdBindIndexBuffer3KHR`."]
8616#[doc(alias = "vkCmdBindIndexBuffer3KHR")]
8617#[doc = "\n\n[Khronos reference: `vkCmdBindIndexBuffer3KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindIndexBuffer3KHR.html)"]
8618pub type PFN_vkCmdBindIndexBuffer3KHR = Option<
8619	unsafe extern "system" fn(
8620		command_buffer: CommandBuffer,
8621		p_info: *const BindIndexBuffer3InfoKHR<'_>,
8622	) -> (),
8623>;
8624
8625#[doc = "Nullable function pointer for `vkCmdBindVertexBuffers3KHR`."]
8626#[doc(alias = "vkCmdBindVertexBuffers3KHR")]
8627#[doc = "\n\n[Khronos reference: `vkCmdBindVertexBuffers3KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdBindVertexBuffers3KHR.html)"]
8628pub type PFN_vkCmdBindVertexBuffers3KHR = Option<
8629	unsafe extern "system" fn(
8630		command_buffer: CommandBuffer,
8631		first_binding: u32,
8632		binding_count: u32,
8633		p_binding_infos: *const BindVertexBuffer3InfoKHR<'_>,
8634	) -> (),
8635>;
8636
8637#[doc = "Nullable function pointer for `vkCmdDrawIndirect2KHR`."]
8638#[doc(alias = "vkCmdDrawIndirect2KHR")]
8639#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirect2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirect2KHR.html)"]
8640pub type PFN_vkCmdDrawIndirect2KHR = Option<
8641	unsafe extern "system" fn(
8642		command_buffer: CommandBuffer,
8643		p_info: *const DrawIndirect2InfoKHR<'_>,
8644	) -> (),
8645>;
8646
8647#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirect2KHR`."]
8648#[doc(alias = "vkCmdDrawIndexedIndirect2KHR")]
8649#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirect2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirect2KHR.html)"]
8650pub type PFN_vkCmdDrawIndexedIndirect2KHR = Option<
8651	unsafe extern "system" fn(
8652		command_buffer: CommandBuffer,
8653		p_info: *const DrawIndirect2InfoKHR<'_>,
8654	) -> (),
8655>;
8656
8657#[doc = "Nullable function pointer for `vkCmdDrawIndirectCount2KHR`."]
8658#[doc(alias = "vkCmdDrawIndirectCount2KHR")]
8659#[doc = "\n\n[Khronos reference: `vkCmdDrawIndirectCount2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndirectCount2KHR.html)"]
8660pub type PFN_vkCmdDrawIndirectCount2KHR = Option<
8661	unsafe extern "system" fn(
8662		command_buffer: CommandBuffer,
8663		p_info: *const DrawIndirectCount2InfoKHR<'_>,
8664	) -> (),
8665>;
8666
8667#[doc = "Nullable function pointer for `vkCmdDrawIndexedIndirectCount2KHR`."]
8668#[doc(alias = "vkCmdDrawIndexedIndirectCount2KHR")]
8669#[doc = "\n\n[Khronos reference: `vkCmdDrawIndexedIndirectCount2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawIndexedIndirectCount2KHR.html)"]
8670pub type PFN_vkCmdDrawIndexedIndirectCount2KHR = Option<
8671	unsafe extern "system" fn(
8672		command_buffer: CommandBuffer,
8673		p_info: *const DrawIndirectCount2InfoKHR<'_>,
8674	) -> (),
8675>;
8676
8677#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirect2EXT`."]
8678#[doc(alias = "vkCmdDrawMeshTasksIndirect2EXT")]
8679#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirect2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirect2EXT.html)"]
8680pub type PFN_vkCmdDrawMeshTasksIndirect2EXT = Option<
8681	unsafe extern "system" fn(
8682		command_buffer: CommandBuffer,
8683		p_info: *const DrawIndirect2InfoKHR<'_>,
8684	) -> (),
8685>;
8686
8687#[doc = "Nullable function pointer for `vkCmdDrawMeshTasksIndirectCount2EXT`."]
8688#[doc(alias = "vkCmdDrawMeshTasksIndirectCount2EXT")]
8689#[doc = "\n\n[Khronos reference: `vkCmdDrawMeshTasksIndirectCount2EXT`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDrawMeshTasksIndirectCount2EXT.html)"]
8690pub type PFN_vkCmdDrawMeshTasksIndirectCount2EXT = Option<
8691	unsafe extern "system" fn(
8692		command_buffer: CommandBuffer,
8693		p_info: *const DrawIndirectCount2InfoKHR<'_>,
8694	) -> (),
8695>;
8696
8697#[doc = "Nullable function pointer for `vkCmdDispatchIndirect2KHR`."]
8698#[doc(alias = "vkCmdDispatchIndirect2KHR")]
8699#[doc = "\n\n[Khronos reference: `vkCmdDispatchIndirect2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdDispatchIndirect2KHR.html)"]
8700pub type PFN_vkCmdDispatchIndirect2KHR = Option<
8701	unsafe extern "system" fn(
8702		command_buffer: CommandBuffer,
8703		p_info: *const DispatchIndirect2InfoKHR<'_>,
8704	) -> (),
8705>;
8706
8707#[doc = "Nullable function pointer for `vkCreateAccelerationStructure2KHR`."]
8708#[doc(alias = "vkCreateAccelerationStructure2KHR")]
8709#[doc = "\n\n[Khronos reference: `vkCreateAccelerationStructure2KHR`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateAccelerationStructure2KHR.html)"]
8710pub type PFN_vkCreateAccelerationStructure2KHR = Option<
8711	unsafe extern "system" fn(
8712		device: DeviceHandle,
8713		p_create_info: *const AccelerationStructureCreateInfo2KHR<'_>,
8714		p_allocator: *const AllocationCallbacks,
8715		p_acceleration_structure: *mut AccelerationStructureKHR,
8716	) -> Result,
8717>;
8718
8719#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM`."]
8720#[doc(alias = "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM")]
8721#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM.html)"]
8722pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = Option<
8723	unsafe extern "system" fn(
8724		physical_device: PhysicalDevice,
8725		queue_family_index: u32,
8726		p_queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM<'_>,
8727		p_properties: *mut BaseOutStructure<'_>,
8728	) -> Result,
8729>;
8730
8731#[doc = "Nullable function pointer for `vkCmdSetDispatchParametersARM`."]
8732#[doc(alias = "vkCmdSetDispatchParametersARM")]
8733#[doc = "\n\n[Khronos reference: `vkCmdSetDispatchParametersARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCmdSetDispatchParametersARM.html)"]
8734pub type PFN_vkCmdSetDispatchParametersARM = Option<
8735	unsafe extern "system" fn(
8736		command_buffer: CommandBuffer,
8737		p_dispatch_parameters: *const DispatchParametersARM<'_>,
8738	) -> (),
8739>;
8740
8741#[doc = "Nullable function pointer for `vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM`."]
8742#[doc(alias = "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM")]
8743#[doc = "\n\n[Khronos reference: `vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM`](https://docs.vulkan.org/refpages/latest/refpages/source/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html)"]
8744pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = Option<
8745	unsafe extern "system" fn(
8746		physical_device: PhysicalDevice,
8747		queue_family_index: u32,
8748		p_queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM<'_>,
8749		p_optical_flow_image_format_info: *const DataGraphOpticalFlowImageFormatInfoARM<'_>,
8750		p_format_count: *mut u32,
8751		p_image_format_properties: *mut DataGraphOpticalFlowImageFormatPropertiesARM<'_>,
8752	) -> Result,
8753>;