1#![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>;