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_vkCreateQueryPool = unsafe extern "system" fn(
262 device: crate::vk::Device,
263 p_create_info: *const QueryPoolCreateInfo<'_>,
264 p_allocator: *const AllocationCallbacks<'_>,
265 p_query_pool: *mut QueryPool,
266) -> Result;
267#[allow(non_camel_case_types)]
268pub type PFN_vkDestroyQueryPool = unsafe extern "system" fn(
269 device: crate::vk::Device,
270 query_pool: QueryPool,
271 p_allocator: *const AllocationCallbacks<'_>,
272);
273#[allow(non_camel_case_types)]
274pub type PFN_vkGetQueryPoolResults = unsafe extern "system" fn(
275 device: crate::vk::Device,
276 query_pool: QueryPool,
277 first_query: u32,
278 query_count: u32,
279 data_size: usize,
280 p_data: *mut c_void,
281 stride: DeviceSize,
282 flags: QueryResultFlags,
283) -> Result;
284#[allow(non_camel_case_types)]
285pub type PFN_vkCreateBuffer = unsafe extern "system" fn(
286 device: crate::vk::Device,
287 p_create_info: *const BufferCreateInfo<'_>,
288 p_allocator: *const AllocationCallbacks<'_>,
289 p_buffer: *mut Buffer,
290) -> Result;
291#[allow(non_camel_case_types)]
292pub type PFN_vkDestroyBuffer = unsafe extern "system" fn(
293 device: crate::vk::Device,
294 buffer: Buffer,
295 p_allocator: *const AllocationCallbacks<'_>,
296);
297#[allow(non_camel_case_types)]
298pub type PFN_vkCreateImage = unsafe extern "system" fn(
299 device: crate::vk::Device,
300 p_create_info: *const ImageCreateInfo<'_>,
301 p_allocator: *const AllocationCallbacks<'_>,
302 p_image: *mut Image,
303) -> Result;
304#[allow(non_camel_case_types)]
305pub type PFN_vkDestroyImage = unsafe extern "system" fn(
306 device: crate::vk::Device,
307 image: Image,
308 p_allocator: *const AllocationCallbacks<'_>,
309);
310#[allow(non_camel_case_types)]
311pub type PFN_vkGetImageSubresourceLayout = unsafe extern "system" fn(
312 device: crate::vk::Device,
313 image: Image,
314 p_subresource: *const ImageSubresource,
315 p_layout: *mut SubresourceLayout,
316);
317#[allow(non_camel_case_types)]
318pub type PFN_vkCreateImageView = unsafe extern "system" fn(
319 device: crate::vk::Device,
320 p_create_info: *const ImageViewCreateInfo<'_>,
321 p_allocator: *const AllocationCallbacks<'_>,
322 p_view: *mut ImageView,
323) -> Result;
324#[allow(non_camel_case_types)]
325pub type PFN_vkDestroyImageView = unsafe extern "system" fn(
326 device: crate::vk::Device,
327 image_view: ImageView,
328 p_allocator: *const AllocationCallbacks<'_>,
329);
330#[allow(non_camel_case_types)]
331pub type PFN_vkCreateCommandPool = unsafe extern "system" fn(
332 device: crate::vk::Device,
333 p_create_info: *const CommandPoolCreateInfo<'_>,
334 p_allocator: *const AllocationCallbacks<'_>,
335 p_command_pool: *mut CommandPool,
336) -> Result;
337#[allow(non_camel_case_types)]
338pub type PFN_vkDestroyCommandPool = unsafe extern "system" fn(
339 device: crate::vk::Device,
340 command_pool: CommandPool,
341 p_allocator: *const AllocationCallbacks<'_>,
342);
343#[allow(non_camel_case_types)]
344pub type PFN_vkResetCommandPool = unsafe extern "system" fn(
345 device: crate::vk::Device,
346 command_pool: CommandPool,
347 flags: CommandPoolResetFlags,
348) -> Result;
349#[allow(non_camel_case_types)]
350pub type PFN_vkAllocateCommandBuffers = unsafe extern "system" fn(
351 device: crate::vk::Device,
352 p_allocate_info: *const CommandBufferAllocateInfo<'_>,
353 p_command_buffers: *mut CommandBuffer,
354) -> Result;
355#[allow(non_camel_case_types)]
356pub type PFN_vkFreeCommandBuffers = unsafe extern "system" fn(
357 device: crate::vk::Device,
358 command_pool: CommandPool,
359 command_buffer_count: u32,
360 p_command_buffers: *const CommandBuffer,
361);
362#[allow(non_camel_case_types)]
363pub type PFN_vkBeginCommandBuffer = unsafe extern "system" fn(
364 command_buffer: CommandBuffer,
365 p_begin_info: *const CommandBufferBeginInfo<'_>,
366) -> Result;
367#[allow(non_camel_case_types)]
368pub type PFN_vkEndCommandBuffer =
369 unsafe extern "system" fn(command_buffer: CommandBuffer) -> Result;
370#[allow(non_camel_case_types)]
371pub type PFN_vkResetCommandBuffer = unsafe extern "system" fn(
372 command_buffer: CommandBuffer,
373 flags: CommandBufferResetFlags,
374) -> Result;
375#[allow(non_camel_case_types)]
376pub type PFN_vkCmdCopyBuffer = unsafe extern "system" fn(
377 command_buffer: CommandBuffer,
378 src_buffer: Buffer,
379 dst_buffer: Buffer,
380 region_count: u32,
381 p_regions: *const BufferCopy,
382);
383#[allow(non_camel_case_types)]
384pub type PFN_vkCmdCopyImage = unsafe extern "system" fn(
385 command_buffer: CommandBuffer,
386 src_image: Image,
387 src_image_layout: ImageLayout,
388 dst_image: Image,
389 dst_image_layout: ImageLayout,
390 region_count: u32,
391 p_regions: *const ImageCopy,
392);
393#[allow(non_camel_case_types)]
394pub type PFN_vkCmdCopyBufferToImage = unsafe extern "system" fn(
395 command_buffer: CommandBuffer,
396 src_buffer: Buffer,
397 dst_image: Image,
398 dst_image_layout: ImageLayout,
399 region_count: u32,
400 p_regions: *const BufferImageCopy,
401);
402#[allow(non_camel_case_types)]
403pub type PFN_vkCmdCopyImageToBuffer = unsafe extern "system" fn(
404 command_buffer: CommandBuffer,
405 src_image: Image,
406 src_image_layout: ImageLayout,
407 dst_buffer: Buffer,
408 region_count: u32,
409 p_regions: *const BufferImageCopy,
410);
411#[allow(non_camel_case_types)]
412pub type PFN_vkCmdUpdateBuffer = unsafe extern "system" fn(
413 command_buffer: CommandBuffer,
414 dst_buffer: Buffer,
415 dst_offset: DeviceSize,
416 data_size: DeviceSize,
417 p_data: *const c_void,
418);
419#[allow(non_camel_case_types)]
420pub type PFN_vkCmdFillBuffer = unsafe extern "system" fn(
421 command_buffer: CommandBuffer,
422 dst_buffer: Buffer,
423 dst_offset: DeviceSize,
424 size: DeviceSize,
425 data: u32,
426);
427#[allow(non_camel_case_types)]
428pub type PFN_vkCmdPipelineBarrier = unsafe extern "system" fn(
429 command_buffer: CommandBuffer,
430 src_stage_mask: PipelineStageFlags,
431 dst_stage_mask: PipelineStageFlags,
432 dependency_flags: DependencyFlags,
433 memory_barrier_count: u32,
434 p_memory_barriers: *const MemoryBarrier<'_>,
435 buffer_memory_barrier_count: u32,
436 p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
437 image_memory_barrier_count: u32,
438 p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
439);
440#[allow(non_camel_case_types)]
441pub type PFN_vkCmdBeginQuery = unsafe extern "system" fn(
442 command_buffer: CommandBuffer,
443 query_pool: QueryPool,
444 query: u32,
445 flags: QueryControlFlags,
446);
447#[allow(non_camel_case_types)]
448pub type PFN_vkCmdEndQuery =
449 unsafe extern "system" fn(command_buffer: CommandBuffer, query_pool: QueryPool, query: u32);
450#[allow(non_camel_case_types)]
451pub type PFN_vkCmdResetQueryPool = unsafe extern "system" fn(
452 command_buffer: CommandBuffer,
453 query_pool: QueryPool,
454 first_query: u32,
455 query_count: u32,
456);
457#[allow(non_camel_case_types)]
458pub type PFN_vkCmdWriteTimestamp = unsafe extern "system" fn(
459 command_buffer: CommandBuffer,
460 pipeline_stage: PipelineStageFlags,
461 query_pool: QueryPool,
462 query: u32,
463);
464#[allow(non_camel_case_types)]
465pub type PFN_vkCmdCopyQueryPoolResults = unsafe extern "system" fn(
466 command_buffer: CommandBuffer,
467 query_pool: QueryPool,
468 first_query: u32,
469 query_count: u32,
470 dst_buffer: Buffer,
471 dst_offset: DeviceSize,
472 stride: DeviceSize,
473 flags: QueryResultFlags,
474);
475#[allow(non_camel_case_types)]
476pub type PFN_vkCmdExecuteCommands = unsafe extern "system" fn(
477 command_buffer: CommandBuffer,
478 command_buffer_count: u32,
479 p_command_buffers: *const CommandBuffer,
480);
481#[allow(non_camel_case_types)]
482pub type PFN_vkCreateEvent = unsafe extern "system" fn(
483 device: crate::vk::Device,
484 p_create_info: *const EventCreateInfo<'_>,
485 p_allocator: *const AllocationCallbacks<'_>,
486 p_event: *mut Event,
487) -> Result;
488#[allow(non_camel_case_types)]
489pub type PFN_vkDestroyEvent = unsafe extern "system" fn(
490 device: crate::vk::Device,
491 event: Event,
492 p_allocator: *const AllocationCallbacks<'_>,
493);
494#[allow(non_camel_case_types)]
495pub type PFN_vkGetEventStatus =
496 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
497#[allow(non_camel_case_types)]
498pub type PFN_vkSetEvent =
499 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
500#[allow(non_camel_case_types)]
501pub type PFN_vkResetEvent =
502 unsafe extern "system" fn(device: crate::vk::Device, event: Event) -> Result;
503#[allow(non_camel_case_types)]
504pub type PFN_vkCreateBufferView = unsafe extern "system" fn(
505 device: crate::vk::Device,
506 p_create_info: *const BufferViewCreateInfo<'_>,
507 p_allocator: *const AllocationCallbacks<'_>,
508 p_view: *mut BufferView,
509) -> Result;
510#[allow(non_camel_case_types)]
511pub type PFN_vkDestroyBufferView = unsafe extern "system" fn(
512 device: crate::vk::Device,
513 buffer_view: BufferView,
514 p_allocator: *const AllocationCallbacks<'_>,
515);
516#[allow(non_camel_case_types)]
517pub type PFN_vkCreateShaderModule = unsafe extern "system" fn(
518 device: crate::vk::Device,
519 p_create_info: *const ShaderModuleCreateInfo<'_>,
520 p_allocator: *const AllocationCallbacks<'_>,
521 p_shader_module: *mut ShaderModule,
522) -> Result;
523#[allow(non_camel_case_types)]
524pub type PFN_vkDestroyShaderModule = unsafe extern "system" fn(
525 device: crate::vk::Device,
526 shader_module: ShaderModule,
527 p_allocator: *const AllocationCallbacks<'_>,
528);
529#[allow(non_camel_case_types)]
530pub type PFN_vkCreatePipelineCache = unsafe extern "system" fn(
531 device: crate::vk::Device,
532 p_create_info: *const PipelineCacheCreateInfo<'_>,
533 p_allocator: *const AllocationCallbacks<'_>,
534 p_pipeline_cache: *mut PipelineCache,
535) -> Result;
536#[allow(non_camel_case_types)]
537pub type PFN_vkDestroyPipelineCache = unsafe extern "system" fn(
538 device: crate::vk::Device,
539 pipeline_cache: PipelineCache,
540 p_allocator: *const AllocationCallbacks<'_>,
541);
542#[allow(non_camel_case_types)]
543pub type PFN_vkGetPipelineCacheData = unsafe extern "system" fn(
544 device: crate::vk::Device,
545 pipeline_cache: PipelineCache,
546 p_data_size: *mut usize,
547 p_data: *mut c_void,
548) -> Result;
549#[allow(non_camel_case_types)]
550pub type PFN_vkMergePipelineCaches = unsafe extern "system" fn(
551 device: crate::vk::Device,
552 dst_cache: PipelineCache,
553 src_cache_count: u32,
554 p_src_caches: *const PipelineCache,
555) -> Result;
556#[allow(non_camel_case_types)]
557pub type PFN_vkCreateComputePipelines = unsafe extern "system" fn(
558 device: crate::vk::Device,
559 pipeline_cache: PipelineCache,
560 create_info_count: u32,
561 p_create_infos: *const ComputePipelineCreateInfo<'_>,
562 p_allocator: *const AllocationCallbacks<'_>,
563 p_pipelines: *mut Pipeline,
564) -> Result;
565#[allow(non_camel_case_types)]
566pub type PFN_vkDestroyPipeline = unsafe extern "system" fn(
567 device: crate::vk::Device,
568 pipeline: Pipeline,
569 p_allocator: *const AllocationCallbacks<'_>,
570);
571#[allow(non_camel_case_types)]
572pub type PFN_vkCreatePipelineLayout = unsafe extern "system" fn(
573 device: crate::vk::Device,
574 p_create_info: *const PipelineLayoutCreateInfo<'_>,
575 p_allocator: *const AllocationCallbacks<'_>,
576 p_pipeline_layout: *mut PipelineLayout,
577) -> Result;
578#[allow(non_camel_case_types)]
579pub type PFN_vkDestroyPipelineLayout = unsafe extern "system" fn(
580 device: crate::vk::Device,
581 pipeline_layout: PipelineLayout,
582 p_allocator: *const AllocationCallbacks<'_>,
583);
584#[allow(non_camel_case_types)]
585pub type PFN_vkCreateSampler = unsafe extern "system" fn(
586 device: crate::vk::Device,
587 p_create_info: *const SamplerCreateInfo<'_>,
588 p_allocator: *const AllocationCallbacks<'_>,
589 p_sampler: *mut Sampler,
590) -> Result;
591#[allow(non_camel_case_types)]
592pub type PFN_vkDestroySampler = unsafe extern "system" fn(
593 device: crate::vk::Device,
594 sampler: Sampler,
595 p_allocator: *const AllocationCallbacks<'_>,
596);
597#[allow(non_camel_case_types)]
598pub type PFN_vkCreateDescriptorSetLayout = unsafe extern "system" fn(
599 device: crate::vk::Device,
600 p_create_info: *const DescriptorSetLayoutCreateInfo<'_>,
601 p_allocator: *const AllocationCallbacks<'_>,
602 p_set_layout: *mut DescriptorSetLayout,
603) -> Result;
604#[allow(non_camel_case_types)]
605pub type PFN_vkDestroyDescriptorSetLayout = unsafe extern "system" fn(
606 device: crate::vk::Device,
607 descriptor_set_layout: DescriptorSetLayout,
608 p_allocator: *const AllocationCallbacks<'_>,
609);
610#[allow(non_camel_case_types)]
611pub type PFN_vkCreateDescriptorPool = unsafe extern "system" fn(
612 device: crate::vk::Device,
613 p_create_info: *const DescriptorPoolCreateInfo<'_>,
614 p_allocator: *const AllocationCallbacks<'_>,
615 p_descriptor_pool: *mut DescriptorPool,
616) -> Result;
617#[allow(non_camel_case_types)]
618pub type PFN_vkDestroyDescriptorPool = unsafe extern "system" fn(
619 device: crate::vk::Device,
620 descriptor_pool: DescriptorPool,
621 p_allocator: *const AllocationCallbacks<'_>,
622);
623#[allow(non_camel_case_types)]
624pub type PFN_vkResetDescriptorPool = unsafe extern "system" fn(
625 device: crate::vk::Device,
626 descriptor_pool: DescriptorPool,
627 flags: DescriptorPoolResetFlags,
628) -> Result;
629#[allow(non_camel_case_types)]
630pub type PFN_vkAllocateDescriptorSets = unsafe extern "system" fn(
631 device: crate::vk::Device,
632 p_allocate_info: *const DescriptorSetAllocateInfo<'_>,
633 p_descriptor_sets: *mut DescriptorSet,
634) -> Result;
635#[allow(non_camel_case_types)]
636pub type PFN_vkFreeDescriptorSets = unsafe extern "system" fn(
637 device: crate::vk::Device,
638 descriptor_pool: DescriptorPool,
639 descriptor_set_count: u32,
640 p_descriptor_sets: *const DescriptorSet,
641) -> Result;
642#[allow(non_camel_case_types)]
643pub type PFN_vkUpdateDescriptorSets = unsafe extern "system" fn(
644 device: crate::vk::Device,
645 descriptor_write_count: u32,
646 p_descriptor_writes: *const WriteDescriptorSet<'_>,
647 descriptor_copy_count: u32,
648 p_descriptor_copies: *const CopyDescriptorSet<'_>,
649);
650#[allow(non_camel_case_types)]
651pub type PFN_vkCmdBindPipeline = unsafe extern "system" fn(
652 command_buffer: CommandBuffer,
653 pipeline_bind_point: PipelineBindPoint,
654 pipeline: Pipeline,
655);
656#[allow(non_camel_case_types)]
657pub type PFN_vkCmdBindDescriptorSets = unsafe extern "system" fn(
658 command_buffer: CommandBuffer,
659 pipeline_bind_point: PipelineBindPoint,
660 layout: PipelineLayout,
661 first_set: u32,
662 descriptor_set_count: u32,
663 p_descriptor_sets: *const DescriptorSet,
664 dynamic_offset_count: u32,
665 p_dynamic_offsets: *const u32,
666);
667#[allow(non_camel_case_types)]
668pub type PFN_vkCmdClearColorImage = unsafe extern "system" fn(
669 command_buffer: CommandBuffer,
670 image: Image,
671 image_layout: ImageLayout,
672 p_color: *const ClearColorValue,
673 range_count: u32,
674 p_ranges: *const ImageSubresourceRange,
675);
676#[allow(non_camel_case_types)]
677pub type PFN_vkCmdDispatch = unsafe extern "system" fn(
678 command_buffer: CommandBuffer,
679 group_count_x: u32,
680 group_count_y: u32,
681 group_count_z: u32,
682);
683#[allow(non_camel_case_types)]
684pub type PFN_vkCmdDispatchIndirect =
685 unsafe extern "system" fn(command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize);
686#[allow(non_camel_case_types)]
687pub type PFN_vkCmdSetEvent = unsafe extern "system" fn(
688 command_buffer: CommandBuffer,
689 event: Event,
690 stage_mask: PipelineStageFlags,
691);
692#[allow(non_camel_case_types)]
693pub type PFN_vkCmdResetEvent = unsafe extern "system" fn(
694 command_buffer: CommandBuffer,
695 event: Event,
696 stage_mask: PipelineStageFlags,
697);
698#[allow(non_camel_case_types)]
699pub type PFN_vkCmdWaitEvents = unsafe extern "system" fn(
700 command_buffer: CommandBuffer,
701 event_count: u32,
702 p_events: *const Event,
703 src_stage_mask: PipelineStageFlags,
704 dst_stage_mask: PipelineStageFlags,
705 memory_barrier_count: u32,
706 p_memory_barriers: *const MemoryBarrier<'_>,
707 buffer_memory_barrier_count: u32,
708 p_buffer_memory_barriers: *const BufferMemoryBarrier<'_>,
709 image_memory_barrier_count: u32,
710 p_image_memory_barriers: *const ImageMemoryBarrier<'_>,
711);
712#[allow(non_camel_case_types)]
713pub type PFN_vkCmdPushConstants = unsafe extern "system" fn(
714 command_buffer: CommandBuffer,
715 layout: PipelineLayout,
716 stage_flags: ShaderStageFlags,
717 offset: u32,
718 size: u32,
719 p_values: *const c_void,
720);
721#[allow(non_camel_case_types)]
722pub type PFN_vkCreateGraphicsPipelines = unsafe extern "system" fn(
723 device: crate::vk::Device,
724 pipeline_cache: PipelineCache,
725 create_info_count: u32,
726 p_create_infos: *const GraphicsPipelineCreateInfo<'_>,
727 p_allocator: *const AllocationCallbacks<'_>,
728 p_pipelines: *mut Pipeline,
729) -> Result;
730#[allow(non_camel_case_types)]
731pub type PFN_vkCreateFramebuffer = unsafe extern "system" fn(
732 device: crate::vk::Device,
733 p_create_info: *const FramebufferCreateInfo<'_>,
734 p_allocator: *const AllocationCallbacks<'_>,
735 p_framebuffer: *mut Framebuffer,
736) -> Result;
737#[allow(non_camel_case_types)]
738pub type PFN_vkDestroyFramebuffer = unsafe extern "system" fn(
739 device: crate::vk::Device,
740 framebuffer: Framebuffer,
741 p_allocator: *const AllocationCallbacks<'_>,
742);
743#[allow(non_camel_case_types)]
744pub type PFN_vkCreateRenderPass = unsafe extern "system" fn(
745 device: crate::vk::Device,
746 p_create_info: *const RenderPassCreateInfo<'_>,
747 p_allocator: *const AllocationCallbacks<'_>,
748 p_render_pass: *mut RenderPass,
749) -> Result;
750#[allow(non_camel_case_types)]
751pub type PFN_vkDestroyRenderPass = unsafe extern "system" fn(
752 device: crate::vk::Device,
753 render_pass: RenderPass,
754 p_allocator: *const AllocationCallbacks<'_>,
755);
756#[allow(non_camel_case_types)]
757pub type PFN_vkGetRenderAreaGranularity = unsafe extern "system" fn(
758 device: crate::vk::Device,
759 render_pass: RenderPass,
760 p_granularity: *mut Extent2D,
761);
762#[allow(non_camel_case_types)]
763pub type PFN_vkCmdSetViewport = unsafe extern "system" fn(
764 command_buffer: CommandBuffer,
765 first_viewport: u32,
766 viewport_count: u32,
767 p_viewports: *const Viewport,
768);
769#[allow(non_camel_case_types)]
770pub type PFN_vkCmdSetScissor = unsafe extern "system" fn(
771 command_buffer: CommandBuffer,
772 first_scissor: u32,
773 scissor_count: u32,
774 p_scissors: *const Rect2D,
775);
776#[allow(non_camel_case_types)]
777pub type PFN_vkCmdSetLineWidth =
778 unsafe extern "system" fn(command_buffer: CommandBuffer, line_width: f32);
779#[allow(non_camel_case_types)]
780pub type PFN_vkCmdSetDepthBias = unsafe extern "system" fn(
781 command_buffer: CommandBuffer,
782 depth_bias_constant_factor: f32,
783 depth_bias_clamp: f32,
784 depth_bias_slope_factor: f32,
785);
786#[allow(non_camel_case_types)]
787pub type PFN_vkCmdSetBlendConstants =
788 unsafe extern "system" fn(command_buffer: CommandBuffer, blend_constants: *const [f32; 4usize]);
789#[allow(non_camel_case_types)]
790pub type PFN_vkCmdSetDepthBounds = unsafe extern "system" fn(
791 command_buffer: CommandBuffer,
792 min_depth_bounds: f32,
793 max_depth_bounds: f32,
794);
795#[allow(non_camel_case_types)]
796pub type PFN_vkCmdSetStencilCompareMask = unsafe extern "system" fn(
797 command_buffer: CommandBuffer,
798 face_mask: StencilFaceFlags,
799 compare_mask: u32,
800);
801#[allow(non_camel_case_types)]
802pub type PFN_vkCmdSetStencilWriteMask = unsafe extern "system" fn(
803 command_buffer: CommandBuffer,
804 face_mask: StencilFaceFlags,
805 write_mask: u32,
806);
807#[allow(non_camel_case_types)]
808pub type PFN_vkCmdSetStencilReference = unsafe extern "system" fn(
809 command_buffer: CommandBuffer,
810 face_mask: StencilFaceFlags,
811 reference: u32,
812);
813#[allow(non_camel_case_types)]
814pub type PFN_vkCmdBindIndexBuffer = unsafe extern "system" fn(
815 command_buffer: CommandBuffer,
816 buffer: Buffer,
817 offset: DeviceSize,
818 index_type: IndexType,
819);
820#[allow(non_camel_case_types)]
821pub type PFN_vkCmdBindVertexBuffers = unsafe extern "system" fn(
822 command_buffer: CommandBuffer,
823 first_binding: u32,
824 binding_count: u32,
825 p_buffers: *const Buffer,
826 p_offsets: *const DeviceSize,
827);
828#[allow(non_camel_case_types)]
829pub type PFN_vkCmdDraw = unsafe extern "system" fn(
830 command_buffer: CommandBuffer,
831 vertex_count: u32,
832 instance_count: u32,
833 first_vertex: u32,
834 first_instance: u32,
835);
836#[allow(non_camel_case_types)]
837pub type PFN_vkCmdDrawIndexed = unsafe extern "system" fn(
838 command_buffer: CommandBuffer,
839 index_count: u32,
840 instance_count: u32,
841 first_index: u32,
842 vertex_offset: i32,
843 first_instance: u32,
844);
845#[allow(non_camel_case_types)]
846pub type PFN_vkCmdDrawIndirect = unsafe extern "system" fn(
847 command_buffer: CommandBuffer,
848 buffer: Buffer,
849 offset: DeviceSize,
850 draw_count: u32,
851 stride: u32,
852);
853#[allow(non_camel_case_types)]
854pub type PFN_vkCmdDrawIndexedIndirect = unsafe extern "system" fn(
855 command_buffer: CommandBuffer,
856 buffer: Buffer,
857 offset: DeviceSize,
858 draw_count: u32,
859 stride: u32,
860);
861#[allow(non_camel_case_types)]
862pub type PFN_vkCmdBlitImage = unsafe extern "system" fn(
863 command_buffer: CommandBuffer,
864 src_image: Image,
865 src_image_layout: ImageLayout,
866 dst_image: Image,
867 dst_image_layout: ImageLayout,
868 region_count: u32,
869 p_regions: *const ImageBlit,
870 filter: Filter,
871);
872#[allow(non_camel_case_types)]
873pub type PFN_vkCmdClearDepthStencilImage = unsafe extern "system" fn(
874 command_buffer: CommandBuffer,
875 image: Image,
876 image_layout: ImageLayout,
877 p_depth_stencil: *const ClearDepthStencilValue,
878 range_count: u32,
879 p_ranges: *const ImageSubresourceRange,
880);
881#[allow(non_camel_case_types)]
882pub type PFN_vkCmdClearAttachments = unsafe extern "system" fn(
883 command_buffer: CommandBuffer,
884 attachment_count: u32,
885 p_attachments: *const ClearAttachment,
886 rect_count: u32,
887 p_rects: *const ClearRect,
888);
889#[allow(non_camel_case_types)]
890pub type PFN_vkCmdResolveImage = unsafe extern "system" fn(
891 command_buffer: CommandBuffer,
892 src_image: Image,
893 src_image_layout: ImageLayout,
894 dst_image: Image,
895 dst_image_layout: ImageLayout,
896 region_count: u32,
897 p_regions: *const ImageResolve,
898);
899#[allow(non_camel_case_types)]
900pub type PFN_vkCmdBeginRenderPass = unsafe extern "system" fn(
901 command_buffer: CommandBuffer,
902 p_render_pass_begin: *const RenderPassBeginInfo<'_>,
903 contents: SubpassContents,
904);
905#[allow(non_camel_case_types)]
906pub type PFN_vkCmdNextSubpass =
907 unsafe extern "system" fn(command_buffer: CommandBuffer, contents: SubpassContents);
908#[allow(non_camel_case_types)]
909pub type PFN_vkCmdEndRenderPass = unsafe extern "system" fn(command_buffer: CommandBuffer);
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);