1use crate::vk::bitflags::*;
2use crate::vk::definitions::*;
3use crate::vk::enums::*;
4use core::ffi::*;
5#[allow(non_camel_case_types)]
6pub type PFN_vkGetInstanceProcAddr = unsafe extern "system" fn(
7 instance: crate::vk::Instance,
8 p_name: *const c_char,
9) -> PFN_vkVoidFunction;
10#[allow(non_camel_case_types)]
11pub type PFN_vkCreateInstance = unsafe extern "system" fn(
12 p_create_info: *const InstanceCreateInfo<'_>,
13 p_allocator: *const AllocationCallbacks<'_>,
14 p_instance: *mut crate::vk::Instance,
15) -> Result;
16#[allow(non_camel_case_types)]
17pub type PFN_vkEnumerateInstanceExtensionProperties = unsafe extern "system" fn(
18 p_layer_name: *const c_char,
19 p_property_count: *mut u32,
20 p_properties: *mut ExtensionProperties,
21) -> Result;
22#[allow(non_camel_case_types)]
23pub type PFN_vkEnumerateInstanceLayerProperties = unsafe extern "system" fn(
24 p_property_count: *mut u32,
25 p_properties: *mut LayerProperties,
26) -> Result;
27#[allow(non_camel_case_types)]
28pub type PFN_vkDestroyInstance = unsafe extern "system" fn(
29 instance: crate::vk::Instance,
30 p_allocator: *const AllocationCallbacks<'_>,
31);
32#[allow(non_camel_case_types)]
33pub type PFN_vkEnumeratePhysicalDevices = unsafe extern "system" fn(
34 instance: crate::vk::Instance,
35 p_physical_device_count: *mut u32,
36 p_physical_devices: *mut PhysicalDevice,
37) -> Result;
38#[allow(non_camel_case_types)]
39pub type PFN_vkGetPhysicalDeviceFeatures = unsafe extern "system" fn(
40 physical_device: PhysicalDevice,
41 p_features: *mut PhysicalDeviceFeatures,
42);
43#[allow(non_camel_case_types)]
44pub type PFN_vkGetPhysicalDeviceFormatProperties = unsafe extern "system" fn(
45 physical_device: PhysicalDevice,
46 format: Format,
47 p_format_properties: *mut FormatProperties,
48);
49#[allow(non_camel_case_types)]
50pub type PFN_vkGetPhysicalDeviceImageFormatProperties = unsafe extern "system" fn(
51 physical_device: PhysicalDevice,
52 format: Format,
53 ty: ImageType,
54 tiling: ImageTiling,
55 usage: ImageUsageFlags,
56 flags: ImageCreateFlags,
57 p_image_format_properties: *mut ImageFormatProperties,
58) -> Result;
59#[allow(non_camel_case_types)]
60pub type PFN_vkGetPhysicalDeviceProperties = unsafe extern "system" fn(
61 physical_device: PhysicalDevice,
62 p_properties: *mut PhysicalDeviceProperties,
63);
64#[allow(non_camel_case_types)]
65pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = unsafe extern "system" fn(
66 physical_device: PhysicalDevice,
67 p_queue_family_property_count: *mut u32,
68 p_queue_family_properties: *mut QueueFamilyProperties,
69);
70#[allow(non_camel_case_types)]
71pub type PFN_vkGetPhysicalDeviceMemoryProperties = unsafe extern "system" fn(
72 physical_device: PhysicalDevice,
73 p_memory_properties: *mut PhysicalDeviceMemoryProperties,
74);
75#[allow(non_camel_case_types)]
76pub type PFN_vkGetDeviceProcAddr = unsafe extern "system" fn(
77 device: crate::vk::Device,
78 p_name: *const c_char,
79) -> PFN_vkVoidFunction;
80#[allow(non_camel_case_types)]
81pub type PFN_vkCreateDevice = unsafe extern "system" fn(
82 physical_device: PhysicalDevice,
83 p_create_info: *const DeviceCreateInfo<'_>,
84 p_allocator: *const AllocationCallbacks<'_>,
85 p_device: *mut crate::vk::Device,
86) -> Result;
87#[allow(non_camel_case_types)]
88pub type PFN_vkEnumerateDeviceExtensionProperties = unsafe extern "system" fn(
89 physical_device: PhysicalDevice,
90 p_layer_name: *const c_char,
91 p_property_count: *mut u32,
92 p_properties: *mut ExtensionProperties,
93) -> Result;
94#[allow(non_camel_case_types)]
95pub type PFN_vkEnumerateDeviceLayerProperties = unsafe extern "system" fn(
96 physical_device: PhysicalDevice,
97 p_property_count: *mut u32,
98 p_properties: *mut LayerProperties,
99) -> Result;
100#[allow(non_camel_case_types)]
101pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = unsafe extern "system" fn(
102 physical_device: PhysicalDevice,
103 format: Format,
104 ty: ImageType,
105 samples: SampleCountFlags,
106 usage: ImageUsageFlags,
107 tiling: ImageTiling,
108 p_property_count: *mut u32,
109 p_properties: *mut SparseImageFormatProperties,
110);
111#[allow(non_camel_case_types)]
112pub type PFN_vkDestroyDevice = unsafe extern "system" fn(
113 device: crate::vk::Device,
114 p_allocator: *const AllocationCallbacks<'_>,
115);
116#[allow(non_camel_case_types)]
117pub type PFN_vkGetDeviceQueue = unsafe extern "system" fn(
118 device: crate::vk::Device,
119 queue_family_index: u32,
120 queue_index: u32,
121 p_queue: *mut Queue,
122);
123#[allow(non_camel_case_types)]
124pub type PFN_vkQueueSubmit = unsafe extern "system" fn(
125 queue: Queue,
126 submit_count: u32,
127 p_submits: *const SubmitInfo<'_>,
128 fence: Fence,
129) -> Result;
130#[allow(non_camel_case_types)]
131pub type PFN_vkQueueWaitIdle = unsafe extern "system" fn(queue: Queue) -> Result;
132#[allow(non_camel_case_types)]
133pub type PFN_vkDeviceWaitIdle = unsafe extern "system" fn(device: crate::vk::Device) -> Result;
134#[allow(non_camel_case_types)]
135pub type PFN_vkAllocateMemory = unsafe extern "system" fn(
136 device: crate::vk::Device,
137 p_allocate_info: *const MemoryAllocateInfo<'_>,
138 p_allocator: *const AllocationCallbacks<'_>,
139 p_memory: *mut DeviceMemory,
140) -> Result;
141#[allow(non_camel_case_types)]
142pub type PFN_vkFreeMemory = unsafe extern "system" fn(
143 device: crate::vk::Device,
144 memory: DeviceMemory,
145 p_allocator: *const AllocationCallbacks<'_>,
146);
147#[allow(non_camel_case_types)]
148pub type PFN_vkMapMemory = unsafe extern "system" fn(
149 device: crate::vk::Device,
150 memory: DeviceMemory,
151 offset: DeviceSize,
152 size: DeviceSize,
153 flags: MemoryMapFlags,
154 pp_data: *mut *mut c_void,
155) -> Result;
156#[allow(non_camel_case_types)]
157pub type PFN_vkUnmapMemory =
158 unsafe extern "system" fn(device: crate::vk::Device, memory: DeviceMemory);
159#[allow(non_camel_case_types)]
160pub type PFN_vkFlushMappedMemoryRanges = unsafe extern "system" fn(
161 device: crate::vk::Device,
162 memory_range_count: u32,
163 p_memory_ranges: *const MappedMemoryRange<'_>,
164) -> Result;
165#[allow(non_camel_case_types)]
166pub type PFN_vkInvalidateMappedMemoryRanges = unsafe extern "system" fn(
167 device: crate::vk::Device,
168 memory_range_count: u32,
169 p_memory_ranges: *const MappedMemoryRange<'_>,
170) -> Result;
171#[allow(non_camel_case_types)]
172pub type PFN_vkGetDeviceMemoryCommitment = unsafe extern "system" fn(
173 device: crate::vk::Device,
174 memory: DeviceMemory,
175 p_committed_memory_in_bytes: *mut DeviceSize,
176);
177#[allow(non_camel_case_types)]
178pub type PFN_vkBindBufferMemory = unsafe extern "system" fn(
179 device: crate::vk::Device,
180 buffer: Buffer,
181 memory: DeviceMemory,
182 memory_offset: DeviceSize,
183) -> Result;
184#[allow(non_camel_case_types)]
185pub type PFN_vkBindImageMemory = unsafe extern "system" fn(
186 device: crate::vk::Device,
187 image: Image,
188 memory: DeviceMemory,
189 memory_offset: DeviceSize,
190) -> Result;
191#[allow(non_camel_case_types)]
192pub type PFN_vkGetBufferMemoryRequirements = unsafe extern "system" fn(
193 device: crate::vk::Device,
194 buffer: Buffer,
195 p_memory_requirements: *mut MemoryRequirements,
196);
197#[allow(non_camel_case_types)]
198pub type PFN_vkGetImageMemoryRequirements = unsafe extern "system" fn(
199 device: crate::vk::Device,
200 image: Image,
201 p_memory_requirements: *mut MemoryRequirements,
202);
203#[allow(non_camel_case_types)]
204pub type PFN_vkGetImageSparseMemoryRequirements = unsafe extern "system" fn(
205 device: crate::vk::Device,
206 image: Image,
207 p_sparse_memory_requirement_count: *mut u32,
208 p_sparse_memory_requirements: *mut SparseImageMemoryRequirements,
209);
210#[allow(non_camel_case_types)]
211pub type PFN_vkQueueBindSparse = unsafe extern "system" fn(
212 queue: Queue,
213 bind_info_count: u32,
214 p_bind_info: *const BindSparseInfo<'_>,
215 fence: Fence,
216) -> Result;
217#[allow(non_camel_case_types)]
218pub type PFN_vkCreateFence = unsafe extern "system" fn(
219 device: crate::vk::Device,
220 p_create_info: *const FenceCreateInfo<'_>,
221 p_allocator: *const AllocationCallbacks<'_>,
222 p_fence: *mut Fence,
223) -> Result;
224#[allow(non_camel_case_types)]
225pub type PFN_vkDestroyFence = unsafe extern "system" fn(
226 device: crate::vk::Device,
227 fence: Fence,
228 p_allocator: *const AllocationCallbacks<'_>,
229);
230#[allow(non_camel_case_types)]
231pub type PFN_vkResetFences = unsafe extern "system" fn(
232 device: crate::vk::Device,
233 fence_count: u32,
234 p_fences: *const Fence,
235) -> Result;
236#[allow(non_camel_case_types)]
237pub type PFN_vkGetFenceStatus =
238 unsafe extern "system" fn(device: crate::vk::Device, fence: Fence) -> Result;
239#[allow(non_camel_case_types)]
240pub type PFN_vkWaitForFences = unsafe extern "system" fn(
241 device: crate::vk::Device,
242 fence_count: u32,
243 p_fences: *const Fence,
244 wait_all: Bool32,
245 timeout: u64,
246) -> Result;
247#[allow(non_camel_case_types)]
248pub type PFN_vkCreateSemaphore = unsafe extern "system" fn(
249 device: crate::vk::Device,
250 p_create_info: *const SemaphoreCreateInfo<'_>,
251 p_allocator: *const AllocationCallbacks<'_>,
252 p_semaphore: *mut Semaphore,
253) -> Result;
254#[allow(non_camel_case_types)]
255pub type PFN_vkDestroySemaphore = unsafe extern "system" fn(
256 device: crate::vk::Device,
257 semaphore: Semaphore,
258 p_allocator: *const AllocationCallbacks<'_>,
259);
260#[allow(non_camel_case_types)]
261pub type PFN_vkCreateEvent = unsafe extern "system" fn(
262 device: crate::vk::Device,
263 p_create_info: *const EventCreateInfo<'_>,
264 p_allocator: *const AllocationCallbacks<'_>,
265 p_event: *mut Event,
266) -> Result;
267#[allow(non_camel_case_types)]
268pub type PFN_vkDestroyEvent = unsafe extern "system" fn(
269 device: crate::vk::Device,
270 event: Event,
271 p_allocator: *const AllocationCallbacks<'_>,
272);
273#[allow(non_camel_case_types)]
274pub type PFN_vkGetEventStatus =
275 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
276#[allow(non_camel_case_types)]
277pub type PFN_vkSetEvent =
278 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
279#[allow(non_camel_case_types)]
280pub type PFN_vkResetEvent =
281 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
282#[allow(non_camel_case_types)]
283pub type PFN_vkCreateQueryPool = unsafe extern "system" fn(
284 device: crate::vk::Device,
285 p_create_info: *const QueryPoolCreateInfo<'_>,
286 p_allocator: *const AllocationCallbacks<'_>,
287 p_query_pool: *mut QueryPool,
288) -> Result;
289#[allow(non_camel_case_types)]
290pub type PFN_vkDestroyQueryPool = unsafe extern "system" fn(
291 device: crate::vk::Device,
292 query_pool: QueryPool,
293 p_allocator: *const AllocationCallbacks<'_>,
294);
295#[allow(non_camel_case_types)]
296pub type PFN_vkGetQueryPoolResults = unsafe extern "system" fn(
297 device: crate::vk::Device,
298 query_pool: QueryPool,
299 first_query: u32,
300 query_count: u32,
301 data_size: usize,
302 p_data: *mut c_void,
303 stride: DeviceSize,
304 flags: QueryResultFlags,
305) -> Result;
306#[allow(non_camel_case_types)]
307pub type PFN_vkCreateBuffer = unsafe extern "system" fn(
308 device: crate::vk::Device,
309 p_create_info: *const BufferCreateInfo<'_>,
310 p_allocator: *const AllocationCallbacks<'_>,
311 p_buffer: *mut Buffer,
312) -> Result;
313#[allow(non_camel_case_types)]
314pub type PFN_vkDestroyBuffer = unsafe extern "system" fn(
315 device: crate::vk::Device,
316 buffer: Buffer,
317 p_allocator: *const AllocationCallbacks<'_>,
318);
319#[allow(non_camel_case_types)]
320pub type PFN_vkCreateBufferView = unsafe extern "system" fn(
321 device: crate::vk::Device,
322 p_create_info: *const BufferViewCreateInfo<'_>,
323 p_allocator: *const AllocationCallbacks<'_>,
324 p_view: *mut BufferView,
325) -> Result;
326#[allow(non_camel_case_types)]
327pub type PFN_vkDestroyBufferView = unsafe extern "system" fn(
328 device: crate::vk::Device,
329 buffer_view: BufferView,
330 p_allocator: *const AllocationCallbacks<'_>,
331);
332#[allow(non_camel_case_types)]
333pub type PFN_vkCreateImage = unsafe extern "system" fn(
334 device: crate::vk::Device,
335 p_create_info: *const ImageCreateInfo<'_>,
336 p_allocator: *const AllocationCallbacks<'_>,
337 p_image: *mut Image,
338) -> Result;
339#[allow(non_camel_case_types)]
340pub type PFN_vkDestroyImage = unsafe extern "system" fn(
341 device: crate::vk::Device,
342 image: Image,
343 p_allocator: *const AllocationCallbacks<'_>,
344);
345#[allow(non_camel_case_types)]
346pub type PFN_vkGetImageSubresourceLayout = unsafe extern "system" fn(
347 device: crate::vk::Device,
348 image: Image,
349 p_subresource: *const ImageSubresource,
350 p_layout: *mut SubresourceLayout,
351);
352#[allow(non_camel_case_types)]
353pub type PFN_vkCreateImageView = unsafe extern "system" fn(
354 device: crate::vk::Device,
355 p_create_info: *const ImageViewCreateInfo<'_>,
356 p_allocator: *const AllocationCallbacks<'_>,
357 p_view: *mut ImageView,
358) -> Result;
359#[allow(non_camel_case_types)]
360pub type PFN_vkDestroyImageView = unsafe extern "system" fn(
361 device: crate::vk::Device,
362 image_view: ImageView,
363 p_allocator: *const AllocationCallbacks<'_>,
364);
365#[allow(non_camel_case_types)]
366pub type PFN_vkCreateShaderModule = unsafe extern "system" fn(
367 device: crate::vk::Device,
368 p_create_info: *const ShaderModuleCreateInfo<'_>,
369 p_allocator: *const AllocationCallbacks<'_>,
370 p_shader_module: *mut ShaderModule,
371) -> Result;
372#[allow(non_camel_case_types)]
373pub type PFN_vkDestroyShaderModule = unsafe extern "system" fn(
374 device: crate::vk::Device,
375 shader_module: ShaderModule,
376 p_allocator: *const AllocationCallbacks<'_>,
377);
378#[allow(non_camel_case_types)]
379pub type PFN_vkCreatePipelineCache = unsafe extern "system" fn(
380 device: crate::vk::Device,
381 p_create_info: *const PipelineCacheCreateInfo<'_>,
382 p_allocator: *const AllocationCallbacks<'_>,
383 p_pipeline_cache: *mut PipelineCache,
384) -> Result;
385#[allow(non_camel_case_types)]
386pub type PFN_vkDestroyPipelineCache = unsafe extern "system" fn(
387 device: crate::vk::Device,
388 pipeline_cache: PipelineCache,
389 p_allocator: *const AllocationCallbacks<'_>,
390);
391#[allow(non_camel_case_types)]
392pub type PFN_vkGetPipelineCacheData = unsafe extern "system" fn(
393 device: crate::vk::Device,
394 pipeline_cache: PipelineCache,
395 p_data_size: *mut usize,
396 p_data: *mut c_void,
397) -> Result;
398#[allow(non_camel_case_types)]
399pub type PFN_vkMergePipelineCaches = unsafe extern "system" fn(
400 device: crate::vk::Device,
401 dst_cache: PipelineCache,
402 src_cache_count: u32,
403 p_src_caches: *const PipelineCache,
404) -> Result;
405#[allow(non_camel_case_types)]
406pub type PFN_vkCreateGraphicsPipelines = unsafe extern "system" fn(
407 device: crate::vk::Device,
408 pipeline_cache: PipelineCache,
409 create_info_count: u32,
410 p_create_infos: *const GraphicsPipelineCreateInfo<'_>,
411 p_allocator: *const AllocationCallbacks<'_>,
412 p_pipelines: *mut Pipeline,
413) -> Result;
414#[allow(non_camel_case_types)]
415pub type PFN_vkCreateComputePipelines = unsafe extern "system" fn(
416 device: crate::vk::Device,
417 pipeline_cache: PipelineCache,
418 create_info_count: u32,
419 p_create_infos: *const ComputePipelineCreateInfo<'_>,
420 p_allocator: *const AllocationCallbacks<'_>,
421 p_pipelines: *mut Pipeline,
422) -> Result;
423#[allow(non_camel_case_types)]
424pub type PFN_vkDestroyPipeline = unsafe extern "system" fn(
425 device: crate::vk::Device,
426 pipeline: Pipeline,
427 p_allocator: *const AllocationCallbacks<'_>,
428);
429#[allow(non_camel_case_types)]
430pub type PFN_vkCreatePipelineLayout = unsafe extern "system" fn(
431 device: crate::vk::Device,
432 p_create_info: *const PipelineLayoutCreateInfo<'_>,
433 p_allocator: *const AllocationCallbacks<'_>,
434 p_pipeline_layout: *mut PipelineLayout,
435) -> Result;
436#[allow(non_camel_case_types)]
437pub type PFN_vkDestroyPipelineLayout = unsafe extern "system" fn(
438 device: crate::vk::Device,
439 pipeline_layout: PipelineLayout,
440 p_allocator: *const AllocationCallbacks<'_>,
441);
442#[allow(non_camel_case_types)]
443pub type PFN_vkCreateSampler = unsafe extern "system" fn(
444 device: crate::vk::Device,
445 p_create_info: *const SamplerCreateInfo<'_>,
446 p_allocator: *const AllocationCallbacks<'_>,
447 p_sampler: *mut Sampler,
448) -> Result;
449#[allow(non_camel_case_types)]
450pub type PFN_vkDestroySampler = unsafe extern "system" fn(
451 device: crate::vk::Device,
452 sampler: Sampler,
453 p_allocator: *const AllocationCallbacks<'_>,
454);
455#[allow(non_camel_case_types)]
456pub type PFN_vkCreateDescriptorSetLayout = unsafe extern "system" fn(
457 device: crate::vk::Device,
458 p_create_info: *const DescriptorSetLayoutCreateInfo<'_>,
459 p_allocator: *const AllocationCallbacks<'_>,
460 p_set_layout: *mut DescriptorSetLayout,
461) -> Result;
462#[allow(non_camel_case_types)]
463pub type PFN_vkDestroyDescriptorSetLayout = unsafe extern "system" fn(
464 device: crate::vk::Device,
465 descriptor_set_layout: DescriptorSetLayout,
466 p_allocator: *const AllocationCallbacks<'_>,
467);
468#[allow(non_camel_case_types)]
469pub type PFN_vkCreateDescriptorPool = unsafe extern "system" fn(
470 device: crate::vk::Device,
471 p_create_info: *const DescriptorPoolCreateInfo<'_>,
472 p_allocator: *const AllocationCallbacks<'_>,
473 p_descriptor_pool: *mut DescriptorPool,
474) -> Result;
475#[allow(non_camel_case_types)]
476pub type PFN_vkDestroyDescriptorPool = unsafe extern "system" fn(
477 device: crate::vk::Device,
478 descriptor_pool: DescriptorPool,
479 p_allocator: *const AllocationCallbacks<'_>,
480);
481#[allow(non_camel_case_types)]
482pub type PFN_vkResetDescriptorPool = unsafe extern "system" fn(
483 device: crate::vk::Device,
484 descriptor_pool: DescriptorPool,
485 flags: DescriptorPoolResetFlags,
486) -> Result;
487#[allow(non_camel_case_types)]
488pub type PFN_vkAllocateDescriptorSets = unsafe extern "system" fn(
489 device: crate::vk::Device,
490 p_allocate_info: *const DescriptorSetAllocateInfo<'_>,
491 p_descriptor_sets: *mut DescriptorSet,
492) -> Result;
493#[allow(non_camel_case_types)]
494pub type PFN_vkFreeDescriptorSets = unsafe extern "system" fn(
495 device: crate::vk::Device,
496 descriptor_pool: DescriptorPool,
497 descriptor_set_count: u32,
498 p_descriptor_sets: *const DescriptorSet,
499) -> Result;
500#[allow(non_camel_case_types)]
501pub type PFN_vkUpdateDescriptorSets = unsafe extern "system" fn(
502 device: crate::vk::Device,
503 descriptor_write_count: u32,
504 p_descriptor_writes: *const WriteDescriptorSet<'_>,
505 descriptor_copy_count: u32,
506 p_descriptor_copies: *const CopyDescriptorSet<'_>,
507);
508#[allow(non_camel_case_types)]
509pub type PFN_vkCreateFramebuffer = unsafe extern "system" fn(
510 device: crate::vk::Device,
511 p_create_info: *const FramebufferCreateInfo<'_>,
512 p_allocator: *const AllocationCallbacks<'_>,
513 p_framebuffer: *mut Framebuffer,
514) -> Result;
515#[allow(non_camel_case_types)]
516pub type PFN_vkDestroyFramebuffer = unsafe extern "system" fn(
517 device: crate::vk::Device,
518 framebuffer: Framebuffer,
519 p_allocator: *const AllocationCallbacks<'_>,
520);
521#[allow(non_camel_case_types)]
522pub type PFN_vkCreateRenderPass = unsafe extern "system" fn(
523 device: crate::vk::Device,
524 p_create_info: *const RenderPassCreateInfo<'_>,
525 p_allocator: *const AllocationCallbacks<'_>,
526 p_render_pass: *mut RenderPass,
527) -> Result;
528#[allow(non_camel_case_types)]
529pub type PFN_vkDestroyRenderPass = unsafe extern "system" fn(
530 device: crate::vk::Device,
531 render_pass: RenderPass,
532 p_allocator: *const AllocationCallbacks<'_>,
533);
534#[allow(non_camel_case_types)]
535pub type PFN_vkGetRenderAreaGranularity = unsafe extern "system" fn(
536 device: crate::vk::Device,
537 render_pass: RenderPass,
538 p_granularity: *mut Extent2D,
539);
540#[allow(non_camel_case_types)]
541pub type PFN_vkCreateCommandPool = unsafe extern "system" fn(
542 device: crate::vk::Device,
543 p_create_info: *const CommandPoolCreateInfo<'_>,
544 p_allocator: *const AllocationCallbacks<'_>,
545 p_command_pool: *mut CommandPool,
546) -> Result;
547#[allow(non_camel_case_types)]
548pub type PFN_vkDestroyCommandPool = unsafe extern "system" fn(
549 device: crate::vk::Device,
550 command_pool: CommandPool,
551 p_allocator: *const AllocationCallbacks<'_>,
552);
553#[allow(non_camel_case_types)]
554pub type PFN_vkResetCommandPool = unsafe extern "system" fn(
555 device: crate::vk::Device,
556 command_pool: CommandPool,
557 flags: CommandPoolResetFlags,
558) -> Result;
559#[allow(non_camel_case_types)]
560pub type PFN_vkAllocateCommandBuffers = unsafe extern "system" fn(
561 device: crate::vk::Device,
562 p_allocate_info: *const CommandBufferAllocateInfo<'_>,
563 p_command_buffers: *mut CommandBuffer,
564) -> Result;
565#[allow(non_camel_case_types)]
566pub type PFN_vkFreeCommandBuffers = unsafe extern "system" fn(
567 device: crate::vk::Device,
568 command_pool: CommandPool,
569 command_buffer_count: u32,
570 p_command_buffers: *const CommandBuffer,
571);
572#[allow(non_camel_case_types)]
573pub type PFN_vkBeginCommandBuffer = unsafe extern "system" fn(
574 command_buffer: CommandBuffer,
575 p_begin_info: *const CommandBufferBeginInfo<'_>,
576) -> Result;
577#[allow(non_camel_case_types)]
578pub type PFN_vkEndCommandBuffer =
579 unsafe extern "system" fn(command_buffer: CommandBuffer) -> Result;
580#[allow(non_camel_case_types)]
581pub type PFN_vkResetCommandBuffer = unsafe extern "system" fn(
582 command_buffer: CommandBuffer,
583 flags: CommandBufferResetFlags,
584) -> Result;
585#[allow(non_camel_case_types)]
586pub type PFN_vkCmdBindPipeline = unsafe extern "system" fn(
587 command_buffer: CommandBuffer,
588 pipeline_bind_point: PipelineBindPoint,
589 pipeline: Pipeline,
590);
591#[allow(non_camel_case_types)]
592pub type PFN_vkCmdSetViewport = unsafe extern "system" fn(
593 command_buffer: CommandBuffer,
594 first_viewport: u32,
595 viewport_count: u32,
596 p_viewports: *const Viewport,
597);
598#[allow(non_camel_case_types)]
599pub type PFN_vkCmdSetScissor = unsafe extern "system" fn(
600 command_buffer: CommandBuffer,
601 first_scissor: u32,
602 scissor_count: u32,
603 p_scissors: *const Rect2D,
604);
605#[allow(non_camel_case_types)]
606pub type PFN_vkCmdSetLineWidth =
607 unsafe extern "system" fn(command_buffer: CommandBuffer, line_width: f32);
608#[allow(non_camel_case_types)]
609pub type PFN_vkCmdSetDepthBias = unsafe extern "system" fn(
610 command_buffer: CommandBuffer,
611 depth_bias_constant_factor: f32,
612 depth_bias_clamp: f32,
613 depth_bias_slope_factor: f32,
614);
615#[allow(non_camel_case_types)]
616pub type PFN_vkCmdSetBlendConstants =
617 unsafe extern "system" fn(command_buffer: CommandBuffer, blend_constants: *const [f32; 4usize]);
618#[allow(non_camel_case_types)]
619pub type PFN_vkCmdSetDepthBounds = unsafe extern "system" fn(
620 command_buffer: CommandBuffer,
621 min_depth_bounds: f32,
622 max_depth_bounds: f32,
623);
624#[allow(non_camel_case_types)]
625pub type PFN_vkCmdSetStencilCompareMask = unsafe extern "system" fn(
626 command_buffer: CommandBuffer,
627 face_mask: StencilFaceFlags,
628 compare_mask: u32,
629);
630#[allow(non_camel_case_types)]
631pub type PFN_vkCmdSetStencilWriteMask = unsafe extern "system" fn(
632 command_buffer: CommandBuffer,
633 face_mask: StencilFaceFlags,
634 write_mask: u32,
635);
636#[allow(non_camel_case_types)]
637pub type PFN_vkCmdSetStencilReference = unsafe extern "system" fn(
638 command_buffer: CommandBuffer,
639 face_mask: StencilFaceFlags,
640 reference: u32,
641);
642#[allow(non_camel_case_types)]
643pub type PFN_vkCmdBindDescriptorSets = unsafe extern "system" fn(
644 command_buffer: CommandBuffer,
645 pipeline_bind_point: PipelineBindPoint,
646 layout: PipelineLayout,
647 first_set: u32,
648 descriptor_set_count: u32,
649 p_descriptor_sets: *const DescriptorSet,
650 dynamic_offset_count: u32,
651 p_dynamic_offsets: *const u32,
652);
653#[allow(non_camel_case_types)]
654pub type PFN_vkCmdBindIndexBuffer = unsafe extern "system" fn(
655 command_buffer: CommandBuffer,
656 buffer: Buffer,
657 offset: DeviceSize,
658 index_type: IndexType,
659);
660#[allow(non_camel_case_types)]
661pub type PFN_vkCmdBindVertexBuffers = unsafe extern "system" fn(
662 command_buffer: CommandBuffer,
663 first_binding: u32,
664 binding_count: u32,
665 p_buffers: *const Buffer,
666 p_offsets: *const DeviceSize,
667);
668#[allow(non_camel_case_types)]
669pub type PFN_vkCmdDraw = unsafe extern "system" fn(
670 command_buffer: CommandBuffer,
671 vertex_count: u32,
672 instance_count: u32,
673 first_vertex: u32,
674 first_instance: u32,
675);
676#[allow(non_camel_case_types)]
677pub type PFN_vkCmdDrawIndexed = unsafe extern "system" fn(
678 command_buffer: CommandBuffer,
679 index_count: u32,
680 instance_count: u32,
681 first_index: u32,
682 vertex_offset: i32,
683 first_instance: u32,
684);
685#[allow(non_camel_case_types)]
686pub type PFN_vkCmdDrawIndirect = unsafe extern "system" fn(
687 command_buffer: CommandBuffer,
688 buffer: Buffer,
689 offset: DeviceSize,
690 draw_count: u32,
691 stride: u32,
692);
693#[allow(non_camel_case_types)]
694pub type PFN_vkCmdDrawIndexedIndirect = unsafe extern "system" fn(
695 command_buffer: CommandBuffer,
696 buffer: Buffer,
697 offset: DeviceSize,
698 draw_count: u32,
699 stride: u32,
700);
701#[allow(non_camel_case_types)]
702pub type PFN_vkCmdDispatch = unsafe extern "system" fn(
703 command_buffer: CommandBuffer,
704 group_count_x: u32,
705 group_count_y: u32,
706 group_count_z: u32,
707);
708#[allow(non_camel_case_types)]
709pub type PFN_vkCmdDispatchIndirect =
710 unsafe extern "system" fn(command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize);
711#[allow(non_camel_case_types)]
712pub type PFN_vkCmdCopyBuffer = unsafe extern "system" fn(
713 command_buffer: CommandBuffer,
714 src_buffer: Buffer,
715 dst_buffer: Buffer,
716 region_count: u32,
717 p_regions: *const BufferCopy,
718);
719#[allow(non_camel_case_types)]
720pub type PFN_vkCmdCopyImage = unsafe extern "system" fn(
721 command_buffer: CommandBuffer,
722 src_image: Image,
723 src_image_layout: ImageLayout,
724 dst_image: Image,
725 dst_image_layout: ImageLayout,
726 region_count: u32,
727 p_regions: *const ImageCopy,
728);
729#[allow(non_camel_case_types)]
730pub type PFN_vkCmdBlitImage = unsafe extern "system" fn(
731 command_buffer: CommandBuffer,
732 src_image: Image,
733 src_image_layout: ImageLayout,
734 dst_image: Image,
735 dst_image_layout: ImageLayout,
736 region_count: u32,
737 p_regions: *const ImageBlit,
738 filter: Filter,
739);
740#[allow(non_camel_case_types)]
741pub type PFN_vkCmdCopyBufferToImage = unsafe extern "system" fn(
742 command_buffer: CommandBuffer,
743 src_buffer: Buffer,
744 dst_image: Image,
745 dst_image_layout: ImageLayout,
746 region_count: u32,
747 p_regions: *const BufferImageCopy,
748);
749#[allow(non_camel_case_types)]
750pub type PFN_vkCmdCopyImageToBuffer = unsafe extern "system" fn(
751 command_buffer: CommandBuffer,
752 src_image: Image,
753 src_image_layout: ImageLayout,
754 dst_buffer: Buffer,
755 region_count: u32,
756 p_regions: *const BufferImageCopy,
757);
758#[allow(non_camel_case_types)]
759pub type PFN_vkCmdUpdateBuffer = unsafe extern "system" fn(
760 command_buffer: CommandBuffer,
761 dst_buffer: Buffer,
762 dst_offset: DeviceSize,
763 data_size: DeviceSize,
764 p_data: *const c_void,
765);
766#[allow(non_camel_case_types)]
767pub type PFN_vkCmdFillBuffer = unsafe extern "system" fn(
768 command_buffer: CommandBuffer,
769 dst_buffer: Buffer,
770 dst_offset: DeviceSize,
771 size: DeviceSize,
772 data: u32,
773);
774#[allow(non_camel_case_types)]
775pub type PFN_vkCmdClearColorImage = unsafe extern "system" fn(
776 command_buffer: CommandBuffer,
777 image: Image,
778 image_layout: ImageLayout,
779 p_color: *const ClearColorValue,
780 range_count: u32,
781 p_ranges: *const ImageSubresourceRange,
782);
783#[allow(non_camel_case_types)]
784pub type PFN_vkCmdClearDepthStencilImage = unsafe extern "system" fn(
785 command_buffer: CommandBuffer,
786 image: Image,
787 image_layout: ImageLayout,
788 p_depth_stencil: *const ClearDepthStencilValue,
789 range_count: u32,
790 p_ranges: *const ImageSubresourceRange,
791);
792#[allow(non_camel_case_types)]
793pub type PFN_vkCmdClearAttachments = unsafe extern "system" fn(
794 command_buffer: CommandBuffer,
795 attachment_count: u32,
796 p_attachments: *const ClearAttachment,
797 rect_count: u32,
798 p_rects: *const ClearRect,
799);
800#[allow(non_camel_case_types)]
801pub type PFN_vkCmdResolveImage = unsafe extern "system" fn(
802 command_buffer: CommandBuffer,
803 src_image: Image,
804 src_image_layout: ImageLayout,
805 dst_image: Image,
806 dst_image_layout: ImageLayout,
807 region_count: u32,
808 p_regions: *const ImageResolve,
809);
810#[allow(non_camel_case_types)]
811pub type PFN_vkCmdSetEvent = unsafe extern "system" fn(
812 command_buffer: CommandBuffer,
813 event: Event,
814 stage_mask: PipelineStageFlags,
815);
816#[allow(non_camel_case_types)]
817pub type PFN_vkCmdResetEvent = unsafe extern "system" fn(
818 command_buffer: CommandBuffer,
819 event: Event,
820 stage_mask: PipelineStageFlags,
821);
822#[allow(non_camel_case_types)]
823pub type PFN_vkCmdWaitEvents = unsafe extern "system" fn(
824 command_buffer: CommandBuffer,
825 event_count: u32,
826 p_events: *const Event,
827 src_stage_mask: PipelineStageFlags,
828 dst_stage_mask: PipelineStageFlags,
829 memory_barrier_count: u32,
830 p_memory_barriers: *const MemoryBarrier<'_>,
831 buffer_memory_barrier_count: u32,
832 p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
833 image_memory_barrier_count: u32,
834 p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
835);
836#[allow(non_camel_case_types)]
837pub type PFN_vkCmdPipelineBarrier = unsafe extern "system" fn(
838 command_buffer: CommandBuffer,
839 src_stage_mask: PipelineStageFlags,
840 dst_stage_mask: PipelineStageFlags,
841 dependency_flags: DependencyFlags,
842 memory_barrier_count: u32,
843 p_memory_barriers: *const MemoryBarrier<'_>,
844 buffer_memory_barrier_count: u32,
845 p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
846 image_memory_barrier_count: u32,
847 p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
848);
849#[allow(non_camel_case_types)]
850pub type PFN_vkCmdBeginQuery = unsafe extern "system" fn(
851 command_buffer: CommandBuffer,
852 query_pool: QueryPool,
853 query: u32,
854 flags: QueryControlFlags,
855);
856#[allow(non_camel_case_types)]
857pub type PFN_vkCmdEndQuery =
858 unsafe extern "system" fn(command_buffer: CommandBuffer, query_pool: QueryPool, query: u32);
859#[allow(non_camel_case_types)]
860pub type PFN_vkCmdResetQueryPool = unsafe extern "system" fn(
861 command_buffer: CommandBuffer,
862 query_pool: QueryPool,
863 first_query: u32,
864 query_count: u32,
865);
866#[allow(non_camel_case_types)]
867pub type PFN_vkCmdWriteTimestamp = unsafe extern "system" fn(
868 command_buffer: CommandBuffer,
869 pipeline_stage: PipelineStageFlags,
870 query_pool: QueryPool,
871 query: u32,
872);
873#[allow(non_camel_case_types)]
874pub type PFN_vkCmdCopyQueryPoolResults = unsafe extern "system" fn(
875 command_buffer: CommandBuffer,
876 query_pool: QueryPool,
877 first_query: u32,
878 query_count: u32,
879 dst_buffer: Buffer,
880 dst_offset: DeviceSize,
881 stride: DeviceSize,
882 flags: QueryResultFlags,
883);
884#[allow(non_camel_case_types)]
885pub type PFN_vkCmdPushConstants = unsafe extern "system" fn(
886 command_buffer: CommandBuffer,
887 layout: PipelineLayout,
888 stage_flags: ShaderStageFlags,
889 offset: u32,
890 size: u32,
891 p_values: *const c_void,
892);
893#[allow(non_camel_case_types)]
894pub type PFN_vkCmdBeginRenderPass = unsafe extern "system" fn(
895 command_buffer: CommandBuffer,
896 p_render_pass_begin: *const RenderPassBeginInfo<'_>,
897 contents: SubpassContents,
898);
899#[allow(non_camel_case_types)]
900pub type PFN_vkCmdNextSubpass =
901 unsafe extern "system" fn(command_buffer: CommandBuffer, contents: SubpassContents);
902#[allow(non_camel_case_types)]
903pub type PFN_vkCmdEndRenderPass = unsafe extern "system" fn(command_buffer: CommandBuffer);
904#[allow(non_camel_case_types)]
905pub type PFN_vkCmdExecuteCommands = unsafe extern "system" fn(
906 command_buffer: CommandBuffer,
907 command_buffer_count: u32,
908 p_command_buffers: *const CommandBuffer,
909);
910#[allow(non_camel_case_types)]
911pub type PFN_vkEnumerateInstanceVersion =
912 unsafe extern "system" fn(p_api_version: *mut u32) -> Result;
913#[allow(non_camel_case_types)]
914pub type PFN_vkGetDeviceQueue2 = unsafe extern "system" fn(
915 device: crate::vk::Device,
916 p_queue_info: *const DeviceQueueInfo2<'_>,
917 p_queue: *mut Queue,
918);