1use crate::vk::bitflags::*;
2use crate::vk::definitions::*;
3use crate::vk::enums::*;
4use std::os::raw::*;
5#[allow(non_camel_case_types)]
6pub type PFN_vkGetInstanceProcAddr =
7 unsafe extern "system" fn(instance: Instance, p_name: *const c_char) -> PFN_vkVoidFunction;
8#[derive(Clone)]
9pub struct StaticFn {
10 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddr,
11}
12unsafe impl Send for StaticFn {}
13unsafe impl Sync for StaticFn {}
14impl StaticFn {
15 pub fn load<F>(mut _f: F) -> Self
16 where
17 F: FnMut(&::std::ffi::CStr) -> *const c_void,
18 {
19 Self {
20 get_instance_proc_addr: unsafe {
21 unsafe extern "system" fn get_instance_proc_addr(
22 _instance: Instance,
23 _p_name: *const c_char,
24 ) -> PFN_vkVoidFunction {
25 panic!(concat!(
26 "Unable to load ",
27 stringify!(get_instance_proc_addr)
28 ))
29 }
30 let cname =
31 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetInstanceProcAddr\0");
32 let val = _f(cname);
33 if val.is_null() {
34 get_instance_proc_addr
35 } else {
36 ::std::mem::transmute(val)
37 }
38 },
39 }
40 }
41}
42#[allow(non_camel_case_types)]
43pub type PFN_vkCreateInstance = unsafe extern "system" fn(
44 p_create_info: *const InstanceCreateInfo,
45 p_allocator: *const AllocationCallbacks,
46 p_instance: *mut Instance,
47) -> Result;
48#[allow(non_camel_case_types)]
49pub type PFN_vkEnumerateInstanceExtensionProperties = unsafe extern "system" fn(
50 p_layer_name: *const c_char,
51 p_property_count: *mut u32,
52 p_properties: *mut ExtensionProperties,
53) -> Result;
54#[allow(non_camel_case_types)]
55pub type PFN_vkEnumerateInstanceLayerProperties = unsafe extern "system" fn(
56 p_property_count: *mut u32,
57 p_properties: *mut LayerProperties,
58) -> Result;
59#[derive(Clone)]
60pub struct EntryFnV1_0 {
61 pub create_instance: PFN_vkCreateInstance,
62 pub enumerate_instance_extension_properties: PFN_vkEnumerateInstanceExtensionProperties,
63 pub enumerate_instance_layer_properties: PFN_vkEnumerateInstanceLayerProperties,
64}
65unsafe impl Send for EntryFnV1_0 {}
66unsafe impl Sync for EntryFnV1_0 {}
67impl EntryFnV1_0 {
68 pub fn load<F>(mut _f: F) -> Self
69 where
70 F: FnMut(&::std::ffi::CStr) -> *const c_void,
71 {
72 Self {
73 create_instance: unsafe {
74 unsafe extern "system" fn create_instance(
75 _p_create_info: *const InstanceCreateInfo,
76 _p_allocator: *const AllocationCallbacks,
77 _p_instance: *mut Instance,
78 ) -> Result {
79 panic!(concat!("Unable to load ", stringify!(create_instance)))
80 }
81 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateInstance\0");
82 let val = _f(cname);
83 if val.is_null() {
84 create_instance
85 } else {
86 ::std::mem::transmute(val)
87 }
88 },
89 enumerate_instance_extension_properties: unsafe {
90 unsafe extern "system" fn enumerate_instance_extension_properties(
91 _p_layer_name: *const c_char,
92 _p_property_count: *mut u32,
93 _p_properties: *mut ExtensionProperties,
94 ) -> Result {
95 panic!(concat!(
96 "Unable to load ",
97 stringify!(enumerate_instance_extension_properties)
98 ))
99 }
100 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
101 b"vkEnumerateInstanceExtensionProperties\0",
102 );
103 let val = _f(cname);
104 if val.is_null() {
105 enumerate_instance_extension_properties
106 } else {
107 ::std::mem::transmute(val)
108 }
109 },
110 enumerate_instance_layer_properties: unsafe {
111 unsafe extern "system" fn enumerate_instance_layer_properties(
112 _p_property_count: *mut u32,
113 _p_properties: *mut LayerProperties,
114 ) -> Result {
115 panic!(concat!(
116 "Unable to load ",
117 stringify!(enumerate_instance_layer_properties)
118 ))
119 }
120 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
121 b"vkEnumerateInstanceLayerProperties\0",
122 );
123 let val = _f(cname);
124 if val.is_null() {
125 enumerate_instance_layer_properties
126 } else {
127 ::std::mem::transmute(val)
128 }
129 },
130 }
131 }
132}
133#[allow(non_camel_case_types)]
134pub type PFN_vkDestroyInstance =
135 unsafe extern "system" fn(instance: Instance, p_allocator: *const AllocationCallbacks);
136#[allow(non_camel_case_types)]
137pub type PFN_vkEnumeratePhysicalDevices = unsafe extern "system" fn(
138 instance: Instance,
139 p_physical_device_count: *mut u32,
140 p_physical_devices: *mut PhysicalDevice,
141) -> Result;
142#[allow(non_camel_case_types)]
143pub type PFN_vkGetPhysicalDeviceFeatures = unsafe extern "system" fn(
144 physical_device: PhysicalDevice,
145 p_features: *mut PhysicalDeviceFeatures,
146);
147#[allow(non_camel_case_types)]
148pub type PFN_vkGetPhysicalDeviceFormatProperties = unsafe extern "system" fn(
149 physical_device: PhysicalDevice,
150 format: Format,
151 p_format_properties: *mut FormatProperties,
152);
153#[allow(non_camel_case_types)]
154pub type PFN_vkGetPhysicalDeviceImageFormatProperties = unsafe extern "system" fn(
155 physical_device: PhysicalDevice,
156 format: Format,
157 ty: ImageType,
158 tiling: ImageTiling,
159 usage: ImageUsageFlags,
160 flags: ImageCreateFlags,
161 p_image_format_properties: *mut ImageFormatProperties,
162) -> Result;
163#[allow(non_camel_case_types)]
164pub type PFN_vkGetPhysicalDeviceProperties = unsafe extern "system" fn(
165 physical_device: PhysicalDevice,
166 p_properties: *mut PhysicalDeviceProperties,
167);
168#[allow(non_camel_case_types)]
169pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = unsafe extern "system" fn(
170 physical_device: PhysicalDevice,
171 p_queue_family_property_count: *mut u32,
172 p_queue_family_properties: *mut QueueFamilyProperties,
173);
174#[allow(non_camel_case_types)]
175pub type PFN_vkGetPhysicalDeviceMemoryProperties = unsafe extern "system" fn(
176 physical_device: PhysicalDevice,
177 p_memory_properties: *mut PhysicalDeviceMemoryProperties,
178);
179#[allow(non_camel_case_types)]
180pub type PFN_vkGetDeviceProcAddr =
181 unsafe extern "system" fn(device: Device, p_name: *const c_char) -> PFN_vkVoidFunction;
182#[allow(non_camel_case_types)]
183pub type PFN_vkCreateDevice = unsafe extern "system" fn(
184 physical_device: PhysicalDevice,
185 p_create_info: *const DeviceCreateInfo,
186 p_allocator: *const AllocationCallbacks,
187 p_device: *mut Device,
188) -> Result;
189#[allow(non_camel_case_types)]
190pub type PFN_vkEnumerateDeviceExtensionProperties = unsafe extern "system" fn(
191 physical_device: PhysicalDevice,
192 p_layer_name: *const c_char,
193 p_property_count: *mut u32,
194 p_properties: *mut ExtensionProperties,
195) -> Result;
196#[allow(non_camel_case_types)]
197pub type PFN_vkEnumerateDeviceLayerProperties = unsafe extern "system" fn(
198 physical_device: PhysicalDevice,
199 p_property_count: *mut u32,
200 p_properties: *mut LayerProperties,
201) -> Result;
202#[allow(non_camel_case_types)]
203pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = unsafe extern "system" fn(
204 physical_device: PhysicalDevice,
205 format: Format,
206 ty: ImageType,
207 samples: SampleCountFlags,
208 usage: ImageUsageFlags,
209 tiling: ImageTiling,
210 p_property_count: *mut u32,
211 p_properties: *mut SparseImageFormatProperties,
212);
213#[derive(Clone)]
214pub struct InstanceFnV1_0 {
215 pub destroy_instance: PFN_vkDestroyInstance,
216 pub enumerate_physical_devices: PFN_vkEnumeratePhysicalDevices,
217 pub get_physical_device_features: PFN_vkGetPhysicalDeviceFeatures,
218 pub get_physical_device_format_properties: PFN_vkGetPhysicalDeviceFormatProperties,
219 pub get_physical_device_image_format_properties: PFN_vkGetPhysicalDeviceImageFormatProperties,
220 pub get_physical_device_properties: PFN_vkGetPhysicalDeviceProperties,
221 pub get_physical_device_queue_family_properties: PFN_vkGetPhysicalDeviceQueueFamilyProperties,
222 pub get_physical_device_memory_properties: PFN_vkGetPhysicalDeviceMemoryProperties,
223 pub get_device_proc_addr: PFN_vkGetDeviceProcAddr,
224 pub create_device: PFN_vkCreateDevice,
225 pub enumerate_device_extension_properties: PFN_vkEnumerateDeviceExtensionProperties,
226 pub enumerate_device_layer_properties: PFN_vkEnumerateDeviceLayerProperties,
227 pub get_physical_device_sparse_image_format_properties:
228 PFN_vkGetPhysicalDeviceSparseImageFormatProperties,
229}
230unsafe impl Send for InstanceFnV1_0 {}
231unsafe impl Sync for InstanceFnV1_0 {}
232impl InstanceFnV1_0 {
233 pub fn load<F>(mut _f: F) -> Self
234 where
235 F: FnMut(&::std::ffi::CStr) -> *const c_void,
236 {
237 Self {
238 destroy_instance: unsafe {
239 unsafe extern "system" fn destroy_instance(
240 _instance: Instance,
241 _p_allocator: *const AllocationCallbacks,
242 ) {
243 panic!(concat!("Unable to load ", stringify!(destroy_instance)))
244 }
245 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyInstance\0");
246 let val = _f(cname);
247 if val.is_null() {
248 destroy_instance
249 } else {
250 ::std::mem::transmute(val)
251 }
252 },
253 enumerate_physical_devices: unsafe {
254 unsafe extern "system" fn enumerate_physical_devices(
255 _instance: Instance,
256 _p_physical_device_count: *mut u32,
257 _p_physical_devices: *mut PhysicalDevice,
258 ) -> Result {
259 panic!(concat!(
260 "Unable to load ",
261 stringify!(enumerate_physical_devices)
262 ))
263 }
264 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
265 b"vkEnumeratePhysicalDevices\0",
266 );
267 let val = _f(cname);
268 if val.is_null() {
269 enumerate_physical_devices
270 } else {
271 ::std::mem::transmute(val)
272 }
273 },
274 get_physical_device_features: unsafe {
275 unsafe extern "system" fn get_physical_device_features(
276 _physical_device: PhysicalDevice,
277 _p_features: *mut PhysicalDeviceFeatures,
278 ) {
279 panic!(concat!(
280 "Unable to load ",
281 stringify!(get_physical_device_features)
282 ))
283 }
284 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
285 b"vkGetPhysicalDeviceFeatures\0",
286 );
287 let val = _f(cname);
288 if val.is_null() {
289 get_physical_device_features
290 } else {
291 ::std::mem::transmute(val)
292 }
293 },
294 get_physical_device_format_properties: unsafe {
295 unsafe extern "system" fn get_physical_device_format_properties(
296 _physical_device: PhysicalDevice,
297 _format: Format,
298 _p_format_properties: *mut FormatProperties,
299 ) {
300 panic!(concat!(
301 "Unable to load ",
302 stringify!(get_physical_device_format_properties)
303 ))
304 }
305 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
306 b"vkGetPhysicalDeviceFormatProperties\0",
307 );
308 let val = _f(cname);
309 if val.is_null() {
310 get_physical_device_format_properties
311 } else {
312 ::std::mem::transmute(val)
313 }
314 },
315 get_physical_device_image_format_properties: unsafe {
316 unsafe extern "system" fn get_physical_device_image_format_properties(
317 _physical_device: PhysicalDevice,
318 _format: Format,
319 _ty: ImageType,
320 _tiling: ImageTiling,
321 _usage: ImageUsageFlags,
322 _flags: ImageCreateFlags,
323 _p_image_format_properties: *mut ImageFormatProperties,
324 ) -> Result {
325 panic!(concat!(
326 "Unable to load ",
327 stringify!(get_physical_device_image_format_properties)
328 ))
329 }
330 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
331 b"vkGetPhysicalDeviceImageFormatProperties\0",
332 );
333 let val = _f(cname);
334 if val.is_null() {
335 get_physical_device_image_format_properties
336 } else {
337 ::std::mem::transmute(val)
338 }
339 },
340 get_physical_device_properties: unsafe {
341 unsafe extern "system" fn get_physical_device_properties(
342 _physical_device: PhysicalDevice,
343 _p_properties: *mut PhysicalDeviceProperties,
344 ) {
345 panic!(concat!(
346 "Unable to load ",
347 stringify!(get_physical_device_properties)
348 ))
349 }
350 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
351 b"vkGetPhysicalDeviceProperties\0",
352 );
353 let val = _f(cname);
354 if val.is_null() {
355 get_physical_device_properties
356 } else {
357 ::std::mem::transmute(val)
358 }
359 },
360 get_physical_device_queue_family_properties: unsafe {
361 unsafe extern "system" fn get_physical_device_queue_family_properties(
362 _physical_device: PhysicalDevice,
363 _p_queue_family_property_count: *mut u32,
364 _p_queue_family_properties: *mut QueueFamilyProperties,
365 ) {
366 panic!(concat!(
367 "Unable to load ",
368 stringify!(get_physical_device_queue_family_properties)
369 ))
370 }
371 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
372 b"vkGetPhysicalDeviceQueueFamilyProperties\0",
373 );
374 let val = _f(cname);
375 if val.is_null() {
376 get_physical_device_queue_family_properties
377 } else {
378 ::std::mem::transmute(val)
379 }
380 },
381 get_physical_device_memory_properties: unsafe {
382 unsafe extern "system" fn get_physical_device_memory_properties(
383 _physical_device: PhysicalDevice,
384 _p_memory_properties: *mut PhysicalDeviceMemoryProperties,
385 ) {
386 panic!(concat!(
387 "Unable to load ",
388 stringify!(get_physical_device_memory_properties)
389 ))
390 }
391 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
392 b"vkGetPhysicalDeviceMemoryProperties\0",
393 );
394 let val = _f(cname);
395 if val.is_null() {
396 get_physical_device_memory_properties
397 } else {
398 ::std::mem::transmute(val)
399 }
400 },
401 get_device_proc_addr: unsafe {
402 unsafe extern "system" fn get_device_proc_addr(
403 _device: Device,
404 _p_name: *const c_char,
405 ) -> PFN_vkVoidFunction {
406 panic!(concat!("Unable to load ", stringify!(get_device_proc_addr)))
407 }
408 let cname =
409 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDeviceProcAddr\0");
410 let val = _f(cname);
411 if val.is_null() {
412 get_device_proc_addr
413 } else {
414 ::std::mem::transmute(val)
415 }
416 },
417 create_device: unsafe {
418 unsafe extern "system" fn create_device(
419 _physical_device: PhysicalDevice,
420 _p_create_info: *const DeviceCreateInfo,
421 _p_allocator: *const AllocationCallbacks,
422 _p_device: *mut Device,
423 ) -> Result {
424 panic!(concat!("Unable to load ", stringify!(create_device)))
425 }
426 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateDevice\0");
427 let val = _f(cname);
428 if val.is_null() {
429 create_device
430 } else {
431 ::std::mem::transmute(val)
432 }
433 },
434 enumerate_device_extension_properties: unsafe {
435 unsafe extern "system" fn enumerate_device_extension_properties(
436 _physical_device: PhysicalDevice,
437 _p_layer_name: *const c_char,
438 _p_property_count: *mut u32,
439 _p_properties: *mut ExtensionProperties,
440 ) -> Result {
441 panic!(concat!(
442 "Unable to load ",
443 stringify!(enumerate_device_extension_properties)
444 ))
445 }
446 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
447 b"vkEnumerateDeviceExtensionProperties\0",
448 );
449 let val = _f(cname);
450 if val.is_null() {
451 enumerate_device_extension_properties
452 } else {
453 ::std::mem::transmute(val)
454 }
455 },
456 enumerate_device_layer_properties: unsafe {
457 unsafe extern "system" fn enumerate_device_layer_properties(
458 _physical_device: PhysicalDevice,
459 _p_property_count: *mut u32,
460 _p_properties: *mut LayerProperties,
461 ) -> Result {
462 panic!(concat!(
463 "Unable to load ",
464 stringify!(enumerate_device_layer_properties)
465 ))
466 }
467 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
468 b"vkEnumerateDeviceLayerProperties\0",
469 );
470 let val = _f(cname);
471 if val.is_null() {
472 enumerate_device_layer_properties
473 } else {
474 ::std::mem::transmute(val)
475 }
476 },
477 get_physical_device_sparse_image_format_properties: unsafe {
478 unsafe extern "system" fn get_physical_device_sparse_image_format_properties(
479 _physical_device: PhysicalDevice,
480 _format: Format,
481 _ty: ImageType,
482 _samples: SampleCountFlags,
483 _usage: ImageUsageFlags,
484 _tiling: ImageTiling,
485 _p_property_count: *mut u32,
486 _p_properties: *mut SparseImageFormatProperties,
487 ) {
488 panic!(concat!(
489 "Unable to load ",
490 stringify!(get_physical_device_sparse_image_format_properties)
491 ))
492 }
493 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
494 b"vkGetPhysicalDeviceSparseImageFormatProperties\0",
495 );
496 let val = _f(cname);
497 if val.is_null() {
498 get_physical_device_sparse_image_format_properties
499 } else {
500 ::std::mem::transmute(val)
501 }
502 },
503 }
504 }
505}
506#[allow(non_camel_case_types)]
507pub type PFN_vkDestroyDevice =
508 unsafe extern "system" fn(device: Device, p_allocator: *const AllocationCallbacks);
509#[allow(non_camel_case_types)]
510pub type PFN_vkGetDeviceQueue = unsafe extern "system" fn(
511 device: Device,
512 queue_family_index: u32,
513 queue_index: u32,
514 p_queue: *mut Queue,
515);
516#[allow(non_camel_case_types)]
517pub type PFN_vkQueueSubmit = unsafe extern "system" fn(
518 queue: Queue,
519 submit_count: u32,
520 p_submits: *const SubmitInfo,
521 fence: Fence,
522) -> Result;
523#[allow(non_camel_case_types)]
524pub type PFN_vkQueueWaitIdle = unsafe extern "system" fn(queue: Queue) -> Result;
525#[allow(non_camel_case_types)]
526pub type PFN_vkDeviceWaitIdle = unsafe extern "system" fn(device: Device) -> Result;
527#[allow(non_camel_case_types)]
528pub type PFN_vkAllocateMemory = unsafe extern "system" fn(
529 device: Device,
530 p_allocate_info: *const MemoryAllocateInfo,
531 p_allocator: *const AllocationCallbacks,
532 p_memory: *mut DeviceMemory,
533) -> Result;
534#[allow(non_camel_case_types)]
535pub type PFN_vkFreeMemory = unsafe extern "system" fn(
536 device: Device,
537 memory: DeviceMemory,
538 p_allocator: *const AllocationCallbacks,
539);
540#[allow(non_camel_case_types)]
541pub type PFN_vkMapMemory = unsafe extern "system" fn(
542 device: Device,
543 memory: DeviceMemory,
544 offset: DeviceSize,
545 size: DeviceSize,
546 flags: MemoryMapFlags,
547 pp_data: *mut *mut c_void,
548) -> Result;
549#[allow(non_camel_case_types)]
550pub type PFN_vkUnmapMemory = unsafe extern "system" fn(device: Device, memory: DeviceMemory);
551#[allow(non_camel_case_types)]
552pub type PFN_vkFlushMappedMemoryRanges = unsafe extern "system" fn(
553 device: Device,
554 memory_range_count: u32,
555 p_memory_ranges: *const MappedMemoryRange,
556) -> Result;
557#[allow(non_camel_case_types)]
558pub type PFN_vkInvalidateMappedMemoryRanges = unsafe extern "system" fn(
559 device: Device,
560 memory_range_count: u32,
561 p_memory_ranges: *const MappedMemoryRange,
562) -> Result;
563#[allow(non_camel_case_types)]
564pub type PFN_vkGetDeviceMemoryCommitment = unsafe extern "system" fn(
565 device: Device,
566 memory: DeviceMemory,
567 p_committed_memory_in_bytes: *mut DeviceSize,
568);
569#[allow(non_camel_case_types)]
570pub type PFN_vkBindBufferMemory = unsafe extern "system" fn(
571 device: Device,
572 buffer: Buffer,
573 memory: DeviceMemory,
574 memory_offset: DeviceSize,
575) -> Result;
576#[allow(non_camel_case_types)]
577pub type PFN_vkBindImageMemory = unsafe extern "system" fn(
578 device: Device,
579 image: Image,
580 memory: DeviceMemory,
581 memory_offset: DeviceSize,
582) -> Result;
583#[allow(non_camel_case_types)]
584pub type PFN_vkGetBufferMemoryRequirements = unsafe extern "system" fn(
585 device: Device,
586 buffer: Buffer,
587 p_memory_requirements: *mut MemoryRequirements,
588);
589#[allow(non_camel_case_types)]
590pub type PFN_vkGetImageMemoryRequirements = unsafe extern "system" fn(
591 device: Device,
592 image: Image,
593 p_memory_requirements: *mut MemoryRequirements,
594);
595#[allow(non_camel_case_types)]
596pub type PFN_vkGetImageSparseMemoryRequirements = unsafe extern "system" fn(
597 device: Device,
598 image: Image,
599 p_sparse_memory_requirement_count: *mut u32,
600 p_sparse_memory_requirements: *mut SparseImageMemoryRequirements,
601);
602#[allow(non_camel_case_types)]
603pub type PFN_vkQueueBindSparse = unsafe extern "system" fn(
604 queue: Queue,
605 bind_info_count: u32,
606 p_bind_info: *const BindSparseInfo,
607 fence: Fence,
608) -> Result;
609#[allow(non_camel_case_types)]
610pub type PFN_vkCreateFence = unsafe extern "system" fn(
611 device: Device,
612 p_create_info: *const FenceCreateInfo,
613 p_allocator: *const AllocationCallbacks,
614 p_fence: *mut Fence,
615) -> Result;
616#[allow(non_camel_case_types)]
617pub type PFN_vkDestroyFence = unsafe extern "system" fn(
618 device: Device,
619 fence: Fence,
620 p_allocator: *const AllocationCallbacks,
621);
622#[allow(non_camel_case_types)]
623pub type PFN_vkResetFences =
624 unsafe extern "system" fn(device: Device, fence_count: u32, p_fences: *const Fence) -> Result;
625#[allow(non_camel_case_types)]
626pub type PFN_vkGetFenceStatus = unsafe extern "system" fn(device: Device, fence: Fence) -> Result;
627#[allow(non_camel_case_types)]
628pub type PFN_vkWaitForFences = unsafe extern "system" fn(
629 device: Device,
630 fence_count: u32,
631 p_fences: *const Fence,
632 wait_all: Bool32,
633 timeout: u64,
634) -> Result;
635#[allow(non_camel_case_types)]
636pub type PFN_vkCreateSemaphore = unsafe extern "system" fn(
637 device: Device,
638 p_create_info: *const SemaphoreCreateInfo,
639 p_allocator: *const AllocationCallbacks,
640 p_semaphore: *mut Semaphore,
641) -> Result;
642#[allow(non_camel_case_types)]
643pub type PFN_vkDestroySemaphore = unsafe extern "system" fn(
644 device: Device,
645 semaphore: Semaphore,
646 p_allocator: *const AllocationCallbacks,
647);
648#[allow(non_camel_case_types)]
649pub type PFN_vkCreateEvent = unsafe extern "system" fn(
650 device: Device,
651 p_create_info: *const EventCreateInfo,
652 p_allocator: *const AllocationCallbacks,
653 p_event: *mut Event,
654) -> Result;
655#[allow(non_camel_case_types)]
656pub type PFN_vkDestroyEvent = unsafe extern "system" fn(
657 device: Device,
658 event: Event,
659 p_allocator: *const AllocationCallbacks,
660);
661#[allow(non_camel_case_types)]
662pub type PFN_vkGetEventStatus = unsafe extern "system" fn(device: Device, event: Event) -> Result;
663#[allow(non_camel_case_types)]
664pub type PFN_vkSetEvent = unsafe extern "system" fn(device: Device, event: Event) -> Result;
665#[allow(non_camel_case_types)]
666pub type PFN_vkResetEvent = unsafe extern "system" fn(device: Device, event: Event) -> Result;
667#[allow(non_camel_case_types)]
668pub type PFN_vkCreateQueryPool = unsafe extern "system" fn(
669 device: Device,
670 p_create_info: *const QueryPoolCreateInfo,
671 p_allocator: *const AllocationCallbacks,
672 p_query_pool: *mut QueryPool,
673) -> Result;
674#[allow(non_camel_case_types)]
675pub type PFN_vkDestroyQueryPool = unsafe extern "system" fn(
676 device: Device,
677 query_pool: QueryPool,
678 p_allocator: *const AllocationCallbacks,
679);
680#[allow(non_camel_case_types)]
681pub type PFN_vkGetQueryPoolResults = unsafe extern "system" fn(
682 device: Device,
683 query_pool: QueryPool,
684 first_query: u32,
685 query_count: u32,
686 data_size: usize,
687 p_data: *mut c_void,
688 stride: DeviceSize,
689 flags: QueryResultFlags,
690) -> Result;
691#[allow(non_camel_case_types)]
692pub type PFN_vkCreateBuffer = unsafe extern "system" fn(
693 device: Device,
694 p_create_info: *const BufferCreateInfo,
695 p_allocator: *const AllocationCallbacks,
696 p_buffer: *mut Buffer,
697) -> Result;
698#[allow(non_camel_case_types)]
699pub type PFN_vkDestroyBuffer = unsafe extern "system" fn(
700 device: Device,
701 buffer: Buffer,
702 p_allocator: *const AllocationCallbacks,
703);
704#[allow(non_camel_case_types)]
705pub type PFN_vkCreateBufferView = unsafe extern "system" fn(
706 device: Device,
707 p_create_info: *const BufferViewCreateInfo,
708 p_allocator: *const AllocationCallbacks,
709 p_view: *mut BufferView,
710) -> Result;
711#[allow(non_camel_case_types)]
712pub type PFN_vkDestroyBufferView = unsafe extern "system" fn(
713 device: Device,
714 buffer_view: BufferView,
715 p_allocator: *const AllocationCallbacks,
716);
717#[allow(non_camel_case_types)]
718pub type PFN_vkCreateImage = unsafe extern "system" fn(
719 device: Device,
720 p_create_info: *const ImageCreateInfo,
721 p_allocator: *const AllocationCallbacks,
722 p_image: *mut Image,
723) -> Result;
724#[allow(non_camel_case_types)]
725pub type PFN_vkDestroyImage = unsafe extern "system" fn(
726 device: Device,
727 image: Image,
728 p_allocator: *const AllocationCallbacks,
729);
730#[allow(non_camel_case_types)]
731pub type PFN_vkGetImageSubresourceLayout = unsafe extern "system" fn(
732 device: Device,
733 image: Image,
734 p_subresource: *const ImageSubresource,
735 p_layout: *mut SubresourceLayout,
736);
737#[allow(non_camel_case_types)]
738pub type PFN_vkCreateImageView = unsafe extern "system" fn(
739 device: Device,
740 p_create_info: *const ImageViewCreateInfo,
741 p_allocator: *const AllocationCallbacks,
742 p_view: *mut ImageView,
743) -> Result;
744#[allow(non_camel_case_types)]
745pub type PFN_vkDestroyImageView = unsafe extern "system" fn(
746 device: Device,
747 image_view: ImageView,
748 p_allocator: *const AllocationCallbacks,
749);
750#[allow(non_camel_case_types)]
751pub type PFN_vkCreateShaderModule = unsafe extern "system" fn(
752 device: Device,
753 p_create_info: *const ShaderModuleCreateInfo,
754 p_allocator: *const AllocationCallbacks,
755 p_shader_module: *mut ShaderModule,
756) -> Result;
757#[allow(non_camel_case_types)]
758pub type PFN_vkDestroyShaderModule = unsafe extern "system" fn(
759 device: Device,
760 shader_module: ShaderModule,
761 p_allocator: *const AllocationCallbacks,
762);
763#[allow(non_camel_case_types)]
764pub type PFN_vkCreatePipelineCache = unsafe extern "system" fn(
765 device: Device,
766 p_create_info: *const PipelineCacheCreateInfo,
767 p_allocator: *const AllocationCallbacks,
768 p_pipeline_cache: *mut PipelineCache,
769) -> Result;
770#[allow(non_camel_case_types)]
771pub type PFN_vkDestroyPipelineCache = unsafe extern "system" fn(
772 device: Device,
773 pipeline_cache: PipelineCache,
774 p_allocator: *const AllocationCallbacks,
775);
776#[allow(non_camel_case_types)]
777pub type PFN_vkGetPipelineCacheData = unsafe extern "system" fn(
778 device: Device,
779 pipeline_cache: PipelineCache,
780 p_data_size: *mut usize,
781 p_data: *mut c_void,
782) -> Result;
783#[allow(non_camel_case_types)]
784pub type PFN_vkMergePipelineCaches = unsafe extern "system" fn(
785 device: Device,
786 dst_cache: PipelineCache,
787 src_cache_count: u32,
788 p_src_caches: *const PipelineCache,
789) -> Result;
790#[allow(non_camel_case_types)]
791pub type PFN_vkCreateGraphicsPipelines = unsafe extern "system" fn(
792 device: Device,
793 pipeline_cache: PipelineCache,
794 create_info_count: u32,
795 p_create_infos: *const GraphicsPipelineCreateInfo,
796 p_allocator: *const AllocationCallbacks,
797 p_pipelines: *mut Pipeline,
798) -> Result;
799#[allow(non_camel_case_types)]
800pub type PFN_vkCreateComputePipelines = unsafe extern "system" fn(
801 device: Device,
802 pipeline_cache: PipelineCache,
803 create_info_count: u32,
804 p_create_infos: *const ComputePipelineCreateInfo,
805 p_allocator: *const AllocationCallbacks,
806 p_pipelines: *mut Pipeline,
807) -> Result;
808#[allow(non_camel_case_types)]
809pub type PFN_vkDestroyPipeline = unsafe extern "system" fn(
810 device: Device,
811 pipeline: Pipeline,
812 p_allocator: *const AllocationCallbacks,
813);
814#[allow(non_camel_case_types)]
815pub type PFN_vkCreatePipelineLayout = unsafe extern "system" fn(
816 device: Device,
817 p_create_info: *const PipelineLayoutCreateInfo,
818 p_allocator: *const AllocationCallbacks,
819 p_pipeline_layout: *mut PipelineLayout,
820) -> Result;
821#[allow(non_camel_case_types)]
822pub type PFN_vkDestroyPipelineLayout = unsafe extern "system" fn(
823 device: Device,
824 pipeline_layout: PipelineLayout,
825 p_allocator: *const AllocationCallbacks,
826);
827#[allow(non_camel_case_types)]
828pub type PFN_vkCreateSampler = unsafe extern "system" fn(
829 device: Device,
830 p_create_info: *const SamplerCreateInfo,
831 p_allocator: *const AllocationCallbacks,
832 p_sampler: *mut Sampler,
833) -> Result;
834#[allow(non_camel_case_types)]
835pub type PFN_vkDestroySampler = unsafe extern "system" fn(
836 device: Device,
837 sampler: Sampler,
838 p_allocator: *const AllocationCallbacks,
839);
840#[allow(non_camel_case_types)]
841pub type PFN_vkCreateDescriptorSetLayout = unsafe extern "system" fn(
842 device: Device,
843 p_create_info: *const DescriptorSetLayoutCreateInfo,
844 p_allocator: *const AllocationCallbacks,
845 p_set_layout: *mut DescriptorSetLayout,
846) -> Result;
847#[allow(non_camel_case_types)]
848pub type PFN_vkDestroyDescriptorSetLayout = unsafe extern "system" fn(
849 device: Device,
850 descriptor_set_layout: DescriptorSetLayout,
851 p_allocator: *const AllocationCallbacks,
852);
853#[allow(non_camel_case_types)]
854pub type PFN_vkCreateDescriptorPool = unsafe extern "system" fn(
855 device: Device,
856 p_create_info: *const DescriptorPoolCreateInfo,
857 p_allocator: *const AllocationCallbacks,
858 p_descriptor_pool: *mut DescriptorPool,
859) -> Result;
860#[allow(non_camel_case_types)]
861pub type PFN_vkDestroyDescriptorPool = unsafe extern "system" fn(
862 device: Device,
863 descriptor_pool: DescriptorPool,
864 p_allocator: *const AllocationCallbacks,
865);
866#[allow(non_camel_case_types)]
867pub type PFN_vkResetDescriptorPool = unsafe extern "system" fn(
868 device: Device,
869 descriptor_pool: DescriptorPool,
870 flags: DescriptorPoolResetFlags,
871) -> Result;
872#[allow(non_camel_case_types)]
873pub type PFN_vkAllocateDescriptorSets = unsafe extern "system" fn(
874 device: Device,
875 p_allocate_info: *const DescriptorSetAllocateInfo,
876 p_descriptor_sets: *mut DescriptorSet,
877) -> Result;
878#[allow(non_camel_case_types)]
879pub type PFN_vkFreeDescriptorSets = unsafe extern "system" fn(
880 device: Device,
881 descriptor_pool: DescriptorPool,
882 descriptor_set_count: u32,
883 p_descriptor_sets: *const DescriptorSet,
884) -> Result;
885#[allow(non_camel_case_types)]
886pub type PFN_vkUpdateDescriptorSets = unsafe extern "system" fn(
887 device: Device,
888 descriptor_write_count: u32,
889 p_descriptor_writes: *const WriteDescriptorSet,
890 descriptor_copy_count: u32,
891 p_descriptor_copies: *const CopyDescriptorSet,
892);
893#[allow(non_camel_case_types)]
894pub type PFN_vkCreateFramebuffer = unsafe extern "system" fn(
895 device: Device,
896 p_create_info: *const FramebufferCreateInfo,
897 p_allocator: *const AllocationCallbacks,
898 p_framebuffer: *mut Framebuffer,
899) -> Result;
900#[allow(non_camel_case_types)]
901pub type PFN_vkDestroyFramebuffer = unsafe extern "system" fn(
902 device: Device,
903 framebuffer: Framebuffer,
904 p_allocator: *const AllocationCallbacks,
905);
906#[allow(non_camel_case_types)]
907pub type PFN_vkCreateRenderPass = unsafe extern "system" fn(
908 device: Device,
909 p_create_info: *const RenderPassCreateInfo,
910 p_allocator: *const AllocationCallbacks,
911 p_render_pass: *mut RenderPass,
912) -> Result;
913#[allow(non_camel_case_types)]
914pub type PFN_vkDestroyRenderPass = unsafe extern "system" fn(
915 device: Device,
916 render_pass: RenderPass,
917 p_allocator: *const AllocationCallbacks,
918);
919#[allow(non_camel_case_types)]
920pub type PFN_vkGetRenderAreaGranularity = unsafe extern "system" fn(
921 device: Device,
922 render_pass: RenderPass,
923 p_granularity: *mut Extent2D,
924);
925#[allow(non_camel_case_types)]
926pub type PFN_vkCreateCommandPool = unsafe extern "system" fn(
927 device: Device,
928 p_create_info: *const CommandPoolCreateInfo,
929 p_allocator: *const AllocationCallbacks,
930 p_command_pool: *mut CommandPool,
931) -> Result;
932#[allow(non_camel_case_types)]
933pub type PFN_vkDestroyCommandPool = unsafe extern "system" fn(
934 device: Device,
935 command_pool: CommandPool,
936 p_allocator: *const AllocationCallbacks,
937);
938#[allow(non_camel_case_types)]
939pub type PFN_vkResetCommandPool = unsafe extern "system" fn(
940 device: Device,
941 command_pool: CommandPool,
942 flags: CommandPoolResetFlags,
943) -> Result;
944#[allow(non_camel_case_types)]
945pub type PFN_vkAllocateCommandBuffers = unsafe extern "system" fn(
946 device: Device,
947 p_allocate_info: *const CommandBufferAllocateInfo,
948 p_command_buffers: *mut CommandBuffer,
949) -> Result;
950#[allow(non_camel_case_types)]
951pub type PFN_vkFreeCommandBuffers = unsafe extern "system" fn(
952 device: Device,
953 command_pool: CommandPool,
954 command_buffer_count: u32,
955 p_command_buffers: *const CommandBuffer,
956);
957#[allow(non_camel_case_types)]
958pub type PFN_vkBeginCommandBuffer = unsafe extern "system" fn(
959 command_buffer: CommandBuffer,
960 p_begin_info: *const CommandBufferBeginInfo,
961) -> Result;
962#[allow(non_camel_case_types)]
963pub type PFN_vkEndCommandBuffer =
964 unsafe extern "system" fn(command_buffer: CommandBuffer) -> Result;
965#[allow(non_camel_case_types)]
966pub type PFN_vkResetCommandBuffer = unsafe extern "system" fn(
967 command_buffer: CommandBuffer,
968 flags: CommandBufferResetFlags,
969) -> Result;
970#[allow(non_camel_case_types)]
971pub type PFN_vkCmdBindPipeline = unsafe extern "system" fn(
972 command_buffer: CommandBuffer,
973 pipeline_bind_point: PipelineBindPoint,
974 pipeline: Pipeline,
975);
976#[allow(non_camel_case_types)]
977pub type PFN_vkCmdSetViewport = unsafe extern "system" fn(
978 command_buffer: CommandBuffer,
979 first_viewport: u32,
980 viewport_count: u32,
981 p_viewports: *const Viewport,
982);
983#[allow(non_camel_case_types)]
984pub type PFN_vkCmdSetScissor = unsafe extern "system" fn(
985 command_buffer: CommandBuffer,
986 first_scissor: u32,
987 scissor_count: u32,
988 p_scissors: *const Rect2D,
989);
990#[allow(non_camel_case_types)]
991pub type PFN_vkCmdSetLineWidth =
992 unsafe extern "system" fn(command_buffer: CommandBuffer, line_width: f32);
993#[allow(non_camel_case_types)]
994pub type PFN_vkCmdSetDepthBias = unsafe extern "system" fn(
995 command_buffer: CommandBuffer,
996 depth_bias_constant_factor: f32,
997 depth_bias_clamp: f32,
998 depth_bias_slope_factor: f32,
999);
1000#[allow(non_camel_case_types)]
1001pub type PFN_vkCmdSetBlendConstants =
1002 unsafe extern "system" fn(command_buffer: CommandBuffer, blend_constants: *const [f32; 4]);
1003#[allow(non_camel_case_types)]
1004pub type PFN_vkCmdSetDepthBounds = unsafe extern "system" fn(
1005 command_buffer: CommandBuffer,
1006 min_depth_bounds: f32,
1007 max_depth_bounds: f32,
1008);
1009#[allow(non_camel_case_types)]
1010pub type PFN_vkCmdSetStencilCompareMask = unsafe extern "system" fn(
1011 command_buffer: CommandBuffer,
1012 face_mask: StencilFaceFlags,
1013 compare_mask: u32,
1014);
1015#[allow(non_camel_case_types)]
1016pub type PFN_vkCmdSetStencilWriteMask = unsafe extern "system" fn(
1017 command_buffer: CommandBuffer,
1018 face_mask: StencilFaceFlags,
1019 write_mask: u32,
1020);
1021#[allow(non_camel_case_types)]
1022pub type PFN_vkCmdSetStencilReference = unsafe extern "system" fn(
1023 command_buffer: CommandBuffer,
1024 face_mask: StencilFaceFlags,
1025 reference: u32,
1026);
1027#[allow(non_camel_case_types)]
1028pub type PFN_vkCmdBindDescriptorSets = unsafe extern "system" fn(
1029 command_buffer: CommandBuffer,
1030 pipeline_bind_point: PipelineBindPoint,
1031 layout: PipelineLayout,
1032 first_set: u32,
1033 descriptor_set_count: u32,
1034 p_descriptor_sets: *const DescriptorSet,
1035 dynamic_offset_count: u32,
1036 p_dynamic_offsets: *const u32,
1037);
1038#[allow(non_camel_case_types)]
1039pub type PFN_vkCmdBindIndexBuffer = unsafe extern "system" fn(
1040 command_buffer: CommandBuffer,
1041 buffer: Buffer,
1042 offset: DeviceSize,
1043 index_type: IndexType,
1044);
1045#[allow(non_camel_case_types)]
1046pub type PFN_vkCmdBindVertexBuffers = unsafe extern "system" fn(
1047 command_buffer: CommandBuffer,
1048 first_binding: u32,
1049 binding_count: u32,
1050 p_buffers: *const Buffer,
1051 p_offsets: *const DeviceSize,
1052);
1053#[allow(non_camel_case_types)]
1054pub type PFN_vkCmdDraw = unsafe extern "system" fn(
1055 command_buffer: CommandBuffer,
1056 vertex_count: u32,
1057 instance_count: u32,
1058 first_vertex: u32,
1059 first_instance: u32,
1060);
1061#[allow(non_camel_case_types)]
1062pub type PFN_vkCmdDrawIndexed = unsafe extern "system" fn(
1063 command_buffer: CommandBuffer,
1064 index_count: u32,
1065 instance_count: u32,
1066 first_index: u32,
1067 vertex_offset: i32,
1068 first_instance: u32,
1069);
1070#[allow(non_camel_case_types)]
1071pub type PFN_vkCmdDrawIndirect = unsafe extern "system" fn(
1072 command_buffer: CommandBuffer,
1073 buffer: Buffer,
1074 offset: DeviceSize,
1075 draw_count: u32,
1076 stride: u32,
1077);
1078#[allow(non_camel_case_types)]
1079pub type PFN_vkCmdDrawIndexedIndirect = unsafe extern "system" fn(
1080 command_buffer: CommandBuffer,
1081 buffer: Buffer,
1082 offset: DeviceSize,
1083 draw_count: u32,
1084 stride: u32,
1085);
1086#[allow(non_camel_case_types)]
1087pub type PFN_vkCmdDispatch = unsafe extern "system" fn(
1088 command_buffer: CommandBuffer,
1089 group_count_x: u32,
1090 group_count_y: u32,
1091 group_count_z: u32,
1092);
1093#[allow(non_camel_case_types)]
1094pub type PFN_vkCmdDispatchIndirect =
1095 unsafe extern "system" fn(command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize);
1096#[allow(non_camel_case_types)]
1097pub type PFN_vkCmdCopyBuffer = unsafe extern "system" fn(
1098 command_buffer: CommandBuffer,
1099 src_buffer: Buffer,
1100 dst_buffer: Buffer,
1101 region_count: u32,
1102 p_regions: *const BufferCopy,
1103);
1104#[allow(non_camel_case_types)]
1105pub type PFN_vkCmdCopyImage = unsafe extern "system" fn(
1106 command_buffer: CommandBuffer,
1107 src_image: Image,
1108 src_image_layout: ImageLayout,
1109 dst_image: Image,
1110 dst_image_layout: ImageLayout,
1111 region_count: u32,
1112 p_regions: *const ImageCopy,
1113);
1114#[allow(non_camel_case_types)]
1115pub type PFN_vkCmdBlitImage = unsafe extern "system" fn(
1116 command_buffer: CommandBuffer,
1117 src_image: Image,
1118 src_image_layout: ImageLayout,
1119 dst_image: Image,
1120 dst_image_layout: ImageLayout,
1121 region_count: u32,
1122 p_regions: *const ImageBlit,
1123 filter: Filter,
1124);
1125#[allow(non_camel_case_types)]
1126pub type PFN_vkCmdCopyBufferToImage = unsafe extern "system" fn(
1127 command_buffer: CommandBuffer,
1128 src_buffer: Buffer,
1129 dst_image: Image,
1130 dst_image_layout: ImageLayout,
1131 region_count: u32,
1132 p_regions: *const BufferImageCopy,
1133);
1134#[allow(non_camel_case_types)]
1135pub type PFN_vkCmdCopyImageToBuffer = unsafe extern "system" fn(
1136 command_buffer: CommandBuffer,
1137 src_image: Image,
1138 src_image_layout: ImageLayout,
1139 dst_buffer: Buffer,
1140 region_count: u32,
1141 p_regions: *const BufferImageCopy,
1142);
1143#[allow(non_camel_case_types)]
1144pub type PFN_vkCmdUpdateBuffer = unsafe extern "system" fn(
1145 command_buffer: CommandBuffer,
1146 dst_buffer: Buffer,
1147 dst_offset: DeviceSize,
1148 data_size: DeviceSize,
1149 p_data: *const c_void,
1150);
1151#[allow(non_camel_case_types)]
1152pub type PFN_vkCmdFillBuffer = unsafe extern "system" fn(
1153 command_buffer: CommandBuffer,
1154 dst_buffer: Buffer,
1155 dst_offset: DeviceSize,
1156 size: DeviceSize,
1157 data: u32,
1158);
1159#[allow(non_camel_case_types)]
1160pub type PFN_vkCmdClearColorImage = unsafe extern "system" fn(
1161 command_buffer: CommandBuffer,
1162 image: Image,
1163 image_layout: ImageLayout,
1164 p_color: *const ClearColorValue,
1165 range_count: u32,
1166 p_ranges: *const ImageSubresourceRange,
1167);
1168#[allow(non_camel_case_types)]
1169pub type PFN_vkCmdClearDepthStencilImage = unsafe extern "system" fn(
1170 command_buffer: CommandBuffer,
1171 image: Image,
1172 image_layout: ImageLayout,
1173 p_depth_stencil: *const ClearDepthStencilValue,
1174 range_count: u32,
1175 p_ranges: *const ImageSubresourceRange,
1176);
1177#[allow(non_camel_case_types)]
1178pub type PFN_vkCmdClearAttachments = unsafe extern "system" fn(
1179 command_buffer: CommandBuffer,
1180 attachment_count: u32,
1181 p_attachments: *const ClearAttachment,
1182 rect_count: u32,
1183 p_rects: *const ClearRect,
1184);
1185#[allow(non_camel_case_types)]
1186pub type PFN_vkCmdResolveImage = unsafe extern "system" fn(
1187 command_buffer: CommandBuffer,
1188 src_image: Image,
1189 src_image_layout: ImageLayout,
1190 dst_image: Image,
1191 dst_image_layout: ImageLayout,
1192 region_count: u32,
1193 p_regions: *const ImageResolve,
1194);
1195#[allow(non_camel_case_types)]
1196pub type PFN_vkCmdSetEvent = unsafe extern "system" fn(
1197 command_buffer: CommandBuffer,
1198 event: Event,
1199 stage_mask: PipelineStageFlags,
1200);
1201#[allow(non_camel_case_types)]
1202pub type PFN_vkCmdResetEvent = unsafe extern "system" fn(
1203 command_buffer: CommandBuffer,
1204 event: Event,
1205 stage_mask: PipelineStageFlags,
1206);
1207#[allow(non_camel_case_types)]
1208pub type PFN_vkCmdWaitEvents = unsafe extern "system" fn(
1209 command_buffer: CommandBuffer,
1210 event_count: u32,
1211 p_events: *const Event,
1212 src_stage_mask: PipelineStageFlags,
1213 dst_stage_mask: PipelineStageFlags,
1214 memory_barrier_count: u32,
1215 p_memory_barriers: *const MemoryBarrier,
1216 buffer_memory_barrier_count: u32,
1217 p_buffer_memory_barriers: *const BufferMemoryBarrier,
1218 image_memory_barrier_count: u32,
1219 p_image_memory_barriers: *const ImageMemoryBarrier,
1220);
1221#[allow(non_camel_case_types)]
1222pub type PFN_vkCmdPipelineBarrier = unsafe extern "system" fn(
1223 command_buffer: CommandBuffer,
1224 src_stage_mask: PipelineStageFlags,
1225 dst_stage_mask: PipelineStageFlags,
1226 dependency_flags: DependencyFlags,
1227 memory_barrier_count: u32,
1228 p_memory_barriers: *const MemoryBarrier,
1229 buffer_memory_barrier_count: u32,
1230 p_buffer_memory_barriers: *const BufferMemoryBarrier,
1231 image_memory_barrier_count: u32,
1232 p_image_memory_barriers: *const ImageMemoryBarrier,
1233);
1234#[allow(non_camel_case_types)]
1235pub type PFN_vkCmdBeginQuery = unsafe extern "system" fn(
1236 command_buffer: CommandBuffer,
1237 query_pool: QueryPool,
1238 query: u32,
1239 flags: QueryControlFlags,
1240);
1241#[allow(non_camel_case_types)]
1242pub type PFN_vkCmdEndQuery =
1243 unsafe extern "system" fn(command_buffer: CommandBuffer, query_pool: QueryPool, query: u32);
1244#[allow(non_camel_case_types)]
1245pub type PFN_vkCmdResetQueryPool = unsafe extern "system" fn(
1246 command_buffer: CommandBuffer,
1247 query_pool: QueryPool,
1248 first_query: u32,
1249 query_count: u32,
1250);
1251#[allow(non_camel_case_types)]
1252pub type PFN_vkCmdWriteTimestamp = unsafe extern "system" fn(
1253 command_buffer: CommandBuffer,
1254 pipeline_stage: PipelineStageFlags,
1255 query_pool: QueryPool,
1256 query: u32,
1257);
1258#[allow(non_camel_case_types)]
1259pub type PFN_vkCmdCopyQueryPoolResults = unsafe extern "system" fn(
1260 command_buffer: CommandBuffer,
1261 query_pool: QueryPool,
1262 first_query: u32,
1263 query_count: u32,
1264 dst_buffer: Buffer,
1265 dst_offset: DeviceSize,
1266 stride: DeviceSize,
1267 flags: QueryResultFlags,
1268);
1269#[allow(non_camel_case_types)]
1270pub type PFN_vkCmdPushConstants = unsafe extern "system" fn(
1271 command_buffer: CommandBuffer,
1272 layout: PipelineLayout,
1273 stage_flags: ShaderStageFlags,
1274 offset: u32,
1275 size: u32,
1276 p_values: *const c_void,
1277);
1278#[allow(non_camel_case_types)]
1279pub type PFN_vkCmdBeginRenderPass = unsafe extern "system" fn(
1280 command_buffer: CommandBuffer,
1281 p_render_pass_begin: *const RenderPassBeginInfo,
1282 contents: SubpassContents,
1283);
1284#[allow(non_camel_case_types)]
1285pub type PFN_vkCmdNextSubpass =
1286 unsafe extern "system" fn(command_buffer: CommandBuffer, contents: SubpassContents);
1287#[allow(non_camel_case_types)]
1288pub type PFN_vkCmdEndRenderPass = unsafe extern "system" fn(command_buffer: CommandBuffer);
1289#[allow(non_camel_case_types)]
1290pub type PFN_vkCmdExecuteCommands = unsafe extern "system" fn(
1291 command_buffer: CommandBuffer,
1292 command_buffer_count: u32,
1293 p_command_buffers: *const CommandBuffer,
1294);
1295#[derive(Clone)]
1296pub struct DeviceFnV1_0 {
1297 pub destroy_device: PFN_vkDestroyDevice,
1298 pub get_device_queue: PFN_vkGetDeviceQueue,
1299 pub queue_submit: PFN_vkQueueSubmit,
1300 pub queue_wait_idle: PFN_vkQueueWaitIdle,
1301 pub device_wait_idle: PFN_vkDeviceWaitIdle,
1302 pub allocate_memory: PFN_vkAllocateMemory,
1303 pub free_memory: PFN_vkFreeMemory,
1304 pub map_memory: PFN_vkMapMemory,
1305 pub unmap_memory: PFN_vkUnmapMemory,
1306 pub flush_mapped_memory_ranges: PFN_vkFlushMappedMemoryRanges,
1307 pub invalidate_mapped_memory_ranges: PFN_vkInvalidateMappedMemoryRanges,
1308 pub get_device_memory_commitment: PFN_vkGetDeviceMemoryCommitment,
1309 pub bind_buffer_memory: PFN_vkBindBufferMemory,
1310 pub bind_image_memory: PFN_vkBindImageMemory,
1311 pub get_buffer_memory_requirements: PFN_vkGetBufferMemoryRequirements,
1312 pub get_image_memory_requirements: PFN_vkGetImageMemoryRequirements,
1313 pub get_image_sparse_memory_requirements: PFN_vkGetImageSparseMemoryRequirements,
1314 pub queue_bind_sparse: PFN_vkQueueBindSparse,
1315 pub create_fence: PFN_vkCreateFence,
1316 pub destroy_fence: PFN_vkDestroyFence,
1317 pub reset_fences: PFN_vkResetFences,
1318 pub get_fence_status: PFN_vkGetFenceStatus,
1319 pub wait_for_fences: PFN_vkWaitForFences,
1320 pub create_semaphore: PFN_vkCreateSemaphore,
1321 pub destroy_semaphore: PFN_vkDestroySemaphore,
1322 pub create_event: PFN_vkCreateEvent,
1323 pub destroy_event: PFN_vkDestroyEvent,
1324 pub get_event_status: PFN_vkGetEventStatus,
1325 pub set_event: PFN_vkSetEvent,
1326 pub reset_event: PFN_vkResetEvent,
1327 pub create_query_pool: PFN_vkCreateQueryPool,
1328 pub destroy_query_pool: PFN_vkDestroyQueryPool,
1329 pub get_query_pool_results: PFN_vkGetQueryPoolResults,
1330 pub create_buffer: PFN_vkCreateBuffer,
1331 pub destroy_buffer: PFN_vkDestroyBuffer,
1332 pub create_buffer_view: PFN_vkCreateBufferView,
1333 pub destroy_buffer_view: PFN_vkDestroyBufferView,
1334 pub create_image: PFN_vkCreateImage,
1335 pub destroy_image: PFN_vkDestroyImage,
1336 pub get_image_subresource_layout: PFN_vkGetImageSubresourceLayout,
1337 pub create_image_view: PFN_vkCreateImageView,
1338 pub destroy_image_view: PFN_vkDestroyImageView,
1339 pub create_shader_module: PFN_vkCreateShaderModule,
1340 pub destroy_shader_module: PFN_vkDestroyShaderModule,
1341 pub create_pipeline_cache: PFN_vkCreatePipelineCache,
1342 pub destroy_pipeline_cache: PFN_vkDestroyPipelineCache,
1343 pub get_pipeline_cache_data: PFN_vkGetPipelineCacheData,
1344 pub merge_pipeline_caches: PFN_vkMergePipelineCaches,
1345 pub create_graphics_pipelines: PFN_vkCreateGraphicsPipelines,
1346 pub create_compute_pipelines: PFN_vkCreateComputePipelines,
1347 pub destroy_pipeline: PFN_vkDestroyPipeline,
1348 pub create_pipeline_layout: PFN_vkCreatePipelineLayout,
1349 pub destroy_pipeline_layout: PFN_vkDestroyPipelineLayout,
1350 pub create_sampler: PFN_vkCreateSampler,
1351 pub destroy_sampler: PFN_vkDestroySampler,
1352 pub create_descriptor_set_layout: PFN_vkCreateDescriptorSetLayout,
1353 pub destroy_descriptor_set_layout: PFN_vkDestroyDescriptorSetLayout,
1354 pub create_descriptor_pool: PFN_vkCreateDescriptorPool,
1355 pub destroy_descriptor_pool: PFN_vkDestroyDescriptorPool,
1356 pub reset_descriptor_pool: PFN_vkResetDescriptorPool,
1357 pub allocate_descriptor_sets: PFN_vkAllocateDescriptorSets,
1358 pub free_descriptor_sets: PFN_vkFreeDescriptorSets,
1359 pub update_descriptor_sets: PFN_vkUpdateDescriptorSets,
1360 pub create_framebuffer: PFN_vkCreateFramebuffer,
1361 pub destroy_framebuffer: PFN_vkDestroyFramebuffer,
1362 pub create_render_pass: PFN_vkCreateRenderPass,
1363 pub destroy_render_pass: PFN_vkDestroyRenderPass,
1364 pub get_render_area_granularity: PFN_vkGetRenderAreaGranularity,
1365 pub create_command_pool: PFN_vkCreateCommandPool,
1366 pub destroy_command_pool: PFN_vkDestroyCommandPool,
1367 pub reset_command_pool: PFN_vkResetCommandPool,
1368 pub allocate_command_buffers: PFN_vkAllocateCommandBuffers,
1369 pub free_command_buffers: PFN_vkFreeCommandBuffers,
1370 pub begin_command_buffer: PFN_vkBeginCommandBuffer,
1371 pub end_command_buffer: PFN_vkEndCommandBuffer,
1372 pub reset_command_buffer: PFN_vkResetCommandBuffer,
1373 pub cmd_bind_pipeline: PFN_vkCmdBindPipeline,
1374 pub cmd_set_viewport: PFN_vkCmdSetViewport,
1375 pub cmd_set_scissor: PFN_vkCmdSetScissor,
1376 pub cmd_set_line_width: PFN_vkCmdSetLineWidth,
1377 pub cmd_set_depth_bias: PFN_vkCmdSetDepthBias,
1378 pub cmd_set_blend_constants: PFN_vkCmdSetBlendConstants,
1379 pub cmd_set_depth_bounds: PFN_vkCmdSetDepthBounds,
1380 pub cmd_set_stencil_compare_mask: PFN_vkCmdSetStencilCompareMask,
1381 pub cmd_set_stencil_write_mask: PFN_vkCmdSetStencilWriteMask,
1382 pub cmd_set_stencil_reference: PFN_vkCmdSetStencilReference,
1383 pub cmd_bind_descriptor_sets: PFN_vkCmdBindDescriptorSets,
1384 pub cmd_bind_index_buffer: PFN_vkCmdBindIndexBuffer,
1385 pub cmd_bind_vertex_buffers: PFN_vkCmdBindVertexBuffers,
1386 pub cmd_draw: PFN_vkCmdDraw,
1387 pub cmd_draw_indexed: PFN_vkCmdDrawIndexed,
1388 pub cmd_draw_indirect: PFN_vkCmdDrawIndirect,
1389 pub cmd_draw_indexed_indirect: PFN_vkCmdDrawIndexedIndirect,
1390 pub cmd_dispatch: PFN_vkCmdDispatch,
1391 pub cmd_dispatch_indirect: PFN_vkCmdDispatchIndirect,
1392 pub cmd_copy_buffer: PFN_vkCmdCopyBuffer,
1393 pub cmd_copy_image: PFN_vkCmdCopyImage,
1394 pub cmd_blit_image: PFN_vkCmdBlitImage,
1395 pub cmd_copy_buffer_to_image: PFN_vkCmdCopyBufferToImage,
1396 pub cmd_copy_image_to_buffer: PFN_vkCmdCopyImageToBuffer,
1397 pub cmd_update_buffer: PFN_vkCmdUpdateBuffer,
1398 pub cmd_fill_buffer: PFN_vkCmdFillBuffer,
1399 pub cmd_clear_color_image: PFN_vkCmdClearColorImage,
1400 pub cmd_clear_depth_stencil_image: PFN_vkCmdClearDepthStencilImage,
1401 pub cmd_clear_attachments: PFN_vkCmdClearAttachments,
1402 pub cmd_resolve_image: PFN_vkCmdResolveImage,
1403 pub cmd_set_event: PFN_vkCmdSetEvent,
1404 pub cmd_reset_event: PFN_vkCmdResetEvent,
1405 pub cmd_wait_events: PFN_vkCmdWaitEvents,
1406 pub cmd_pipeline_barrier: PFN_vkCmdPipelineBarrier,
1407 pub cmd_begin_query: PFN_vkCmdBeginQuery,
1408 pub cmd_end_query: PFN_vkCmdEndQuery,
1409 pub cmd_reset_query_pool: PFN_vkCmdResetQueryPool,
1410 pub cmd_write_timestamp: PFN_vkCmdWriteTimestamp,
1411 pub cmd_copy_query_pool_results: PFN_vkCmdCopyQueryPoolResults,
1412 pub cmd_push_constants: PFN_vkCmdPushConstants,
1413 pub cmd_begin_render_pass: PFN_vkCmdBeginRenderPass,
1414 pub cmd_next_subpass: PFN_vkCmdNextSubpass,
1415 pub cmd_end_render_pass: PFN_vkCmdEndRenderPass,
1416 pub cmd_execute_commands: PFN_vkCmdExecuteCommands,
1417}
1418unsafe impl Send for DeviceFnV1_0 {}
1419unsafe impl Sync for DeviceFnV1_0 {}
1420impl DeviceFnV1_0 {
1421 pub fn load<F>(mut _f: F) -> Self
1422 where
1423 F: FnMut(&::std::ffi::CStr) -> *const c_void,
1424 {
1425 Self {
1426 destroy_device: unsafe {
1427 unsafe extern "system" fn destroy_device(
1428 _device: Device,
1429 _p_allocator: *const AllocationCallbacks,
1430 ) {
1431 panic!(concat!("Unable to load ", stringify!(destroy_device)))
1432 }
1433 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyDevice\0");
1434 let val = _f(cname);
1435 if val.is_null() {
1436 destroy_device
1437 } else {
1438 ::std::mem::transmute(val)
1439 }
1440 },
1441 get_device_queue: unsafe {
1442 unsafe extern "system" fn get_device_queue(
1443 _device: Device,
1444 _queue_family_index: u32,
1445 _queue_index: u32,
1446 _p_queue: *mut Queue,
1447 ) {
1448 panic!(concat!("Unable to load ", stringify!(get_device_queue)))
1449 }
1450 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDeviceQueue\0");
1451 let val = _f(cname);
1452 if val.is_null() {
1453 get_device_queue
1454 } else {
1455 ::std::mem::transmute(val)
1456 }
1457 },
1458 queue_submit: unsafe {
1459 unsafe extern "system" fn queue_submit(
1460 _queue: Queue,
1461 _submit_count: u32,
1462 _p_submits: *const SubmitInfo,
1463 _fence: Fence,
1464 ) -> Result {
1465 panic!(concat!("Unable to load ", stringify!(queue_submit)))
1466 }
1467 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueueSubmit\0");
1468 let val = _f(cname);
1469 if val.is_null() {
1470 queue_submit
1471 } else {
1472 ::std::mem::transmute(val)
1473 }
1474 },
1475 queue_wait_idle: unsafe {
1476 unsafe extern "system" fn queue_wait_idle(_queue: Queue) -> Result {
1477 panic!(concat!("Unable to load ", stringify!(queue_wait_idle)))
1478 }
1479 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueueWaitIdle\0");
1480 let val = _f(cname);
1481 if val.is_null() {
1482 queue_wait_idle
1483 } else {
1484 ::std::mem::transmute(val)
1485 }
1486 },
1487 device_wait_idle: unsafe {
1488 unsafe extern "system" fn device_wait_idle(_device: Device) -> Result {
1489 panic!(concat!("Unable to load ", stringify!(device_wait_idle)))
1490 }
1491 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDeviceWaitIdle\0");
1492 let val = _f(cname);
1493 if val.is_null() {
1494 device_wait_idle
1495 } else {
1496 ::std::mem::transmute(val)
1497 }
1498 },
1499 allocate_memory: unsafe {
1500 unsafe extern "system" fn allocate_memory(
1501 _device: Device,
1502 _p_allocate_info: *const MemoryAllocateInfo,
1503 _p_allocator: *const AllocationCallbacks,
1504 _p_memory: *mut DeviceMemory,
1505 ) -> Result {
1506 panic!(concat!("Unable to load ", stringify!(allocate_memory)))
1507 }
1508 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAllocateMemory\0");
1509 let val = _f(cname);
1510 if val.is_null() {
1511 allocate_memory
1512 } else {
1513 ::std::mem::transmute(val)
1514 }
1515 },
1516 free_memory: unsafe {
1517 unsafe extern "system" fn free_memory(
1518 _device: Device,
1519 _memory: DeviceMemory,
1520 _p_allocator: *const AllocationCallbacks,
1521 ) {
1522 panic!(concat!("Unable to load ", stringify!(free_memory)))
1523 }
1524 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkFreeMemory\0");
1525 let val = _f(cname);
1526 if val.is_null() {
1527 free_memory
1528 } else {
1529 ::std::mem::transmute(val)
1530 }
1531 },
1532 map_memory: unsafe {
1533 unsafe extern "system" fn map_memory(
1534 _device: Device,
1535 _memory: DeviceMemory,
1536 _offset: DeviceSize,
1537 _size: DeviceSize,
1538 _flags: MemoryMapFlags,
1539 _pp_data: *mut *mut c_void,
1540 ) -> Result {
1541 panic!(concat!("Unable to load ", stringify!(map_memory)))
1542 }
1543 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkMapMemory\0");
1544 let val = _f(cname);
1545 if val.is_null() {
1546 map_memory
1547 } else {
1548 ::std::mem::transmute(val)
1549 }
1550 },
1551 unmap_memory: unsafe {
1552 unsafe extern "system" fn unmap_memory(_device: Device, _memory: DeviceMemory) {
1553 panic!(concat!("Unable to load ", stringify!(unmap_memory)))
1554 }
1555 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkUnmapMemory\0");
1556 let val = _f(cname);
1557 if val.is_null() {
1558 unmap_memory
1559 } else {
1560 ::std::mem::transmute(val)
1561 }
1562 },
1563 flush_mapped_memory_ranges: unsafe {
1564 unsafe extern "system" fn flush_mapped_memory_ranges(
1565 _device: Device,
1566 _memory_range_count: u32,
1567 _p_memory_ranges: *const MappedMemoryRange,
1568 ) -> Result {
1569 panic!(concat!(
1570 "Unable to load ",
1571 stringify!(flush_mapped_memory_ranges)
1572 ))
1573 }
1574 let cname =
1575 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkFlushMappedMemoryRanges\0");
1576 let val = _f(cname);
1577 if val.is_null() {
1578 flush_mapped_memory_ranges
1579 } else {
1580 ::std::mem::transmute(val)
1581 }
1582 },
1583 invalidate_mapped_memory_ranges: unsafe {
1584 unsafe extern "system" fn invalidate_mapped_memory_ranges(
1585 _device: Device,
1586 _memory_range_count: u32,
1587 _p_memory_ranges: *const MappedMemoryRange,
1588 ) -> Result {
1589 panic!(concat!(
1590 "Unable to load ",
1591 stringify!(invalidate_mapped_memory_ranges)
1592 ))
1593 }
1594 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1595 b"vkInvalidateMappedMemoryRanges\0",
1596 );
1597 let val = _f(cname);
1598 if val.is_null() {
1599 invalidate_mapped_memory_ranges
1600 } else {
1601 ::std::mem::transmute(val)
1602 }
1603 },
1604 get_device_memory_commitment: unsafe {
1605 unsafe extern "system" fn get_device_memory_commitment(
1606 _device: Device,
1607 _memory: DeviceMemory,
1608 _p_committed_memory_in_bytes: *mut DeviceSize,
1609 ) {
1610 panic!(concat!(
1611 "Unable to load ",
1612 stringify!(get_device_memory_commitment)
1613 ))
1614 }
1615 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1616 b"vkGetDeviceMemoryCommitment\0",
1617 );
1618 let val = _f(cname);
1619 if val.is_null() {
1620 get_device_memory_commitment
1621 } else {
1622 ::std::mem::transmute(val)
1623 }
1624 },
1625 bind_buffer_memory: unsafe {
1626 unsafe extern "system" fn bind_buffer_memory(
1627 _device: Device,
1628 _buffer: Buffer,
1629 _memory: DeviceMemory,
1630 _memory_offset: DeviceSize,
1631 ) -> Result {
1632 panic!(concat!("Unable to load ", stringify!(bind_buffer_memory)))
1633 }
1634 let cname =
1635 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindBufferMemory\0");
1636 let val = _f(cname);
1637 if val.is_null() {
1638 bind_buffer_memory
1639 } else {
1640 ::std::mem::transmute(val)
1641 }
1642 },
1643 bind_image_memory: unsafe {
1644 unsafe extern "system" fn bind_image_memory(
1645 _device: Device,
1646 _image: Image,
1647 _memory: DeviceMemory,
1648 _memory_offset: DeviceSize,
1649 ) -> Result {
1650 panic!(concat!("Unable to load ", stringify!(bind_image_memory)))
1651 }
1652 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindImageMemory\0");
1653 let val = _f(cname);
1654 if val.is_null() {
1655 bind_image_memory
1656 } else {
1657 ::std::mem::transmute(val)
1658 }
1659 },
1660 get_buffer_memory_requirements: unsafe {
1661 unsafe extern "system" fn get_buffer_memory_requirements(
1662 _device: Device,
1663 _buffer: Buffer,
1664 _p_memory_requirements: *mut MemoryRequirements,
1665 ) {
1666 panic!(concat!(
1667 "Unable to load ",
1668 stringify!(get_buffer_memory_requirements)
1669 ))
1670 }
1671 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1672 b"vkGetBufferMemoryRequirements\0",
1673 );
1674 let val = _f(cname);
1675 if val.is_null() {
1676 get_buffer_memory_requirements
1677 } else {
1678 ::std::mem::transmute(val)
1679 }
1680 },
1681 get_image_memory_requirements: unsafe {
1682 unsafe extern "system" fn get_image_memory_requirements(
1683 _device: Device,
1684 _image: Image,
1685 _p_memory_requirements: *mut MemoryRequirements,
1686 ) {
1687 panic!(concat!(
1688 "Unable to load ",
1689 stringify!(get_image_memory_requirements)
1690 ))
1691 }
1692 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1693 b"vkGetImageMemoryRequirements\0",
1694 );
1695 let val = _f(cname);
1696 if val.is_null() {
1697 get_image_memory_requirements
1698 } else {
1699 ::std::mem::transmute(val)
1700 }
1701 },
1702 get_image_sparse_memory_requirements: unsafe {
1703 unsafe extern "system" fn get_image_sparse_memory_requirements(
1704 _device: Device,
1705 _image: Image,
1706 _p_sparse_memory_requirement_count: *mut u32,
1707 _p_sparse_memory_requirements: *mut SparseImageMemoryRequirements,
1708 ) {
1709 panic!(concat!(
1710 "Unable to load ",
1711 stringify!(get_image_sparse_memory_requirements)
1712 ))
1713 }
1714 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
1715 b"vkGetImageSparseMemoryRequirements\0",
1716 );
1717 let val = _f(cname);
1718 if val.is_null() {
1719 get_image_sparse_memory_requirements
1720 } else {
1721 ::std::mem::transmute(val)
1722 }
1723 },
1724 queue_bind_sparse: unsafe {
1725 unsafe extern "system" fn queue_bind_sparse(
1726 _queue: Queue,
1727 _bind_info_count: u32,
1728 _p_bind_info: *const BindSparseInfo,
1729 _fence: Fence,
1730 ) -> Result {
1731 panic!(concat!("Unable to load ", stringify!(queue_bind_sparse)))
1732 }
1733 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueueBindSparse\0");
1734 let val = _f(cname);
1735 if val.is_null() {
1736 queue_bind_sparse
1737 } else {
1738 ::std::mem::transmute(val)
1739 }
1740 },
1741 create_fence: unsafe {
1742 unsafe extern "system" fn create_fence(
1743 _device: Device,
1744 _p_create_info: *const FenceCreateInfo,
1745 _p_allocator: *const AllocationCallbacks,
1746 _p_fence: *mut Fence,
1747 ) -> Result {
1748 panic!(concat!("Unable to load ", stringify!(create_fence)))
1749 }
1750 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateFence\0");
1751 let val = _f(cname);
1752 if val.is_null() {
1753 create_fence
1754 } else {
1755 ::std::mem::transmute(val)
1756 }
1757 },
1758 destroy_fence: unsafe {
1759 unsafe extern "system" fn destroy_fence(
1760 _device: Device,
1761 _fence: Fence,
1762 _p_allocator: *const AllocationCallbacks,
1763 ) {
1764 panic!(concat!("Unable to load ", stringify!(destroy_fence)))
1765 }
1766 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyFence\0");
1767 let val = _f(cname);
1768 if val.is_null() {
1769 destroy_fence
1770 } else {
1771 ::std::mem::transmute(val)
1772 }
1773 },
1774 reset_fences: unsafe {
1775 unsafe extern "system" fn reset_fences(
1776 _device: Device,
1777 _fence_count: u32,
1778 _p_fences: *const Fence,
1779 ) -> Result {
1780 panic!(concat!("Unable to load ", stringify!(reset_fences)))
1781 }
1782 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetFences\0");
1783 let val = _f(cname);
1784 if val.is_null() {
1785 reset_fences
1786 } else {
1787 ::std::mem::transmute(val)
1788 }
1789 },
1790 get_fence_status: unsafe {
1791 unsafe extern "system" fn get_fence_status(
1792 _device: Device,
1793 _fence: Fence,
1794 ) -> Result {
1795 panic!(concat!("Unable to load ", stringify!(get_fence_status)))
1796 }
1797 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetFenceStatus\0");
1798 let val = _f(cname);
1799 if val.is_null() {
1800 get_fence_status
1801 } else {
1802 ::std::mem::transmute(val)
1803 }
1804 },
1805 wait_for_fences: unsafe {
1806 unsafe extern "system" fn wait_for_fences(
1807 _device: Device,
1808 _fence_count: u32,
1809 _p_fences: *const Fence,
1810 _wait_all: Bool32,
1811 _timeout: u64,
1812 ) -> Result {
1813 panic!(concat!("Unable to load ", stringify!(wait_for_fences)))
1814 }
1815 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkWaitForFences\0");
1816 let val = _f(cname);
1817 if val.is_null() {
1818 wait_for_fences
1819 } else {
1820 ::std::mem::transmute(val)
1821 }
1822 },
1823 create_semaphore: unsafe {
1824 unsafe extern "system" fn create_semaphore(
1825 _device: Device,
1826 _p_create_info: *const SemaphoreCreateInfo,
1827 _p_allocator: *const AllocationCallbacks,
1828 _p_semaphore: *mut Semaphore,
1829 ) -> Result {
1830 panic!(concat!("Unable to load ", stringify!(create_semaphore)))
1831 }
1832 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateSemaphore\0");
1833 let val = _f(cname);
1834 if val.is_null() {
1835 create_semaphore
1836 } else {
1837 ::std::mem::transmute(val)
1838 }
1839 },
1840 destroy_semaphore: unsafe {
1841 unsafe extern "system" fn destroy_semaphore(
1842 _device: Device,
1843 _semaphore: Semaphore,
1844 _p_allocator: *const AllocationCallbacks,
1845 ) {
1846 panic!(concat!("Unable to load ", stringify!(destroy_semaphore)))
1847 }
1848 let cname =
1849 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroySemaphore\0");
1850 let val = _f(cname);
1851 if val.is_null() {
1852 destroy_semaphore
1853 } else {
1854 ::std::mem::transmute(val)
1855 }
1856 },
1857 create_event: unsafe {
1858 unsafe extern "system" fn create_event(
1859 _device: Device,
1860 _p_create_info: *const EventCreateInfo,
1861 _p_allocator: *const AllocationCallbacks,
1862 _p_event: *mut Event,
1863 ) -> Result {
1864 panic!(concat!("Unable to load ", stringify!(create_event)))
1865 }
1866 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateEvent\0");
1867 let val = _f(cname);
1868 if val.is_null() {
1869 create_event
1870 } else {
1871 ::std::mem::transmute(val)
1872 }
1873 },
1874 destroy_event: unsafe {
1875 unsafe extern "system" fn destroy_event(
1876 _device: Device,
1877 _event: Event,
1878 _p_allocator: *const AllocationCallbacks,
1879 ) {
1880 panic!(concat!("Unable to load ", stringify!(destroy_event)))
1881 }
1882 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyEvent\0");
1883 let val = _f(cname);
1884 if val.is_null() {
1885 destroy_event
1886 } else {
1887 ::std::mem::transmute(val)
1888 }
1889 },
1890 get_event_status: unsafe {
1891 unsafe extern "system" fn get_event_status(
1892 _device: Device,
1893 _event: Event,
1894 ) -> Result {
1895 panic!(concat!("Unable to load ", stringify!(get_event_status)))
1896 }
1897 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetEventStatus\0");
1898 let val = _f(cname);
1899 if val.is_null() {
1900 get_event_status
1901 } else {
1902 ::std::mem::transmute(val)
1903 }
1904 },
1905 set_event: unsafe {
1906 unsafe extern "system" fn set_event(_device: Device, _event: Event) -> Result {
1907 panic!(concat!("Unable to load ", stringify!(set_event)))
1908 }
1909 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSetEvent\0");
1910 let val = _f(cname);
1911 if val.is_null() {
1912 set_event
1913 } else {
1914 ::std::mem::transmute(val)
1915 }
1916 },
1917 reset_event: unsafe {
1918 unsafe extern "system" fn reset_event(_device: Device, _event: Event) -> Result {
1919 panic!(concat!("Unable to load ", stringify!(reset_event)))
1920 }
1921 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetEvent\0");
1922 let val = _f(cname);
1923 if val.is_null() {
1924 reset_event
1925 } else {
1926 ::std::mem::transmute(val)
1927 }
1928 },
1929 create_query_pool: unsafe {
1930 unsafe extern "system" fn create_query_pool(
1931 _device: Device,
1932 _p_create_info: *const QueryPoolCreateInfo,
1933 _p_allocator: *const AllocationCallbacks,
1934 _p_query_pool: *mut QueryPool,
1935 ) -> Result {
1936 panic!(concat!("Unable to load ", stringify!(create_query_pool)))
1937 }
1938 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateQueryPool\0");
1939 let val = _f(cname);
1940 if val.is_null() {
1941 create_query_pool
1942 } else {
1943 ::std::mem::transmute(val)
1944 }
1945 },
1946 destroy_query_pool: unsafe {
1947 unsafe extern "system" fn destroy_query_pool(
1948 _device: Device,
1949 _query_pool: QueryPool,
1950 _p_allocator: *const AllocationCallbacks,
1951 ) {
1952 panic!(concat!("Unable to load ", stringify!(destroy_query_pool)))
1953 }
1954 let cname =
1955 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyQueryPool\0");
1956 let val = _f(cname);
1957 if val.is_null() {
1958 destroy_query_pool
1959 } else {
1960 ::std::mem::transmute(val)
1961 }
1962 },
1963 get_query_pool_results: unsafe {
1964 unsafe extern "system" fn get_query_pool_results(
1965 _device: Device,
1966 _query_pool: QueryPool,
1967 _first_query: u32,
1968 _query_count: u32,
1969 _data_size: usize,
1970 _p_data: *mut c_void,
1971 _stride: DeviceSize,
1972 _flags: QueryResultFlags,
1973 ) -> Result {
1974 panic!(concat!(
1975 "Unable to load ",
1976 stringify!(get_query_pool_results)
1977 ))
1978 }
1979 let cname =
1980 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetQueryPoolResults\0");
1981 let val = _f(cname);
1982 if val.is_null() {
1983 get_query_pool_results
1984 } else {
1985 ::std::mem::transmute(val)
1986 }
1987 },
1988 create_buffer: unsafe {
1989 unsafe extern "system" fn create_buffer(
1990 _device: Device,
1991 _p_create_info: *const BufferCreateInfo,
1992 _p_allocator: *const AllocationCallbacks,
1993 _p_buffer: *mut Buffer,
1994 ) -> Result {
1995 panic!(concat!("Unable to load ", stringify!(create_buffer)))
1996 }
1997 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateBuffer\0");
1998 let val = _f(cname);
1999 if val.is_null() {
2000 create_buffer
2001 } else {
2002 ::std::mem::transmute(val)
2003 }
2004 },
2005 destroy_buffer: unsafe {
2006 unsafe extern "system" fn destroy_buffer(
2007 _device: Device,
2008 _buffer: Buffer,
2009 _p_allocator: *const AllocationCallbacks,
2010 ) {
2011 panic!(concat!("Unable to load ", stringify!(destroy_buffer)))
2012 }
2013 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyBuffer\0");
2014 let val = _f(cname);
2015 if val.is_null() {
2016 destroy_buffer
2017 } else {
2018 ::std::mem::transmute(val)
2019 }
2020 },
2021 create_buffer_view: unsafe {
2022 unsafe extern "system" fn create_buffer_view(
2023 _device: Device,
2024 _p_create_info: *const BufferViewCreateInfo,
2025 _p_allocator: *const AllocationCallbacks,
2026 _p_view: *mut BufferView,
2027 ) -> Result {
2028 panic!(concat!("Unable to load ", stringify!(create_buffer_view)))
2029 }
2030 let cname =
2031 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateBufferView\0");
2032 let val = _f(cname);
2033 if val.is_null() {
2034 create_buffer_view
2035 } else {
2036 ::std::mem::transmute(val)
2037 }
2038 },
2039 destroy_buffer_view: unsafe {
2040 unsafe extern "system" fn destroy_buffer_view(
2041 _device: Device,
2042 _buffer_view: BufferView,
2043 _p_allocator: *const AllocationCallbacks,
2044 ) {
2045 panic!(concat!("Unable to load ", stringify!(destroy_buffer_view)))
2046 }
2047 let cname =
2048 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyBufferView\0");
2049 let val = _f(cname);
2050 if val.is_null() {
2051 destroy_buffer_view
2052 } else {
2053 ::std::mem::transmute(val)
2054 }
2055 },
2056 create_image: unsafe {
2057 unsafe extern "system" fn create_image(
2058 _device: Device,
2059 _p_create_info: *const ImageCreateInfo,
2060 _p_allocator: *const AllocationCallbacks,
2061 _p_image: *mut Image,
2062 ) -> Result {
2063 panic!(concat!("Unable to load ", stringify!(create_image)))
2064 }
2065 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateImage\0");
2066 let val = _f(cname);
2067 if val.is_null() {
2068 create_image
2069 } else {
2070 ::std::mem::transmute(val)
2071 }
2072 },
2073 destroy_image: unsafe {
2074 unsafe extern "system" fn destroy_image(
2075 _device: Device,
2076 _image: Image,
2077 _p_allocator: *const AllocationCallbacks,
2078 ) {
2079 panic!(concat!("Unable to load ", stringify!(destroy_image)))
2080 }
2081 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyImage\0");
2082 let val = _f(cname);
2083 if val.is_null() {
2084 destroy_image
2085 } else {
2086 ::std::mem::transmute(val)
2087 }
2088 },
2089 get_image_subresource_layout: unsafe {
2090 unsafe extern "system" fn get_image_subresource_layout(
2091 _device: Device,
2092 _image: Image,
2093 _p_subresource: *const ImageSubresource,
2094 _p_layout: *mut SubresourceLayout,
2095 ) {
2096 panic!(concat!(
2097 "Unable to load ",
2098 stringify!(get_image_subresource_layout)
2099 ))
2100 }
2101 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
2102 b"vkGetImageSubresourceLayout\0",
2103 );
2104 let val = _f(cname);
2105 if val.is_null() {
2106 get_image_subresource_layout
2107 } else {
2108 ::std::mem::transmute(val)
2109 }
2110 },
2111 create_image_view: unsafe {
2112 unsafe extern "system" fn create_image_view(
2113 _device: Device,
2114 _p_create_info: *const ImageViewCreateInfo,
2115 _p_allocator: *const AllocationCallbacks,
2116 _p_view: *mut ImageView,
2117 ) -> Result {
2118 panic!(concat!("Unable to load ", stringify!(create_image_view)))
2119 }
2120 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateImageView\0");
2121 let val = _f(cname);
2122 if val.is_null() {
2123 create_image_view
2124 } else {
2125 ::std::mem::transmute(val)
2126 }
2127 },
2128 destroy_image_view: unsafe {
2129 unsafe extern "system" fn destroy_image_view(
2130 _device: Device,
2131 _image_view: ImageView,
2132 _p_allocator: *const AllocationCallbacks,
2133 ) {
2134 panic!(concat!("Unable to load ", stringify!(destroy_image_view)))
2135 }
2136 let cname =
2137 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyImageView\0");
2138 let val = _f(cname);
2139 if val.is_null() {
2140 destroy_image_view
2141 } else {
2142 ::std::mem::transmute(val)
2143 }
2144 },
2145 create_shader_module: unsafe {
2146 unsafe extern "system" fn create_shader_module(
2147 _device: Device,
2148 _p_create_info: *const ShaderModuleCreateInfo,
2149 _p_allocator: *const AllocationCallbacks,
2150 _p_shader_module: *mut ShaderModule,
2151 ) -> Result {
2152 panic!(concat!("Unable to load ", stringify!(create_shader_module)))
2153 }
2154 let cname =
2155 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateShaderModule\0");
2156 let val = _f(cname);
2157 if val.is_null() {
2158 create_shader_module
2159 } else {
2160 ::std::mem::transmute(val)
2161 }
2162 },
2163 destroy_shader_module: unsafe {
2164 unsafe extern "system" fn destroy_shader_module(
2165 _device: Device,
2166 _shader_module: ShaderModule,
2167 _p_allocator: *const AllocationCallbacks,
2168 ) {
2169 panic!(concat!(
2170 "Unable to load ",
2171 stringify!(destroy_shader_module)
2172 ))
2173 }
2174 let cname =
2175 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyShaderModule\0");
2176 let val = _f(cname);
2177 if val.is_null() {
2178 destroy_shader_module
2179 } else {
2180 ::std::mem::transmute(val)
2181 }
2182 },
2183 create_pipeline_cache: unsafe {
2184 unsafe extern "system" fn create_pipeline_cache(
2185 _device: Device,
2186 _p_create_info: *const PipelineCacheCreateInfo,
2187 _p_allocator: *const AllocationCallbacks,
2188 _p_pipeline_cache: *mut PipelineCache,
2189 ) -> Result {
2190 panic!(concat!(
2191 "Unable to load ",
2192 stringify!(create_pipeline_cache)
2193 ))
2194 }
2195 let cname =
2196 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreatePipelineCache\0");
2197 let val = _f(cname);
2198 if val.is_null() {
2199 create_pipeline_cache
2200 } else {
2201 ::std::mem::transmute(val)
2202 }
2203 },
2204 destroy_pipeline_cache: unsafe {
2205 unsafe extern "system" fn destroy_pipeline_cache(
2206 _device: Device,
2207 _pipeline_cache: PipelineCache,
2208 _p_allocator: *const AllocationCallbacks,
2209 ) {
2210 panic!(concat!(
2211 "Unable to load ",
2212 stringify!(destroy_pipeline_cache)
2213 ))
2214 }
2215 let cname =
2216 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyPipelineCache\0");
2217 let val = _f(cname);
2218 if val.is_null() {
2219 destroy_pipeline_cache
2220 } else {
2221 ::std::mem::transmute(val)
2222 }
2223 },
2224 get_pipeline_cache_data: unsafe {
2225 unsafe extern "system" fn get_pipeline_cache_data(
2226 _device: Device,
2227 _pipeline_cache: PipelineCache,
2228 _p_data_size: *mut usize,
2229 _p_data: *mut c_void,
2230 ) -> Result {
2231 panic!(concat!(
2232 "Unable to load ",
2233 stringify!(get_pipeline_cache_data)
2234 ))
2235 }
2236 let cname =
2237 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetPipelineCacheData\0");
2238 let val = _f(cname);
2239 if val.is_null() {
2240 get_pipeline_cache_data
2241 } else {
2242 ::std::mem::transmute(val)
2243 }
2244 },
2245 merge_pipeline_caches: unsafe {
2246 unsafe extern "system" fn merge_pipeline_caches(
2247 _device: Device,
2248 _dst_cache: PipelineCache,
2249 _src_cache_count: u32,
2250 _p_src_caches: *const PipelineCache,
2251 ) -> Result {
2252 panic!(concat!(
2253 "Unable to load ",
2254 stringify!(merge_pipeline_caches)
2255 ))
2256 }
2257 let cname =
2258 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkMergePipelineCaches\0");
2259 let val = _f(cname);
2260 if val.is_null() {
2261 merge_pipeline_caches
2262 } else {
2263 ::std::mem::transmute(val)
2264 }
2265 },
2266 create_graphics_pipelines: unsafe {
2267 unsafe extern "system" fn create_graphics_pipelines(
2268 _device: Device,
2269 _pipeline_cache: PipelineCache,
2270 _create_info_count: u32,
2271 _p_create_infos: *const GraphicsPipelineCreateInfo,
2272 _p_allocator: *const AllocationCallbacks,
2273 _p_pipelines: *mut Pipeline,
2274 ) -> Result {
2275 panic!(concat!(
2276 "Unable to load ",
2277 stringify!(create_graphics_pipelines)
2278 ))
2279 }
2280 let cname =
2281 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateGraphicsPipelines\0");
2282 let val = _f(cname);
2283 if val.is_null() {
2284 create_graphics_pipelines
2285 } else {
2286 ::std::mem::transmute(val)
2287 }
2288 },
2289 create_compute_pipelines: unsafe {
2290 unsafe extern "system" fn create_compute_pipelines(
2291 _device: Device,
2292 _pipeline_cache: PipelineCache,
2293 _create_info_count: u32,
2294 _p_create_infos: *const ComputePipelineCreateInfo,
2295 _p_allocator: *const AllocationCallbacks,
2296 _p_pipelines: *mut Pipeline,
2297 ) -> Result {
2298 panic!(concat!(
2299 "Unable to load ",
2300 stringify!(create_compute_pipelines)
2301 ))
2302 }
2303 let cname =
2304 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateComputePipelines\0");
2305 let val = _f(cname);
2306 if val.is_null() {
2307 create_compute_pipelines
2308 } else {
2309 ::std::mem::transmute(val)
2310 }
2311 },
2312 destroy_pipeline: unsafe {
2313 unsafe extern "system" fn destroy_pipeline(
2314 _device: Device,
2315 _pipeline: Pipeline,
2316 _p_allocator: *const AllocationCallbacks,
2317 ) {
2318 panic!(concat!("Unable to load ", stringify!(destroy_pipeline)))
2319 }
2320 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyPipeline\0");
2321 let val = _f(cname);
2322 if val.is_null() {
2323 destroy_pipeline
2324 } else {
2325 ::std::mem::transmute(val)
2326 }
2327 },
2328 create_pipeline_layout: unsafe {
2329 unsafe extern "system" fn create_pipeline_layout(
2330 _device: Device,
2331 _p_create_info: *const PipelineLayoutCreateInfo,
2332 _p_allocator: *const AllocationCallbacks,
2333 _p_pipeline_layout: *mut PipelineLayout,
2334 ) -> Result {
2335 panic!(concat!(
2336 "Unable to load ",
2337 stringify!(create_pipeline_layout)
2338 ))
2339 }
2340 let cname =
2341 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreatePipelineLayout\0");
2342 let val = _f(cname);
2343 if val.is_null() {
2344 create_pipeline_layout
2345 } else {
2346 ::std::mem::transmute(val)
2347 }
2348 },
2349 destroy_pipeline_layout: unsafe {
2350 unsafe extern "system" fn destroy_pipeline_layout(
2351 _device: Device,
2352 _pipeline_layout: PipelineLayout,
2353 _p_allocator: *const AllocationCallbacks,
2354 ) {
2355 panic!(concat!(
2356 "Unable to load ",
2357 stringify!(destroy_pipeline_layout)
2358 ))
2359 }
2360 let cname =
2361 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyPipelineLayout\0");
2362 let val = _f(cname);
2363 if val.is_null() {
2364 destroy_pipeline_layout
2365 } else {
2366 ::std::mem::transmute(val)
2367 }
2368 },
2369 create_sampler: unsafe {
2370 unsafe extern "system" fn create_sampler(
2371 _device: Device,
2372 _p_create_info: *const SamplerCreateInfo,
2373 _p_allocator: *const AllocationCallbacks,
2374 _p_sampler: *mut Sampler,
2375 ) -> Result {
2376 panic!(concat!("Unable to load ", stringify!(create_sampler)))
2377 }
2378 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateSampler\0");
2379 let val = _f(cname);
2380 if val.is_null() {
2381 create_sampler
2382 } else {
2383 ::std::mem::transmute(val)
2384 }
2385 },
2386 destroy_sampler: unsafe {
2387 unsafe extern "system" fn destroy_sampler(
2388 _device: Device,
2389 _sampler: Sampler,
2390 _p_allocator: *const AllocationCallbacks,
2391 ) {
2392 panic!(concat!("Unable to load ", stringify!(destroy_sampler)))
2393 }
2394 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroySampler\0");
2395 let val = _f(cname);
2396 if val.is_null() {
2397 destroy_sampler
2398 } else {
2399 ::std::mem::transmute(val)
2400 }
2401 },
2402 create_descriptor_set_layout: unsafe {
2403 unsafe extern "system" fn create_descriptor_set_layout(
2404 _device: Device,
2405 _p_create_info: *const DescriptorSetLayoutCreateInfo,
2406 _p_allocator: *const AllocationCallbacks,
2407 _p_set_layout: *mut DescriptorSetLayout,
2408 ) -> Result {
2409 panic!(concat!(
2410 "Unable to load ",
2411 stringify!(create_descriptor_set_layout)
2412 ))
2413 }
2414 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
2415 b"vkCreateDescriptorSetLayout\0",
2416 );
2417 let val = _f(cname);
2418 if val.is_null() {
2419 create_descriptor_set_layout
2420 } else {
2421 ::std::mem::transmute(val)
2422 }
2423 },
2424 destroy_descriptor_set_layout: unsafe {
2425 unsafe extern "system" fn destroy_descriptor_set_layout(
2426 _device: Device,
2427 _descriptor_set_layout: DescriptorSetLayout,
2428 _p_allocator: *const AllocationCallbacks,
2429 ) {
2430 panic!(concat!(
2431 "Unable to load ",
2432 stringify!(destroy_descriptor_set_layout)
2433 ))
2434 }
2435 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
2436 b"vkDestroyDescriptorSetLayout\0",
2437 );
2438 let val = _f(cname);
2439 if val.is_null() {
2440 destroy_descriptor_set_layout
2441 } else {
2442 ::std::mem::transmute(val)
2443 }
2444 },
2445 create_descriptor_pool: unsafe {
2446 unsafe extern "system" fn create_descriptor_pool(
2447 _device: Device,
2448 _p_create_info: *const DescriptorPoolCreateInfo,
2449 _p_allocator: *const AllocationCallbacks,
2450 _p_descriptor_pool: *mut DescriptorPool,
2451 ) -> Result {
2452 panic!(concat!(
2453 "Unable to load ",
2454 stringify!(create_descriptor_pool)
2455 ))
2456 }
2457 let cname =
2458 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateDescriptorPool\0");
2459 let val = _f(cname);
2460 if val.is_null() {
2461 create_descriptor_pool
2462 } else {
2463 ::std::mem::transmute(val)
2464 }
2465 },
2466 destroy_descriptor_pool: unsafe {
2467 unsafe extern "system" fn destroy_descriptor_pool(
2468 _device: Device,
2469 _descriptor_pool: DescriptorPool,
2470 _p_allocator: *const AllocationCallbacks,
2471 ) {
2472 panic!(concat!(
2473 "Unable to load ",
2474 stringify!(destroy_descriptor_pool)
2475 ))
2476 }
2477 let cname =
2478 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyDescriptorPool\0");
2479 let val = _f(cname);
2480 if val.is_null() {
2481 destroy_descriptor_pool
2482 } else {
2483 ::std::mem::transmute(val)
2484 }
2485 },
2486 reset_descriptor_pool: unsafe {
2487 unsafe extern "system" fn reset_descriptor_pool(
2488 _device: Device,
2489 _descriptor_pool: DescriptorPool,
2490 _flags: DescriptorPoolResetFlags,
2491 ) -> Result {
2492 panic!(concat!(
2493 "Unable to load ",
2494 stringify!(reset_descriptor_pool)
2495 ))
2496 }
2497 let cname =
2498 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetDescriptorPool\0");
2499 let val = _f(cname);
2500 if val.is_null() {
2501 reset_descriptor_pool
2502 } else {
2503 ::std::mem::transmute(val)
2504 }
2505 },
2506 allocate_descriptor_sets: unsafe {
2507 unsafe extern "system" fn allocate_descriptor_sets(
2508 _device: Device,
2509 _p_allocate_info: *const DescriptorSetAllocateInfo,
2510 _p_descriptor_sets: *mut DescriptorSet,
2511 ) -> Result {
2512 panic!(concat!(
2513 "Unable to load ",
2514 stringify!(allocate_descriptor_sets)
2515 ))
2516 }
2517 let cname =
2518 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAllocateDescriptorSets\0");
2519 let val = _f(cname);
2520 if val.is_null() {
2521 allocate_descriptor_sets
2522 } else {
2523 ::std::mem::transmute(val)
2524 }
2525 },
2526 free_descriptor_sets: unsafe {
2527 unsafe extern "system" fn free_descriptor_sets(
2528 _device: Device,
2529 _descriptor_pool: DescriptorPool,
2530 _descriptor_set_count: u32,
2531 _p_descriptor_sets: *const DescriptorSet,
2532 ) -> Result {
2533 panic!(concat!("Unable to load ", stringify!(free_descriptor_sets)))
2534 }
2535 let cname =
2536 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkFreeDescriptorSets\0");
2537 let val = _f(cname);
2538 if val.is_null() {
2539 free_descriptor_sets
2540 } else {
2541 ::std::mem::transmute(val)
2542 }
2543 },
2544 update_descriptor_sets: unsafe {
2545 unsafe extern "system" fn update_descriptor_sets(
2546 _device: Device,
2547 _descriptor_write_count: u32,
2548 _p_descriptor_writes: *const WriteDescriptorSet,
2549 _descriptor_copy_count: u32,
2550 _p_descriptor_copies: *const CopyDescriptorSet,
2551 ) {
2552 panic!(concat!(
2553 "Unable to load ",
2554 stringify!(update_descriptor_sets)
2555 ))
2556 }
2557 let cname =
2558 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkUpdateDescriptorSets\0");
2559 let val = _f(cname);
2560 if val.is_null() {
2561 update_descriptor_sets
2562 } else {
2563 ::std::mem::transmute(val)
2564 }
2565 },
2566 create_framebuffer: unsafe {
2567 unsafe extern "system" fn create_framebuffer(
2568 _device: Device,
2569 _p_create_info: *const FramebufferCreateInfo,
2570 _p_allocator: *const AllocationCallbacks,
2571 _p_framebuffer: *mut Framebuffer,
2572 ) -> Result {
2573 panic!(concat!("Unable to load ", stringify!(create_framebuffer)))
2574 }
2575 let cname =
2576 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateFramebuffer\0");
2577 let val = _f(cname);
2578 if val.is_null() {
2579 create_framebuffer
2580 } else {
2581 ::std::mem::transmute(val)
2582 }
2583 },
2584 destroy_framebuffer: unsafe {
2585 unsafe extern "system" fn destroy_framebuffer(
2586 _device: Device,
2587 _framebuffer: Framebuffer,
2588 _p_allocator: *const AllocationCallbacks,
2589 ) {
2590 panic!(concat!("Unable to load ", stringify!(destroy_framebuffer)))
2591 }
2592 let cname =
2593 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyFramebuffer\0");
2594 let val = _f(cname);
2595 if val.is_null() {
2596 destroy_framebuffer
2597 } else {
2598 ::std::mem::transmute(val)
2599 }
2600 },
2601 create_render_pass: unsafe {
2602 unsafe extern "system" fn create_render_pass(
2603 _device: Device,
2604 _p_create_info: *const RenderPassCreateInfo,
2605 _p_allocator: *const AllocationCallbacks,
2606 _p_render_pass: *mut RenderPass,
2607 ) -> Result {
2608 panic!(concat!("Unable to load ", stringify!(create_render_pass)))
2609 }
2610 let cname =
2611 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateRenderPass\0");
2612 let val = _f(cname);
2613 if val.is_null() {
2614 create_render_pass
2615 } else {
2616 ::std::mem::transmute(val)
2617 }
2618 },
2619 destroy_render_pass: unsafe {
2620 unsafe extern "system" fn destroy_render_pass(
2621 _device: Device,
2622 _render_pass: RenderPass,
2623 _p_allocator: *const AllocationCallbacks,
2624 ) {
2625 panic!(concat!("Unable to load ", stringify!(destroy_render_pass)))
2626 }
2627 let cname =
2628 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyRenderPass\0");
2629 let val = _f(cname);
2630 if val.is_null() {
2631 destroy_render_pass
2632 } else {
2633 ::std::mem::transmute(val)
2634 }
2635 },
2636 get_render_area_granularity: unsafe {
2637 unsafe extern "system" fn get_render_area_granularity(
2638 _device: Device,
2639 _render_pass: RenderPass,
2640 _p_granularity: *mut Extent2D,
2641 ) {
2642 panic!(concat!(
2643 "Unable to load ",
2644 stringify!(get_render_area_granularity)
2645 ))
2646 }
2647 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
2648 b"vkGetRenderAreaGranularity\0",
2649 );
2650 let val = _f(cname);
2651 if val.is_null() {
2652 get_render_area_granularity
2653 } else {
2654 ::std::mem::transmute(val)
2655 }
2656 },
2657 create_command_pool: unsafe {
2658 unsafe extern "system" fn create_command_pool(
2659 _device: Device,
2660 _p_create_info: *const CommandPoolCreateInfo,
2661 _p_allocator: *const AllocationCallbacks,
2662 _p_command_pool: *mut CommandPool,
2663 ) -> Result {
2664 panic!(concat!("Unable to load ", stringify!(create_command_pool)))
2665 }
2666 let cname =
2667 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateCommandPool\0");
2668 let val = _f(cname);
2669 if val.is_null() {
2670 create_command_pool
2671 } else {
2672 ::std::mem::transmute(val)
2673 }
2674 },
2675 destroy_command_pool: unsafe {
2676 unsafe extern "system" fn destroy_command_pool(
2677 _device: Device,
2678 _command_pool: CommandPool,
2679 _p_allocator: *const AllocationCallbacks,
2680 ) {
2681 panic!(concat!("Unable to load ", stringify!(destroy_command_pool)))
2682 }
2683 let cname =
2684 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyCommandPool\0");
2685 let val = _f(cname);
2686 if val.is_null() {
2687 destroy_command_pool
2688 } else {
2689 ::std::mem::transmute(val)
2690 }
2691 },
2692 reset_command_pool: unsafe {
2693 unsafe extern "system" fn reset_command_pool(
2694 _device: Device,
2695 _command_pool: CommandPool,
2696 _flags: CommandPoolResetFlags,
2697 ) -> Result {
2698 panic!(concat!("Unable to load ", stringify!(reset_command_pool)))
2699 }
2700 let cname =
2701 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetCommandPool\0");
2702 let val = _f(cname);
2703 if val.is_null() {
2704 reset_command_pool
2705 } else {
2706 ::std::mem::transmute(val)
2707 }
2708 },
2709 allocate_command_buffers: unsafe {
2710 unsafe extern "system" fn allocate_command_buffers(
2711 _device: Device,
2712 _p_allocate_info: *const CommandBufferAllocateInfo,
2713 _p_command_buffers: *mut CommandBuffer,
2714 ) -> Result {
2715 panic!(concat!(
2716 "Unable to load ",
2717 stringify!(allocate_command_buffers)
2718 ))
2719 }
2720 let cname =
2721 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAllocateCommandBuffers\0");
2722 let val = _f(cname);
2723 if val.is_null() {
2724 allocate_command_buffers
2725 } else {
2726 ::std::mem::transmute(val)
2727 }
2728 },
2729 free_command_buffers: unsafe {
2730 unsafe extern "system" fn free_command_buffers(
2731 _device: Device,
2732 _command_pool: CommandPool,
2733 _command_buffer_count: u32,
2734 _p_command_buffers: *const CommandBuffer,
2735 ) {
2736 panic!(concat!("Unable to load ", stringify!(free_command_buffers)))
2737 }
2738 let cname =
2739 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkFreeCommandBuffers\0");
2740 let val = _f(cname);
2741 if val.is_null() {
2742 free_command_buffers
2743 } else {
2744 ::std::mem::transmute(val)
2745 }
2746 },
2747 begin_command_buffer: unsafe {
2748 unsafe extern "system" fn begin_command_buffer(
2749 _command_buffer: CommandBuffer,
2750 _p_begin_info: *const CommandBufferBeginInfo,
2751 ) -> Result {
2752 panic!(concat!("Unable to load ", stringify!(begin_command_buffer)))
2753 }
2754 let cname =
2755 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBeginCommandBuffer\0");
2756 let val = _f(cname);
2757 if val.is_null() {
2758 begin_command_buffer
2759 } else {
2760 ::std::mem::transmute(val)
2761 }
2762 },
2763 end_command_buffer: unsafe {
2764 unsafe extern "system" fn end_command_buffer(
2765 _command_buffer: CommandBuffer,
2766 ) -> Result {
2767 panic!(concat!("Unable to load ", stringify!(end_command_buffer)))
2768 }
2769 let cname =
2770 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkEndCommandBuffer\0");
2771 let val = _f(cname);
2772 if val.is_null() {
2773 end_command_buffer
2774 } else {
2775 ::std::mem::transmute(val)
2776 }
2777 },
2778 reset_command_buffer: unsafe {
2779 unsafe extern "system" fn reset_command_buffer(
2780 _command_buffer: CommandBuffer,
2781 _flags: CommandBufferResetFlags,
2782 ) -> Result {
2783 panic!(concat!("Unable to load ", stringify!(reset_command_buffer)))
2784 }
2785 let cname =
2786 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetCommandBuffer\0");
2787 let val = _f(cname);
2788 if val.is_null() {
2789 reset_command_buffer
2790 } else {
2791 ::std::mem::transmute(val)
2792 }
2793 },
2794 cmd_bind_pipeline: unsafe {
2795 unsafe extern "system" fn cmd_bind_pipeline(
2796 _command_buffer: CommandBuffer,
2797 _pipeline_bind_point: PipelineBindPoint,
2798 _pipeline: Pipeline,
2799 ) {
2800 panic!(concat!("Unable to load ", stringify!(cmd_bind_pipeline)))
2801 }
2802 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindPipeline\0");
2803 let val = _f(cname);
2804 if val.is_null() {
2805 cmd_bind_pipeline
2806 } else {
2807 ::std::mem::transmute(val)
2808 }
2809 },
2810 cmd_set_viewport: unsafe {
2811 unsafe extern "system" fn cmd_set_viewport(
2812 _command_buffer: CommandBuffer,
2813 _first_viewport: u32,
2814 _viewport_count: u32,
2815 _p_viewports: *const Viewport,
2816 ) {
2817 panic!(concat!("Unable to load ", stringify!(cmd_set_viewport)))
2818 }
2819 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetViewport\0");
2820 let val = _f(cname);
2821 if val.is_null() {
2822 cmd_set_viewport
2823 } else {
2824 ::std::mem::transmute(val)
2825 }
2826 },
2827 cmd_set_scissor: unsafe {
2828 unsafe extern "system" fn cmd_set_scissor(
2829 _command_buffer: CommandBuffer,
2830 _first_scissor: u32,
2831 _scissor_count: u32,
2832 _p_scissors: *const Rect2D,
2833 ) {
2834 panic!(concat!("Unable to load ", stringify!(cmd_set_scissor)))
2835 }
2836 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetScissor\0");
2837 let val = _f(cname);
2838 if val.is_null() {
2839 cmd_set_scissor
2840 } else {
2841 ::std::mem::transmute(val)
2842 }
2843 },
2844 cmd_set_line_width: unsafe {
2845 unsafe extern "system" fn cmd_set_line_width(
2846 _command_buffer: CommandBuffer,
2847 _line_width: f32,
2848 ) {
2849 panic!(concat!("Unable to load ", stringify!(cmd_set_line_width)))
2850 }
2851 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLineWidth\0");
2852 let val = _f(cname);
2853 if val.is_null() {
2854 cmd_set_line_width
2855 } else {
2856 ::std::mem::transmute(val)
2857 }
2858 },
2859 cmd_set_depth_bias: unsafe {
2860 unsafe extern "system" fn cmd_set_depth_bias(
2861 _command_buffer: CommandBuffer,
2862 _depth_bias_constant_factor: f32,
2863 _depth_bias_clamp: f32,
2864 _depth_bias_slope_factor: f32,
2865 ) {
2866 panic!(concat!("Unable to load ", stringify!(cmd_set_depth_bias)))
2867 }
2868 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthBias\0");
2869 let val = _f(cname);
2870 if val.is_null() {
2871 cmd_set_depth_bias
2872 } else {
2873 ::std::mem::transmute(val)
2874 }
2875 },
2876 cmd_set_blend_constants: unsafe {
2877 unsafe extern "system" fn cmd_set_blend_constants(
2878 _command_buffer: CommandBuffer,
2879 _blend_constants: *const [f32; 4],
2880 ) {
2881 panic!(concat!(
2882 "Unable to load ",
2883 stringify!(cmd_set_blend_constants)
2884 ))
2885 }
2886 let cname =
2887 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetBlendConstants\0");
2888 let val = _f(cname);
2889 if val.is_null() {
2890 cmd_set_blend_constants
2891 } else {
2892 ::std::mem::transmute(val)
2893 }
2894 },
2895 cmd_set_depth_bounds: unsafe {
2896 unsafe extern "system" fn cmd_set_depth_bounds(
2897 _command_buffer: CommandBuffer,
2898 _min_depth_bounds: f32,
2899 _max_depth_bounds: f32,
2900 ) {
2901 panic!(concat!("Unable to load ", stringify!(cmd_set_depth_bounds)))
2902 }
2903 let cname =
2904 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthBounds\0");
2905 let val = _f(cname);
2906 if val.is_null() {
2907 cmd_set_depth_bounds
2908 } else {
2909 ::std::mem::transmute(val)
2910 }
2911 },
2912 cmd_set_stencil_compare_mask: unsafe {
2913 unsafe extern "system" fn cmd_set_stencil_compare_mask(
2914 _command_buffer: CommandBuffer,
2915 _face_mask: StencilFaceFlags,
2916 _compare_mask: u32,
2917 ) {
2918 panic!(concat!(
2919 "Unable to load ",
2920 stringify!(cmd_set_stencil_compare_mask)
2921 ))
2922 }
2923 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
2924 b"vkCmdSetStencilCompareMask\0",
2925 );
2926 let val = _f(cname);
2927 if val.is_null() {
2928 cmd_set_stencil_compare_mask
2929 } else {
2930 ::std::mem::transmute(val)
2931 }
2932 },
2933 cmd_set_stencil_write_mask: unsafe {
2934 unsafe extern "system" fn cmd_set_stencil_write_mask(
2935 _command_buffer: CommandBuffer,
2936 _face_mask: StencilFaceFlags,
2937 _write_mask: u32,
2938 ) {
2939 panic!(concat!(
2940 "Unable to load ",
2941 stringify!(cmd_set_stencil_write_mask)
2942 ))
2943 }
2944 let cname =
2945 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilWriteMask\0");
2946 let val = _f(cname);
2947 if val.is_null() {
2948 cmd_set_stencil_write_mask
2949 } else {
2950 ::std::mem::transmute(val)
2951 }
2952 },
2953 cmd_set_stencil_reference: unsafe {
2954 unsafe extern "system" fn cmd_set_stencil_reference(
2955 _command_buffer: CommandBuffer,
2956 _face_mask: StencilFaceFlags,
2957 _reference: u32,
2958 ) {
2959 panic!(concat!(
2960 "Unable to load ",
2961 stringify!(cmd_set_stencil_reference)
2962 ))
2963 }
2964 let cname =
2965 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilReference\0");
2966 let val = _f(cname);
2967 if val.is_null() {
2968 cmd_set_stencil_reference
2969 } else {
2970 ::std::mem::transmute(val)
2971 }
2972 },
2973 cmd_bind_descriptor_sets: unsafe {
2974 unsafe extern "system" fn cmd_bind_descriptor_sets(
2975 _command_buffer: CommandBuffer,
2976 _pipeline_bind_point: PipelineBindPoint,
2977 _layout: PipelineLayout,
2978 _first_set: u32,
2979 _descriptor_set_count: u32,
2980 _p_descriptor_sets: *const DescriptorSet,
2981 _dynamic_offset_count: u32,
2982 _p_dynamic_offsets: *const u32,
2983 ) {
2984 panic!(concat!(
2985 "Unable to load ",
2986 stringify!(cmd_bind_descriptor_sets)
2987 ))
2988 }
2989 let cname =
2990 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindDescriptorSets\0");
2991 let val = _f(cname);
2992 if val.is_null() {
2993 cmd_bind_descriptor_sets
2994 } else {
2995 ::std::mem::transmute(val)
2996 }
2997 },
2998 cmd_bind_index_buffer: unsafe {
2999 unsafe extern "system" fn cmd_bind_index_buffer(
3000 _command_buffer: CommandBuffer,
3001 _buffer: Buffer,
3002 _offset: DeviceSize,
3003 _index_type: IndexType,
3004 ) {
3005 panic!(concat!(
3006 "Unable to load ",
3007 stringify!(cmd_bind_index_buffer)
3008 ))
3009 }
3010 let cname =
3011 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindIndexBuffer\0");
3012 let val = _f(cname);
3013 if val.is_null() {
3014 cmd_bind_index_buffer
3015 } else {
3016 ::std::mem::transmute(val)
3017 }
3018 },
3019 cmd_bind_vertex_buffers: unsafe {
3020 unsafe extern "system" fn cmd_bind_vertex_buffers(
3021 _command_buffer: CommandBuffer,
3022 _first_binding: u32,
3023 _binding_count: u32,
3024 _p_buffers: *const Buffer,
3025 _p_offsets: *const DeviceSize,
3026 ) {
3027 panic!(concat!(
3028 "Unable to load ",
3029 stringify!(cmd_bind_vertex_buffers)
3030 ))
3031 }
3032 let cname =
3033 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindVertexBuffers\0");
3034 let val = _f(cname);
3035 if val.is_null() {
3036 cmd_bind_vertex_buffers
3037 } else {
3038 ::std::mem::transmute(val)
3039 }
3040 },
3041 cmd_draw: unsafe {
3042 unsafe extern "system" fn cmd_draw(
3043 _command_buffer: CommandBuffer,
3044 _vertex_count: u32,
3045 _instance_count: u32,
3046 _first_vertex: u32,
3047 _first_instance: u32,
3048 ) {
3049 panic!(concat!("Unable to load ", stringify!(cmd_draw)))
3050 }
3051 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDraw\0");
3052 let val = _f(cname);
3053 if val.is_null() {
3054 cmd_draw
3055 } else {
3056 ::std::mem::transmute(val)
3057 }
3058 },
3059 cmd_draw_indexed: unsafe {
3060 unsafe extern "system" fn cmd_draw_indexed(
3061 _command_buffer: CommandBuffer,
3062 _index_count: u32,
3063 _instance_count: u32,
3064 _first_index: u32,
3065 _vertex_offset: i32,
3066 _first_instance: u32,
3067 ) {
3068 panic!(concat!("Unable to load ", stringify!(cmd_draw_indexed)))
3069 }
3070 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndexed\0");
3071 let val = _f(cname);
3072 if val.is_null() {
3073 cmd_draw_indexed
3074 } else {
3075 ::std::mem::transmute(val)
3076 }
3077 },
3078 cmd_draw_indirect: unsafe {
3079 unsafe extern "system" fn cmd_draw_indirect(
3080 _command_buffer: CommandBuffer,
3081 _buffer: Buffer,
3082 _offset: DeviceSize,
3083 _draw_count: u32,
3084 _stride: u32,
3085 ) {
3086 panic!(concat!("Unable to load ", stringify!(cmd_draw_indirect)))
3087 }
3088 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndirect\0");
3089 let val = _f(cname);
3090 if val.is_null() {
3091 cmd_draw_indirect
3092 } else {
3093 ::std::mem::transmute(val)
3094 }
3095 },
3096 cmd_draw_indexed_indirect: unsafe {
3097 unsafe extern "system" fn cmd_draw_indexed_indirect(
3098 _command_buffer: CommandBuffer,
3099 _buffer: Buffer,
3100 _offset: DeviceSize,
3101 _draw_count: u32,
3102 _stride: u32,
3103 ) {
3104 panic!(concat!(
3105 "Unable to load ",
3106 stringify!(cmd_draw_indexed_indirect)
3107 ))
3108 }
3109 let cname =
3110 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndexedIndirect\0");
3111 let val = _f(cname);
3112 if val.is_null() {
3113 cmd_draw_indexed_indirect
3114 } else {
3115 ::std::mem::transmute(val)
3116 }
3117 },
3118 cmd_dispatch: unsafe {
3119 unsafe extern "system" fn cmd_dispatch(
3120 _command_buffer: CommandBuffer,
3121 _group_count_x: u32,
3122 _group_count_y: u32,
3123 _group_count_z: u32,
3124 ) {
3125 panic!(concat!("Unable to load ", stringify!(cmd_dispatch)))
3126 }
3127 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDispatch\0");
3128 let val = _f(cname);
3129 if val.is_null() {
3130 cmd_dispatch
3131 } else {
3132 ::std::mem::transmute(val)
3133 }
3134 },
3135 cmd_dispatch_indirect: unsafe {
3136 unsafe extern "system" fn cmd_dispatch_indirect(
3137 _command_buffer: CommandBuffer,
3138 _buffer: Buffer,
3139 _offset: DeviceSize,
3140 ) {
3141 panic!(concat!(
3142 "Unable to load ",
3143 stringify!(cmd_dispatch_indirect)
3144 ))
3145 }
3146 let cname =
3147 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDispatchIndirect\0");
3148 let val = _f(cname);
3149 if val.is_null() {
3150 cmd_dispatch_indirect
3151 } else {
3152 ::std::mem::transmute(val)
3153 }
3154 },
3155 cmd_copy_buffer: unsafe {
3156 unsafe extern "system" fn cmd_copy_buffer(
3157 _command_buffer: CommandBuffer,
3158 _src_buffer: Buffer,
3159 _dst_buffer: Buffer,
3160 _region_count: u32,
3161 _p_regions: *const BufferCopy,
3162 ) {
3163 panic!(concat!("Unable to load ", stringify!(cmd_copy_buffer)))
3164 }
3165 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyBuffer\0");
3166 let val = _f(cname);
3167 if val.is_null() {
3168 cmd_copy_buffer
3169 } else {
3170 ::std::mem::transmute(val)
3171 }
3172 },
3173 cmd_copy_image: unsafe {
3174 unsafe extern "system" fn cmd_copy_image(
3175 _command_buffer: CommandBuffer,
3176 _src_image: Image,
3177 _src_image_layout: ImageLayout,
3178 _dst_image: Image,
3179 _dst_image_layout: ImageLayout,
3180 _region_count: u32,
3181 _p_regions: *const ImageCopy,
3182 ) {
3183 panic!(concat!("Unable to load ", stringify!(cmd_copy_image)))
3184 }
3185 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyImage\0");
3186 let val = _f(cname);
3187 if val.is_null() {
3188 cmd_copy_image
3189 } else {
3190 ::std::mem::transmute(val)
3191 }
3192 },
3193 cmd_blit_image: unsafe {
3194 unsafe extern "system" fn cmd_blit_image(
3195 _command_buffer: CommandBuffer,
3196 _src_image: Image,
3197 _src_image_layout: ImageLayout,
3198 _dst_image: Image,
3199 _dst_image_layout: ImageLayout,
3200 _region_count: u32,
3201 _p_regions: *const ImageBlit,
3202 _filter: Filter,
3203 ) {
3204 panic!(concat!("Unable to load ", stringify!(cmd_blit_image)))
3205 }
3206 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBlitImage\0");
3207 let val = _f(cname);
3208 if val.is_null() {
3209 cmd_blit_image
3210 } else {
3211 ::std::mem::transmute(val)
3212 }
3213 },
3214 cmd_copy_buffer_to_image: unsafe {
3215 unsafe extern "system" fn cmd_copy_buffer_to_image(
3216 _command_buffer: CommandBuffer,
3217 _src_buffer: Buffer,
3218 _dst_image: Image,
3219 _dst_image_layout: ImageLayout,
3220 _region_count: u32,
3221 _p_regions: *const BufferImageCopy,
3222 ) {
3223 panic!(concat!(
3224 "Unable to load ",
3225 stringify!(cmd_copy_buffer_to_image)
3226 ))
3227 }
3228 let cname =
3229 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyBufferToImage\0");
3230 let val = _f(cname);
3231 if val.is_null() {
3232 cmd_copy_buffer_to_image
3233 } else {
3234 ::std::mem::transmute(val)
3235 }
3236 },
3237 cmd_copy_image_to_buffer: unsafe {
3238 unsafe extern "system" fn cmd_copy_image_to_buffer(
3239 _command_buffer: CommandBuffer,
3240 _src_image: Image,
3241 _src_image_layout: ImageLayout,
3242 _dst_buffer: Buffer,
3243 _region_count: u32,
3244 _p_regions: *const BufferImageCopy,
3245 ) {
3246 panic!(concat!(
3247 "Unable to load ",
3248 stringify!(cmd_copy_image_to_buffer)
3249 ))
3250 }
3251 let cname =
3252 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyImageToBuffer\0");
3253 let val = _f(cname);
3254 if val.is_null() {
3255 cmd_copy_image_to_buffer
3256 } else {
3257 ::std::mem::transmute(val)
3258 }
3259 },
3260 cmd_update_buffer: unsafe {
3261 unsafe extern "system" fn cmd_update_buffer(
3262 _command_buffer: CommandBuffer,
3263 _dst_buffer: Buffer,
3264 _dst_offset: DeviceSize,
3265 _data_size: DeviceSize,
3266 _p_data: *const c_void,
3267 ) {
3268 panic!(concat!("Unable to load ", stringify!(cmd_update_buffer)))
3269 }
3270 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdUpdateBuffer\0");
3271 let val = _f(cname);
3272 if val.is_null() {
3273 cmd_update_buffer
3274 } else {
3275 ::std::mem::transmute(val)
3276 }
3277 },
3278 cmd_fill_buffer: unsafe {
3279 unsafe extern "system" fn cmd_fill_buffer(
3280 _command_buffer: CommandBuffer,
3281 _dst_buffer: Buffer,
3282 _dst_offset: DeviceSize,
3283 _size: DeviceSize,
3284 _data: u32,
3285 ) {
3286 panic!(concat!("Unable to load ", stringify!(cmd_fill_buffer)))
3287 }
3288 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdFillBuffer\0");
3289 let val = _f(cname);
3290 if val.is_null() {
3291 cmd_fill_buffer
3292 } else {
3293 ::std::mem::transmute(val)
3294 }
3295 },
3296 cmd_clear_color_image: unsafe {
3297 unsafe extern "system" fn cmd_clear_color_image(
3298 _command_buffer: CommandBuffer,
3299 _image: Image,
3300 _image_layout: ImageLayout,
3301 _p_color: *const ClearColorValue,
3302 _range_count: u32,
3303 _p_ranges: *const ImageSubresourceRange,
3304 ) {
3305 panic!(concat!(
3306 "Unable to load ",
3307 stringify!(cmd_clear_color_image)
3308 ))
3309 }
3310 let cname =
3311 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdClearColorImage\0");
3312 let val = _f(cname);
3313 if val.is_null() {
3314 cmd_clear_color_image
3315 } else {
3316 ::std::mem::transmute(val)
3317 }
3318 },
3319 cmd_clear_depth_stencil_image: unsafe {
3320 unsafe extern "system" fn cmd_clear_depth_stencil_image(
3321 _command_buffer: CommandBuffer,
3322 _image: Image,
3323 _image_layout: ImageLayout,
3324 _p_depth_stencil: *const ClearDepthStencilValue,
3325 _range_count: u32,
3326 _p_ranges: *const ImageSubresourceRange,
3327 ) {
3328 panic!(concat!(
3329 "Unable to load ",
3330 stringify!(cmd_clear_depth_stencil_image)
3331 ))
3332 }
3333 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3334 b"vkCmdClearDepthStencilImage\0",
3335 );
3336 let val = _f(cname);
3337 if val.is_null() {
3338 cmd_clear_depth_stencil_image
3339 } else {
3340 ::std::mem::transmute(val)
3341 }
3342 },
3343 cmd_clear_attachments: unsafe {
3344 unsafe extern "system" fn cmd_clear_attachments(
3345 _command_buffer: CommandBuffer,
3346 _attachment_count: u32,
3347 _p_attachments: *const ClearAttachment,
3348 _rect_count: u32,
3349 _p_rects: *const ClearRect,
3350 ) {
3351 panic!(concat!(
3352 "Unable to load ",
3353 stringify!(cmd_clear_attachments)
3354 ))
3355 }
3356 let cname =
3357 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdClearAttachments\0");
3358 let val = _f(cname);
3359 if val.is_null() {
3360 cmd_clear_attachments
3361 } else {
3362 ::std::mem::transmute(val)
3363 }
3364 },
3365 cmd_resolve_image: unsafe {
3366 unsafe extern "system" fn cmd_resolve_image(
3367 _command_buffer: CommandBuffer,
3368 _src_image: Image,
3369 _src_image_layout: ImageLayout,
3370 _dst_image: Image,
3371 _dst_image_layout: ImageLayout,
3372 _region_count: u32,
3373 _p_regions: *const ImageResolve,
3374 ) {
3375 panic!(concat!("Unable to load ", stringify!(cmd_resolve_image)))
3376 }
3377 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResolveImage\0");
3378 let val = _f(cname);
3379 if val.is_null() {
3380 cmd_resolve_image
3381 } else {
3382 ::std::mem::transmute(val)
3383 }
3384 },
3385 cmd_set_event: unsafe {
3386 unsafe extern "system" fn cmd_set_event(
3387 _command_buffer: CommandBuffer,
3388 _event: Event,
3389 _stage_mask: PipelineStageFlags,
3390 ) {
3391 panic!(concat!("Unable to load ", stringify!(cmd_set_event)))
3392 }
3393 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetEvent\0");
3394 let val = _f(cname);
3395 if val.is_null() {
3396 cmd_set_event
3397 } else {
3398 ::std::mem::transmute(val)
3399 }
3400 },
3401 cmd_reset_event: unsafe {
3402 unsafe extern "system" fn cmd_reset_event(
3403 _command_buffer: CommandBuffer,
3404 _event: Event,
3405 _stage_mask: PipelineStageFlags,
3406 ) {
3407 panic!(concat!("Unable to load ", stringify!(cmd_reset_event)))
3408 }
3409 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResetEvent\0");
3410 let val = _f(cname);
3411 if val.is_null() {
3412 cmd_reset_event
3413 } else {
3414 ::std::mem::transmute(val)
3415 }
3416 },
3417 cmd_wait_events: unsafe {
3418 unsafe extern "system" fn cmd_wait_events(
3419 _command_buffer: CommandBuffer,
3420 _event_count: u32,
3421 _p_events: *const Event,
3422 _src_stage_mask: PipelineStageFlags,
3423 _dst_stage_mask: PipelineStageFlags,
3424 _memory_barrier_count: u32,
3425 _p_memory_barriers: *const MemoryBarrier,
3426 _buffer_memory_barrier_count: u32,
3427 _p_buffer_memory_barriers: *const BufferMemoryBarrier,
3428 _image_memory_barrier_count: u32,
3429 _p_image_memory_barriers: *const ImageMemoryBarrier,
3430 ) {
3431 panic!(concat!("Unable to load ", stringify!(cmd_wait_events)))
3432 }
3433 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWaitEvents\0");
3434 let val = _f(cname);
3435 if val.is_null() {
3436 cmd_wait_events
3437 } else {
3438 ::std::mem::transmute(val)
3439 }
3440 },
3441 cmd_pipeline_barrier: unsafe {
3442 unsafe extern "system" fn cmd_pipeline_barrier(
3443 _command_buffer: CommandBuffer,
3444 _src_stage_mask: PipelineStageFlags,
3445 _dst_stage_mask: PipelineStageFlags,
3446 _dependency_flags: DependencyFlags,
3447 _memory_barrier_count: u32,
3448 _p_memory_barriers: *const MemoryBarrier,
3449 _buffer_memory_barrier_count: u32,
3450 _p_buffer_memory_barriers: *const BufferMemoryBarrier,
3451 _image_memory_barrier_count: u32,
3452 _p_image_memory_barriers: *const ImageMemoryBarrier,
3453 ) {
3454 panic!(concat!("Unable to load ", stringify!(cmd_pipeline_barrier)))
3455 }
3456 let cname =
3457 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdPipelineBarrier\0");
3458 let val = _f(cname);
3459 if val.is_null() {
3460 cmd_pipeline_barrier
3461 } else {
3462 ::std::mem::transmute(val)
3463 }
3464 },
3465 cmd_begin_query: unsafe {
3466 unsafe extern "system" fn cmd_begin_query(
3467 _command_buffer: CommandBuffer,
3468 _query_pool: QueryPool,
3469 _query: u32,
3470 _flags: QueryControlFlags,
3471 ) {
3472 panic!(concat!("Unable to load ", stringify!(cmd_begin_query)))
3473 }
3474 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginQuery\0");
3475 let val = _f(cname);
3476 if val.is_null() {
3477 cmd_begin_query
3478 } else {
3479 ::std::mem::transmute(val)
3480 }
3481 },
3482 cmd_end_query: unsafe {
3483 unsafe extern "system" fn cmd_end_query(
3484 _command_buffer: CommandBuffer,
3485 _query_pool: QueryPool,
3486 _query: u32,
3487 ) {
3488 panic!(concat!("Unable to load ", stringify!(cmd_end_query)))
3489 }
3490 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndQuery\0");
3491 let val = _f(cname);
3492 if val.is_null() {
3493 cmd_end_query
3494 } else {
3495 ::std::mem::transmute(val)
3496 }
3497 },
3498 cmd_reset_query_pool: unsafe {
3499 unsafe extern "system" fn cmd_reset_query_pool(
3500 _command_buffer: CommandBuffer,
3501 _query_pool: QueryPool,
3502 _first_query: u32,
3503 _query_count: u32,
3504 ) {
3505 panic!(concat!("Unable to load ", stringify!(cmd_reset_query_pool)))
3506 }
3507 let cname =
3508 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResetQueryPool\0");
3509 let val = _f(cname);
3510 if val.is_null() {
3511 cmd_reset_query_pool
3512 } else {
3513 ::std::mem::transmute(val)
3514 }
3515 },
3516 cmd_write_timestamp: unsafe {
3517 unsafe extern "system" fn cmd_write_timestamp(
3518 _command_buffer: CommandBuffer,
3519 _pipeline_stage: PipelineStageFlags,
3520 _query_pool: QueryPool,
3521 _query: u32,
3522 ) {
3523 panic!(concat!("Unable to load ", stringify!(cmd_write_timestamp)))
3524 }
3525 let cname =
3526 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWriteTimestamp\0");
3527 let val = _f(cname);
3528 if val.is_null() {
3529 cmd_write_timestamp
3530 } else {
3531 ::std::mem::transmute(val)
3532 }
3533 },
3534 cmd_copy_query_pool_results: unsafe {
3535 unsafe extern "system" fn cmd_copy_query_pool_results(
3536 _command_buffer: CommandBuffer,
3537 _query_pool: QueryPool,
3538 _first_query: u32,
3539 _query_count: u32,
3540 _dst_buffer: Buffer,
3541 _dst_offset: DeviceSize,
3542 _stride: DeviceSize,
3543 _flags: QueryResultFlags,
3544 ) {
3545 panic!(concat!(
3546 "Unable to load ",
3547 stringify!(cmd_copy_query_pool_results)
3548 ))
3549 }
3550 let cname =
3551 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyQueryPoolResults\0");
3552 let val = _f(cname);
3553 if val.is_null() {
3554 cmd_copy_query_pool_results
3555 } else {
3556 ::std::mem::transmute(val)
3557 }
3558 },
3559 cmd_push_constants: unsafe {
3560 unsafe extern "system" fn cmd_push_constants(
3561 _command_buffer: CommandBuffer,
3562 _layout: PipelineLayout,
3563 _stage_flags: ShaderStageFlags,
3564 _offset: u32,
3565 _size: u32,
3566 _p_values: *const c_void,
3567 ) {
3568 panic!(concat!("Unable to load ", stringify!(cmd_push_constants)))
3569 }
3570 let cname =
3571 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdPushConstants\0");
3572 let val = _f(cname);
3573 if val.is_null() {
3574 cmd_push_constants
3575 } else {
3576 ::std::mem::transmute(val)
3577 }
3578 },
3579 cmd_begin_render_pass: unsafe {
3580 unsafe extern "system" fn cmd_begin_render_pass(
3581 _command_buffer: CommandBuffer,
3582 _p_render_pass_begin: *const RenderPassBeginInfo,
3583 _contents: SubpassContents,
3584 ) {
3585 panic!(concat!(
3586 "Unable to load ",
3587 stringify!(cmd_begin_render_pass)
3588 ))
3589 }
3590 let cname =
3591 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginRenderPass\0");
3592 let val = _f(cname);
3593 if val.is_null() {
3594 cmd_begin_render_pass
3595 } else {
3596 ::std::mem::transmute(val)
3597 }
3598 },
3599 cmd_next_subpass: unsafe {
3600 unsafe extern "system" fn cmd_next_subpass(
3601 _command_buffer: CommandBuffer,
3602 _contents: SubpassContents,
3603 ) {
3604 panic!(concat!("Unable to load ", stringify!(cmd_next_subpass)))
3605 }
3606 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdNextSubpass\0");
3607 let val = _f(cname);
3608 if val.is_null() {
3609 cmd_next_subpass
3610 } else {
3611 ::std::mem::transmute(val)
3612 }
3613 },
3614 cmd_end_render_pass: unsafe {
3615 unsafe extern "system" fn cmd_end_render_pass(_command_buffer: CommandBuffer) {
3616 panic!(concat!("Unable to load ", stringify!(cmd_end_render_pass)))
3617 }
3618 let cname =
3619 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndRenderPass\0");
3620 let val = _f(cname);
3621 if val.is_null() {
3622 cmd_end_render_pass
3623 } else {
3624 ::std::mem::transmute(val)
3625 }
3626 },
3627 cmd_execute_commands: unsafe {
3628 unsafe extern "system" fn cmd_execute_commands(
3629 _command_buffer: CommandBuffer,
3630 _command_buffer_count: u32,
3631 _p_command_buffers: *const CommandBuffer,
3632 ) {
3633 panic!(concat!("Unable to load ", stringify!(cmd_execute_commands)))
3634 }
3635 let cname =
3636 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdExecuteCommands\0");
3637 let val = _f(cname);
3638 if val.is_null() {
3639 cmd_execute_commands
3640 } else {
3641 ::std::mem::transmute(val)
3642 }
3643 },
3644 }
3645 }
3646}
3647#[allow(non_camel_case_types)]
3648pub type PFN_vkEnumerateInstanceVersion =
3649 unsafe extern "system" fn(p_api_version: *mut u32) -> Result;
3650#[derive(Clone)]
3651pub struct EntryFnV1_1 {
3652 pub enumerate_instance_version: PFN_vkEnumerateInstanceVersion,
3653}
3654unsafe impl Send for EntryFnV1_1 {}
3655unsafe impl Sync for EntryFnV1_1 {}
3656impl EntryFnV1_1 {
3657 pub fn load<F>(mut _f: F) -> Self
3658 where
3659 F: FnMut(&::std::ffi::CStr) -> *const c_void,
3660 {
3661 Self {
3662 enumerate_instance_version: unsafe {
3663 unsafe extern "system" fn enumerate_instance_version(
3664 _p_api_version: *mut u32,
3665 ) -> Result {
3666 panic!(concat!(
3667 "Unable to load ",
3668 stringify!(enumerate_instance_version)
3669 ))
3670 }
3671 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3672 b"vkEnumerateInstanceVersion\0",
3673 );
3674 let val = _f(cname);
3675 if val.is_null() {
3676 enumerate_instance_version
3677 } else {
3678 ::std::mem::transmute(val)
3679 }
3680 },
3681 }
3682 }
3683}
3684#[derive(Clone)]
3685pub struct InstanceFnV1_1 {
3686 pub enumerate_physical_device_groups: crate::vk::PFN_vkEnumeratePhysicalDeviceGroups,
3687 pub get_physical_device_features2: crate::vk::PFN_vkGetPhysicalDeviceFeatures2,
3688 pub get_physical_device_properties2: crate::vk::PFN_vkGetPhysicalDeviceProperties2,
3689 pub get_physical_device_format_properties2: crate::vk::PFN_vkGetPhysicalDeviceFormatProperties2,
3690 pub get_physical_device_image_format_properties2:
3691 crate::vk::PFN_vkGetPhysicalDeviceImageFormatProperties2,
3692 pub get_physical_device_queue_family_properties2:
3693 crate::vk::PFN_vkGetPhysicalDeviceQueueFamilyProperties2,
3694 pub get_physical_device_memory_properties2: crate::vk::PFN_vkGetPhysicalDeviceMemoryProperties2,
3695 pub get_physical_device_sparse_image_format_properties2:
3696 crate::vk::PFN_vkGetPhysicalDeviceSparseImageFormatProperties2,
3697 pub get_physical_device_external_buffer_properties:
3698 crate::vk::PFN_vkGetPhysicalDeviceExternalBufferProperties,
3699 pub get_physical_device_external_fence_properties:
3700 crate::vk::PFN_vkGetPhysicalDeviceExternalFenceProperties,
3701 pub get_physical_device_external_semaphore_properties:
3702 crate::vk::PFN_vkGetPhysicalDeviceExternalSemaphoreProperties,
3703}
3704unsafe impl Send for InstanceFnV1_1 {}
3705unsafe impl Sync for InstanceFnV1_1 {}
3706impl InstanceFnV1_1 {
3707 pub fn load<F>(mut _f: F) -> Self
3708 where
3709 F: FnMut(&::std::ffi::CStr) -> *const c_void,
3710 {
3711 Self {
3712 enumerate_physical_device_groups: unsafe {
3713 unsafe extern "system" fn enumerate_physical_device_groups(
3714 _instance: Instance,
3715 _p_physical_device_group_count: *mut u32,
3716 _p_physical_device_group_properties: *mut PhysicalDeviceGroupProperties,
3717 ) -> Result {
3718 panic!(concat!(
3719 "Unable to load ",
3720 stringify!(enumerate_physical_device_groups)
3721 ))
3722 }
3723 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3724 b"vkEnumeratePhysicalDeviceGroups\0",
3725 );
3726 let val = _f(cname);
3727 if val.is_null() {
3728 enumerate_physical_device_groups
3729 } else {
3730 ::std::mem::transmute(val)
3731 }
3732 },
3733 get_physical_device_features2: unsafe {
3734 unsafe extern "system" fn get_physical_device_features2(
3735 _physical_device: PhysicalDevice,
3736 _p_features: *mut PhysicalDeviceFeatures2,
3737 ) {
3738 panic!(concat!(
3739 "Unable to load ",
3740 stringify!(get_physical_device_features2)
3741 ))
3742 }
3743 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3744 b"vkGetPhysicalDeviceFeatures2\0",
3745 );
3746 let val = _f(cname);
3747 if val.is_null() {
3748 get_physical_device_features2
3749 } else {
3750 ::std::mem::transmute(val)
3751 }
3752 },
3753 get_physical_device_properties2: unsafe {
3754 unsafe extern "system" fn get_physical_device_properties2(
3755 _physical_device: PhysicalDevice,
3756 _p_properties: *mut PhysicalDeviceProperties2,
3757 ) {
3758 panic!(concat!(
3759 "Unable to load ",
3760 stringify!(get_physical_device_properties2)
3761 ))
3762 }
3763 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3764 b"vkGetPhysicalDeviceProperties2\0",
3765 );
3766 let val = _f(cname);
3767 if val.is_null() {
3768 get_physical_device_properties2
3769 } else {
3770 ::std::mem::transmute(val)
3771 }
3772 },
3773 get_physical_device_format_properties2: unsafe {
3774 unsafe extern "system" fn get_physical_device_format_properties2(
3775 _physical_device: PhysicalDevice,
3776 _format: Format,
3777 _p_format_properties: *mut FormatProperties2,
3778 ) {
3779 panic!(concat!(
3780 "Unable to load ",
3781 stringify!(get_physical_device_format_properties2)
3782 ))
3783 }
3784 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3785 b"vkGetPhysicalDeviceFormatProperties2\0",
3786 );
3787 let val = _f(cname);
3788 if val.is_null() {
3789 get_physical_device_format_properties2
3790 } else {
3791 ::std::mem::transmute(val)
3792 }
3793 },
3794 get_physical_device_image_format_properties2: unsafe {
3795 unsafe extern "system" fn get_physical_device_image_format_properties2(
3796 _physical_device: PhysicalDevice,
3797 _p_image_format_info: *const PhysicalDeviceImageFormatInfo2,
3798 _p_image_format_properties: *mut ImageFormatProperties2,
3799 ) -> Result {
3800 panic!(concat!(
3801 "Unable to load ",
3802 stringify!(get_physical_device_image_format_properties2)
3803 ))
3804 }
3805 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3806 b"vkGetPhysicalDeviceImageFormatProperties2\0",
3807 );
3808 let val = _f(cname);
3809 if val.is_null() {
3810 get_physical_device_image_format_properties2
3811 } else {
3812 ::std::mem::transmute(val)
3813 }
3814 },
3815 get_physical_device_queue_family_properties2: unsafe {
3816 unsafe extern "system" fn get_physical_device_queue_family_properties2(
3817 _physical_device: PhysicalDevice,
3818 _p_queue_family_property_count: *mut u32,
3819 _p_queue_family_properties: *mut QueueFamilyProperties2,
3820 ) {
3821 panic!(concat!(
3822 "Unable to load ",
3823 stringify!(get_physical_device_queue_family_properties2)
3824 ))
3825 }
3826 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3827 b"vkGetPhysicalDeviceQueueFamilyProperties2\0",
3828 );
3829 let val = _f(cname);
3830 if val.is_null() {
3831 get_physical_device_queue_family_properties2
3832 } else {
3833 ::std::mem::transmute(val)
3834 }
3835 },
3836 get_physical_device_memory_properties2: unsafe {
3837 unsafe extern "system" fn get_physical_device_memory_properties2(
3838 _physical_device: PhysicalDevice,
3839 _p_memory_properties: *mut PhysicalDeviceMemoryProperties2,
3840 ) {
3841 panic!(concat!(
3842 "Unable to load ",
3843 stringify!(get_physical_device_memory_properties2)
3844 ))
3845 }
3846 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3847 b"vkGetPhysicalDeviceMemoryProperties2\0",
3848 );
3849 let val = _f(cname);
3850 if val.is_null() {
3851 get_physical_device_memory_properties2
3852 } else {
3853 ::std::mem::transmute(val)
3854 }
3855 },
3856 get_physical_device_sparse_image_format_properties2: unsafe {
3857 unsafe extern "system" fn get_physical_device_sparse_image_format_properties2(
3858 _physical_device: PhysicalDevice,
3859 _p_format_info: *const PhysicalDeviceSparseImageFormatInfo2,
3860 _p_property_count: *mut u32,
3861 _p_properties: *mut SparseImageFormatProperties2,
3862 ) {
3863 panic!(concat!(
3864 "Unable to load ",
3865 stringify!(get_physical_device_sparse_image_format_properties2)
3866 ))
3867 }
3868 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3869 b"vkGetPhysicalDeviceSparseImageFormatProperties2\0",
3870 );
3871 let val = _f(cname);
3872 if val.is_null() {
3873 get_physical_device_sparse_image_format_properties2
3874 } else {
3875 ::std::mem::transmute(val)
3876 }
3877 },
3878 get_physical_device_external_buffer_properties: unsafe {
3879 unsafe extern "system" fn get_physical_device_external_buffer_properties(
3880 _physical_device: PhysicalDevice,
3881 _p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo,
3882 _p_external_buffer_properties: *mut ExternalBufferProperties,
3883 ) {
3884 panic!(concat!(
3885 "Unable to load ",
3886 stringify!(get_physical_device_external_buffer_properties)
3887 ))
3888 }
3889 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3890 b"vkGetPhysicalDeviceExternalBufferProperties\0",
3891 );
3892 let val = _f(cname);
3893 if val.is_null() {
3894 get_physical_device_external_buffer_properties
3895 } else {
3896 ::std::mem::transmute(val)
3897 }
3898 },
3899 get_physical_device_external_fence_properties: unsafe {
3900 unsafe extern "system" fn get_physical_device_external_fence_properties(
3901 _physical_device: PhysicalDevice,
3902 _p_external_fence_info: *const PhysicalDeviceExternalFenceInfo,
3903 _p_external_fence_properties: *mut ExternalFenceProperties,
3904 ) {
3905 panic!(concat!(
3906 "Unable to load ",
3907 stringify!(get_physical_device_external_fence_properties)
3908 ))
3909 }
3910 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3911 b"vkGetPhysicalDeviceExternalFenceProperties\0",
3912 );
3913 let val = _f(cname);
3914 if val.is_null() {
3915 get_physical_device_external_fence_properties
3916 } else {
3917 ::std::mem::transmute(val)
3918 }
3919 },
3920 get_physical_device_external_semaphore_properties: unsafe {
3921 unsafe extern "system" fn get_physical_device_external_semaphore_properties(
3922 _physical_device: PhysicalDevice,
3923 _p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo,
3924 _p_external_semaphore_properties: *mut ExternalSemaphoreProperties,
3925 ) {
3926 panic!(concat!(
3927 "Unable to load ",
3928 stringify!(get_physical_device_external_semaphore_properties)
3929 ))
3930 }
3931 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
3932 b"vkGetPhysicalDeviceExternalSemaphoreProperties\0",
3933 );
3934 let val = _f(cname);
3935 if val.is_null() {
3936 get_physical_device_external_semaphore_properties
3937 } else {
3938 ::std::mem::transmute(val)
3939 }
3940 },
3941 }
3942 }
3943}
3944#[allow(non_camel_case_types)]
3945pub type PFN_vkGetDeviceQueue2 = unsafe extern "system" fn(
3946 device: Device,
3947 p_queue_info: *const DeviceQueueInfo2,
3948 p_queue: *mut Queue,
3949);
3950#[derive(Clone)]
3951pub struct DeviceFnV1_1 {
3952 pub bind_buffer_memory2: crate::vk::PFN_vkBindBufferMemory2,
3953 pub bind_image_memory2: crate::vk::PFN_vkBindImageMemory2,
3954 pub get_device_group_peer_memory_features: crate::vk::PFN_vkGetDeviceGroupPeerMemoryFeatures,
3955 pub cmd_set_device_mask: crate::vk::PFN_vkCmdSetDeviceMask,
3956 pub cmd_dispatch_base: crate::vk::PFN_vkCmdDispatchBase,
3957 pub get_image_memory_requirements2: crate::vk::PFN_vkGetImageMemoryRequirements2,
3958 pub get_buffer_memory_requirements2: crate::vk::PFN_vkGetBufferMemoryRequirements2,
3959 pub get_image_sparse_memory_requirements2: crate::vk::PFN_vkGetImageSparseMemoryRequirements2,
3960 pub trim_command_pool: crate::vk::PFN_vkTrimCommandPool,
3961 pub get_device_queue2: PFN_vkGetDeviceQueue2,
3962 pub create_sampler_ycbcr_conversion: crate::vk::PFN_vkCreateSamplerYcbcrConversion,
3963 pub destroy_sampler_ycbcr_conversion: crate::vk::PFN_vkDestroySamplerYcbcrConversion,
3964 pub create_descriptor_update_template: crate::vk::PFN_vkCreateDescriptorUpdateTemplate,
3965 pub destroy_descriptor_update_template: crate::vk::PFN_vkDestroyDescriptorUpdateTemplate,
3966 pub update_descriptor_set_with_template: crate::vk::PFN_vkUpdateDescriptorSetWithTemplate,
3967 pub get_descriptor_set_layout_support: crate::vk::PFN_vkGetDescriptorSetLayoutSupport,
3968}
3969unsafe impl Send for DeviceFnV1_1 {}
3970unsafe impl Sync for DeviceFnV1_1 {}
3971impl DeviceFnV1_1 {
3972 pub fn load<F>(mut _f: F) -> Self
3973 where
3974 F: FnMut(&::std::ffi::CStr) -> *const c_void,
3975 {
3976 Self {
3977 bind_buffer_memory2: unsafe {
3978 unsafe extern "system" fn bind_buffer_memory2(
3979 _device: Device,
3980 _bind_info_count: u32,
3981 _p_bind_infos: *const BindBufferMemoryInfo,
3982 ) -> Result {
3983 panic!(concat!("Unable to load ", stringify!(bind_buffer_memory2)))
3984 }
3985 let cname =
3986 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindBufferMemory2\0");
3987 let val = _f(cname);
3988 if val.is_null() {
3989 bind_buffer_memory2
3990 } else {
3991 ::std::mem::transmute(val)
3992 }
3993 },
3994 bind_image_memory2: unsafe {
3995 unsafe extern "system" fn bind_image_memory2(
3996 _device: Device,
3997 _bind_info_count: u32,
3998 _p_bind_infos: *const BindImageMemoryInfo,
3999 ) -> Result {
4000 panic!(concat!("Unable to load ", stringify!(bind_image_memory2)))
4001 }
4002 let cname =
4003 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindImageMemory2\0");
4004 let val = _f(cname);
4005 if val.is_null() {
4006 bind_image_memory2
4007 } else {
4008 ::std::mem::transmute(val)
4009 }
4010 },
4011 get_device_group_peer_memory_features: unsafe {
4012 unsafe extern "system" fn get_device_group_peer_memory_features(
4013 _device: Device,
4014 _heap_index: u32,
4015 _local_device_index: u32,
4016 _remote_device_index: u32,
4017 _p_peer_memory_features: *mut PeerMemoryFeatureFlags,
4018 ) {
4019 panic!(concat!(
4020 "Unable to load ",
4021 stringify!(get_device_group_peer_memory_features)
4022 ))
4023 }
4024 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4025 b"vkGetDeviceGroupPeerMemoryFeatures\0",
4026 );
4027 let val = _f(cname);
4028 if val.is_null() {
4029 get_device_group_peer_memory_features
4030 } else {
4031 ::std::mem::transmute(val)
4032 }
4033 },
4034 cmd_set_device_mask: unsafe {
4035 unsafe extern "system" fn cmd_set_device_mask(
4036 _command_buffer: CommandBuffer,
4037 _device_mask: u32,
4038 ) {
4039 panic!(concat!("Unable to load ", stringify!(cmd_set_device_mask)))
4040 }
4041 let cname =
4042 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDeviceMask\0");
4043 let val = _f(cname);
4044 if val.is_null() {
4045 cmd_set_device_mask
4046 } else {
4047 ::std::mem::transmute(val)
4048 }
4049 },
4050 cmd_dispatch_base: unsafe {
4051 unsafe extern "system" fn cmd_dispatch_base(
4052 _command_buffer: CommandBuffer,
4053 _base_group_x: u32,
4054 _base_group_y: u32,
4055 _base_group_z: u32,
4056 _group_count_x: u32,
4057 _group_count_y: u32,
4058 _group_count_z: u32,
4059 ) {
4060 panic!(concat!("Unable to load ", stringify!(cmd_dispatch_base)))
4061 }
4062 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDispatchBase\0");
4063 let val = _f(cname);
4064 if val.is_null() {
4065 cmd_dispatch_base
4066 } else {
4067 ::std::mem::transmute(val)
4068 }
4069 },
4070 get_image_memory_requirements2: unsafe {
4071 unsafe extern "system" fn get_image_memory_requirements2(
4072 _device: Device,
4073 _p_info: *const ImageMemoryRequirementsInfo2,
4074 _p_memory_requirements: *mut MemoryRequirements2,
4075 ) {
4076 panic!(concat!(
4077 "Unable to load ",
4078 stringify!(get_image_memory_requirements2)
4079 ))
4080 }
4081 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4082 b"vkGetImageMemoryRequirements2\0",
4083 );
4084 let val = _f(cname);
4085 if val.is_null() {
4086 get_image_memory_requirements2
4087 } else {
4088 ::std::mem::transmute(val)
4089 }
4090 },
4091 get_buffer_memory_requirements2: unsafe {
4092 unsafe extern "system" fn get_buffer_memory_requirements2(
4093 _device: Device,
4094 _p_info: *const BufferMemoryRequirementsInfo2,
4095 _p_memory_requirements: *mut MemoryRequirements2,
4096 ) {
4097 panic!(concat!(
4098 "Unable to load ",
4099 stringify!(get_buffer_memory_requirements2)
4100 ))
4101 }
4102 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4103 b"vkGetBufferMemoryRequirements2\0",
4104 );
4105 let val = _f(cname);
4106 if val.is_null() {
4107 get_buffer_memory_requirements2
4108 } else {
4109 ::std::mem::transmute(val)
4110 }
4111 },
4112 get_image_sparse_memory_requirements2: unsafe {
4113 unsafe extern "system" fn get_image_sparse_memory_requirements2(
4114 _device: Device,
4115 _p_info: *const ImageSparseMemoryRequirementsInfo2,
4116 _p_sparse_memory_requirement_count: *mut u32,
4117 _p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2,
4118 ) {
4119 panic!(concat!(
4120 "Unable to load ",
4121 stringify!(get_image_sparse_memory_requirements2)
4122 ))
4123 }
4124 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4125 b"vkGetImageSparseMemoryRequirements2\0",
4126 );
4127 let val = _f(cname);
4128 if val.is_null() {
4129 get_image_sparse_memory_requirements2
4130 } else {
4131 ::std::mem::transmute(val)
4132 }
4133 },
4134 trim_command_pool: unsafe {
4135 unsafe extern "system" fn trim_command_pool(
4136 _device: Device,
4137 _command_pool: CommandPool,
4138 _flags: CommandPoolTrimFlags,
4139 ) {
4140 panic!(concat!("Unable to load ", stringify!(trim_command_pool)))
4141 }
4142 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkTrimCommandPool\0");
4143 let val = _f(cname);
4144 if val.is_null() {
4145 trim_command_pool
4146 } else {
4147 ::std::mem::transmute(val)
4148 }
4149 },
4150 get_device_queue2: unsafe {
4151 unsafe extern "system" fn get_device_queue2(
4152 _device: Device,
4153 _p_queue_info: *const DeviceQueueInfo2,
4154 _p_queue: *mut Queue,
4155 ) {
4156 panic!(concat!("Unable to load ", stringify!(get_device_queue2)))
4157 }
4158 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDeviceQueue2\0");
4159 let val = _f(cname);
4160 if val.is_null() {
4161 get_device_queue2
4162 } else {
4163 ::std::mem::transmute(val)
4164 }
4165 },
4166 create_sampler_ycbcr_conversion: unsafe {
4167 unsafe extern "system" fn create_sampler_ycbcr_conversion(
4168 _device: Device,
4169 _p_create_info: *const SamplerYcbcrConversionCreateInfo,
4170 _p_allocator: *const AllocationCallbacks,
4171 _p_ycbcr_conversion: *mut SamplerYcbcrConversion,
4172 ) -> Result {
4173 panic!(concat!(
4174 "Unable to load ",
4175 stringify!(create_sampler_ycbcr_conversion)
4176 ))
4177 }
4178 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4179 b"vkCreateSamplerYcbcrConversion\0",
4180 );
4181 let val = _f(cname);
4182 if val.is_null() {
4183 create_sampler_ycbcr_conversion
4184 } else {
4185 ::std::mem::transmute(val)
4186 }
4187 },
4188 destroy_sampler_ycbcr_conversion: unsafe {
4189 unsafe extern "system" fn destroy_sampler_ycbcr_conversion(
4190 _device: Device,
4191 _ycbcr_conversion: SamplerYcbcrConversion,
4192 _p_allocator: *const AllocationCallbacks,
4193 ) {
4194 panic!(concat!(
4195 "Unable to load ",
4196 stringify!(destroy_sampler_ycbcr_conversion)
4197 ))
4198 }
4199 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4200 b"vkDestroySamplerYcbcrConversion\0",
4201 );
4202 let val = _f(cname);
4203 if val.is_null() {
4204 destroy_sampler_ycbcr_conversion
4205 } else {
4206 ::std::mem::transmute(val)
4207 }
4208 },
4209 create_descriptor_update_template: unsafe {
4210 unsafe extern "system" fn create_descriptor_update_template(
4211 _device: Device,
4212 _p_create_info: *const DescriptorUpdateTemplateCreateInfo,
4213 _p_allocator: *const AllocationCallbacks,
4214 _p_descriptor_update_template: *mut DescriptorUpdateTemplate,
4215 ) -> Result {
4216 panic!(concat!(
4217 "Unable to load ",
4218 stringify!(create_descriptor_update_template)
4219 ))
4220 }
4221 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4222 b"vkCreateDescriptorUpdateTemplate\0",
4223 );
4224 let val = _f(cname);
4225 if val.is_null() {
4226 create_descriptor_update_template
4227 } else {
4228 ::std::mem::transmute(val)
4229 }
4230 },
4231 destroy_descriptor_update_template: unsafe {
4232 unsafe extern "system" fn destroy_descriptor_update_template(
4233 _device: Device,
4234 _descriptor_update_template: DescriptorUpdateTemplate,
4235 _p_allocator: *const AllocationCallbacks,
4236 ) {
4237 panic!(concat!(
4238 "Unable to load ",
4239 stringify!(destroy_descriptor_update_template)
4240 ))
4241 }
4242 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4243 b"vkDestroyDescriptorUpdateTemplate\0",
4244 );
4245 let val = _f(cname);
4246 if val.is_null() {
4247 destroy_descriptor_update_template
4248 } else {
4249 ::std::mem::transmute(val)
4250 }
4251 },
4252 update_descriptor_set_with_template: unsafe {
4253 unsafe extern "system" fn update_descriptor_set_with_template(
4254 _device: Device,
4255 _descriptor_set: DescriptorSet,
4256 _descriptor_update_template: DescriptorUpdateTemplate,
4257 _p_data: *const c_void,
4258 ) {
4259 panic!(concat!(
4260 "Unable to load ",
4261 stringify!(update_descriptor_set_with_template)
4262 ))
4263 }
4264 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4265 b"vkUpdateDescriptorSetWithTemplate\0",
4266 );
4267 let val = _f(cname);
4268 if val.is_null() {
4269 update_descriptor_set_with_template
4270 } else {
4271 ::std::mem::transmute(val)
4272 }
4273 },
4274 get_descriptor_set_layout_support: unsafe {
4275 unsafe extern "system" fn get_descriptor_set_layout_support(
4276 _device: Device,
4277 _p_create_info: *const DescriptorSetLayoutCreateInfo,
4278 _p_support: *mut DescriptorSetLayoutSupport,
4279 ) {
4280 panic!(concat!(
4281 "Unable to load ",
4282 stringify!(get_descriptor_set_layout_support)
4283 ))
4284 }
4285 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4286 b"vkGetDescriptorSetLayoutSupport\0",
4287 );
4288 let val = _f(cname);
4289 if val.is_null() {
4290 get_descriptor_set_layout_support
4291 } else {
4292 ::std::mem::transmute(val)
4293 }
4294 },
4295 }
4296 }
4297}
4298#[derive(Clone)]
4299pub struct EntryFnV1_2 {}
4300unsafe impl Send for EntryFnV1_2 {}
4301unsafe impl Sync for EntryFnV1_2 {}
4302impl EntryFnV1_2 {
4303 pub fn load<F>(mut _f: F) -> Self
4304 where
4305 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4306 {
4307 Self {}
4308 }
4309}
4310#[derive(Clone)]
4311pub struct InstanceFnV1_2 {}
4312unsafe impl Send for InstanceFnV1_2 {}
4313unsafe impl Sync for InstanceFnV1_2 {}
4314impl InstanceFnV1_2 {
4315 pub fn load<F>(mut _f: F) -> Self
4316 where
4317 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4318 {
4319 Self {}
4320 }
4321}
4322#[derive(Clone)]
4323pub struct DeviceFnV1_2 {
4324 pub cmd_draw_indirect_count: crate::vk::PFN_vkCmdDrawIndirectCount,
4325 pub cmd_draw_indexed_indirect_count: crate::vk::PFN_vkCmdDrawIndexedIndirectCount,
4326 pub create_render_pass2: crate::vk::PFN_vkCreateRenderPass2,
4327 pub cmd_begin_render_pass2: crate::vk::PFN_vkCmdBeginRenderPass2,
4328 pub cmd_next_subpass2: crate::vk::PFN_vkCmdNextSubpass2,
4329 pub cmd_end_render_pass2: crate::vk::PFN_vkCmdEndRenderPass2,
4330 pub reset_query_pool: crate::vk::PFN_vkResetQueryPool,
4331 pub get_semaphore_counter_value: crate::vk::PFN_vkGetSemaphoreCounterValue,
4332 pub wait_semaphores: crate::vk::PFN_vkWaitSemaphores,
4333 pub signal_semaphore: crate::vk::PFN_vkSignalSemaphore,
4334 pub get_buffer_device_address: crate::vk::PFN_vkGetBufferDeviceAddress,
4335 pub get_buffer_opaque_capture_address: crate::vk::PFN_vkGetBufferOpaqueCaptureAddress,
4336 pub get_device_memory_opaque_capture_address:
4337 crate::vk::PFN_vkGetDeviceMemoryOpaqueCaptureAddress,
4338}
4339unsafe impl Send for DeviceFnV1_2 {}
4340unsafe impl Sync for DeviceFnV1_2 {}
4341impl DeviceFnV1_2 {
4342 pub fn load<F>(mut _f: F) -> Self
4343 where
4344 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4345 {
4346 Self {
4347 cmd_draw_indirect_count: unsafe {
4348 unsafe extern "system" fn cmd_draw_indirect_count(
4349 _command_buffer: CommandBuffer,
4350 _buffer: Buffer,
4351 _offset: DeviceSize,
4352 _count_buffer: Buffer,
4353 _count_buffer_offset: DeviceSize,
4354 _max_draw_count: u32,
4355 _stride: u32,
4356 ) {
4357 panic!(concat!(
4358 "Unable to load ",
4359 stringify!(cmd_draw_indirect_count)
4360 ))
4361 }
4362 let cname =
4363 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndirectCount\0");
4364 let val = _f(cname);
4365 if val.is_null() {
4366 cmd_draw_indirect_count
4367 } else {
4368 ::std::mem::transmute(val)
4369 }
4370 },
4371 cmd_draw_indexed_indirect_count: unsafe {
4372 unsafe extern "system" fn cmd_draw_indexed_indirect_count(
4373 _command_buffer: CommandBuffer,
4374 _buffer: Buffer,
4375 _offset: DeviceSize,
4376 _count_buffer: Buffer,
4377 _count_buffer_offset: DeviceSize,
4378 _max_draw_count: u32,
4379 _stride: u32,
4380 ) {
4381 panic!(concat!(
4382 "Unable to load ",
4383 stringify!(cmd_draw_indexed_indirect_count)
4384 ))
4385 }
4386 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4387 b"vkCmdDrawIndexedIndirectCount\0",
4388 );
4389 let val = _f(cname);
4390 if val.is_null() {
4391 cmd_draw_indexed_indirect_count
4392 } else {
4393 ::std::mem::transmute(val)
4394 }
4395 },
4396 create_render_pass2: unsafe {
4397 unsafe extern "system" fn create_render_pass2(
4398 _device: Device,
4399 _p_create_info: *const RenderPassCreateInfo2,
4400 _p_allocator: *const AllocationCallbacks,
4401 _p_render_pass: *mut RenderPass,
4402 ) -> Result {
4403 panic!(concat!("Unable to load ", stringify!(create_render_pass2)))
4404 }
4405 let cname =
4406 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateRenderPass2\0");
4407 let val = _f(cname);
4408 if val.is_null() {
4409 create_render_pass2
4410 } else {
4411 ::std::mem::transmute(val)
4412 }
4413 },
4414 cmd_begin_render_pass2: unsafe {
4415 unsafe extern "system" fn cmd_begin_render_pass2(
4416 _command_buffer: CommandBuffer,
4417 _p_render_pass_begin: *const RenderPassBeginInfo,
4418 _p_subpass_begin_info: *const SubpassBeginInfo,
4419 ) {
4420 panic!(concat!(
4421 "Unable to load ",
4422 stringify!(cmd_begin_render_pass2)
4423 ))
4424 }
4425 let cname =
4426 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginRenderPass2\0");
4427 let val = _f(cname);
4428 if val.is_null() {
4429 cmd_begin_render_pass2
4430 } else {
4431 ::std::mem::transmute(val)
4432 }
4433 },
4434 cmd_next_subpass2: unsafe {
4435 unsafe extern "system" fn cmd_next_subpass2(
4436 _command_buffer: CommandBuffer,
4437 _p_subpass_begin_info: *const SubpassBeginInfo,
4438 _p_subpass_end_info: *const SubpassEndInfo,
4439 ) {
4440 panic!(concat!("Unable to load ", stringify!(cmd_next_subpass2)))
4441 }
4442 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdNextSubpass2\0");
4443 let val = _f(cname);
4444 if val.is_null() {
4445 cmd_next_subpass2
4446 } else {
4447 ::std::mem::transmute(val)
4448 }
4449 },
4450 cmd_end_render_pass2: unsafe {
4451 unsafe extern "system" fn cmd_end_render_pass2(
4452 _command_buffer: CommandBuffer,
4453 _p_subpass_end_info: *const SubpassEndInfo,
4454 ) {
4455 panic!(concat!("Unable to load ", stringify!(cmd_end_render_pass2)))
4456 }
4457 let cname =
4458 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndRenderPass2\0");
4459 let val = _f(cname);
4460 if val.is_null() {
4461 cmd_end_render_pass2
4462 } else {
4463 ::std::mem::transmute(val)
4464 }
4465 },
4466 reset_query_pool: unsafe {
4467 unsafe extern "system" fn reset_query_pool(
4468 _device: Device,
4469 _query_pool: QueryPool,
4470 _first_query: u32,
4471 _query_count: u32,
4472 ) {
4473 panic!(concat!("Unable to load ", stringify!(reset_query_pool)))
4474 }
4475 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetQueryPool\0");
4476 let val = _f(cname);
4477 if val.is_null() {
4478 reset_query_pool
4479 } else {
4480 ::std::mem::transmute(val)
4481 }
4482 },
4483 get_semaphore_counter_value: unsafe {
4484 unsafe extern "system" fn get_semaphore_counter_value(
4485 _device: Device,
4486 _semaphore: Semaphore,
4487 _p_value: *mut u64,
4488 ) -> Result {
4489 panic!(concat!(
4490 "Unable to load ",
4491 stringify!(get_semaphore_counter_value)
4492 ))
4493 }
4494 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4495 b"vkGetSemaphoreCounterValue\0",
4496 );
4497 let val = _f(cname);
4498 if val.is_null() {
4499 get_semaphore_counter_value
4500 } else {
4501 ::std::mem::transmute(val)
4502 }
4503 },
4504 wait_semaphores: unsafe {
4505 unsafe extern "system" fn wait_semaphores(
4506 _device: Device,
4507 _p_wait_info: *const SemaphoreWaitInfo,
4508 _timeout: u64,
4509 ) -> Result {
4510 panic!(concat!("Unable to load ", stringify!(wait_semaphores)))
4511 }
4512 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkWaitSemaphores\0");
4513 let val = _f(cname);
4514 if val.is_null() {
4515 wait_semaphores
4516 } else {
4517 ::std::mem::transmute(val)
4518 }
4519 },
4520 signal_semaphore: unsafe {
4521 unsafe extern "system" fn signal_semaphore(
4522 _device: Device,
4523 _p_signal_info: *const SemaphoreSignalInfo,
4524 ) -> Result {
4525 panic!(concat!("Unable to load ", stringify!(signal_semaphore)))
4526 }
4527 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSignalSemaphore\0");
4528 let val = _f(cname);
4529 if val.is_null() {
4530 signal_semaphore
4531 } else {
4532 ::std::mem::transmute(val)
4533 }
4534 },
4535 get_buffer_device_address: unsafe {
4536 unsafe extern "system" fn get_buffer_device_address(
4537 _device: Device,
4538 _p_info: *const BufferDeviceAddressInfo,
4539 ) -> DeviceAddress {
4540 panic!(concat!(
4541 "Unable to load ",
4542 stringify!(get_buffer_device_address)
4543 ))
4544 }
4545 let cname =
4546 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetBufferDeviceAddress\0");
4547 let val = _f(cname);
4548 if val.is_null() {
4549 get_buffer_device_address
4550 } else {
4551 ::std::mem::transmute(val)
4552 }
4553 },
4554 get_buffer_opaque_capture_address: unsafe {
4555 unsafe extern "system" fn get_buffer_opaque_capture_address(
4556 _device: Device,
4557 _p_info: *const BufferDeviceAddressInfo,
4558 ) -> u64 {
4559 panic!(concat!(
4560 "Unable to load ",
4561 stringify!(get_buffer_opaque_capture_address)
4562 ))
4563 }
4564 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4565 b"vkGetBufferOpaqueCaptureAddress\0",
4566 );
4567 let val = _f(cname);
4568 if val.is_null() {
4569 get_buffer_opaque_capture_address
4570 } else {
4571 ::std::mem::transmute(val)
4572 }
4573 },
4574 get_device_memory_opaque_capture_address: unsafe {
4575 unsafe extern "system" fn get_device_memory_opaque_capture_address(
4576 _device: Device,
4577 _p_info: *const DeviceMemoryOpaqueCaptureAddressInfo,
4578 ) -> u64 {
4579 panic!(concat!(
4580 "Unable to load ",
4581 stringify!(get_device_memory_opaque_capture_address)
4582 ))
4583 }
4584 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4585 b"vkGetDeviceMemoryOpaqueCaptureAddress\0",
4586 );
4587 let val = _f(cname);
4588 if val.is_null() {
4589 get_device_memory_opaque_capture_address
4590 } else {
4591 ::std::mem::transmute(val)
4592 }
4593 },
4594 }
4595 }
4596}
4597#[derive(Clone)]
4598pub struct EntryFnV1_3 {}
4599unsafe impl Send for EntryFnV1_3 {}
4600unsafe impl Sync for EntryFnV1_3 {}
4601impl EntryFnV1_3 {
4602 pub fn load<F>(mut _f: F) -> Self
4603 where
4604 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4605 {
4606 Self {}
4607 }
4608}
4609#[derive(Clone)]
4610pub struct InstanceFnV1_3 {
4611 pub get_physical_device_tool_properties: crate::vk::PFN_vkGetPhysicalDeviceToolProperties,
4612}
4613unsafe impl Send for InstanceFnV1_3 {}
4614unsafe impl Sync for InstanceFnV1_3 {}
4615impl InstanceFnV1_3 {
4616 pub fn load<F>(mut _f: F) -> Self
4617 where
4618 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4619 {
4620 Self {
4621 get_physical_device_tool_properties: unsafe {
4622 unsafe extern "system" fn get_physical_device_tool_properties(
4623 _physical_device: PhysicalDevice,
4624 _p_tool_count: *mut u32,
4625 _p_tool_properties: *mut PhysicalDeviceToolProperties,
4626 ) -> Result {
4627 panic!(concat!(
4628 "Unable to load ",
4629 stringify!(get_physical_device_tool_properties)
4630 ))
4631 }
4632 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
4633 b"vkGetPhysicalDeviceToolProperties\0",
4634 );
4635 let val = _f(cname);
4636 if val.is_null() {
4637 get_physical_device_tool_properties
4638 } else {
4639 ::std::mem::transmute(val)
4640 }
4641 },
4642 }
4643 }
4644}
4645#[derive(Clone)]
4646pub struct DeviceFnV1_3 {
4647 pub create_private_data_slot: crate::vk::PFN_vkCreatePrivateDataSlot,
4648 pub destroy_private_data_slot: crate::vk::PFN_vkDestroyPrivateDataSlot,
4649 pub set_private_data: crate::vk::PFN_vkSetPrivateData,
4650 pub get_private_data: crate::vk::PFN_vkGetPrivateData,
4651 pub cmd_set_event2: crate::vk::PFN_vkCmdSetEvent2,
4652 pub cmd_reset_event2: crate::vk::PFN_vkCmdResetEvent2,
4653 pub cmd_wait_events2: crate::vk::PFN_vkCmdWaitEvents2,
4654 pub cmd_pipeline_barrier2: crate::vk::PFN_vkCmdPipelineBarrier2,
4655 pub cmd_write_timestamp2: crate::vk::PFN_vkCmdWriteTimestamp2,
4656 pub queue_submit2: crate::vk::PFN_vkQueueSubmit2,
4657 pub cmd_copy_buffer2: crate::vk::PFN_vkCmdCopyBuffer2,
4658 pub cmd_copy_image2: crate::vk::PFN_vkCmdCopyImage2,
4659 pub cmd_copy_buffer_to_image2: crate::vk::PFN_vkCmdCopyBufferToImage2,
4660 pub cmd_copy_image_to_buffer2: crate::vk::PFN_vkCmdCopyImageToBuffer2,
4661 pub cmd_blit_image2: crate::vk::PFN_vkCmdBlitImage2,
4662 pub cmd_resolve_image2: crate::vk::PFN_vkCmdResolveImage2,
4663 pub cmd_begin_rendering: crate::vk::PFN_vkCmdBeginRendering,
4664 pub cmd_end_rendering: crate::vk::PFN_vkCmdEndRendering,
4665 pub cmd_set_cull_mode: crate::vk::PFN_vkCmdSetCullMode,
4666 pub cmd_set_front_face: crate::vk::PFN_vkCmdSetFrontFace,
4667 pub cmd_set_primitive_topology: crate::vk::PFN_vkCmdSetPrimitiveTopology,
4668 pub cmd_set_viewport_with_count: crate::vk::PFN_vkCmdSetViewportWithCount,
4669 pub cmd_set_scissor_with_count: crate::vk::PFN_vkCmdSetScissorWithCount,
4670 pub cmd_bind_vertex_buffers2: crate::vk::PFN_vkCmdBindVertexBuffers2,
4671 pub cmd_set_depth_test_enable: crate::vk::PFN_vkCmdSetDepthTestEnable,
4672 pub cmd_set_depth_write_enable: crate::vk::PFN_vkCmdSetDepthWriteEnable,
4673 pub cmd_set_depth_compare_op: crate::vk::PFN_vkCmdSetDepthCompareOp,
4674 pub cmd_set_depth_bounds_test_enable: crate::vk::PFN_vkCmdSetDepthBoundsTestEnable,
4675 pub cmd_set_stencil_test_enable: crate::vk::PFN_vkCmdSetStencilTestEnable,
4676 pub cmd_set_stencil_op: crate::vk::PFN_vkCmdSetStencilOp,
4677 pub cmd_set_rasterizer_discard_enable: crate::vk::PFN_vkCmdSetRasterizerDiscardEnable,
4678 pub cmd_set_depth_bias_enable: crate::vk::PFN_vkCmdSetDepthBiasEnable,
4679 pub cmd_set_primitive_restart_enable: crate::vk::PFN_vkCmdSetPrimitiveRestartEnable,
4680 pub get_device_buffer_memory_requirements: crate::vk::PFN_vkGetDeviceBufferMemoryRequirements,
4681 pub get_device_image_memory_requirements: crate::vk::PFN_vkGetDeviceImageMemoryRequirements,
4682 pub get_device_image_sparse_memory_requirements:
4683 crate::vk::PFN_vkGetDeviceImageSparseMemoryRequirements,
4684}
4685unsafe impl Send for DeviceFnV1_3 {}
4686unsafe impl Sync for DeviceFnV1_3 {}
4687impl DeviceFnV1_3 {
4688 pub fn load<F>(mut _f: F) -> Self
4689 where
4690 F: FnMut(&::std::ffi::CStr) -> *const c_void,
4691 {
4692 Self {
4693 create_private_data_slot: unsafe {
4694 unsafe extern "system" fn create_private_data_slot(
4695 _device: Device,
4696 _p_create_info: *const PrivateDataSlotCreateInfo,
4697 _p_allocator: *const AllocationCallbacks,
4698 _p_private_data_slot: *mut PrivateDataSlot,
4699 ) -> Result {
4700 panic!(concat!(
4701 "Unable to load ",
4702 stringify!(create_private_data_slot)
4703 ))
4704 }
4705 let cname =
4706 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreatePrivateDataSlot\0");
4707 let val = _f(cname);
4708 if val.is_null() {
4709 create_private_data_slot
4710 } else {
4711 ::std::mem::transmute(val)
4712 }
4713 },
4714 destroy_private_data_slot: unsafe {
4715 unsafe extern "system" fn destroy_private_data_slot(
4716 _device: Device,
4717 _private_data_slot: PrivateDataSlot,
4718 _p_allocator: *const AllocationCallbacks,
4719 ) {
4720 panic!(concat!(
4721 "Unable to load ",
4722 stringify!(destroy_private_data_slot)
4723 ))
4724 }
4725 let cname =
4726 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyPrivateDataSlot\0");
4727 let val = _f(cname);
4728 if val.is_null() {
4729 destroy_private_data_slot
4730 } else {
4731 ::std::mem::transmute(val)
4732 }
4733 },
4734 set_private_data: unsafe {
4735 unsafe extern "system" fn set_private_data(
4736 _device: Device,
4737 _object_type: ObjectType,
4738 _object_handle: u64,
4739 _private_data_slot: PrivateDataSlot,
4740 _data: u64,
4741 ) -> Result {
4742 panic!(concat!("Unable to load ", stringify!(set_private_data)))
4743 }
4744 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSetPrivateData\0");
4745 let val = _f(cname);
4746 if val.is_null() {
4747 set_private_data
4748 } else {
4749 ::std::mem::transmute(val)
4750 }
4751 },
4752 get_private_data: unsafe {
4753 unsafe extern "system" fn get_private_data(
4754 _device: Device,
4755 _object_type: ObjectType,
4756 _object_handle: u64,
4757 _private_data_slot: PrivateDataSlot,
4758 _p_data: *mut u64,
4759 ) {
4760 panic!(concat!("Unable to load ", stringify!(get_private_data)))
4761 }
4762 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetPrivateData\0");
4763 let val = _f(cname);
4764 if val.is_null() {
4765 get_private_data
4766 } else {
4767 ::std::mem::transmute(val)
4768 }
4769 },
4770 cmd_set_event2: unsafe {
4771 unsafe extern "system" fn cmd_set_event2(
4772 _command_buffer: CommandBuffer,
4773 _event: Event,
4774 _p_dependency_info: *const DependencyInfo,
4775 ) {
4776 panic!(concat!("Unable to load ", stringify!(cmd_set_event2)))
4777 }
4778 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetEvent2\0");
4779 let val = _f(cname);
4780 if val.is_null() {
4781 cmd_set_event2
4782 } else {
4783 ::std::mem::transmute(val)
4784 }
4785 },
4786 cmd_reset_event2: unsafe {
4787 unsafe extern "system" fn cmd_reset_event2(
4788 _command_buffer: CommandBuffer,
4789 _event: Event,
4790 _stage_mask: PipelineStageFlags2,
4791 ) {
4792 panic!(concat!("Unable to load ", stringify!(cmd_reset_event2)))
4793 }
4794 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResetEvent2\0");
4795 let val = _f(cname);
4796 if val.is_null() {
4797 cmd_reset_event2
4798 } else {
4799 ::std::mem::transmute(val)
4800 }
4801 },
4802 cmd_wait_events2: unsafe {
4803 unsafe extern "system" fn cmd_wait_events2(
4804 _command_buffer: CommandBuffer,
4805 _event_count: u32,
4806 _p_events: *const Event,
4807 _p_dependency_infos: *const DependencyInfo,
4808 ) {
4809 panic!(concat!("Unable to load ", stringify!(cmd_wait_events2)))
4810 }
4811 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWaitEvents2\0");
4812 let val = _f(cname);
4813 if val.is_null() {
4814 cmd_wait_events2
4815 } else {
4816 ::std::mem::transmute(val)
4817 }
4818 },
4819 cmd_pipeline_barrier2: unsafe {
4820 unsafe extern "system" fn cmd_pipeline_barrier2(
4821 _command_buffer: CommandBuffer,
4822 _p_dependency_info: *const DependencyInfo,
4823 ) {
4824 panic!(concat!(
4825 "Unable to load ",
4826 stringify!(cmd_pipeline_barrier2)
4827 ))
4828 }
4829 let cname =
4830 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdPipelineBarrier2\0");
4831 let val = _f(cname);
4832 if val.is_null() {
4833 cmd_pipeline_barrier2
4834 } else {
4835 ::std::mem::transmute(val)
4836 }
4837 },
4838 cmd_write_timestamp2: unsafe {
4839 unsafe extern "system" fn cmd_write_timestamp2(
4840 _command_buffer: CommandBuffer,
4841 _stage: PipelineStageFlags2,
4842 _query_pool: QueryPool,
4843 _query: u32,
4844 ) {
4845 panic!(concat!("Unable to load ", stringify!(cmd_write_timestamp2)))
4846 }
4847 let cname =
4848 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWriteTimestamp2\0");
4849 let val = _f(cname);
4850 if val.is_null() {
4851 cmd_write_timestamp2
4852 } else {
4853 ::std::mem::transmute(val)
4854 }
4855 },
4856 queue_submit2: unsafe {
4857 unsafe extern "system" fn queue_submit2(
4858 _queue: Queue,
4859 _submit_count: u32,
4860 _p_submits: *const SubmitInfo2,
4861 _fence: Fence,
4862 ) -> Result {
4863 panic!(concat!("Unable to load ", stringify!(queue_submit2)))
4864 }
4865 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueueSubmit2\0");
4866 let val = _f(cname);
4867 if val.is_null() {
4868 queue_submit2
4869 } else {
4870 ::std::mem::transmute(val)
4871 }
4872 },
4873 cmd_copy_buffer2: unsafe {
4874 unsafe extern "system" fn cmd_copy_buffer2(
4875 _command_buffer: CommandBuffer,
4876 _p_copy_buffer_info: *const CopyBufferInfo2,
4877 ) {
4878 panic!(concat!("Unable to load ", stringify!(cmd_copy_buffer2)))
4879 }
4880 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyBuffer2\0");
4881 let val = _f(cname);
4882 if val.is_null() {
4883 cmd_copy_buffer2
4884 } else {
4885 ::std::mem::transmute(val)
4886 }
4887 },
4888 cmd_copy_image2: unsafe {
4889 unsafe extern "system" fn cmd_copy_image2(
4890 _command_buffer: CommandBuffer,
4891 _p_copy_image_info: *const CopyImageInfo2,
4892 ) {
4893 panic!(concat!("Unable to load ", stringify!(cmd_copy_image2)))
4894 }
4895 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyImage2\0");
4896 let val = _f(cname);
4897 if val.is_null() {
4898 cmd_copy_image2
4899 } else {
4900 ::std::mem::transmute(val)
4901 }
4902 },
4903 cmd_copy_buffer_to_image2: unsafe {
4904 unsafe extern "system" fn cmd_copy_buffer_to_image2(
4905 _command_buffer: CommandBuffer,
4906 _p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2,
4907 ) {
4908 panic!(concat!(
4909 "Unable to load ",
4910 stringify!(cmd_copy_buffer_to_image2)
4911 ))
4912 }
4913 let cname =
4914 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyBufferToImage2\0");
4915 let val = _f(cname);
4916 if val.is_null() {
4917 cmd_copy_buffer_to_image2
4918 } else {
4919 ::std::mem::transmute(val)
4920 }
4921 },
4922 cmd_copy_image_to_buffer2: unsafe {
4923 unsafe extern "system" fn cmd_copy_image_to_buffer2(
4924 _command_buffer: CommandBuffer,
4925 _p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2,
4926 ) {
4927 panic!(concat!(
4928 "Unable to load ",
4929 stringify!(cmd_copy_image_to_buffer2)
4930 ))
4931 }
4932 let cname =
4933 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyImageToBuffer2\0");
4934 let val = _f(cname);
4935 if val.is_null() {
4936 cmd_copy_image_to_buffer2
4937 } else {
4938 ::std::mem::transmute(val)
4939 }
4940 },
4941 cmd_blit_image2: unsafe {
4942 unsafe extern "system" fn cmd_blit_image2(
4943 _command_buffer: CommandBuffer,
4944 _p_blit_image_info: *const BlitImageInfo2,
4945 ) {
4946 panic!(concat!("Unable to load ", stringify!(cmd_blit_image2)))
4947 }
4948 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBlitImage2\0");
4949 let val = _f(cname);
4950 if val.is_null() {
4951 cmd_blit_image2
4952 } else {
4953 ::std::mem::transmute(val)
4954 }
4955 },
4956 cmd_resolve_image2: unsafe {
4957 unsafe extern "system" fn cmd_resolve_image2(
4958 _command_buffer: CommandBuffer,
4959 _p_resolve_image_info: *const ResolveImageInfo2,
4960 ) {
4961 panic!(concat!("Unable to load ", stringify!(cmd_resolve_image2)))
4962 }
4963 let cname =
4964 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResolveImage2\0");
4965 let val = _f(cname);
4966 if val.is_null() {
4967 cmd_resolve_image2
4968 } else {
4969 ::std::mem::transmute(val)
4970 }
4971 },
4972 cmd_begin_rendering: unsafe {
4973 unsafe extern "system" fn cmd_begin_rendering(
4974 _command_buffer: CommandBuffer,
4975 _p_rendering_info: *const RenderingInfo,
4976 ) {
4977 panic!(concat!("Unable to load ", stringify!(cmd_begin_rendering)))
4978 }
4979 let cname =
4980 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginRendering\0");
4981 let val = _f(cname);
4982 if val.is_null() {
4983 cmd_begin_rendering
4984 } else {
4985 ::std::mem::transmute(val)
4986 }
4987 },
4988 cmd_end_rendering: unsafe {
4989 unsafe extern "system" fn cmd_end_rendering(_command_buffer: CommandBuffer) {
4990 panic!(concat!("Unable to load ", stringify!(cmd_end_rendering)))
4991 }
4992 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndRendering\0");
4993 let val = _f(cname);
4994 if val.is_null() {
4995 cmd_end_rendering
4996 } else {
4997 ::std::mem::transmute(val)
4998 }
4999 },
5000 cmd_set_cull_mode: unsafe {
5001 unsafe extern "system" fn cmd_set_cull_mode(
5002 _command_buffer: CommandBuffer,
5003 _cull_mode: CullModeFlags,
5004 ) {
5005 panic!(concat!("Unable to load ", stringify!(cmd_set_cull_mode)))
5006 }
5007 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetCullMode\0");
5008 let val = _f(cname);
5009 if val.is_null() {
5010 cmd_set_cull_mode
5011 } else {
5012 ::std::mem::transmute(val)
5013 }
5014 },
5015 cmd_set_front_face: unsafe {
5016 unsafe extern "system" fn cmd_set_front_face(
5017 _command_buffer: CommandBuffer,
5018 _front_face: FrontFace,
5019 ) {
5020 panic!(concat!("Unable to load ", stringify!(cmd_set_front_face)))
5021 }
5022 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetFrontFace\0");
5023 let val = _f(cname);
5024 if val.is_null() {
5025 cmd_set_front_face
5026 } else {
5027 ::std::mem::transmute(val)
5028 }
5029 },
5030 cmd_set_primitive_topology: unsafe {
5031 unsafe extern "system" fn cmd_set_primitive_topology(
5032 _command_buffer: CommandBuffer,
5033 _primitive_topology: PrimitiveTopology,
5034 ) {
5035 panic!(concat!(
5036 "Unable to load ",
5037 stringify!(cmd_set_primitive_topology)
5038 ))
5039 }
5040 let cname =
5041 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetPrimitiveTopology\0");
5042 let val = _f(cname);
5043 if val.is_null() {
5044 cmd_set_primitive_topology
5045 } else {
5046 ::std::mem::transmute(val)
5047 }
5048 },
5049 cmd_set_viewport_with_count: unsafe {
5050 unsafe extern "system" fn cmd_set_viewport_with_count(
5051 _command_buffer: CommandBuffer,
5052 _viewport_count: u32,
5053 _p_viewports: *const Viewport,
5054 ) {
5055 panic!(concat!(
5056 "Unable to load ",
5057 stringify!(cmd_set_viewport_with_count)
5058 ))
5059 }
5060 let cname =
5061 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetViewportWithCount\0");
5062 let val = _f(cname);
5063 if val.is_null() {
5064 cmd_set_viewport_with_count
5065 } else {
5066 ::std::mem::transmute(val)
5067 }
5068 },
5069 cmd_set_scissor_with_count: unsafe {
5070 unsafe extern "system" fn cmd_set_scissor_with_count(
5071 _command_buffer: CommandBuffer,
5072 _scissor_count: u32,
5073 _p_scissors: *const Rect2D,
5074 ) {
5075 panic!(concat!(
5076 "Unable to load ",
5077 stringify!(cmd_set_scissor_with_count)
5078 ))
5079 }
5080 let cname =
5081 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetScissorWithCount\0");
5082 let val = _f(cname);
5083 if val.is_null() {
5084 cmd_set_scissor_with_count
5085 } else {
5086 ::std::mem::transmute(val)
5087 }
5088 },
5089 cmd_bind_vertex_buffers2: unsafe {
5090 unsafe extern "system" fn cmd_bind_vertex_buffers2(
5091 _command_buffer: CommandBuffer,
5092 _first_binding: u32,
5093 _binding_count: u32,
5094 _p_buffers: *const Buffer,
5095 _p_offsets: *const DeviceSize,
5096 _p_sizes: *const DeviceSize,
5097 _p_strides: *const DeviceSize,
5098 ) {
5099 panic!(concat!(
5100 "Unable to load ",
5101 stringify!(cmd_bind_vertex_buffers2)
5102 ))
5103 }
5104 let cname =
5105 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindVertexBuffers2\0");
5106 let val = _f(cname);
5107 if val.is_null() {
5108 cmd_bind_vertex_buffers2
5109 } else {
5110 ::std::mem::transmute(val)
5111 }
5112 },
5113 cmd_set_depth_test_enable: unsafe {
5114 unsafe extern "system" fn cmd_set_depth_test_enable(
5115 _command_buffer: CommandBuffer,
5116 _depth_test_enable: Bool32,
5117 ) {
5118 panic!(concat!(
5119 "Unable to load ",
5120 stringify!(cmd_set_depth_test_enable)
5121 ))
5122 }
5123 let cname =
5124 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthTestEnable\0");
5125 let val = _f(cname);
5126 if val.is_null() {
5127 cmd_set_depth_test_enable
5128 } else {
5129 ::std::mem::transmute(val)
5130 }
5131 },
5132 cmd_set_depth_write_enable: unsafe {
5133 unsafe extern "system" fn cmd_set_depth_write_enable(
5134 _command_buffer: CommandBuffer,
5135 _depth_write_enable: Bool32,
5136 ) {
5137 panic!(concat!(
5138 "Unable to load ",
5139 stringify!(cmd_set_depth_write_enable)
5140 ))
5141 }
5142 let cname =
5143 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthWriteEnable\0");
5144 let val = _f(cname);
5145 if val.is_null() {
5146 cmd_set_depth_write_enable
5147 } else {
5148 ::std::mem::transmute(val)
5149 }
5150 },
5151 cmd_set_depth_compare_op: unsafe {
5152 unsafe extern "system" fn cmd_set_depth_compare_op(
5153 _command_buffer: CommandBuffer,
5154 _depth_compare_op: CompareOp,
5155 ) {
5156 panic!(concat!(
5157 "Unable to load ",
5158 stringify!(cmd_set_depth_compare_op)
5159 ))
5160 }
5161 let cname =
5162 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthCompareOp\0");
5163 let val = _f(cname);
5164 if val.is_null() {
5165 cmd_set_depth_compare_op
5166 } else {
5167 ::std::mem::transmute(val)
5168 }
5169 },
5170 cmd_set_depth_bounds_test_enable: unsafe {
5171 unsafe extern "system" fn cmd_set_depth_bounds_test_enable(
5172 _command_buffer: CommandBuffer,
5173 _depth_bounds_test_enable: Bool32,
5174 ) {
5175 panic!(concat!(
5176 "Unable to load ",
5177 stringify!(cmd_set_depth_bounds_test_enable)
5178 ))
5179 }
5180 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5181 b"vkCmdSetDepthBoundsTestEnable\0",
5182 );
5183 let val = _f(cname);
5184 if val.is_null() {
5185 cmd_set_depth_bounds_test_enable
5186 } else {
5187 ::std::mem::transmute(val)
5188 }
5189 },
5190 cmd_set_stencil_test_enable: unsafe {
5191 unsafe extern "system" fn cmd_set_stencil_test_enable(
5192 _command_buffer: CommandBuffer,
5193 _stencil_test_enable: Bool32,
5194 ) {
5195 panic!(concat!(
5196 "Unable to load ",
5197 stringify!(cmd_set_stencil_test_enable)
5198 ))
5199 }
5200 let cname =
5201 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilTestEnable\0");
5202 let val = _f(cname);
5203 if val.is_null() {
5204 cmd_set_stencil_test_enable
5205 } else {
5206 ::std::mem::transmute(val)
5207 }
5208 },
5209 cmd_set_stencil_op: unsafe {
5210 unsafe extern "system" fn cmd_set_stencil_op(
5211 _command_buffer: CommandBuffer,
5212 _face_mask: StencilFaceFlags,
5213 _fail_op: StencilOp,
5214 _pass_op: StencilOp,
5215 _depth_fail_op: StencilOp,
5216 _compare_op: CompareOp,
5217 ) {
5218 panic!(concat!("Unable to load ", stringify!(cmd_set_stencil_op)))
5219 }
5220 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilOp\0");
5221 let val = _f(cname);
5222 if val.is_null() {
5223 cmd_set_stencil_op
5224 } else {
5225 ::std::mem::transmute(val)
5226 }
5227 },
5228 cmd_set_rasterizer_discard_enable: unsafe {
5229 unsafe extern "system" fn cmd_set_rasterizer_discard_enable(
5230 _command_buffer: CommandBuffer,
5231 _rasterizer_discard_enable: Bool32,
5232 ) {
5233 panic!(concat!(
5234 "Unable to load ",
5235 stringify!(cmd_set_rasterizer_discard_enable)
5236 ))
5237 }
5238 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5239 b"vkCmdSetRasterizerDiscardEnable\0",
5240 );
5241 let val = _f(cname);
5242 if val.is_null() {
5243 cmd_set_rasterizer_discard_enable
5244 } else {
5245 ::std::mem::transmute(val)
5246 }
5247 },
5248 cmd_set_depth_bias_enable: unsafe {
5249 unsafe extern "system" fn cmd_set_depth_bias_enable(
5250 _command_buffer: CommandBuffer,
5251 _depth_bias_enable: Bool32,
5252 ) {
5253 panic!(concat!(
5254 "Unable to load ",
5255 stringify!(cmd_set_depth_bias_enable)
5256 ))
5257 }
5258 let cname =
5259 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthBiasEnable\0");
5260 let val = _f(cname);
5261 if val.is_null() {
5262 cmd_set_depth_bias_enable
5263 } else {
5264 ::std::mem::transmute(val)
5265 }
5266 },
5267 cmd_set_primitive_restart_enable: unsafe {
5268 unsafe extern "system" fn cmd_set_primitive_restart_enable(
5269 _command_buffer: CommandBuffer,
5270 _primitive_restart_enable: Bool32,
5271 ) {
5272 panic!(concat!(
5273 "Unable to load ",
5274 stringify!(cmd_set_primitive_restart_enable)
5275 ))
5276 }
5277 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5278 b"vkCmdSetPrimitiveRestartEnable\0",
5279 );
5280 let val = _f(cname);
5281 if val.is_null() {
5282 cmd_set_primitive_restart_enable
5283 } else {
5284 ::std::mem::transmute(val)
5285 }
5286 },
5287 get_device_buffer_memory_requirements: unsafe {
5288 unsafe extern "system" fn get_device_buffer_memory_requirements(
5289 _device: Device,
5290 _p_info: *const DeviceBufferMemoryRequirements,
5291 _p_memory_requirements: *mut MemoryRequirements2,
5292 ) {
5293 panic!(concat!(
5294 "Unable to load ",
5295 stringify!(get_device_buffer_memory_requirements)
5296 ))
5297 }
5298 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5299 b"vkGetDeviceBufferMemoryRequirements\0",
5300 );
5301 let val = _f(cname);
5302 if val.is_null() {
5303 get_device_buffer_memory_requirements
5304 } else {
5305 ::std::mem::transmute(val)
5306 }
5307 },
5308 get_device_image_memory_requirements: unsafe {
5309 unsafe extern "system" fn get_device_image_memory_requirements(
5310 _device: Device,
5311 _p_info: *const DeviceImageMemoryRequirements,
5312 _p_memory_requirements: *mut MemoryRequirements2,
5313 ) {
5314 panic!(concat!(
5315 "Unable to load ",
5316 stringify!(get_device_image_memory_requirements)
5317 ))
5318 }
5319 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5320 b"vkGetDeviceImageMemoryRequirements\0",
5321 );
5322 let val = _f(cname);
5323 if val.is_null() {
5324 get_device_image_memory_requirements
5325 } else {
5326 ::std::mem::transmute(val)
5327 }
5328 },
5329 get_device_image_sparse_memory_requirements: unsafe {
5330 unsafe extern "system" fn get_device_image_sparse_memory_requirements(
5331 _device: Device,
5332 _p_info: *const DeviceImageMemoryRequirements,
5333 _p_sparse_memory_requirement_count: *mut u32,
5334 _p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2,
5335 ) {
5336 panic!(concat!(
5337 "Unable to load ",
5338 stringify!(get_device_image_sparse_memory_requirements)
5339 ))
5340 }
5341 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
5342 b"vkGetDeviceImageSparseMemoryRequirements\0",
5343 );
5344 let val = _f(cname);
5345 if val.is_null() {
5346 get_device_image_sparse_memory_requirements
5347 } else {
5348 ::std::mem::transmute(val)
5349 }
5350 },
5351 }
5352 }
5353}