1 use crate::vk::aliases::*; 2 use crate::vk::bitflags::*; 3 use crate::vk::definitions::*; 4 use crate::vk::enums::*; 5 use crate::vk::platform_types::*; 6 use std::os::raw::*; 7 impl KhrSurfaceFn { 8 #[inline] name() -> &'static ::std::ffi::CStr9 pub const fn name() -> &'static ::std::ffi::CStr { 10 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_surface\0") } 11 } 12 pub const SPEC_VERSION: u32 = 25u32; 13 } 14 #[allow(non_camel_case_types)] 15 pub type PFN_vkDestroySurfaceKHR = unsafe extern "system" fn( 16 instance: Instance, 17 surface: SurfaceKHR, 18 p_allocator: *const AllocationCallbacks, 19 ); 20 #[allow(non_camel_case_types)] 21 pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = unsafe extern "system" fn( 22 physical_device: PhysicalDevice, 23 queue_family_index: u32, 24 surface: SurfaceKHR, 25 p_supported: *mut Bool32, 26 ) -> Result; 27 #[allow(non_camel_case_types)] 28 pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = unsafe extern "system" fn( 29 physical_device: PhysicalDevice, 30 surface: SurfaceKHR, 31 p_surface_capabilities: *mut SurfaceCapabilitiesKHR, 32 ) -> Result; 33 #[allow(non_camel_case_types)] 34 pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = unsafe extern "system" fn( 35 physical_device: PhysicalDevice, 36 surface: SurfaceKHR, 37 p_surface_format_count: *mut u32, 38 p_surface_formats: *mut SurfaceFormatKHR, 39 ) -> Result; 40 #[allow(non_camel_case_types)] 41 pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = unsafe extern "system" fn( 42 physical_device: PhysicalDevice, 43 surface: SurfaceKHR, 44 p_present_mode_count: *mut u32, 45 p_present_modes: *mut PresentModeKHR, 46 ) -> Result; 47 #[derive(Clone)] 48 pub struct KhrSurfaceFn { 49 pub destroy_surface_khr: PFN_vkDestroySurfaceKHR, 50 pub get_physical_device_surface_support_khr: PFN_vkGetPhysicalDeviceSurfaceSupportKHR, 51 pub get_physical_device_surface_capabilities_khr: PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR, 52 pub get_physical_device_surface_formats_khr: PFN_vkGetPhysicalDeviceSurfaceFormatsKHR, 53 pub get_physical_device_surface_present_modes_khr: 54 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR, 55 } 56 unsafe impl Send for KhrSurfaceFn {} 57 unsafe impl Sync for KhrSurfaceFn {} 58 impl KhrSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,59 pub fn load<F>(mut _f: F) -> Self 60 where 61 F: FnMut(&::std::ffi::CStr) -> *const c_void, 62 { 63 Self { 64 destroy_surface_khr: unsafe { 65 unsafe extern "system" fn destroy_surface_khr( 66 _instance: Instance, 67 _surface: SurfaceKHR, 68 _p_allocator: *const AllocationCallbacks, 69 ) { 70 panic!(concat!("Unable to load ", stringify!(destroy_surface_khr))) 71 } 72 let cname = 73 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroySurfaceKHR\0"); 74 let val = _f(cname); 75 if val.is_null() { 76 destroy_surface_khr 77 } else { 78 ::std::mem::transmute(val) 79 } 80 }, 81 get_physical_device_surface_support_khr: unsafe { 82 unsafe extern "system" fn get_physical_device_surface_support_khr( 83 _physical_device: PhysicalDevice, 84 _queue_family_index: u32, 85 _surface: SurfaceKHR, 86 _p_supported: *mut Bool32, 87 ) -> Result { 88 panic!(concat!( 89 "Unable to load ", 90 stringify!(get_physical_device_surface_support_khr) 91 )) 92 } 93 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 94 b"vkGetPhysicalDeviceSurfaceSupportKHR\0", 95 ); 96 let val = _f(cname); 97 if val.is_null() { 98 get_physical_device_surface_support_khr 99 } else { 100 ::std::mem::transmute(val) 101 } 102 }, 103 get_physical_device_surface_capabilities_khr: unsafe { 104 unsafe extern "system" fn get_physical_device_surface_capabilities_khr( 105 _physical_device: PhysicalDevice, 106 _surface: SurfaceKHR, 107 _p_surface_capabilities: *mut SurfaceCapabilitiesKHR, 108 ) -> Result { 109 panic!(concat!( 110 "Unable to load ", 111 stringify!(get_physical_device_surface_capabilities_khr) 112 )) 113 } 114 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 115 b"vkGetPhysicalDeviceSurfaceCapabilitiesKHR\0", 116 ); 117 let val = _f(cname); 118 if val.is_null() { 119 get_physical_device_surface_capabilities_khr 120 } else { 121 ::std::mem::transmute(val) 122 } 123 }, 124 get_physical_device_surface_formats_khr: unsafe { 125 unsafe extern "system" fn get_physical_device_surface_formats_khr( 126 _physical_device: PhysicalDevice, 127 _surface: SurfaceKHR, 128 _p_surface_format_count: *mut u32, 129 _p_surface_formats: *mut SurfaceFormatKHR, 130 ) -> Result { 131 panic!(concat!( 132 "Unable to load ", 133 stringify!(get_physical_device_surface_formats_khr) 134 )) 135 } 136 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 137 b"vkGetPhysicalDeviceSurfaceFormatsKHR\0", 138 ); 139 let val = _f(cname); 140 if val.is_null() { 141 get_physical_device_surface_formats_khr 142 } else { 143 ::std::mem::transmute(val) 144 } 145 }, 146 get_physical_device_surface_present_modes_khr: unsafe { 147 unsafe extern "system" fn get_physical_device_surface_present_modes_khr( 148 _physical_device: PhysicalDevice, 149 _surface: SurfaceKHR, 150 _p_present_mode_count: *mut u32, 151 _p_present_modes: *mut PresentModeKHR, 152 ) -> Result { 153 panic!(concat!( 154 "Unable to load ", 155 stringify!(get_physical_device_surface_present_modes_khr) 156 )) 157 } 158 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 159 b"vkGetPhysicalDeviceSurfacePresentModesKHR\0", 160 ); 161 let val = _f(cname); 162 if val.is_null() { 163 get_physical_device_surface_present_modes_khr 164 } else { 165 ::std::mem::transmute(val) 166 } 167 }, 168 } 169 } 170 } 171 #[doc = "Generated from 'VK_KHR_surface'"] 172 impl ObjectType { 173 pub const SURFACE_KHR: Self = Self(1_000_000_000); 174 } 175 #[doc = "Generated from 'VK_KHR_surface'"] 176 impl Result { 177 pub const ERROR_SURFACE_LOST_KHR: Self = Self(-1_000_000_000); 178 pub const ERROR_NATIVE_WINDOW_IN_USE_KHR: Self = Self(-1_000_000_001); 179 } 180 impl KhrSwapchainFn { 181 #[inline] name() -> &'static ::std::ffi::CStr182 pub const fn name() -> &'static ::std::ffi::CStr { 183 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_swapchain\0") } 184 } 185 pub const SPEC_VERSION: u32 = 70u32; 186 } 187 #[allow(non_camel_case_types)] 188 pub type PFN_vkCreateSwapchainKHR = unsafe extern "system" fn( 189 device: Device, 190 p_create_info: *const SwapchainCreateInfoKHR, 191 p_allocator: *const AllocationCallbacks, 192 p_swapchain: *mut SwapchainKHR, 193 ) -> Result; 194 #[allow(non_camel_case_types)] 195 pub type PFN_vkDestroySwapchainKHR = unsafe extern "system" fn( 196 device: Device, 197 swapchain: SwapchainKHR, 198 p_allocator: *const AllocationCallbacks, 199 ); 200 #[allow(non_camel_case_types)] 201 pub type PFN_vkGetSwapchainImagesKHR = unsafe extern "system" fn( 202 device: Device, 203 swapchain: SwapchainKHR, 204 p_swapchain_image_count: *mut u32, 205 p_swapchain_images: *mut Image, 206 ) -> Result; 207 #[allow(non_camel_case_types)] 208 pub type PFN_vkAcquireNextImageKHR = unsafe extern "system" fn( 209 device: Device, 210 swapchain: SwapchainKHR, 211 timeout: u64, 212 semaphore: Semaphore, 213 fence: Fence, 214 p_image_index: *mut u32, 215 ) -> Result; 216 #[allow(non_camel_case_types)] 217 pub type PFN_vkQueuePresentKHR = 218 unsafe extern "system" fn(queue: Queue, p_present_info: *const PresentInfoKHR) -> Result; 219 #[allow(non_camel_case_types)] 220 pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = unsafe extern "system" fn( 221 device: Device, 222 p_device_group_present_capabilities: *mut DeviceGroupPresentCapabilitiesKHR, 223 ) -> Result; 224 #[allow(non_camel_case_types)] 225 pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = unsafe extern "system" fn( 226 device: Device, 227 surface: SurfaceKHR, 228 p_modes: *mut DeviceGroupPresentModeFlagsKHR, 229 ) -> Result; 230 #[allow(non_camel_case_types)] 231 pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = unsafe extern "system" fn( 232 physical_device: PhysicalDevice, 233 surface: SurfaceKHR, 234 p_rect_count: *mut u32, 235 p_rects: *mut Rect2D, 236 ) -> Result; 237 #[allow(non_camel_case_types)] 238 pub type PFN_vkAcquireNextImage2KHR = unsafe extern "system" fn( 239 device: Device, 240 p_acquire_info: *const AcquireNextImageInfoKHR, 241 p_image_index: *mut u32, 242 ) -> Result; 243 #[derive(Clone)] 244 pub struct KhrSwapchainFn { 245 pub create_swapchain_khr: PFN_vkCreateSwapchainKHR, 246 pub destroy_swapchain_khr: PFN_vkDestroySwapchainKHR, 247 pub get_swapchain_images_khr: PFN_vkGetSwapchainImagesKHR, 248 pub acquire_next_image_khr: PFN_vkAcquireNextImageKHR, 249 pub queue_present_khr: PFN_vkQueuePresentKHR, 250 pub get_device_group_present_capabilities_khr: PFN_vkGetDeviceGroupPresentCapabilitiesKHR, 251 pub get_device_group_surface_present_modes_khr: PFN_vkGetDeviceGroupSurfacePresentModesKHR, 252 pub get_physical_device_present_rectangles_khr: PFN_vkGetPhysicalDevicePresentRectanglesKHR, 253 pub acquire_next_image2_khr: PFN_vkAcquireNextImage2KHR, 254 } 255 unsafe impl Send for KhrSwapchainFn {} 256 unsafe impl Sync for KhrSwapchainFn {} 257 impl KhrSwapchainFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,258 pub fn load<F>(mut _f: F) -> Self 259 where 260 F: FnMut(&::std::ffi::CStr) -> *const c_void, 261 { 262 Self { 263 create_swapchain_khr: unsafe { 264 unsafe extern "system" fn create_swapchain_khr( 265 _device: Device, 266 _p_create_info: *const SwapchainCreateInfoKHR, 267 _p_allocator: *const AllocationCallbacks, 268 _p_swapchain: *mut SwapchainKHR, 269 ) -> Result { 270 panic!(concat!("Unable to load ", stringify!(create_swapchain_khr))) 271 } 272 let cname = 273 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateSwapchainKHR\0"); 274 let val = _f(cname); 275 if val.is_null() { 276 create_swapchain_khr 277 } else { 278 ::std::mem::transmute(val) 279 } 280 }, 281 destroy_swapchain_khr: unsafe { 282 unsafe extern "system" fn destroy_swapchain_khr( 283 _device: Device, 284 _swapchain: SwapchainKHR, 285 _p_allocator: *const AllocationCallbacks, 286 ) { 287 panic!(concat!( 288 "Unable to load ", 289 stringify!(destroy_swapchain_khr) 290 )) 291 } 292 let cname = 293 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroySwapchainKHR\0"); 294 let val = _f(cname); 295 if val.is_null() { 296 destroy_swapchain_khr 297 } else { 298 ::std::mem::transmute(val) 299 } 300 }, 301 get_swapchain_images_khr: unsafe { 302 unsafe extern "system" fn get_swapchain_images_khr( 303 _device: Device, 304 _swapchain: SwapchainKHR, 305 _p_swapchain_image_count: *mut u32, 306 _p_swapchain_images: *mut Image, 307 ) -> Result { 308 panic!(concat!( 309 "Unable to load ", 310 stringify!(get_swapchain_images_khr) 311 )) 312 } 313 let cname = 314 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetSwapchainImagesKHR\0"); 315 let val = _f(cname); 316 if val.is_null() { 317 get_swapchain_images_khr 318 } else { 319 ::std::mem::transmute(val) 320 } 321 }, 322 acquire_next_image_khr: unsafe { 323 unsafe extern "system" fn acquire_next_image_khr( 324 _device: Device, 325 _swapchain: SwapchainKHR, 326 _timeout: u64, 327 _semaphore: Semaphore, 328 _fence: Fence, 329 _p_image_index: *mut u32, 330 ) -> Result { 331 panic!(concat!( 332 "Unable to load ", 333 stringify!(acquire_next_image_khr) 334 )) 335 } 336 let cname = 337 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireNextImageKHR\0"); 338 let val = _f(cname); 339 if val.is_null() { 340 acquire_next_image_khr 341 } else { 342 ::std::mem::transmute(val) 343 } 344 }, 345 queue_present_khr: unsafe { 346 unsafe extern "system" fn queue_present_khr( 347 _queue: Queue, 348 _p_present_info: *const PresentInfoKHR, 349 ) -> Result { 350 panic!(concat!("Unable to load ", stringify!(queue_present_khr))) 351 } 352 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueuePresentKHR\0"); 353 let val = _f(cname); 354 if val.is_null() { 355 queue_present_khr 356 } else { 357 ::std::mem::transmute(val) 358 } 359 }, 360 get_device_group_present_capabilities_khr: unsafe { 361 unsafe extern "system" fn get_device_group_present_capabilities_khr( 362 _device: Device, 363 _p_device_group_present_capabilities: *mut DeviceGroupPresentCapabilitiesKHR, 364 ) -> Result { 365 panic!(concat!( 366 "Unable to load ", 367 stringify!(get_device_group_present_capabilities_khr) 368 )) 369 } 370 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 371 b"vkGetDeviceGroupPresentCapabilitiesKHR\0", 372 ); 373 let val = _f(cname); 374 if val.is_null() { 375 get_device_group_present_capabilities_khr 376 } else { 377 ::std::mem::transmute(val) 378 } 379 }, 380 get_device_group_surface_present_modes_khr: unsafe { 381 unsafe extern "system" fn get_device_group_surface_present_modes_khr( 382 _device: Device, 383 _surface: SurfaceKHR, 384 _p_modes: *mut DeviceGroupPresentModeFlagsKHR, 385 ) -> Result { 386 panic!(concat!( 387 "Unable to load ", 388 stringify!(get_device_group_surface_present_modes_khr) 389 )) 390 } 391 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 392 b"vkGetDeviceGroupSurfacePresentModesKHR\0", 393 ); 394 let val = _f(cname); 395 if val.is_null() { 396 get_device_group_surface_present_modes_khr 397 } else { 398 ::std::mem::transmute(val) 399 } 400 }, 401 get_physical_device_present_rectangles_khr: unsafe { 402 unsafe extern "system" fn get_physical_device_present_rectangles_khr( 403 _physical_device: PhysicalDevice, 404 _surface: SurfaceKHR, 405 _p_rect_count: *mut u32, 406 _p_rects: *mut Rect2D, 407 ) -> Result { 408 panic!(concat!( 409 "Unable to load ", 410 stringify!(get_physical_device_present_rectangles_khr) 411 )) 412 } 413 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 414 b"vkGetPhysicalDevicePresentRectanglesKHR\0", 415 ); 416 let val = _f(cname); 417 if val.is_null() { 418 get_physical_device_present_rectangles_khr 419 } else { 420 ::std::mem::transmute(val) 421 } 422 }, 423 acquire_next_image2_khr: unsafe { 424 unsafe extern "system" fn acquire_next_image2_khr( 425 _device: Device, 426 _p_acquire_info: *const AcquireNextImageInfoKHR, 427 _p_image_index: *mut u32, 428 ) -> Result { 429 panic!(concat!( 430 "Unable to load ", 431 stringify!(acquire_next_image2_khr) 432 )) 433 } 434 let cname = 435 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireNextImage2KHR\0"); 436 let val = _f(cname); 437 if val.is_null() { 438 acquire_next_image2_khr 439 } else { 440 ::std::mem::transmute(val) 441 } 442 }, 443 } 444 } 445 } 446 #[doc = "Generated from 'VK_KHR_swapchain'"] 447 impl ImageLayout { 448 pub const PRESENT_SRC_KHR: Self = Self(1_000_001_002); 449 } 450 #[doc = "Generated from 'VK_KHR_swapchain'"] 451 impl ObjectType { 452 pub const SWAPCHAIN_KHR: Self = Self(1_000_001_000); 453 } 454 #[doc = "Generated from 'VK_KHR_swapchain'"] 455 impl Result { 456 pub const SUBOPTIMAL_KHR: Self = Self(1_000_001_003); 457 pub const ERROR_OUT_OF_DATE_KHR: Self = Self(-1_000_001_004); 458 } 459 #[doc = "Generated from 'VK_KHR_swapchain'"] 460 impl StructureType { 461 pub const SWAPCHAIN_CREATE_INFO_KHR: Self = Self(1_000_001_000); 462 pub const PRESENT_INFO_KHR: Self = Self(1_000_001_001); 463 pub const DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: Self = Self(1_000_060_007); 464 pub const IMAGE_SWAPCHAIN_CREATE_INFO_KHR: Self = Self(1_000_060_008); 465 pub const BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: Self = Self(1_000_060_009); 466 pub const ACQUIRE_NEXT_IMAGE_INFO_KHR: Self = Self(1_000_060_010); 467 pub const DEVICE_GROUP_PRESENT_INFO_KHR: Self = Self(1_000_060_011); 468 pub const DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: Self = Self(1_000_060_012); 469 } 470 #[doc = "Generated from 'VK_KHR_swapchain'"] 471 impl SwapchainCreateFlagsKHR { 472 #[doc = "Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"] 473 pub const SPLIT_INSTANCE_BIND_REGIONS: Self = Self(0b1); 474 #[doc = "Swapchain is protected"] 475 pub const PROTECTED: Self = Self(0b10); 476 } 477 impl KhrDisplayFn { 478 #[inline] name() -> &'static ::std::ffi::CStr479 pub const fn name() -> &'static ::std::ffi::CStr { 480 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_display\0") } 481 } 482 pub const SPEC_VERSION: u32 = 23u32; 483 } 484 #[allow(non_camel_case_types)] 485 pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = unsafe extern "system" fn( 486 physical_device: PhysicalDevice, 487 p_property_count: *mut u32, 488 p_properties: *mut DisplayPropertiesKHR, 489 ) -> Result; 490 #[allow(non_camel_case_types)] 491 pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = unsafe extern "system" fn( 492 physical_device: PhysicalDevice, 493 p_property_count: *mut u32, 494 p_properties: *mut DisplayPlanePropertiesKHR, 495 ) -> Result; 496 #[allow(non_camel_case_types)] 497 pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = unsafe extern "system" fn( 498 physical_device: PhysicalDevice, 499 plane_index: u32, 500 p_display_count: *mut u32, 501 p_displays: *mut DisplayKHR, 502 ) -> Result; 503 #[allow(non_camel_case_types)] 504 pub type PFN_vkGetDisplayModePropertiesKHR = unsafe extern "system" fn( 505 physical_device: PhysicalDevice, 506 display: DisplayKHR, 507 p_property_count: *mut u32, 508 p_properties: *mut DisplayModePropertiesKHR, 509 ) -> Result; 510 #[allow(non_camel_case_types)] 511 pub type PFN_vkCreateDisplayModeKHR = unsafe extern "system" fn( 512 physical_device: PhysicalDevice, 513 display: DisplayKHR, 514 p_create_info: *const DisplayModeCreateInfoKHR, 515 p_allocator: *const AllocationCallbacks, 516 p_mode: *mut DisplayModeKHR, 517 ) -> Result; 518 #[allow(non_camel_case_types)] 519 pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = unsafe extern "system" fn( 520 physical_device: PhysicalDevice, 521 mode: DisplayModeKHR, 522 plane_index: u32, 523 p_capabilities: *mut DisplayPlaneCapabilitiesKHR, 524 ) -> Result; 525 #[allow(non_camel_case_types)] 526 pub type PFN_vkCreateDisplayPlaneSurfaceKHR = unsafe extern "system" fn( 527 instance: Instance, 528 p_create_info: *const DisplaySurfaceCreateInfoKHR, 529 p_allocator: *const AllocationCallbacks, 530 p_surface: *mut SurfaceKHR, 531 ) -> Result; 532 #[derive(Clone)] 533 pub struct KhrDisplayFn { 534 pub get_physical_device_display_properties_khr: PFN_vkGetPhysicalDeviceDisplayPropertiesKHR, 535 pub get_physical_device_display_plane_properties_khr: 536 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR, 537 pub get_display_plane_supported_displays_khr: PFN_vkGetDisplayPlaneSupportedDisplaysKHR, 538 pub get_display_mode_properties_khr: PFN_vkGetDisplayModePropertiesKHR, 539 pub create_display_mode_khr: PFN_vkCreateDisplayModeKHR, 540 pub get_display_plane_capabilities_khr: PFN_vkGetDisplayPlaneCapabilitiesKHR, 541 pub create_display_plane_surface_khr: PFN_vkCreateDisplayPlaneSurfaceKHR, 542 } 543 unsafe impl Send for KhrDisplayFn {} 544 unsafe impl Sync for KhrDisplayFn {} 545 impl KhrDisplayFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,546 pub fn load<F>(mut _f: F) -> Self 547 where 548 F: FnMut(&::std::ffi::CStr) -> *const c_void, 549 { 550 Self { 551 get_physical_device_display_properties_khr: unsafe { 552 unsafe extern "system" fn get_physical_device_display_properties_khr( 553 _physical_device: PhysicalDevice, 554 _p_property_count: *mut u32, 555 _p_properties: *mut DisplayPropertiesKHR, 556 ) -> Result { 557 panic!(concat!( 558 "Unable to load ", 559 stringify!(get_physical_device_display_properties_khr) 560 )) 561 } 562 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 563 b"vkGetPhysicalDeviceDisplayPropertiesKHR\0", 564 ); 565 let val = _f(cname); 566 if val.is_null() { 567 get_physical_device_display_properties_khr 568 } else { 569 ::std::mem::transmute(val) 570 } 571 }, 572 get_physical_device_display_plane_properties_khr: unsafe { 573 unsafe extern "system" fn get_physical_device_display_plane_properties_khr( 574 _physical_device: PhysicalDevice, 575 _p_property_count: *mut u32, 576 _p_properties: *mut DisplayPlanePropertiesKHR, 577 ) -> Result { 578 panic!(concat!( 579 "Unable to load ", 580 stringify!(get_physical_device_display_plane_properties_khr) 581 )) 582 } 583 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 584 b"vkGetPhysicalDeviceDisplayPlanePropertiesKHR\0", 585 ); 586 let val = _f(cname); 587 if val.is_null() { 588 get_physical_device_display_plane_properties_khr 589 } else { 590 ::std::mem::transmute(val) 591 } 592 }, 593 get_display_plane_supported_displays_khr: unsafe { 594 unsafe extern "system" fn get_display_plane_supported_displays_khr( 595 _physical_device: PhysicalDevice, 596 _plane_index: u32, 597 _p_display_count: *mut u32, 598 _p_displays: *mut DisplayKHR, 599 ) -> Result { 600 panic!(concat!( 601 "Unable to load ", 602 stringify!(get_display_plane_supported_displays_khr) 603 )) 604 } 605 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 606 b"vkGetDisplayPlaneSupportedDisplaysKHR\0", 607 ); 608 let val = _f(cname); 609 if val.is_null() { 610 get_display_plane_supported_displays_khr 611 } else { 612 ::std::mem::transmute(val) 613 } 614 }, 615 get_display_mode_properties_khr: unsafe { 616 unsafe extern "system" fn get_display_mode_properties_khr( 617 _physical_device: PhysicalDevice, 618 _display: DisplayKHR, 619 _p_property_count: *mut u32, 620 _p_properties: *mut DisplayModePropertiesKHR, 621 ) -> Result { 622 panic!(concat!( 623 "Unable to load ", 624 stringify!(get_display_mode_properties_khr) 625 )) 626 } 627 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 628 b"vkGetDisplayModePropertiesKHR\0", 629 ); 630 let val = _f(cname); 631 if val.is_null() { 632 get_display_mode_properties_khr 633 } else { 634 ::std::mem::transmute(val) 635 } 636 }, 637 create_display_mode_khr: unsafe { 638 unsafe extern "system" fn create_display_mode_khr( 639 _physical_device: PhysicalDevice, 640 _display: DisplayKHR, 641 _p_create_info: *const DisplayModeCreateInfoKHR, 642 _p_allocator: *const AllocationCallbacks, 643 _p_mode: *mut DisplayModeKHR, 644 ) -> Result { 645 panic!(concat!( 646 "Unable to load ", 647 stringify!(create_display_mode_khr) 648 )) 649 } 650 let cname = 651 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateDisplayModeKHR\0"); 652 let val = _f(cname); 653 if val.is_null() { 654 create_display_mode_khr 655 } else { 656 ::std::mem::transmute(val) 657 } 658 }, 659 get_display_plane_capabilities_khr: unsafe { 660 unsafe extern "system" fn get_display_plane_capabilities_khr( 661 _physical_device: PhysicalDevice, 662 _mode: DisplayModeKHR, 663 _plane_index: u32, 664 _p_capabilities: *mut DisplayPlaneCapabilitiesKHR, 665 ) -> Result { 666 panic!(concat!( 667 "Unable to load ", 668 stringify!(get_display_plane_capabilities_khr) 669 )) 670 } 671 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 672 b"vkGetDisplayPlaneCapabilitiesKHR\0", 673 ); 674 let val = _f(cname); 675 if val.is_null() { 676 get_display_plane_capabilities_khr 677 } else { 678 ::std::mem::transmute(val) 679 } 680 }, 681 create_display_plane_surface_khr: unsafe { 682 unsafe extern "system" fn create_display_plane_surface_khr( 683 _instance: Instance, 684 _p_create_info: *const DisplaySurfaceCreateInfoKHR, 685 _p_allocator: *const AllocationCallbacks, 686 _p_surface: *mut SurfaceKHR, 687 ) -> Result { 688 panic!(concat!( 689 "Unable to load ", 690 stringify!(create_display_plane_surface_khr) 691 )) 692 } 693 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 694 b"vkCreateDisplayPlaneSurfaceKHR\0", 695 ); 696 let val = _f(cname); 697 if val.is_null() { 698 create_display_plane_surface_khr 699 } else { 700 ::std::mem::transmute(val) 701 } 702 }, 703 } 704 } 705 } 706 #[doc = "Generated from 'VK_KHR_display'"] 707 impl ObjectType { 708 pub const DISPLAY_KHR: Self = Self(1_000_002_000); 709 pub const DISPLAY_MODE_KHR: Self = Self(1_000_002_001); 710 } 711 #[doc = "Generated from 'VK_KHR_display'"] 712 impl StructureType { 713 pub const DISPLAY_MODE_CREATE_INFO_KHR: Self = Self(1_000_002_000); 714 pub const DISPLAY_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_002_001); 715 } 716 impl KhrDisplaySwapchainFn { 717 #[inline] name() -> &'static ::std::ffi::CStr718 pub const fn name() -> &'static ::std::ffi::CStr { 719 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_display_swapchain\0") } 720 } 721 pub const SPEC_VERSION: u32 = 10u32; 722 } 723 #[allow(non_camel_case_types)] 724 pub type PFN_vkCreateSharedSwapchainsKHR = unsafe extern "system" fn( 725 device: Device, 726 swapchain_count: u32, 727 p_create_infos: *const SwapchainCreateInfoKHR, 728 p_allocator: *const AllocationCallbacks, 729 p_swapchains: *mut SwapchainKHR, 730 ) -> Result; 731 #[derive(Clone)] 732 pub struct KhrDisplaySwapchainFn { 733 pub create_shared_swapchains_khr: PFN_vkCreateSharedSwapchainsKHR, 734 } 735 unsafe impl Send for KhrDisplaySwapchainFn {} 736 unsafe impl Sync for KhrDisplaySwapchainFn {} 737 impl KhrDisplaySwapchainFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,738 pub fn load<F>(mut _f: F) -> Self 739 where 740 F: FnMut(&::std::ffi::CStr) -> *const c_void, 741 { 742 Self { 743 create_shared_swapchains_khr: unsafe { 744 unsafe extern "system" fn create_shared_swapchains_khr( 745 _device: Device, 746 _swapchain_count: u32, 747 _p_create_infos: *const SwapchainCreateInfoKHR, 748 _p_allocator: *const AllocationCallbacks, 749 _p_swapchains: *mut SwapchainKHR, 750 ) -> Result { 751 panic!(concat!( 752 "Unable to load ", 753 stringify!(create_shared_swapchains_khr) 754 )) 755 } 756 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 757 b"vkCreateSharedSwapchainsKHR\0", 758 ); 759 let val = _f(cname); 760 if val.is_null() { 761 create_shared_swapchains_khr 762 } else { 763 ::std::mem::transmute(val) 764 } 765 }, 766 } 767 } 768 } 769 #[doc = "Generated from 'VK_KHR_display_swapchain'"] 770 impl Result { 771 pub const ERROR_INCOMPATIBLE_DISPLAY_KHR: Self = Self(-1_000_003_001); 772 } 773 #[doc = "Generated from 'VK_KHR_display_swapchain'"] 774 impl StructureType { 775 pub const DISPLAY_PRESENT_INFO_KHR: Self = Self(1_000_003_000); 776 } 777 impl KhrXlibSurfaceFn { 778 #[inline] name() -> &'static ::std::ffi::CStr779 pub const fn name() -> &'static ::std::ffi::CStr { 780 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_xlib_surface\0") } 781 } 782 pub const SPEC_VERSION: u32 = 6u32; 783 } 784 #[allow(non_camel_case_types)] 785 pub type PFN_vkCreateXlibSurfaceKHR = unsafe extern "system" fn( 786 instance: Instance, 787 p_create_info: *const XlibSurfaceCreateInfoKHR, 788 p_allocator: *const AllocationCallbacks, 789 p_surface: *mut SurfaceKHR, 790 ) -> Result; 791 #[allow(non_camel_case_types)] 792 pub type PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR = unsafe extern "system" fn( 793 physical_device: PhysicalDevice, 794 queue_family_index: u32, 795 dpy: *mut Display, 796 visual_id: VisualID, 797 ) -> Bool32; 798 #[derive(Clone)] 799 pub struct KhrXlibSurfaceFn { 800 pub create_xlib_surface_khr: PFN_vkCreateXlibSurfaceKHR, 801 pub get_physical_device_xlib_presentation_support_khr: 802 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR, 803 } 804 unsafe impl Send for KhrXlibSurfaceFn {} 805 unsafe impl Sync for KhrXlibSurfaceFn {} 806 impl KhrXlibSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,807 pub fn load<F>(mut _f: F) -> Self 808 where 809 F: FnMut(&::std::ffi::CStr) -> *const c_void, 810 { 811 Self { 812 create_xlib_surface_khr: unsafe { 813 unsafe extern "system" fn create_xlib_surface_khr( 814 _instance: Instance, 815 _p_create_info: *const XlibSurfaceCreateInfoKHR, 816 _p_allocator: *const AllocationCallbacks, 817 _p_surface: *mut SurfaceKHR, 818 ) -> Result { 819 panic!(concat!( 820 "Unable to load ", 821 stringify!(create_xlib_surface_khr) 822 )) 823 } 824 let cname = 825 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateXlibSurfaceKHR\0"); 826 let val = _f(cname); 827 if val.is_null() { 828 create_xlib_surface_khr 829 } else { 830 ::std::mem::transmute(val) 831 } 832 }, 833 get_physical_device_xlib_presentation_support_khr: unsafe { 834 unsafe extern "system" fn get_physical_device_xlib_presentation_support_khr( 835 _physical_device: PhysicalDevice, 836 _queue_family_index: u32, 837 _dpy: *mut Display, 838 _visual_id: VisualID, 839 ) -> Bool32 { 840 panic!(concat!( 841 "Unable to load ", 842 stringify!(get_physical_device_xlib_presentation_support_khr) 843 )) 844 } 845 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 846 b"vkGetPhysicalDeviceXlibPresentationSupportKHR\0", 847 ); 848 let val = _f(cname); 849 if val.is_null() { 850 get_physical_device_xlib_presentation_support_khr 851 } else { 852 ::std::mem::transmute(val) 853 } 854 }, 855 } 856 } 857 } 858 #[doc = "Generated from 'VK_KHR_xlib_surface'"] 859 impl StructureType { 860 pub const XLIB_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_004_000); 861 } 862 impl KhrXcbSurfaceFn { 863 #[inline] name() -> &'static ::std::ffi::CStr864 pub const fn name() -> &'static ::std::ffi::CStr { 865 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_xcb_surface\0") } 866 } 867 pub const SPEC_VERSION: u32 = 6u32; 868 } 869 #[allow(non_camel_case_types)] 870 pub type PFN_vkCreateXcbSurfaceKHR = unsafe extern "system" fn( 871 instance: Instance, 872 p_create_info: *const XcbSurfaceCreateInfoKHR, 873 p_allocator: *const AllocationCallbacks, 874 p_surface: *mut SurfaceKHR, 875 ) -> Result; 876 #[allow(non_camel_case_types)] 877 pub type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = unsafe extern "system" fn( 878 physical_device: PhysicalDevice, 879 queue_family_index: u32, 880 connection: *mut xcb_connection_t, 881 visual_id: xcb_visualid_t, 882 ) -> Bool32; 883 #[derive(Clone)] 884 pub struct KhrXcbSurfaceFn { 885 pub create_xcb_surface_khr: PFN_vkCreateXcbSurfaceKHR, 886 pub get_physical_device_xcb_presentation_support_khr: 887 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR, 888 } 889 unsafe impl Send for KhrXcbSurfaceFn {} 890 unsafe impl Sync for KhrXcbSurfaceFn {} 891 impl KhrXcbSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,892 pub fn load<F>(mut _f: F) -> Self 893 where 894 F: FnMut(&::std::ffi::CStr) -> *const c_void, 895 { 896 Self { 897 create_xcb_surface_khr: unsafe { 898 unsafe extern "system" fn create_xcb_surface_khr( 899 _instance: Instance, 900 _p_create_info: *const XcbSurfaceCreateInfoKHR, 901 _p_allocator: *const AllocationCallbacks, 902 _p_surface: *mut SurfaceKHR, 903 ) -> Result { 904 panic!(concat!( 905 "Unable to load ", 906 stringify!(create_xcb_surface_khr) 907 )) 908 } 909 let cname = 910 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateXcbSurfaceKHR\0"); 911 let val = _f(cname); 912 if val.is_null() { 913 create_xcb_surface_khr 914 } else { 915 ::std::mem::transmute(val) 916 } 917 }, 918 get_physical_device_xcb_presentation_support_khr: unsafe { 919 unsafe extern "system" fn get_physical_device_xcb_presentation_support_khr( 920 _physical_device: PhysicalDevice, 921 _queue_family_index: u32, 922 _connection: *mut xcb_connection_t, 923 _visual_id: xcb_visualid_t, 924 ) -> Bool32 { 925 panic!(concat!( 926 "Unable to load ", 927 stringify!(get_physical_device_xcb_presentation_support_khr) 928 )) 929 } 930 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 931 b"vkGetPhysicalDeviceXcbPresentationSupportKHR\0", 932 ); 933 let val = _f(cname); 934 if val.is_null() { 935 get_physical_device_xcb_presentation_support_khr 936 } else { 937 ::std::mem::transmute(val) 938 } 939 }, 940 } 941 } 942 } 943 #[doc = "Generated from 'VK_KHR_xcb_surface'"] 944 impl StructureType { 945 pub const XCB_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_005_000); 946 } 947 impl KhrWaylandSurfaceFn { 948 #[inline] name() -> &'static ::std::ffi::CStr949 pub const fn name() -> &'static ::std::ffi::CStr { 950 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_wayland_surface\0") } 951 } 952 pub const SPEC_VERSION: u32 = 6u32; 953 } 954 #[allow(non_camel_case_types)] 955 pub type PFN_vkCreateWaylandSurfaceKHR = unsafe extern "system" fn( 956 instance: Instance, 957 p_create_info: *const WaylandSurfaceCreateInfoKHR, 958 p_allocator: *const AllocationCallbacks, 959 p_surface: *mut SurfaceKHR, 960 ) -> Result; 961 #[allow(non_camel_case_types)] 962 pub type PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR = unsafe extern "system" fn( 963 physical_device: PhysicalDevice, 964 queue_family_index: u32, 965 display: *mut wl_display, 966 ) 967 -> Bool32; 968 #[derive(Clone)] 969 pub struct KhrWaylandSurfaceFn { 970 pub create_wayland_surface_khr: PFN_vkCreateWaylandSurfaceKHR, 971 pub get_physical_device_wayland_presentation_support_khr: 972 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR, 973 } 974 unsafe impl Send for KhrWaylandSurfaceFn {} 975 unsafe impl Sync for KhrWaylandSurfaceFn {} 976 impl KhrWaylandSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,977 pub fn load<F>(mut _f: F) -> Self 978 where 979 F: FnMut(&::std::ffi::CStr) -> *const c_void, 980 { 981 Self { 982 create_wayland_surface_khr: unsafe { 983 unsafe extern "system" fn create_wayland_surface_khr( 984 _instance: Instance, 985 _p_create_info: *const WaylandSurfaceCreateInfoKHR, 986 _p_allocator: *const AllocationCallbacks, 987 _p_surface: *mut SurfaceKHR, 988 ) -> Result { 989 panic!(concat!( 990 "Unable to load ", 991 stringify!(create_wayland_surface_khr) 992 )) 993 } 994 let cname = 995 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateWaylandSurfaceKHR\0"); 996 let val = _f(cname); 997 if val.is_null() { 998 create_wayland_surface_khr 999 } else { 1000 ::std::mem::transmute(val) 1001 } 1002 }, 1003 get_physical_device_wayland_presentation_support_khr: unsafe { 1004 unsafe extern "system" fn get_physical_device_wayland_presentation_support_khr( 1005 _physical_device: PhysicalDevice, 1006 _queue_family_index: u32, 1007 _display: *mut wl_display, 1008 ) -> Bool32 { 1009 panic!(concat!( 1010 "Unable to load ", 1011 stringify!(get_physical_device_wayland_presentation_support_khr) 1012 )) 1013 } 1014 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1015 b"vkGetPhysicalDeviceWaylandPresentationSupportKHR\0", 1016 ); 1017 let val = _f(cname); 1018 if val.is_null() { 1019 get_physical_device_wayland_presentation_support_khr 1020 } else { 1021 ::std::mem::transmute(val) 1022 } 1023 }, 1024 } 1025 } 1026 } 1027 #[doc = "Generated from 'VK_KHR_wayland_surface'"] 1028 impl StructureType { 1029 pub const WAYLAND_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_006_000); 1030 } 1031 impl KhrMirSurfaceFn { 1032 #[inline] name() -> &'static ::std::ffi::CStr1033 pub const fn name() -> &'static ::std::ffi::CStr { 1034 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_mir_surface\0") } 1035 } 1036 pub const SPEC_VERSION: u32 = 4u32; 1037 } 1038 #[derive(Clone)] 1039 pub struct KhrMirSurfaceFn {} 1040 unsafe impl Send for KhrMirSurfaceFn {} 1041 unsafe impl Sync for KhrMirSurfaceFn {} 1042 impl KhrMirSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1043 pub fn load<F>(mut _f: F) -> Self 1044 where 1045 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1046 { 1047 Self {} 1048 } 1049 } 1050 impl KhrAndroidSurfaceFn { 1051 #[inline] name() -> &'static ::std::ffi::CStr1052 pub const fn name() -> &'static ::std::ffi::CStr { 1053 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_android_surface\0") } 1054 } 1055 pub const SPEC_VERSION: u32 = 6u32; 1056 } 1057 #[allow(non_camel_case_types)] 1058 pub type PFN_vkCreateAndroidSurfaceKHR = unsafe extern "system" fn( 1059 instance: Instance, 1060 p_create_info: *const AndroidSurfaceCreateInfoKHR, 1061 p_allocator: *const AllocationCallbacks, 1062 p_surface: *mut SurfaceKHR, 1063 ) -> Result; 1064 #[derive(Clone)] 1065 pub struct KhrAndroidSurfaceFn { 1066 pub create_android_surface_khr: PFN_vkCreateAndroidSurfaceKHR, 1067 } 1068 unsafe impl Send for KhrAndroidSurfaceFn {} 1069 unsafe impl Sync for KhrAndroidSurfaceFn {} 1070 impl KhrAndroidSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1071 pub fn load<F>(mut _f: F) -> Self 1072 where 1073 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1074 { 1075 Self { 1076 create_android_surface_khr: unsafe { 1077 unsafe extern "system" fn create_android_surface_khr( 1078 _instance: Instance, 1079 _p_create_info: *const AndroidSurfaceCreateInfoKHR, 1080 _p_allocator: *const AllocationCallbacks, 1081 _p_surface: *mut SurfaceKHR, 1082 ) -> Result { 1083 panic!(concat!( 1084 "Unable to load ", 1085 stringify!(create_android_surface_khr) 1086 )) 1087 } 1088 let cname = 1089 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateAndroidSurfaceKHR\0"); 1090 let val = _f(cname); 1091 if val.is_null() { 1092 create_android_surface_khr 1093 } else { 1094 ::std::mem::transmute(val) 1095 } 1096 }, 1097 } 1098 } 1099 } 1100 #[doc = "Generated from 'VK_KHR_android_surface'"] 1101 impl StructureType { 1102 pub const ANDROID_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_008_000); 1103 } 1104 impl KhrWin32SurfaceFn { 1105 #[inline] name() -> &'static ::std::ffi::CStr1106 pub const fn name() -> &'static ::std::ffi::CStr { 1107 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_win32_surface\0") } 1108 } 1109 pub const SPEC_VERSION: u32 = 6u32; 1110 } 1111 #[allow(non_camel_case_types)] 1112 pub type PFN_vkCreateWin32SurfaceKHR = unsafe extern "system" fn( 1113 instance: Instance, 1114 p_create_info: *const Win32SurfaceCreateInfoKHR, 1115 p_allocator: *const AllocationCallbacks, 1116 p_surface: *mut SurfaceKHR, 1117 ) -> Result; 1118 #[allow(non_camel_case_types)] 1119 pub type PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR = 1120 unsafe extern "system" fn(physical_device: PhysicalDevice, queue_family_index: u32) -> Bool32; 1121 #[derive(Clone)] 1122 pub struct KhrWin32SurfaceFn { 1123 pub create_win32_surface_khr: PFN_vkCreateWin32SurfaceKHR, 1124 pub get_physical_device_win32_presentation_support_khr: 1125 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR, 1126 } 1127 unsafe impl Send for KhrWin32SurfaceFn {} 1128 unsafe impl Sync for KhrWin32SurfaceFn {} 1129 impl KhrWin32SurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1130 pub fn load<F>(mut _f: F) -> Self 1131 where 1132 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1133 { 1134 Self { 1135 create_win32_surface_khr: unsafe { 1136 unsafe extern "system" fn create_win32_surface_khr( 1137 _instance: Instance, 1138 _p_create_info: *const Win32SurfaceCreateInfoKHR, 1139 _p_allocator: *const AllocationCallbacks, 1140 _p_surface: *mut SurfaceKHR, 1141 ) -> Result { 1142 panic!(concat!( 1143 "Unable to load ", 1144 stringify!(create_win32_surface_khr) 1145 )) 1146 } 1147 let cname = 1148 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateWin32SurfaceKHR\0"); 1149 let val = _f(cname); 1150 if val.is_null() { 1151 create_win32_surface_khr 1152 } else { 1153 ::std::mem::transmute(val) 1154 } 1155 }, 1156 get_physical_device_win32_presentation_support_khr: unsafe { 1157 unsafe extern "system" fn get_physical_device_win32_presentation_support_khr( 1158 _physical_device: PhysicalDevice, 1159 _queue_family_index: u32, 1160 ) -> Bool32 { 1161 panic!(concat!( 1162 "Unable to load ", 1163 stringify!(get_physical_device_win32_presentation_support_khr) 1164 )) 1165 } 1166 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1167 b"vkGetPhysicalDeviceWin32PresentationSupportKHR\0", 1168 ); 1169 let val = _f(cname); 1170 if val.is_null() { 1171 get_physical_device_win32_presentation_support_khr 1172 } else { 1173 ::std::mem::transmute(val) 1174 } 1175 }, 1176 } 1177 } 1178 } 1179 #[doc = "Generated from 'VK_KHR_win32_surface'"] 1180 impl StructureType { 1181 pub const WIN32_SURFACE_CREATE_INFO_KHR: Self = Self(1_000_009_000); 1182 } 1183 impl AndroidNativeBufferFn { 1184 #[inline] name() -> &'static ::std::ffi::CStr1185 pub const fn name() -> &'static ::std::ffi::CStr { 1186 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ANDROID_native_buffer\0") } 1187 } 1188 pub const SPEC_VERSION: u32 = 8u32; 1189 } 1190 #[allow(non_camel_case_types)] 1191 pub type PFN_vkGetSwapchainGrallocUsageANDROID = unsafe extern "system" fn( 1192 device: Device, 1193 format: Format, 1194 image_usage: ImageUsageFlags, 1195 gralloc_usage: *mut c_int, 1196 ) -> Result; 1197 #[allow(non_camel_case_types)] 1198 pub type PFN_vkAcquireImageANDROID = unsafe extern "system" fn( 1199 device: Device, 1200 image: Image, 1201 native_fence_fd: c_int, 1202 semaphore: Semaphore, 1203 fence: Fence, 1204 ) -> Result; 1205 #[allow(non_camel_case_types)] 1206 pub type PFN_vkQueueSignalReleaseImageANDROID = unsafe extern "system" fn( 1207 queue: Queue, 1208 wait_semaphore_count: u32, 1209 p_wait_semaphores: *const Semaphore, 1210 image: Image, 1211 p_native_fence_fd: *mut c_int, 1212 ) -> Result; 1213 #[allow(non_camel_case_types)] 1214 pub type PFN_vkGetSwapchainGrallocUsage2ANDROID = unsafe extern "system" fn( 1215 device: Device, 1216 format: Format, 1217 image_usage: ImageUsageFlags, 1218 swapchain_image_usage: SwapchainImageUsageFlagsANDROID, 1219 gralloc_consumer_usage: *mut u64, 1220 gralloc_producer_usage: *mut u64, 1221 ) -> Result; 1222 #[derive(Clone)] 1223 pub struct AndroidNativeBufferFn { 1224 pub get_swapchain_gralloc_usage_android: PFN_vkGetSwapchainGrallocUsageANDROID, 1225 pub acquire_image_android: PFN_vkAcquireImageANDROID, 1226 pub queue_signal_release_image_android: PFN_vkQueueSignalReleaseImageANDROID, 1227 pub get_swapchain_gralloc_usage2_android: PFN_vkGetSwapchainGrallocUsage2ANDROID, 1228 } 1229 unsafe impl Send for AndroidNativeBufferFn {} 1230 unsafe impl Sync for AndroidNativeBufferFn {} 1231 impl AndroidNativeBufferFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1232 pub fn load<F>(mut _f: F) -> Self 1233 where 1234 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1235 { 1236 Self { 1237 get_swapchain_gralloc_usage_android: unsafe { 1238 unsafe extern "system" fn get_swapchain_gralloc_usage_android( 1239 _device: Device, 1240 _format: Format, 1241 _image_usage: ImageUsageFlags, 1242 _gralloc_usage: *mut c_int, 1243 ) -> Result { 1244 panic!(concat!( 1245 "Unable to load ", 1246 stringify!(get_swapchain_gralloc_usage_android) 1247 )) 1248 } 1249 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1250 b"vkGetSwapchainGrallocUsageANDROID\0", 1251 ); 1252 let val = _f(cname); 1253 if val.is_null() { 1254 get_swapchain_gralloc_usage_android 1255 } else { 1256 ::std::mem::transmute(val) 1257 } 1258 }, 1259 acquire_image_android: unsafe { 1260 unsafe extern "system" fn acquire_image_android( 1261 _device: Device, 1262 _image: Image, 1263 _native_fence_fd: c_int, 1264 _semaphore: Semaphore, 1265 _fence: Fence, 1266 ) -> Result { 1267 panic!(concat!( 1268 "Unable to load ", 1269 stringify!(acquire_image_android) 1270 )) 1271 } 1272 let cname = 1273 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireImageANDROID\0"); 1274 let val = _f(cname); 1275 if val.is_null() { 1276 acquire_image_android 1277 } else { 1278 ::std::mem::transmute(val) 1279 } 1280 }, 1281 queue_signal_release_image_android: unsafe { 1282 unsafe extern "system" fn queue_signal_release_image_android( 1283 _queue: Queue, 1284 _wait_semaphore_count: u32, 1285 _p_wait_semaphores: *const Semaphore, 1286 _image: Image, 1287 _p_native_fence_fd: *mut c_int, 1288 ) -> Result { 1289 panic!(concat!( 1290 "Unable to load ", 1291 stringify!(queue_signal_release_image_android) 1292 )) 1293 } 1294 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1295 b"vkQueueSignalReleaseImageANDROID\0", 1296 ); 1297 let val = _f(cname); 1298 if val.is_null() { 1299 queue_signal_release_image_android 1300 } else { 1301 ::std::mem::transmute(val) 1302 } 1303 }, 1304 get_swapchain_gralloc_usage2_android: unsafe { 1305 unsafe extern "system" fn get_swapchain_gralloc_usage2_android( 1306 _device: Device, 1307 _format: Format, 1308 _image_usage: ImageUsageFlags, 1309 _swapchain_image_usage: SwapchainImageUsageFlagsANDROID, 1310 _gralloc_consumer_usage: *mut u64, 1311 _gralloc_producer_usage: *mut u64, 1312 ) -> Result { 1313 panic!(concat!( 1314 "Unable to load ", 1315 stringify!(get_swapchain_gralloc_usage2_android) 1316 )) 1317 } 1318 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1319 b"vkGetSwapchainGrallocUsage2ANDROID\0", 1320 ); 1321 let val = _f(cname); 1322 if val.is_null() { 1323 get_swapchain_gralloc_usage2_android 1324 } else { 1325 ::std::mem::transmute(val) 1326 } 1327 }, 1328 } 1329 } 1330 } 1331 #[doc = "Generated from 'VK_ANDROID_native_buffer'"] 1332 impl StructureType { 1333 pub const NATIVE_BUFFER_ANDROID: Self = Self(1_000_010_000); 1334 pub const SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID: Self = Self(1_000_010_001); 1335 pub const PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID: Self = Self(1_000_010_002); 1336 } 1337 impl ExtDebugReportFn { 1338 #[inline] name() -> &'static ::std::ffi::CStr1339 pub const fn name() -> &'static ::std::ffi::CStr { 1340 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_debug_report\0") } 1341 } 1342 pub const SPEC_VERSION: u32 = 10u32; 1343 } 1344 #[allow(non_camel_case_types)] 1345 pub type PFN_vkCreateDebugReportCallbackEXT = unsafe extern "system" fn( 1346 instance: Instance, 1347 p_create_info: *const DebugReportCallbackCreateInfoEXT, 1348 p_allocator: *const AllocationCallbacks, 1349 p_callback: *mut DebugReportCallbackEXT, 1350 ) -> Result; 1351 #[allow(non_camel_case_types)] 1352 pub type PFN_vkDestroyDebugReportCallbackEXT = unsafe extern "system" fn( 1353 instance: Instance, 1354 callback: DebugReportCallbackEXT, 1355 p_allocator: *const AllocationCallbacks, 1356 ); 1357 #[allow(non_camel_case_types)] 1358 pub type PFN_vkDebugReportMessageEXT = unsafe extern "system" fn( 1359 instance: Instance, 1360 flags: DebugReportFlagsEXT, 1361 object_type: DebugReportObjectTypeEXT, 1362 object: u64, 1363 location: usize, 1364 message_code: i32, 1365 p_layer_prefix: *const c_char, 1366 p_message: *const c_char, 1367 ); 1368 #[derive(Clone)] 1369 pub struct ExtDebugReportFn { 1370 pub create_debug_report_callback_ext: PFN_vkCreateDebugReportCallbackEXT, 1371 pub destroy_debug_report_callback_ext: PFN_vkDestroyDebugReportCallbackEXT, 1372 pub debug_report_message_ext: PFN_vkDebugReportMessageEXT, 1373 } 1374 unsafe impl Send for ExtDebugReportFn {} 1375 unsafe impl Sync for ExtDebugReportFn {} 1376 impl ExtDebugReportFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1377 pub fn load<F>(mut _f: F) -> Self 1378 where 1379 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1380 { 1381 Self { 1382 create_debug_report_callback_ext: unsafe { 1383 unsafe extern "system" fn create_debug_report_callback_ext( 1384 _instance: Instance, 1385 _p_create_info: *const DebugReportCallbackCreateInfoEXT, 1386 _p_allocator: *const AllocationCallbacks, 1387 _p_callback: *mut DebugReportCallbackEXT, 1388 ) -> Result { 1389 panic!(concat!( 1390 "Unable to load ", 1391 stringify!(create_debug_report_callback_ext) 1392 )) 1393 } 1394 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1395 b"vkCreateDebugReportCallbackEXT\0", 1396 ); 1397 let val = _f(cname); 1398 if val.is_null() { 1399 create_debug_report_callback_ext 1400 } else { 1401 ::std::mem::transmute(val) 1402 } 1403 }, 1404 destroy_debug_report_callback_ext: unsafe { 1405 unsafe extern "system" fn destroy_debug_report_callback_ext( 1406 _instance: Instance, 1407 _callback: DebugReportCallbackEXT, 1408 _p_allocator: *const AllocationCallbacks, 1409 ) { 1410 panic!(concat!( 1411 "Unable to load ", 1412 stringify!(destroy_debug_report_callback_ext) 1413 )) 1414 } 1415 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1416 b"vkDestroyDebugReportCallbackEXT\0", 1417 ); 1418 let val = _f(cname); 1419 if val.is_null() { 1420 destroy_debug_report_callback_ext 1421 } else { 1422 ::std::mem::transmute(val) 1423 } 1424 }, 1425 debug_report_message_ext: unsafe { 1426 unsafe extern "system" fn debug_report_message_ext( 1427 _instance: Instance, 1428 _flags: DebugReportFlagsEXT, 1429 _object_type: DebugReportObjectTypeEXT, 1430 _object: u64, 1431 _location: usize, 1432 _message_code: i32, 1433 _p_layer_prefix: *const c_char, 1434 _p_message: *const c_char, 1435 ) { 1436 panic!(concat!( 1437 "Unable to load ", 1438 stringify!(debug_report_message_ext) 1439 )) 1440 } 1441 let cname = 1442 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDebugReportMessageEXT\0"); 1443 let val = _f(cname); 1444 if val.is_null() { 1445 debug_report_message_ext 1446 } else { 1447 ::std::mem::transmute(val) 1448 } 1449 }, 1450 } 1451 } 1452 } 1453 #[doc = "Generated from 'VK_EXT_debug_report'"] 1454 impl DebugReportObjectTypeEXT { 1455 pub const SAMPLER_YCBCR_CONVERSION: Self = Self(1_000_156_000); 1456 pub const DESCRIPTOR_UPDATE_TEMPLATE: Self = Self(1_000_085_000); 1457 } 1458 #[doc = "Generated from 'VK_EXT_debug_report'"] 1459 impl ObjectType { 1460 pub const DEBUG_REPORT_CALLBACK_EXT: Self = Self(1_000_011_000); 1461 } 1462 #[doc = "Generated from 'VK_EXT_debug_report'"] 1463 impl Result { 1464 pub const ERROR_VALIDATION_FAILED_EXT: Self = Self(-1_000_011_001); 1465 } 1466 #[doc = "Generated from 'VK_EXT_debug_report'"] 1467 impl StructureType { 1468 pub const DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: Self = Self(1_000_011_000); 1469 } 1470 impl NvGlslShaderFn { 1471 #[inline] name() -> &'static ::std::ffi::CStr1472 pub const fn name() -> &'static ::std::ffi::CStr { 1473 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_glsl_shader\0") } 1474 } 1475 pub const SPEC_VERSION: u32 = 1u32; 1476 } 1477 #[derive(Clone)] 1478 pub struct NvGlslShaderFn {} 1479 unsafe impl Send for NvGlslShaderFn {} 1480 unsafe impl Sync for NvGlslShaderFn {} 1481 impl NvGlslShaderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1482 pub fn load<F>(mut _f: F) -> Self 1483 where 1484 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1485 { 1486 Self {} 1487 } 1488 } 1489 #[doc = "Generated from 'VK_NV_glsl_shader'"] 1490 impl Result { 1491 pub const ERROR_INVALID_SHADER_NV: Self = Self(-1_000_012_000); 1492 } 1493 impl ExtDepthRangeUnrestrictedFn { 1494 #[inline] name() -> &'static ::std::ffi::CStr1495 pub const fn name() -> &'static ::std::ffi::CStr { 1496 unsafe { 1497 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_range_unrestricted\0") 1498 } 1499 } 1500 pub const SPEC_VERSION: u32 = 1u32; 1501 } 1502 #[derive(Clone)] 1503 pub struct ExtDepthRangeUnrestrictedFn {} 1504 unsafe impl Send for ExtDepthRangeUnrestrictedFn {} 1505 unsafe impl Sync for ExtDepthRangeUnrestrictedFn {} 1506 impl ExtDepthRangeUnrestrictedFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1507 pub fn load<F>(mut _f: F) -> Self 1508 where 1509 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1510 { 1511 Self {} 1512 } 1513 } 1514 impl KhrSamplerMirrorClampToEdgeFn { 1515 #[inline] name() -> &'static ::std::ffi::CStr1516 pub const fn name() -> &'static ::std::ffi::CStr { 1517 unsafe { 1518 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1519 b"VK_KHR_sampler_mirror_clamp_to_edge\0", 1520 ) 1521 } 1522 } 1523 pub const SPEC_VERSION: u32 = 3u32; 1524 } 1525 #[derive(Clone)] 1526 pub struct KhrSamplerMirrorClampToEdgeFn {} 1527 unsafe impl Send for KhrSamplerMirrorClampToEdgeFn {} 1528 unsafe impl Sync for KhrSamplerMirrorClampToEdgeFn {} 1529 impl KhrSamplerMirrorClampToEdgeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1530 pub fn load<F>(mut _f: F) -> Self 1531 where 1532 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1533 { 1534 Self {} 1535 } 1536 } 1537 #[doc = "Generated from 'VK_KHR_sampler_mirror_clamp_to_edge'"] 1538 impl SamplerAddressMode { 1539 #[doc = "Note that this defines what was previously a core enum, and so uses the 'value' attribute rather than 'offset', and does not have a suffix. This is a special case, and should not be repeated"] 1540 pub const MIRROR_CLAMP_TO_EDGE: Self = Self(4); 1541 #[deprecated = "Introduced for consistency with extension suffixing rules"] 1542 pub const MIRROR_CLAMP_TO_EDGE_KHR: Self = Self::MIRROR_CLAMP_TO_EDGE; 1543 } 1544 impl ImgFilterCubicFn { 1545 #[inline] name() -> &'static ::std::ffi::CStr1546 pub const fn name() -> &'static ::std::ffi::CStr { 1547 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_filter_cubic\0") } 1548 } 1549 pub const SPEC_VERSION: u32 = 1u32; 1550 } 1551 #[derive(Clone)] 1552 pub struct ImgFilterCubicFn {} 1553 unsafe impl Send for ImgFilterCubicFn {} 1554 unsafe impl Sync for ImgFilterCubicFn {} 1555 impl ImgFilterCubicFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1556 pub fn load<F>(mut _f: F) -> Self 1557 where 1558 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1559 { 1560 Self {} 1561 } 1562 } 1563 #[doc = "Generated from 'VK_IMG_filter_cubic'"] 1564 impl Filter { 1565 pub const CUBIC_IMG: Self = Self::CUBIC_EXT; 1566 } 1567 #[doc = "Generated from 'VK_IMG_filter_cubic'"] 1568 impl FormatFeatureFlags { 1569 #[doc = "Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled"] 1570 pub const SAMPLED_IMAGE_FILTER_CUBIC_IMG: Self = Self::SAMPLED_IMAGE_FILTER_CUBIC_EXT; 1571 } 1572 impl AmdExtension17Fn { 1573 #[inline] name() -> &'static ::std::ffi::CStr1574 pub const fn name() -> &'static ::std::ffi::CStr { 1575 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_17\0") } 1576 } 1577 pub const SPEC_VERSION: u32 = 0u32; 1578 } 1579 #[derive(Clone)] 1580 pub struct AmdExtension17Fn {} 1581 unsafe impl Send for AmdExtension17Fn {} 1582 unsafe impl Sync for AmdExtension17Fn {} 1583 impl AmdExtension17Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1584 pub fn load<F>(mut _f: F) -> Self 1585 where 1586 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1587 { 1588 Self {} 1589 } 1590 } 1591 impl AmdExtension18Fn { 1592 #[inline] name() -> &'static ::std::ffi::CStr1593 pub const fn name() -> &'static ::std::ffi::CStr { 1594 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_18\0") } 1595 } 1596 pub const SPEC_VERSION: u32 = 0u32; 1597 } 1598 #[derive(Clone)] 1599 pub struct AmdExtension18Fn {} 1600 unsafe impl Send for AmdExtension18Fn {} 1601 unsafe impl Sync for AmdExtension18Fn {} 1602 impl AmdExtension18Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1603 pub fn load<F>(mut _f: F) -> Self 1604 where 1605 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1606 { 1607 Self {} 1608 } 1609 } 1610 impl AmdRasterizationOrderFn { 1611 #[inline] name() -> &'static ::std::ffi::CStr1612 pub const fn name() -> &'static ::std::ffi::CStr { 1613 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_rasterization_order\0") } 1614 } 1615 pub const SPEC_VERSION: u32 = 1u32; 1616 } 1617 #[derive(Clone)] 1618 pub struct AmdRasterizationOrderFn {} 1619 unsafe impl Send for AmdRasterizationOrderFn {} 1620 unsafe impl Sync for AmdRasterizationOrderFn {} 1621 impl AmdRasterizationOrderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1622 pub fn load<F>(mut _f: F) -> Self 1623 where 1624 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1625 { 1626 Self {} 1627 } 1628 } 1629 #[doc = "Generated from 'VK_AMD_rasterization_order'"] 1630 impl StructureType { 1631 pub const PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: Self = Self(1_000_018_000); 1632 } 1633 impl AmdExtension20Fn { 1634 #[inline] name() -> &'static ::std::ffi::CStr1635 pub const fn name() -> &'static ::std::ffi::CStr { 1636 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_20\0") } 1637 } 1638 pub const SPEC_VERSION: u32 = 0u32; 1639 } 1640 #[derive(Clone)] 1641 pub struct AmdExtension20Fn {} 1642 unsafe impl Send for AmdExtension20Fn {} 1643 unsafe impl Sync for AmdExtension20Fn {} 1644 impl AmdExtension20Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1645 pub fn load<F>(mut _f: F) -> Self 1646 where 1647 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1648 { 1649 Self {} 1650 } 1651 } 1652 impl AmdShaderTrinaryMinmaxFn { 1653 #[inline] name() -> &'static ::std::ffi::CStr1654 pub const fn name() -> &'static ::std::ffi::CStr { 1655 unsafe { 1656 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_trinary_minmax\0") 1657 } 1658 } 1659 pub const SPEC_VERSION: u32 = 1u32; 1660 } 1661 #[derive(Clone)] 1662 pub struct AmdShaderTrinaryMinmaxFn {} 1663 unsafe impl Send for AmdShaderTrinaryMinmaxFn {} 1664 unsafe impl Sync for AmdShaderTrinaryMinmaxFn {} 1665 impl AmdShaderTrinaryMinmaxFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1666 pub fn load<F>(mut _f: F) -> Self 1667 where 1668 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1669 { 1670 Self {} 1671 } 1672 } 1673 impl AmdShaderExplicitVertexParameterFn { 1674 #[inline] name() -> &'static ::std::ffi::CStr1675 pub const fn name() -> &'static ::std::ffi::CStr { 1676 unsafe { 1677 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1678 b"VK_AMD_shader_explicit_vertex_parameter\0", 1679 ) 1680 } 1681 } 1682 pub const SPEC_VERSION: u32 = 1u32; 1683 } 1684 #[derive(Clone)] 1685 pub struct AmdShaderExplicitVertexParameterFn {} 1686 unsafe impl Send for AmdShaderExplicitVertexParameterFn {} 1687 unsafe impl Sync for AmdShaderExplicitVertexParameterFn {} 1688 impl AmdShaderExplicitVertexParameterFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1689 pub fn load<F>(mut _f: F) -> Self 1690 where 1691 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1692 { 1693 Self {} 1694 } 1695 } 1696 impl ExtDebugMarkerFn { 1697 #[inline] name() -> &'static ::std::ffi::CStr1698 pub const fn name() -> &'static ::std::ffi::CStr { 1699 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_debug_marker\0") } 1700 } 1701 pub const SPEC_VERSION: u32 = 4u32; 1702 } 1703 #[allow(non_camel_case_types)] 1704 pub type PFN_vkDebugMarkerSetObjectTagEXT = unsafe extern "system" fn( 1705 device: Device, 1706 p_tag_info: *const DebugMarkerObjectTagInfoEXT, 1707 ) -> Result; 1708 #[allow(non_camel_case_types)] 1709 pub type PFN_vkDebugMarkerSetObjectNameEXT = unsafe extern "system" fn( 1710 device: Device, 1711 p_name_info: *const DebugMarkerObjectNameInfoEXT, 1712 ) -> Result; 1713 #[allow(non_camel_case_types)] 1714 pub type PFN_vkCmdDebugMarkerBeginEXT = unsafe extern "system" fn( 1715 command_buffer: CommandBuffer, 1716 p_marker_info: *const DebugMarkerMarkerInfoEXT, 1717 ); 1718 #[allow(non_camel_case_types)] 1719 pub type PFN_vkCmdDebugMarkerEndEXT = unsafe extern "system" fn(command_buffer: CommandBuffer); 1720 #[allow(non_camel_case_types)] 1721 pub type PFN_vkCmdDebugMarkerInsertEXT = unsafe extern "system" fn( 1722 command_buffer: CommandBuffer, 1723 p_marker_info: *const DebugMarkerMarkerInfoEXT, 1724 ); 1725 #[derive(Clone)] 1726 pub struct ExtDebugMarkerFn { 1727 pub debug_marker_set_object_tag_ext: PFN_vkDebugMarkerSetObjectTagEXT, 1728 pub debug_marker_set_object_name_ext: PFN_vkDebugMarkerSetObjectNameEXT, 1729 pub cmd_debug_marker_begin_ext: PFN_vkCmdDebugMarkerBeginEXT, 1730 pub cmd_debug_marker_end_ext: PFN_vkCmdDebugMarkerEndEXT, 1731 pub cmd_debug_marker_insert_ext: PFN_vkCmdDebugMarkerInsertEXT, 1732 } 1733 unsafe impl Send for ExtDebugMarkerFn {} 1734 unsafe impl Sync for ExtDebugMarkerFn {} 1735 impl ExtDebugMarkerFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1736 pub fn load<F>(mut _f: F) -> Self 1737 where 1738 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1739 { 1740 Self { 1741 debug_marker_set_object_tag_ext: unsafe { 1742 unsafe extern "system" fn debug_marker_set_object_tag_ext( 1743 _device: Device, 1744 _p_tag_info: *const DebugMarkerObjectTagInfoEXT, 1745 ) -> Result { 1746 panic!(concat!( 1747 "Unable to load ", 1748 stringify!(debug_marker_set_object_tag_ext) 1749 )) 1750 } 1751 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1752 b"vkDebugMarkerSetObjectTagEXT\0", 1753 ); 1754 let val = _f(cname); 1755 if val.is_null() { 1756 debug_marker_set_object_tag_ext 1757 } else { 1758 ::std::mem::transmute(val) 1759 } 1760 }, 1761 debug_marker_set_object_name_ext: unsafe { 1762 unsafe extern "system" fn debug_marker_set_object_name_ext( 1763 _device: Device, 1764 _p_name_info: *const DebugMarkerObjectNameInfoEXT, 1765 ) -> Result { 1766 panic!(concat!( 1767 "Unable to load ", 1768 stringify!(debug_marker_set_object_name_ext) 1769 )) 1770 } 1771 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1772 b"vkDebugMarkerSetObjectNameEXT\0", 1773 ); 1774 let val = _f(cname); 1775 if val.is_null() { 1776 debug_marker_set_object_name_ext 1777 } else { 1778 ::std::mem::transmute(val) 1779 } 1780 }, 1781 cmd_debug_marker_begin_ext: unsafe { 1782 unsafe extern "system" fn cmd_debug_marker_begin_ext( 1783 _command_buffer: CommandBuffer, 1784 _p_marker_info: *const DebugMarkerMarkerInfoEXT, 1785 ) { 1786 panic!(concat!( 1787 "Unable to load ", 1788 stringify!(cmd_debug_marker_begin_ext) 1789 )) 1790 } 1791 let cname = 1792 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDebugMarkerBeginEXT\0"); 1793 let val = _f(cname); 1794 if val.is_null() { 1795 cmd_debug_marker_begin_ext 1796 } else { 1797 ::std::mem::transmute(val) 1798 } 1799 }, 1800 cmd_debug_marker_end_ext: unsafe { 1801 unsafe extern "system" fn cmd_debug_marker_end_ext(_command_buffer: CommandBuffer) { 1802 panic!(concat!( 1803 "Unable to load ", 1804 stringify!(cmd_debug_marker_end_ext) 1805 )) 1806 } 1807 let cname = 1808 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDebugMarkerEndEXT\0"); 1809 let val = _f(cname); 1810 if val.is_null() { 1811 cmd_debug_marker_end_ext 1812 } else { 1813 ::std::mem::transmute(val) 1814 } 1815 }, 1816 cmd_debug_marker_insert_ext: unsafe { 1817 unsafe extern "system" fn cmd_debug_marker_insert_ext( 1818 _command_buffer: CommandBuffer, 1819 _p_marker_info: *const DebugMarkerMarkerInfoEXT, 1820 ) { 1821 panic!(concat!( 1822 "Unable to load ", 1823 stringify!(cmd_debug_marker_insert_ext) 1824 )) 1825 } 1826 let cname = 1827 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDebugMarkerInsertEXT\0"); 1828 let val = _f(cname); 1829 if val.is_null() { 1830 cmd_debug_marker_insert_ext 1831 } else { 1832 ::std::mem::transmute(val) 1833 } 1834 }, 1835 } 1836 } 1837 } 1838 #[doc = "Generated from 'VK_EXT_debug_marker'"] 1839 impl StructureType { 1840 pub const DEBUG_MARKER_OBJECT_NAME_INFO_EXT: Self = Self(1_000_022_000); 1841 pub const DEBUG_MARKER_OBJECT_TAG_INFO_EXT: Self = Self(1_000_022_001); 1842 pub const DEBUG_MARKER_MARKER_INFO_EXT: Self = Self(1_000_022_002); 1843 } 1844 impl KhrVideoQueueFn { 1845 #[inline] name() -> &'static ::std::ffi::CStr1846 pub const fn name() -> &'static ::std::ffi::CStr { 1847 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_queue\0") } 1848 } 1849 pub const SPEC_VERSION: u32 = 8u32; 1850 } 1851 #[allow(non_camel_case_types)] 1852 pub type PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR = unsafe extern "system" fn( 1853 physical_device: PhysicalDevice, 1854 p_video_profile: *const VideoProfileInfoKHR, 1855 p_capabilities: *mut VideoCapabilitiesKHR, 1856 ) -> Result; 1857 #[allow(non_camel_case_types)] 1858 pub type PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR = unsafe extern "system" fn( 1859 physical_device: PhysicalDevice, 1860 p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR, 1861 p_video_format_property_count: *mut u32, 1862 p_video_format_properties: *mut VideoFormatPropertiesKHR, 1863 ) -> Result; 1864 #[allow(non_camel_case_types)] 1865 pub type PFN_vkCreateVideoSessionKHR = unsafe extern "system" fn( 1866 device: Device, 1867 p_create_info: *const VideoSessionCreateInfoKHR, 1868 p_allocator: *const AllocationCallbacks, 1869 p_video_session: *mut VideoSessionKHR, 1870 ) -> Result; 1871 #[allow(non_camel_case_types)] 1872 pub type PFN_vkDestroyVideoSessionKHR = unsafe extern "system" fn( 1873 device: Device, 1874 video_session: VideoSessionKHR, 1875 p_allocator: *const AllocationCallbacks, 1876 ); 1877 #[allow(non_camel_case_types)] 1878 pub type PFN_vkGetVideoSessionMemoryRequirementsKHR = unsafe extern "system" fn( 1879 device: Device, 1880 video_session: VideoSessionKHR, 1881 p_memory_requirements_count: *mut u32, 1882 p_memory_requirements: *mut VideoSessionMemoryRequirementsKHR, 1883 ) -> Result; 1884 #[allow(non_camel_case_types)] 1885 pub type PFN_vkBindVideoSessionMemoryKHR = unsafe extern "system" fn( 1886 device: Device, 1887 video_session: VideoSessionKHR, 1888 bind_session_memory_info_count: u32, 1889 p_bind_session_memory_infos: *const BindVideoSessionMemoryInfoKHR, 1890 ) -> Result; 1891 #[allow(non_camel_case_types)] 1892 pub type PFN_vkCreateVideoSessionParametersKHR = unsafe extern "system" fn( 1893 device: Device, 1894 p_create_info: *const VideoSessionParametersCreateInfoKHR, 1895 p_allocator: *const AllocationCallbacks, 1896 p_video_session_parameters: *mut VideoSessionParametersKHR, 1897 ) -> Result; 1898 #[allow(non_camel_case_types)] 1899 pub type PFN_vkUpdateVideoSessionParametersKHR = unsafe extern "system" fn( 1900 device: Device, 1901 video_session_parameters: VideoSessionParametersKHR, 1902 p_update_info: *const VideoSessionParametersUpdateInfoKHR, 1903 ) -> Result; 1904 #[allow(non_camel_case_types)] 1905 pub type PFN_vkDestroyVideoSessionParametersKHR = unsafe extern "system" fn( 1906 device: Device, 1907 video_session_parameters: VideoSessionParametersKHR, 1908 p_allocator: *const AllocationCallbacks, 1909 ); 1910 #[allow(non_camel_case_types)] 1911 pub type PFN_vkCmdBeginVideoCodingKHR = unsafe extern "system" fn( 1912 command_buffer: CommandBuffer, 1913 p_begin_info: *const VideoBeginCodingInfoKHR, 1914 ); 1915 #[allow(non_camel_case_types)] 1916 pub type PFN_vkCmdEndVideoCodingKHR = unsafe extern "system" fn( 1917 command_buffer: CommandBuffer, 1918 p_end_coding_info: *const VideoEndCodingInfoKHR, 1919 ); 1920 #[allow(non_camel_case_types)] 1921 pub type PFN_vkCmdControlVideoCodingKHR = unsafe extern "system" fn( 1922 command_buffer: CommandBuffer, 1923 p_coding_control_info: *const VideoCodingControlInfoKHR, 1924 ); 1925 #[derive(Clone)] 1926 pub struct KhrVideoQueueFn { 1927 pub get_physical_device_video_capabilities_khr: PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR, 1928 pub get_physical_device_video_format_properties_khr: 1929 PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR, 1930 pub create_video_session_khr: PFN_vkCreateVideoSessionKHR, 1931 pub destroy_video_session_khr: PFN_vkDestroyVideoSessionKHR, 1932 pub get_video_session_memory_requirements_khr: PFN_vkGetVideoSessionMemoryRequirementsKHR, 1933 pub bind_video_session_memory_khr: PFN_vkBindVideoSessionMemoryKHR, 1934 pub create_video_session_parameters_khr: PFN_vkCreateVideoSessionParametersKHR, 1935 pub update_video_session_parameters_khr: PFN_vkUpdateVideoSessionParametersKHR, 1936 pub destroy_video_session_parameters_khr: PFN_vkDestroyVideoSessionParametersKHR, 1937 pub cmd_begin_video_coding_khr: PFN_vkCmdBeginVideoCodingKHR, 1938 pub cmd_end_video_coding_khr: PFN_vkCmdEndVideoCodingKHR, 1939 pub cmd_control_video_coding_khr: PFN_vkCmdControlVideoCodingKHR, 1940 } 1941 unsafe impl Send for KhrVideoQueueFn {} 1942 unsafe impl Sync for KhrVideoQueueFn {} 1943 impl KhrVideoQueueFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,1944 pub fn load<F>(mut _f: F) -> Self 1945 where 1946 F: FnMut(&::std::ffi::CStr) -> *const c_void, 1947 { 1948 Self { 1949 get_physical_device_video_capabilities_khr: unsafe { 1950 unsafe extern "system" fn get_physical_device_video_capabilities_khr( 1951 _physical_device: PhysicalDevice, 1952 _p_video_profile: *const VideoProfileInfoKHR, 1953 _p_capabilities: *mut VideoCapabilitiesKHR, 1954 ) -> Result { 1955 panic!(concat!( 1956 "Unable to load ", 1957 stringify!(get_physical_device_video_capabilities_khr) 1958 )) 1959 } 1960 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1961 b"vkGetPhysicalDeviceVideoCapabilitiesKHR\0", 1962 ); 1963 let val = _f(cname); 1964 if val.is_null() { 1965 get_physical_device_video_capabilities_khr 1966 } else { 1967 ::std::mem::transmute(val) 1968 } 1969 }, 1970 get_physical_device_video_format_properties_khr: unsafe { 1971 unsafe extern "system" fn get_physical_device_video_format_properties_khr( 1972 _physical_device: PhysicalDevice, 1973 _p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR, 1974 _p_video_format_property_count: *mut u32, 1975 _p_video_format_properties: *mut VideoFormatPropertiesKHR, 1976 ) -> Result { 1977 panic!(concat!( 1978 "Unable to load ", 1979 stringify!(get_physical_device_video_format_properties_khr) 1980 )) 1981 } 1982 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 1983 b"vkGetPhysicalDeviceVideoFormatPropertiesKHR\0", 1984 ); 1985 let val = _f(cname); 1986 if val.is_null() { 1987 get_physical_device_video_format_properties_khr 1988 } else { 1989 ::std::mem::transmute(val) 1990 } 1991 }, 1992 create_video_session_khr: unsafe { 1993 unsafe extern "system" fn create_video_session_khr( 1994 _device: Device, 1995 _p_create_info: *const VideoSessionCreateInfoKHR, 1996 _p_allocator: *const AllocationCallbacks, 1997 _p_video_session: *mut VideoSessionKHR, 1998 ) -> Result { 1999 panic!(concat!( 2000 "Unable to load ", 2001 stringify!(create_video_session_khr) 2002 )) 2003 } 2004 let cname = 2005 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateVideoSessionKHR\0"); 2006 let val = _f(cname); 2007 if val.is_null() { 2008 create_video_session_khr 2009 } else { 2010 ::std::mem::transmute(val) 2011 } 2012 }, 2013 destroy_video_session_khr: unsafe { 2014 unsafe extern "system" fn destroy_video_session_khr( 2015 _device: Device, 2016 _video_session: VideoSessionKHR, 2017 _p_allocator: *const AllocationCallbacks, 2018 ) { 2019 panic!(concat!( 2020 "Unable to load ", 2021 stringify!(destroy_video_session_khr) 2022 )) 2023 } 2024 let cname = 2025 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyVideoSessionKHR\0"); 2026 let val = _f(cname); 2027 if val.is_null() { 2028 destroy_video_session_khr 2029 } else { 2030 ::std::mem::transmute(val) 2031 } 2032 }, 2033 get_video_session_memory_requirements_khr: unsafe { 2034 unsafe extern "system" fn get_video_session_memory_requirements_khr( 2035 _device: Device, 2036 _video_session: VideoSessionKHR, 2037 _p_memory_requirements_count: *mut u32, 2038 _p_memory_requirements: *mut VideoSessionMemoryRequirementsKHR, 2039 ) -> Result { 2040 panic!(concat!( 2041 "Unable to load ", 2042 stringify!(get_video_session_memory_requirements_khr) 2043 )) 2044 } 2045 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2046 b"vkGetVideoSessionMemoryRequirementsKHR\0", 2047 ); 2048 let val = _f(cname); 2049 if val.is_null() { 2050 get_video_session_memory_requirements_khr 2051 } else { 2052 ::std::mem::transmute(val) 2053 } 2054 }, 2055 bind_video_session_memory_khr: unsafe { 2056 unsafe extern "system" fn bind_video_session_memory_khr( 2057 _device: Device, 2058 _video_session: VideoSessionKHR, 2059 _bind_session_memory_info_count: u32, 2060 _p_bind_session_memory_infos: *const BindVideoSessionMemoryInfoKHR, 2061 ) -> Result { 2062 panic!(concat!( 2063 "Unable to load ", 2064 stringify!(bind_video_session_memory_khr) 2065 )) 2066 } 2067 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2068 b"vkBindVideoSessionMemoryKHR\0", 2069 ); 2070 let val = _f(cname); 2071 if val.is_null() { 2072 bind_video_session_memory_khr 2073 } else { 2074 ::std::mem::transmute(val) 2075 } 2076 }, 2077 create_video_session_parameters_khr: unsafe { 2078 unsafe extern "system" fn create_video_session_parameters_khr( 2079 _device: Device, 2080 _p_create_info: *const VideoSessionParametersCreateInfoKHR, 2081 _p_allocator: *const AllocationCallbacks, 2082 _p_video_session_parameters: *mut VideoSessionParametersKHR, 2083 ) -> Result { 2084 panic!(concat!( 2085 "Unable to load ", 2086 stringify!(create_video_session_parameters_khr) 2087 )) 2088 } 2089 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2090 b"vkCreateVideoSessionParametersKHR\0", 2091 ); 2092 let val = _f(cname); 2093 if val.is_null() { 2094 create_video_session_parameters_khr 2095 } else { 2096 ::std::mem::transmute(val) 2097 } 2098 }, 2099 update_video_session_parameters_khr: unsafe { 2100 unsafe extern "system" fn update_video_session_parameters_khr( 2101 _device: Device, 2102 _video_session_parameters: VideoSessionParametersKHR, 2103 _p_update_info: *const VideoSessionParametersUpdateInfoKHR, 2104 ) -> Result { 2105 panic!(concat!( 2106 "Unable to load ", 2107 stringify!(update_video_session_parameters_khr) 2108 )) 2109 } 2110 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2111 b"vkUpdateVideoSessionParametersKHR\0", 2112 ); 2113 let val = _f(cname); 2114 if val.is_null() { 2115 update_video_session_parameters_khr 2116 } else { 2117 ::std::mem::transmute(val) 2118 } 2119 }, 2120 destroy_video_session_parameters_khr: unsafe { 2121 unsafe extern "system" fn destroy_video_session_parameters_khr( 2122 _device: Device, 2123 _video_session_parameters: VideoSessionParametersKHR, 2124 _p_allocator: *const AllocationCallbacks, 2125 ) { 2126 panic!(concat!( 2127 "Unable to load ", 2128 stringify!(destroy_video_session_parameters_khr) 2129 )) 2130 } 2131 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2132 b"vkDestroyVideoSessionParametersKHR\0", 2133 ); 2134 let val = _f(cname); 2135 if val.is_null() { 2136 destroy_video_session_parameters_khr 2137 } else { 2138 ::std::mem::transmute(val) 2139 } 2140 }, 2141 cmd_begin_video_coding_khr: unsafe { 2142 unsafe extern "system" fn cmd_begin_video_coding_khr( 2143 _command_buffer: CommandBuffer, 2144 _p_begin_info: *const VideoBeginCodingInfoKHR, 2145 ) { 2146 panic!(concat!( 2147 "Unable to load ", 2148 stringify!(cmd_begin_video_coding_khr) 2149 )) 2150 } 2151 let cname = 2152 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginVideoCodingKHR\0"); 2153 let val = _f(cname); 2154 if val.is_null() { 2155 cmd_begin_video_coding_khr 2156 } else { 2157 ::std::mem::transmute(val) 2158 } 2159 }, 2160 cmd_end_video_coding_khr: unsafe { 2161 unsafe extern "system" fn cmd_end_video_coding_khr( 2162 _command_buffer: CommandBuffer, 2163 _p_end_coding_info: *const VideoEndCodingInfoKHR, 2164 ) { 2165 panic!(concat!( 2166 "Unable to load ", 2167 stringify!(cmd_end_video_coding_khr) 2168 )) 2169 } 2170 let cname = 2171 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndVideoCodingKHR\0"); 2172 let val = _f(cname); 2173 if val.is_null() { 2174 cmd_end_video_coding_khr 2175 } else { 2176 ::std::mem::transmute(val) 2177 } 2178 }, 2179 cmd_control_video_coding_khr: unsafe { 2180 unsafe extern "system" fn cmd_control_video_coding_khr( 2181 _command_buffer: CommandBuffer, 2182 _p_coding_control_info: *const VideoCodingControlInfoKHR, 2183 ) { 2184 panic!(concat!( 2185 "Unable to load ", 2186 stringify!(cmd_control_video_coding_khr) 2187 )) 2188 } 2189 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2190 b"vkCmdControlVideoCodingKHR\0", 2191 ); 2192 let val = _f(cname); 2193 if val.is_null() { 2194 cmd_control_video_coding_khr 2195 } else { 2196 ::std::mem::transmute(val) 2197 } 2198 }, 2199 } 2200 } 2201 } 2202 #[doc = "Generated from 'VK_KHR_video_queue'"] 2203 impl ObjectType { 2204 #[doc = "VkVideoSessionKHR"] 2205 pub const VIDEO_SESSION_KHR: Self = Self(1_000_023_000); 2206 #[doc = "VkVideoSessionParametersKHR"] 2207 pub const VIDEO_SESSION_PARAMETERS_KHR: Self = Self(1_000_023_001); 2208 } 2209 #[doc = "Generated from 'VK_KHR_video_queue'"] 2210 impl QueryResultFlags { 2211 pub const WITH_STATUS_KHR: Self = Self(0b1_0000); 2212 } 2213 #[doc = "Generated from 'VK_KHR_video_queue'"] 2214 impl QueryType { 2215 pub const RESULT_STATUS_ONLY_KHR: Self = Self(1_000_023_000); 2216 } 2217 #[doc = "Generated from 'VK_KHR_video_queue'"] 2218 impl Result { 2219 pub const ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_000); 2220 pub const ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_001); 2221 pub const ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_002); 2222 pub const ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_003); 2223 pub const ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_004); 2224 pub const ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR: Self = Self(-1_000_023_005); 2225 } 2226 #[doc = "Generated from 'VK_KHR_video_queue'"] 2227 impl StructureType { 2228 pub const VIDEO_PROFILE_INFO_KHR: Self = Self(1_000_023_000); 2229 pub const VIDEO_CAPABILITIES_KHR: Self = Self(1_000_023_001); 2230 pub const VIDEO_PICTURE_RESOURCE_INFO_KHR: Self = Self(1_000_023_002); 2231 pub const VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR: Self = Self(1_000_023_003); 2232 pub const BIND_VIDEO_SESSION_MEMORY_INFO_KHR: Self = Self(1_000_023_004); 2233 pub const VIDEO_SESSION_CREATE_INFO_KHR: Self = Self(1_000_023_005); 2234 pub const VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR: Self = Self(1_000_023_006); 2235 pub const VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR: Self = Self(1_000_023_007); 2236 pub const VIDEO_BEGIN_CODING_INFO_KHR: Self = Self(1_000_023_008); 2237 pub const VIDEO_END_CODING_INFO_KHR: Self = Self(1_000_023_009); 2238 pub const VIDEO_CODING_CONTROL_INFO_KHR: Self = Self(1_000_023_010); 2239 pub const VIDEO_REFERENCE_SLOT_INFO_KHR: Self = Self(1_000_023_011); 2240 pub const QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: Self = Self(1_000_023_012); 2241 pub const VIDEO_PROFILE_LIST_INFO_KHR: Self = Self(1_000_023_013); 2242 pub const PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: Self = Self(1_000_023_014); 2243 pub const VIDEO_FORMAT_PROPERTIES_KHR: Self = Self(1_000_023_015); 2244 pub const QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: Self = Self(1_000_023_016); 2245 } 2246 impl KhrVideoDecodeQueueFn { 2247 #[inline] name() -> &'static ::std::ffi::CStr2248 pub const fn name() -> &'static ::std::ffi::CStr { 2249 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_decode_queue\0") } 2250 } 2251 pub const SPEC_VERSION: u32 = 7u32; 2252 } 2253 #[allow(non_camel_case_types)] 2254 pub type PFN_vkCmdDecodeVideoKHR = unsafe extern "system" fn( 2255 command_buffer: CommandBuffer, 2256 p_decode_info: *const VideoDecodeInfoKHR, 2257 ); 2258 #[derive(Clone)] 2259 pub struct KhrVideoDecodeQueueFn { 2260 pub cmd_decode_video_khr: PFN_vkCmdDecodeVideoKHR, 2261 } 2262 unsafe impl Send for KhrVideoDecodeQueueFn {} 2263 unsafe impl Sync for KhrVideoDecodeQueueFn {} 2264 impl KhrVideoDecodeQueueFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2265 pub fn load<F>(mut _f: F) -> Self 2266 where 2267 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2268 { 2269 Self { 2270 cmd_decode_video_khr: unsafe { 2271 unsafe extern "system" fn cmd_decode_video_khr( 2272 _command_buffer: CommandBuffer, 2273 _p_decode_info: *const VideoDecodeInfoKHR, 2274 ) { 2275 panic!(concat!("Unable to load ", stringify!(cmd_decode_video_khr))) 2276 } 2277 let cname = 2278 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDecodeVideoKHR\0"); 2279 let val = _f(cname); 2280 if val.is_null() { 2281 cmd_decode_video_khr 2282 } else { 2283 ::std::mem::transmute(val) 2284 } 2285 }, 2286 } 2287 } 2288 } 2289 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2290 impl AccessFlags2 { 2291 pub const VIDEO_DECODE_READ_KHR: Self = Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000); 2292 pub const VIDEO_DECODE_WRITE_KHR: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000); 2293 } 2294 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2295 impl BufferUsageFlags { 2296 pub const VIDEO_DECODE_SRC_KHR: Self = Self(0b10_0000_0000_0000); 2297 pub const VIDEO_DECODE_DST_KHR: Self = Self(0b100_0000_0000_0000); 2298 } 2299 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2300 impl FormatFeatureFlags { 2301 pub const VIDEO_DECODE_OUTPUT_KHR: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 2302 pub const VIDEO_DECODE_DPB_KHR: Self = Self(0b100_0000_0000_0000_0000_0000_0000); 2303 } 2304 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2305 impl FormatFeatureFlags2 { 2306 pub const VIDEO_DECODE_OUTPUT_KHR: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 2307 pub const VIDEO_DECODE_DPB_KHR: Self = Self(0b100_0000_0000_0000_0000_0000_0000); 2308 } 2309 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2310 impl ImageLayout { 2311 pub const VIDEO_DECODE_DST_KHR: Self = Self(1_000_024_000); 2312 pub const VIDEO_DECODE_SRC_KHR: Self = Self(1_000_024_001); 2313 pub const VIDEO_DECODE_DPB_KHR: Self = Self(1_000_024_002); 2314 } 2315 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2316 impl ImageUsageFlags { 2317 pub const VIDEO_DECODE_DST_KHR: Self = Self(0b100_0000_0000); 2318 pub const VIDEO_DECODE_SRC_KHR: Self = Self(0b1000_0000_0000); 2319 pub const VIDEO_DECODE_DPB_KHR: Self = Self(0b1_0000_0000_0000); 2320 } 2321 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2322 impl PipelineStageFlags2 { 2323 pub const VIDEO_DECODE_KHR: Self = Self(0b100_0000_0000_0000_0000_0000_0000); 2324 } 2325 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2326 impl QueueFlags { 2327 pub const VIDEO_DECODE_KHR: Self = Self(0b10_0000); 2328 } 2329 #[doc = "Generated from 'VK_KHR_video_decode_queue'"] 2330 impl StructureType { 2331 pub const VIDEO_DECODE_INFO_KHR: Self = Self(1_000_024_000); 2332 pub const VIDEO_DECODE_CAPABILITIES_KHR: Self = Self(1_000_024_001); 2333 pub const VIDEO_DECODE_USAGE_INFO_KHR: Self = Self(1_000_024_002); 2334 } 2335 impl AmdGcnShaderFn { 2336 #[inline] name() -> &'static ::std::ffi::CStr2337 pub const fn name() -> &'static ::std::ffi::CStr { 2338 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_gcn_shader\0") } 2339 } 2340 pub const SPEC_VERSION: u32 = 1u32; 2341 } 2342 #[derive(Clone)] 2343 pub struct AmdGcnShaderFn {} 2344 unsafe impl Send for AmdGcnShaderFn {} 2345 unsafe impl Sync for AmdGcnShaderFn {} 2346 impl AmdGcnShaderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2347 pub fn load<F>(mut _f: F) -> Self 2348 where 2349 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2350 { 2351 Self {} 2352 } 2353 } 2354 impl NvDedicatedAllocationFn { 2355 #[inline] name() -> &'static ::std::ffi::CStr2356 pub const fn name() -> &'static ::std::ffi::CStr { 2357 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_dedicated_allocation\0") } 2358 } 2359 pub const SPEC_VERSION: u32 = 1u32; 2360 } 2361 #[derive(Clone)] 2362 pub struct NvDedicatedAllocationFn {} 2363 unsafe impl Send for NvDedicatedAllocationFn {} 2364 unsafe impl Sync for NvDedicatedAllocationFn {} 2365 impl NvDedicatedAllocationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2366 pub fn load<F>(mut _f: F) -> Self 2367 where 2368 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2369 { 2370 Self {} 2371 } 2372 } 2373 #[doc = "Generated from 'VK_NV_dedicated_allocation'"] 2374 impl StructureType { 2375 pub const DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: Self = Self(1_000_026_000); 2376 pub const DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: Self = Self(1_000_026_001); 2377 pub const DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: Self = Self(1_000_026_002); 2378 } 2379 impl ExtExtension28Fn { 2380 #[inline] name() -> &'static ::std::ffi::CStr2381 pub const fn name() -> &'static ::std::ffi::CStr { 2382 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_28\0") } 2383 } 2384 pub const SPEC_VERSION: u32 = 0u32; 2385 } 2386 #[derive(Clone)] 2387 pub struct ExtExtension28Fn {} 2388 unsafe impl Send for ExtExtension28Fn {} 2389 unsafe impl Sync for ExtExtension28Fn {} 2390 impl ExtExtension28Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2391 pub fn load<F>(mut _f: F) -> Self 2392 where 2393 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2394 { 2395 Self {} 2396 } 2397 } 2398 impl ExtTransformFeedbackFn { 2399 #[inline] name() -> &'static ::std::ffi::CStr2400 pub const fn name() -> &'static ::std::ffi::CStr { 2401 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_transform_feedback\0") } 2402 } 2403 pub const SPEC_VERSION: u32 = 1u32; 2404 } 2405 #[allow(non_camel_case_types)] 2406 pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = unsafe extern "system" fn( 2407 command_buffer: CommandBuffer, 2408 first_binding: u32, 2409 binding_count: u32, 2410 p_buffers: *const Buffer, 2411 p_offsets: *const DeviceSize, 2412 p_sizes: *const DeviceSize, 2413 ); 2414 #[allow(non_camel_case_types)] 2415 pub type PFN_vkCmdBeginTransformFeedbackEXT = unsafe extern "system" fn( 2416 command_buffer: CommandBuffer, 2417 first_counter_buffer: u32, 2418 counter_buffer_count: u32, 2419 p_counter_buffers: *const Buffer, 2420 p_counter_buffer_offsets: *const DeviceSize, 2421 ); 2422 #[allow(non_camel_case_types)] 2423 pub type PFN_vkCmdEndTransformFeedbackEXT = unsafe extern "system" fn( 2424 command_buffer: CommandBuffer, 2425 first_counter_buffer: u32, 2426 counter_buffer_count: u32, 2427 p_counter_buffers: *const Buffer, 2428 p_counter_buffer_offsets: *const DeviceSize, 2429 ); 2430 #[allow(non_camel_case_types)] 2431 pub type PFN_vkCmdBeginQueryIndexedEXT = unsafe extern "system" fn( 2432 command_buffer: CommandBuffer, 2433 query_pool: QueryPool, 2434 query: u32, 2435 flags: QueryControlFlags, 2436 index: u32, 2437 ); 2438 #[allow(non_camel_case_types)] 2439 pub type PFN_vkCmdEndQueryIndexedEXT = unsafe extern "system" fn( 2440 command_buffer: CommandBuffer, 2441 query_pool: QueryPool, 2442 query: u32, 2443 index: u32, 2444 ); 2445 #[allow(non_camel_case_types)] 2446 pub type PFN_vkCmdDrawIndirectByteCountEXT = unsafe extern "system" fn( 2447 command_buffer: CommandBuffer, 2448 instance_count: u32, 2449 first_instance: u32, 2450 counter_buffer: Buffer, 2451 counter_buffer_offset: DeviceSize, 2452 counter_offset: u32, 2453 vertex_stride: u32, 2454 ); 2455 #[derive(Clone)] 2456 pub struct ExtTransformFeedbackFn { 2457 pub cmd_bind_transform_feedback_buffers_ext: PFN_vkCmdBindTransformFeedbackBuffersEXT, 2458 pub cmd_begin_transform_feedback_ext: PFN_vkCmdBeginTransformFeedbackEXT, 2459 pub cmd_end_transform_feedback_ext: PFN_vkCmdEndTransformFeedbackEXT, 2460 pub cmd_begin_query_indexed_ext: PFN_vkCmdBeginQueryIndexedEXT, 2461 pub cmd_end_query_indexed_ext: PFN_vkCmdEndQueryIndexedEXT, 2462 pub cmd_draw_indirect_byte_count_ext: PFN_vkCmdDrawIndirectByteCountEXT, 2463 } 2464 unsafe impl Send for ExtTransformFeedbackFn {} 2465 unsafe impl Sync for ExtTransformFeedbackFn {} 2466 impl ExtTransformFeedbackFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2467 pub fn load<F>(mut _f: F) -> Self 2468 where 2469 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2470 { 2471 Self { 2472 cmd_bind_transform_feedback_buffers_ext: unsafe { 2473 unsafe extern "system" fn cmd_bind_transform_feedback_buffers_ext( 2474 _command_buffer: CommandBuffer, 2475 _first_binding: u32, 2476 _binding_count: u32, 2477 _p_buffers: *const Buffer, 2478 _p_offsets: *const DeviceSize, 2479 _p_sizes: *const DeviceSize, 2480 ) { 2481 panic!(concat!( 2482 "Unable to load ", 2483 stringify!(cmd_bind_transform_feedback_buffers_ext) 2484 )) 2485 } 2486 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2487 b"vkCmdBindTransformFeedbackBuffersEXT\0", 2488 ); 2489 let val = _f(cname); 2490 if val.is_null() { 2491 cmd_bind_transform_feedback_buffers_ext 2492 } else { 2493 ::std::mem::transmute(val) 2494 } 2495 }, 2496 cmd_begin_transform_feedback_ext: unsafe { 2497 unsafe extern "system" fn cmd_begin_transform_feedback_ext( 2498 _command_buffer: CommandBuffer, 2499 _first_counter_buffer: u32, 2500 _counter_buffer_count: u32, 2501 _p_counter_buffers: *const Buffer, 2502 _p_counter_buffer_offsets: *const DeviceSize, 2503 ) { 2504 panic!(concat!( 2505 "Unable to load ", 2506 stringify!(cmd_begin_transform_feedback_ext) 2507 )) 2508 } 2509 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2510 b"vkCmdBeginTransformFeedbackEXT\0", 2511 ); 2512 let val = _f(cname); 2513 if val.is_null() { 2514 cmd_begin_transform_feedback_ext 2515 } else { 2516 ::std::mem::transmute(val) 2517 } 2518 }, 2519 cmd_end_transform_feedback_ext: unsafe { 2520 unsafe extern "system" fn cmd_end_transform_feedback_ext( 2521 _command_buffer: CommandBuffer, 2522 _first_counter_buffer: u32, 2523 _counter_buffer_count: u32, 2524 _p_counter_buffers: *const Buffer, 2525 _p_counter_buffer_offsets: *const DeviceSize, 2526 ) { 2527 panic!(concat!( 2528 "Unable to load ", 2529 stringify!(cmd_end_transform_feedback_ext) 2530 )) 2531 } 2532 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2533 b"vkCmdEndTransformFeedbackEXT\0", 2534 ); 2535 let val = _f(cname); 2536 if val.is_null() { 2537 cmd_end_transform_feedback_ext 2538 } else { 2539 ::std::mem::transmute(val) 2540 } 2541 }, 2542 cmd_begin_query_indexed_ext: unsafe { 2543 unsafe extern "system" fn cmd_begin_query_indexed_ext( 2544 _command_buffer: CommandBuffer, 2545 _query_pool: QueryPool, 2546 _query: u32, 2547 _flags: QueryControlFlags, 2548 _index: u32, 2549 ) { 2550 panic!(concat!( 2551 "Unable to load ", 2552 stringify!(cmd_begin_query_indexed_ext) 2553 )) 2554 } 2555 let cname = 2556 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginQueryIndexedEXT\0"); 2557 let val = _f(cname); 2558 if val.is_null() { 2559 cmd_begin_query_indexed_ext 2560 } else { 2561 ::std::mem::transmute(val) 2562 } 2563 }, 2564 cmd_end_query_indexed_ext: unsafe { 2565 unsafe extern "system" fn cmd_end_query_indexed_ext( 2566 _command_buffer: CommandBuffer, 2567 _query_pool: QueryPool, 2568 _query: u32, 2569 _index: u32, 2570 ) { 2571 panic!(concat!( 2572 "Unable to load ", 2573 stringify!(cmd_end_query_indexed_ext) 2574 )) 2575 } 2576 let cname = 2577 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndQueryIndexedEXT\0"); 2578 let val = _f(cname); 2579 if val.is_null() { 2580 cmd_end_query_indexed_ext 2581 } else { 2582 ::std::mem::transmute(val) 2583 } 2584 }, 2585 cmd_draw_indirect_byte_count_ext: unsafe { 2586 unsafe extern "system" fn cmd_draw_indirect_byte_count_ext( 2587 _command_buffer: CommandBuffer, 2588 _instance_count: u32, 2589 _first_instance: u32, 2590 _counter_buffer: Buffer, 2591 _counter_buffer_offset: DeviceSize, 2592 _counter_offset: u32, 2593 _vertex_stride: u32, 2594 ) { 2595 panic!(concat!( 2596 "Unable to load ", 2597 stringify!(cmd_draw_indirect_byte_count_ext) 2598 )) 2599 } 2600 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 2601 b"vkCmdDrawIndirectByteCountEXT\0", 2602 ); 2603 let val = _f(cname); 2604 if val.is_null() { 2605 cmd_draw_indirect_byte_count_ext 2606 } else { 2607 ::std::mem::transmute(val) 2608 } 2609 }, 2610 } 2611 } 2612 } 2613 #[doc = "Generated from 'VK_EXT_transform_feedback'"] 2614 impl AccessFlags { 2615 pub const TRANSFORM_FEEDBACK_WRITE_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 2616 pub const TRANSFORM_FEEDBACK_COUNTER_READ_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000); 2617 pub const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT: Self = 2618 Self(0b1000_0000_0000_0000_0000_0000_0000); 2619 } 2620 #[doc = "Generated from 'VK_EXT_transform_feedback'"] 2621 impl BufferUsageFlags { 2622 pub const TRANSFORM_FEEDBACK_BUFFER_EXT: Self = Self(0b1000_0000_0000); 2623 pub const TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT: Self = Self(0b1_0000_0000_0000); 2624 } 2625 #[doc = "Generated from 'VK_EXT_transform_feedback'"] 2626 impl PipelineStageFlags { 2627 pub const TRANSFORM_FEEDBACK_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 2628 } 2629 #[doc = "Generated from 'VK_EXT_transform_feedback'"] 2630 impl QueryType { 2631 pub const TRANSFORM_FEEDBACK_STREAM_EXT: Self = Self(1_000_028_004); 2632 } 2633 #[doc = "Generated from 'VK_EXT_transform_feedback'"] 2634 impl StructureType { 2635 pub const PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: Self = Self(1_000_028_000); 2636 pub const PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: Self = Self(1_000_028_001); 2637 pub const PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: Self = Self(1_000_028_002); 2638 } 2639 impl NvxBinaryImportFn { 2640 #[inline] name() -> &'static ::std::ffi::CStr2641 pub const fn name() -> &'static ::std::ffi::CStr { 2642 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NVX_binary_import\0") } 2643 } 2644 pub const SPEC_VERSION: u32 = 1u32; 2645 } 2646 #[allow(non_camel_case_types)] 2647 pub type PFN_vkCreateCuModuleNVX = unsafe extern "system" fn( 2648 device: Device, 2649 p_create_info: *const CuModuleCreateInfoNVX, 2650 p_allocator: *const AllocationCallbacks, 2651 p_module: *mut CuModuleNVX, 2652 ) -> Result; 2653 #[allow(non_camel_case_types)] 2654 pub type PFN_vkCreateCuFunctionNVX = unsafe extern "system" fn( 2655 device: Device, 2656 p_create_info: *const CuFunctionCreateInfoNVX, 2657 p_allocator: *const AllocationCallbacks, 2658 p_function: *mut CuFunctionNVX, 2659 ) -> Result; 2660 #[allow(non_camel_case_types)] 2661 pub type PFN_vkDestroyCuModuleNVX = unsafe extern "system" fn( 2662 device: Device, 2663 module: CuModuleNVX, 2664 p_allocator: *const AllocationCallbacks, 2665 ); 2666 #[allow(non_camel_case_types)] 2667 pub type PFN_vkDestroyCuFunctionNVX = unsafe extern "system" fn( 2668 device: Device, 2669 function: CuFunctionNVX, 2670 p_allocator: *const AllocationCallbacks, 2671 ); 2672 #[allow(non_camel_case_types)] 2673 pub type PFN_vkCmdCuLaunchKernelNVX = 2674 unsafe extern "system" fn(command_buffer: CommandBuffer, p_launch_info: *const CuLaunchInfoNVX); 2675 #[derive(Clone)] 2676 pub struct NvxBinaryImportFn { 2677 pub create_cu_module_nvx: PFN_vkCreateCuModuleNVX, 2678 pub create_cu_function_nvx: PFN_vkCreateCuFunctionNVX, 2679 pub destroy_cu_module_nvx: PFN_vkDestroyCuModuleNVX, 2680 pub destroy_cu_function_nvx: PFN_vkDestroyCuFunctionNVX, 2681 pub cmd_cu_launch_kernel_nvx: PFN_vkCmdCuLaunchKernelNVX, 2682 } 2683 unsafe impl Send for NvxBinaryImportFn {} 2684 unsafe impl Sync for NvxBinaryImportFn {} 2685 impl NvxBinaryImportFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2686 pub fn load<F>(mut _f: F) -> Self 2687 where 2688 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2689 { 2690 Self { 2691 create_cu_module_nvx: unsafe { 2692 unsafe extern "system" fn create_cu_module_nvx( 2693 _device: Device, 2694 _p_create_info: *const CuModuleCreateInfoNVX, 2695 _p_allocator: *const AllocationCallbacks, 2696 _p_module: *mut CuModuleNVX, 2697 ) -> Result { 2698 panic!(concat!("Unable to load ", stringify!(create_cu_module_nvx))) 2699 } 2700 let cname = 2701 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateCuModuleNVX\0"); 2702 let val = _f(cname); 2703 if val.is_null() { 2704 create_cu_module_nvx 2705 } else { 2706 ::std::mem::transmute(val) 2707 } 2708 }, 2709 create_cu_function_nvx: unsafe { 2710 unsafe extern "system" fn create_cu_function_nvx( 2711 _device: Device, 2712 _p_create_info: *const CuFunctionCreateInfoNVX, 2713 _p_allocator: *const AllocationCallbacks, 2714 _p_function: *mut CuFunctionNVX, 2715 ) -> Result { 2716 panic!(concat!( 2717 "Unable to load ", 2718 stringify!(create_cu_function_nvx) 2719 )) 2720 } 2721 let cname = 2722 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateCuFunctionNVX\0"); 2723 let val = _f(cname); 2724 if val.is_null() { 2725 create_cu_function_nvx 2726 } else { 2727 ::std::mem::transmute(val) 2728 } 2729 }, 2730 destroy_cu_module_nvx: unsafe { 2731 unsafe extern "system" fn destroy_cu_module_nvx( 2732 _device: Device, 2733 _module: CuModuleNVX, 2734 _p_allocator: *const AllocationCallbacks, 2735 ) { 2736 panic!(concat!( 2737 "Unable to load ", 2738 stringify!(destroy_cu_module_nvx) 2739 )) 2740 } 2741 let cname = 2742 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyCuModuleNVX\0"); 2743 let val = _f(cname); 2744 if val.is_null() { 2745 destroy_cu_module_nvx 2746 } else { 2747 ::std::mem::transmute(val) 2748 } 2749 }, 2750 destroy_cu_function_nvx: unsafe { 2751 unsafe extern "system" fn destroy_cu_function_nvx( 2752 _device: Device, 2753 _function: CuFunctionNVX, 2754 _p_allocator: *const AllocationCallbacks, 2755 ) { 2756 panic!(concat!( 2757 "Unable to load ", 2758 stringify!(destroy_cu_function_nvx) 2759 )) 2760 } 2761 let cname = 2762 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyCuFunctionNVX\0"); 2763 let val = _f(cname); 2764 if val.is_null() { 2765 destroy_cu_function_nvx 2766 } else { 2767 ::std::mem::transmute(val) 2768 } 2769 }, 2770 cmd_cu_launch_kernel_nvx: unsafe { 2771 unsafe extern "system" fn cmd_cu_launch_kernel_nvx( 2772 _command_buffer: CommandBuffer, 2773 _p_launch_info: *const CuLaunchInfoNVX, 2774 ) { 2775 panic!(concat!( 2776 "Unable to load ", 2777 stringify!(cmd_cu_launch_kernel_nvx) 2778 )) 2779 } 2780 let cname = 2781 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCuLaunchKernelNVX\0"); 2782 let val = _f(cname); 2783 if val.is_null() { 2784 cmd_cu_launch_kernel_nvx 2785 } else { 2786 ::std::mem::transmute(val) 2787 } 2788 }, 2789 } 2790 } 2791 } 2792 #[doc = "Generated from 'VK_NVX_binary_import'"] 2793 impl DebugReportObjectTypeEXT { 2794 pub const CU_MODULE_NVX: Self = Self(1_000_029_000); 2795 pub const CU_FUNCTION_NVX: Self = Self(1_000_029_001); 2796 } 2797 #[doc = "Generated from 'VK_NVX_binary_import'"] 2798 impl ObjectType { 2799 pub const CU_MODULE_NVX: Self = Self(1_000_029_000); 2800 pub const CU_FUNCTION_NVX: Self = Self(1_000_029_001); 2801 } 2802 #[doc = "Generated from 'VK_NVX_binary_import'"] 2803 impl StructureType { 2804 pub const CU_MODULE_CREATE_INFO_NVX: Self = Self(1_000_029_000); 2805 pub const CU_FUNCTION_CREATE_INFO_NVX: Self = Self(1_000_029_001); 2806 pub const CU_LAUNCH_INFO_NVX: Self = Self(1_000_029_002); 2807 } 2808 impl NvxImageViewHandleFn { 2809 #[inline] name() -> &'static ::std::ffi::CStr2810 pub const fn name() -> &'static ::std::ffi::CStr { 2811 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NVX_image_view_handle\0") } 2812 } 2813 pub const SPEC_VERSION: u32 = 2u32; 2814 } 2815 #[allow(non_camel_case_types)] 2816 pub type PFN_vkGetImageViewHandleNVX = 2817 unsafe extern "system" fn(device: Device, p_info: *const ImageViewHandleInfoNVX) -> u32; 2818 #[allow(non_camel_case_types)] 2819 pub type PFN_vkGetImageViewAddressNVX = unsafe extern "system" fn( 2820 device: Device, 2821 image_view: ImageView, 2822 p_properties: *mut ImageViewAddressPropertiesNVX, 2823 ) -> Result; 2824 #[derive(Clone)] 2825 pub struct NvxImageViewHandleFn { 2826 pub get_image_view_handle_nvx: PFN_vkGetImageViewHandleNVX, 2827 pub get_image_view_address_nvx: PFN_vkGetImageViewAddressNVX, 2828 } 2829 unsafe impl Send for NvxImageViewHandleFn {} 2830 unsafe impl Sync for NvxImageViewHandleFn {} 2831 impl NvxImageViewHandleFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2832 pub fn load<F>(mut _f: F) -> Self 2833 where 2834 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2835 { 2836 Self { 2837 get_image_view_handle_nvx: unsafe { 2838 unsafe extern "system" fn get_image_view_handle_nvx( 2839 _device: Device, 2840 _p_info: *const ImageViewHandleInfoNVX, 2841 ) -> u32 { 2842 panic!(concat!( 2843 "Unable to load ", 2844 stringify!(get_image_view_handle_nvx) 2845 )) 2846 } 2847 let cname = 2848 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetImageViewHandleNVX\0"); 2849 let val = _f(cname); 2850 if val.is_null() { 2851 get_image_view_handle_nvx 2852 } else { 2853 ::std::mem::transmute(val) 2854 } 2855 }, 2856 get_image_view_address_nvx: unsafe { 2857 unsafe extern "system" fn get_image_view_address_nvx( 2858 _device: Device, 2859 _image_view: ImageView, 2860 _p_properties: *mut ImageViewAddressPropertiesNVX, 2861 ) -> Result { 2862 panic!(concat!( 2863 "Unable to load ", 2864 stringify!(get_image_view_address_nvx) 2865 )) 2866 } 2867 let cname = 2868 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetImageViewAddressNVX\0"); 2869 let val = _f(cname); 2870 if val.is_null() { 2871 get_image_view_address_nvx 2872 } else { 2873 ::std::mem::transmute(val) 2874 } 2875 }, 2876 } 2877 } 2878 } 2879 #[doc = "Generated from 'VK_NVX_image_view_handle'"] 2880 impl StructureType { 2881 pub const IMAGE_VIEW_HANDLE_INFO_NVX: Self = Self(1_000_030_000); 2882 pub const IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: Self = Self(1_000_030_001); 2883 } 2884 impl AmdExtension32Fn { 2885 #[inline] name() -> &'static ::std::ffi::CStr2886 pub const fn name() -> &'static ::std::ffi::CStr { 2887 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_32\0") } 2888 } 2889 pub const SPEC_VERSION: u32 = 0u32; 2890 } 2891 #[derive(Clone)] 2892 pub struct AmdExtension32Fn {} 2893 unsafe impl Send for AmdExtension32Fn {} 2894 unsafe impl Sync for AmdExtension32Fn {} 2895 impl AmdExtension32Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2896 pub fn load<F>(mut _f: F) -> Self 2897 where 2898 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2899 { 2900 Self {} 2901 } 2902 } 2903 impl AmdExtension33Fn { 2904 #[inline] name() -> &'static ::std::ffi::CStr2905 pub const fn name() -> &'static ::std::ffi::CStr { 2906 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_33\0") } 2907 } 2908 pub const SPEC_VERSION: u32 = 0u32; 2909 } 2910 #[derive(Clone)] 2911 pub struct AmdExtension33Fn {} 2912 unsafe impl Send for AmdExtension33Fn {} 2913 unsafe impl Sync for AmdExtension33Fn {} 2914 impl AmdExtension33Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2915 pub fn load<F>(mut _f: F) -> Self 2916 where 2917 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2918 { 2919 Self {} 2920 } 2921 } 2922 impl AmdDrawIndirectCountFn { 2923 #[inline] name() -> &'static ::std::ffi::CStr2924 pub const fn name() -> &'static ::std::ffi::CStr { 2925 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_draw_indirect_count\0") } 2926 } 2927 pub const SPEC_VERSION: u32 = 2u32; 2928 } 2929 #[allow(non_camel_case_types)] 2930 pub type PFN_vkCmdDrawIndirectCount = unsafe extern "system" fn( 2931 command_buffer: CommandBuffer, 2932 buffer: Buffer, 2933 offset: DeviceSize, 2934 count_buffer: Buffer, 2935 count_buffer_offset: DeviceSize, 2936 max_draw_count: u32, 2937 stride: u32, 2938 ); 2939 #[allow(non_camel_case_types)] 2940 pub type PFN_vkCmdDrawIndexedIndirectCount = unsafe extern "system" fn( 2941 command_buffer: CommandBuffer, 2942 buffer: Buffer, 2943 offset: DeviceSize, 2944 count_buffer: Buffer, 2945 count_buffer_offset: DeviceSize, 2946 max_draw_count: u32, 2947 stride: u32, 2948 ); 2949 #[derive(Clone)] 2950 pub struct AmdDrawIndirectCountFn { 2951 pub cmd_draw_indirect_count_amd: PFN_vkCmdDrawIndirectCount, 2952 pub cmd_draw_indexed_indirect_count_amd: PFN_vkCmdDrawIndexedIndirectCount, 2953 } 2954 unsafe impl Send for AmdDrawIndirectCountFn {} 2955 unsafe impl Sync for AmdDrawIndirectCountFn {} 2956 impl AmdDrawIndirectCountFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,2957 pub fn load<F>(mut _f: F) -> Self 2958 where 2959 F: FnMut(&::std::ffi::CStr) -> *const c_void, 2960 { 2961 Self { 2962 cmd_draw_indirect_count_amd: unsafe { 2963 unsafe extern "system" fn cmd_draw_indirect_count_amd( 2964 _command_buffer: CommandBuffer, 2965 _buffer: Buffer, 2966 _offset: DeviceSize, 2967 _count_buffer: Buffer, 2968 _count_buffer_offset: DeviceSize, 2969 _max_draw_count: u32, 2970 _stride: u32, 2971 ) { 2972 panic!(concat!( 2973 "Unable to load ", 2974 stringify!(cmd_draw_indirect_count_amd) 2975 )) 2976 } 2977 let cname = 2978 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndirectCountAMD\0"); 2979 let val = _f(cname); 2980 if val.is_null() { 2981 cmd_draw_indirect_count_amd 2982 } else { 2983 ::std::mem::transmute(val) 2984 } 2985 }, 2986 cmd_draw_indexed_indirect_count_amd: unsafe { 2987 unsafe extern "system" fn cmd_draw_indexed_indirect_count_amd( 2988 _command_buffer: CommandBuffer, 2989 _buffer: Buffer, 2990 _offset: DeviceSize, 2991 _count_buffer: Buffer, 2992 _count_buffer_offset: DeviceSize, 2993 _max_draw_count: u32, 2994 _stride: u32, 2995 ) { 2996 panic!(concat!( 2997 "Unable to load ", 2998 stringify!(cmd_draw_indexed_indirect_count_amd) 2999 )) 3000 } 3001 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3002 b"vkCmdDrawIndexedIndirectCountAMD\0", 3003 ); 3004 let val = _f(cname); 3005 if val.is_null() { 3006 cmd_draw_indexed_indirect_count_amd 3007 } else { 3008 ::std::mem::transmute(val) 3009 } 3010 }, 3011 } 3012 } 3013 } 3014 impl AmdExtension35Fn { 3015 #[inline] name() -> &'static ::std::ffi::CStr3016 pub const fn name() -> &'static ::std::ffi::CStr { 3017 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_35\0") } 3018 } 3019 pub const SPEC_VERSION: u32 = 0u32; 3020 } 3021 #[derive(Clone)] 3022 pub struct AmdExtension35Fn {} 3023 unsafe impl Send for AmdExtension35Fn {} 3024 unsafe impl Sync for AmdExtension35Fn {} 3025 impl AmdExtension35Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3026 pub fn load<F>(mut _f: F) -> Self 3027 where 3028 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3029 { 3030 Self {} 3031 } 3032 } 3033 impl AmdNegativeViewportHeightFn { 3034 #[inline] name() -> &'static ::std::ffi::CStr3035 pub const fn name() -> &'static ::std::ffi::CStr { 3036 unsafe { 3037 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_negative_viewport_height\0") 3038 } 3039 } 3040 pub const SPEC_VERSION: u32 = 1u32; 3041 } 3042 #[derive(Clone)] 3043 pub struct AmdNegativeViewportHeightFn {} 3044 unsafe impl Send for AmdNegativeViewportHeightFn {} 3045 unsafe impl Sync for AmdNegativeViewportHeightFn {} 3046 impl AmdNegativeViewportHeightFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3047 pub fn load<F>(mut _f: F) -> Self 3048 where 3049 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3050 { 3051 Self {} 3052 } 3053 } 3054 impl AmdGpuShaderHalfFloatFn { 3055 #[inline] name() -> &'static ::std::ffi::CStr3056 pub const fn name() -> &'static ::std::ffi::CStr { 3057 unsafe { 3058 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_gpu_shader_half_float\0") 3059 } 3060 } 3061 pub const SPEC_VERSION: u32 = 2u32; 3062 } 3063 #[derive(Clone)] 3064 pub struct AmdGpuShaderHalfFloatFn {} 3065 unsafe impl Send for AmdGpuShaderHalfFloatFn {} 3066 unsafe impl Sync for AmdGpuShaderHalfFloatFn {} 3067 impl AmdGpuShaderHalfFloatFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3068 pub fn load<F>(mut _f: F) -> Self 3069 where 3070 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3071 { 3072 Self {} 3073 } 3074 } 3075 impl AmdShaderBallotFn { 3076 #[inline] name() -> &'static ::std::ffi::CStr3077 pub const fn name() -> &'static ::std::ffi::CStr { 3078 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_ballot\0") } 3079 } 3080 pub const SPEC_VERSION: u32 = 1u32; 3081 } 3082 #[derive(Clone)] 3083 pub struct AmdShaderBallotFn {} 3084 unsafe impl Send for AmdShaderBallotFn {} 3085 unsafe impl Sync for AmdShaderBallotFn {} 3086 impl AmdShaderBallotFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3087 pub fn load<F>(mut _f: F) -> Self 3088 where 3089 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3090 { 3091 Self {} 3092 } 3093 } 3094 impl ExtVideoEncodeH264Fn { 3095 #[inline] name() -> &'static ::std::ffi::CStr3096 pub const fn name() -> &'static ::std::ffi::CStr { 3097 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_encode_h264\0") } 3098 } 3099 pub const SPEC_VERSION: u32 = 10u32; 3100 } 3101 #[derive(Clone)] 3102 pub struct ExtVideoEncodeH264Fn {} 3103 unsafe impl Send for ExtVideoEncodeH264Fn {} 3104 unsafe impl Sync for ExtVideoEncodeH264Fn {} 3105 impl ExtVideoEncodeH264Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3106 pub fn load<F>(mut _f: F) -> Self 3107 where 3108 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3109 { 3110 Self {} 3111 } 3112 } 3113 #[doc = "Generated from 'VK_EXT_video_encode_h264'"] 3114 impl StructureType { 3115 pub const VIDEO_ENCODE_H264_CAPABILITIES_EXT: Self = Self(1_000_038_000); 3116 pub const VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: Self = Self(1_000_038_001); 3117 pub const VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_038_002); 3118 pub const VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: Self = Self(1_000_038_003); 3119 pub const VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: Self = Self(1_000_038_004); 3120 pub const VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT: Self = Self(1_000_038_005); 3121 pub const VIDEO_ENCODE_H264_PROFILE_INFO_EXT: Self = Self(1_000_038_007); 3122 pub const VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: Self = Self(1_000_038_008); 3123 pub const VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: Self = Self(1_000_038_009); 3124 } 3125 #[doc = "Generated from 'VK_EXT_video_encode_h264'"] 3126 impl VideoCodecOperationFlagsKHR { 3127 pub const ENCODE_H264_EXT: Self = Self(0b1_0000_0000_0000_0000); 3128 } 3129 impl ExtVideoEncodeH265Fn { 3130 #[inline] name() -> &'static ::std::ffi::CStr3131 pub const fn name() -> &'static ::std::ffi::CStr { 3132 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_encode_h265\0") } 3133 } 3134 pub const SPEC_VERSION: u32 = 10u32; 3135 } 3136 #[derive(Clone)] 3137 pub struct ExtVideoEncodeH265Fn {} 3138 unsafe impl Send for ExtVideoEncodeH265Fn {} 3139 unsafe impl Sync for ExtVideoEncodeH265Fn {} 3140 impl ExtVideoEncodeH265Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3141 pub fn load<F>(mut _f: F) -> Self 3142 where 3143 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3144 { 3145 Self {} 3146 } 3147 } 3148 #[doc = "Generated from 'VK_EXT_video_encode_h265'"] 3149 impl StructureType { 3150 pub const VIDEO_ENCODE_H265_CAPABILITIES_EXT: Self = Self(1_000_039_000); 3151 pub const VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: Self = Self(1_000_039_001); 3152 pub const VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_039_002); 3153 pub const VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: Self = Self(1_000_039_003); 3154 pub const VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: Self = Self(1_000_039_004); 3155 pub const VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT: Self = Self(1_000_039_005); 3156 pub const VIDEO_ENCODE_H265_PROFILE_INFO_EXT: Self = Self(1_000_039_007); 3157 pub const VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: Self = Self(1_000_039_009); 3158 pub const VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: Self = Self(1_000_039_010); 3159 } 3160 #[doc = "Generated from 'VK_EXT_video_encode_h265'"] 3161 impl VideoCodecOperationFlagsKHR { 3162 pub const ENCODE_H265_EXT: Self = Self(0b10_0000_0000_0000_0000); 3163 } 3164 impl KhrVideoDecodeH264Fn { 3165 #[inline] name() -> &'static ::std::ffi::CStr3166 pub const fn name() -> &'static ::std::ffi::CStr { 3167 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_decode_h264\0") } 3168 } 3169 pub const SPEC_VERSION: u32 = 8u32; 3170 } 3171 #[derive(Clone)] 3172 pub struct KhrVideoDecodeH264Fn {} 3173 unsafe impl Send for KhrVideoDecodeH264Fn {} 3174 unsafe impl Sync for KhrVideoDecodeH264Fn {} 3175 impl KhrVideoDecodeH264Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3176 pub fn load<F>(mut _f: F) -> Self 3177 where 3178 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3179 { 3180 Self {} 3181 } 3182 } 3183 #[doc = "Generated from 'VK_KHR_video_decode_h264'"] 3184 impl StructureType { 3185 pub const VIDEO_DECODE_H264_CAPABILITIES_KHR: Self = Self(1_000_040_000); 3186 pub const VIDEO_DECODE_H264_PICTURE_INFO_KHR: Self = Self(1_000_040_001); 3187 pub const VIDEO_DECODE_H264_PROFILE_INFO_KHR: Self = Self(1_000_040_003); 3188 pub const VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: Self = Self(1_000_040_004); 3189 pub const VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: Self = Self(1_000_040_005); 3190 pub const VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: Self = Self(1_000_040_006); 3191 } 3192 #[doc = "Generated from 'VK_KHR_video_decode_h264'"] 3193 impl VideoCodecOperationFlagsKHR { 3194 pub const DECODE_H264: Self = Self(0b1); 3195 } 3196 impl AmdTextureGatherBiasLodFn { 3197 #[inline] name() -> &'static ::std::ffi::CStr3198 pub const fn name() -> &'static ::std::ffi::CStr { 3199 unsafe { 3200 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_texture_gather_bias_lod\0") 3201 } 3202 } 3203 pub const SPEC_VERSION: u32 = 1u32; 3204 } 3205 #[derive(Clone)] 3206 pub struct AmdTextureGatherBiasLodFn {} 3207 unsafe impl Send for AmdTextureGatherBiasLodFn {} 3208 unsafe impl Sync for AmdTextureGatherBiasLodFn {} 3209 impl AmdTextureGatherBiasLodFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3210 pub fn load<F>(mut _f: F) -> Self 3211 where 3212 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3213 { 3214 Self {} 3215 } 3216 } 3217 #[doc = "Generated from 'VK_AMD_texture_gather_bias_lod'"] 3218 impl StructureType { 3219 pub const TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: Self = Self(1_000_041_000); 3220 } 3221 impl AmdShaderInfoFn { 3222 #[inline] name() -> &'static ::std::ffi::CStr3223 pub const fn name() -> &'static ::std::ffi::CStr { 3224 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_info\0") } 3225 } 3226 pub const SPEC_VERSION: u32 = 1u32; 3227 } 3228 #[allow(non_camel_case_types)] 3229 pub type PFN_vkGetShaderInfoAMD = unsafe extern "system" fn( 3230 device: Device, 3231 pipeline: Pipeline, 3232 shader_stage: ShaderStageFlags, 3233 info_type: ShaderInfoTypeAMD, 3234 p_info_size: *mut usize, 3235 p_info: *mut c_void, 3236 ) -> Result; 3237 #[derive(Clone)] 3238 pub struct AmdShaderInfoFn { 3239 pub get_shader_info_amd: PFN_vkGetShaderInfoAMD, 3240 } 3241 unsafe impl Send for AmdShaderInfoFn {} 3242 unsafe impl Sync for AmdShaderInfoFn {} 3243 impl AmdShaderInfoFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3244 pub fn load<F>(mut _f: F) -> Self 3245 where 3246 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3247 { 3248 Self { 3249 get_shader_info_amd: unsafe { 3250 unsafe extern "system" fn get_shader_info_amd( 3251 _device: Device, 3252 _pipeline: Pipeline, 3253 _shader_stage: ShaderStageFlags, 3254 _info_type: ShaderInfoTypeAMD, 3255 _p_info_size: *mut usize, 3256 _p_info: *mut c_void, 3257 ) -> Result { 3258 panic!(concat!("Unable to load ", stringify!(get_shader_info_amd))) 3259 } 3260 let cname = 3261 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetShaderInfoAMD\0"); 3262 let val = _f(cname); 3263 if val.is_null() { 3264 get_shader_info_amd 3265 } else { 3266 ::std::mem::transmute(val) 3267 } 3268 }, 3269 } 3270 } 3271 } 3272 impl AmdExtension44Fn { 3273 #[inline] name() -> &'static ::std::ffi::CStr3274 pub const fn name() -> &'static ::std::ffi::CStr { 3275 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_44\0") } 3276 } 3277 pub const SPEC_VERSION: u32 = 0u32; 3278 } 3279 #[derive(Clone)] 3280 pub struct AmdExtension44Fn {} 3281 unsafe impl Send for AmdExtension44Fn {} 3282 unsafe impl Sync for AmdExtension44Fn {} 3283 impl AmdExtension44Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3284 pub fn load<F>(mut _f: F) -> Self 3285 where 3286 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3287 { 3288 Self {} 3289 } 3290 } 3291 impl KhrDynamicRenderingFn { 3292 #[inline] name() -> &'static ::std::ffi::CStr3293 pub const fn name() -> &'static ::std::ffi::CStr { 3294 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_dynamic_rendering\0") } 3295 } 3296 pub const SPEC_VERSION: u32 = 1u32; 3297 } 3298 #[allow(non_camel_case_types)] 3299 pub type PFN_vkCmdBeginRendering = unsafe extern "system" fn( 3300 command_buffer: CommandBuffer, 3301 p_rendering_info: *const RenderingInfo, 3302 ); 3303 #[allow(non_camel_case_types)] 3304 pub type PFN_vkCmdEndRendering = unsafe extern "system" fn(command_buffer: CommandBuffer); 3305 #[derive(Clone)] 3306 pub struct KhrDynamicRenderingFn { 3307 pub cmd_begin_rendering_khr: PFN_vkCmdBeginRendering, 3308 pub cmd_end_rendering_khr: PFN_vkCmdEndRendering, 3309 } 3310 unsafe impl Send for KhrDynamicRenderingFn {} 3311 unsafe impl Sync for KhrDynamicRenderingFn {} 3312 impl KhrDynamicRenderingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3313 pub fn load<F>(mut _f: F) -> Self 3314 where 3315 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3316 { 3317 Self { 3318 cmd_begin_rendering_khr: unsafe { 3319 unsafe extern "system" fn cmd_begin_rendering_khr( 3320 _command_buffer: CommandBuffer, 3321 _p_rendering_info: *const RenderingInfo, 3322 ) { 3323 panic!(concat!( 3324 "Unable to load ", 3325 stringify!(cmd_begin_rendering_khr) 3326 )) 3327 } 3328 let cname = 3329 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginRenderingKHR\0"); 3330 let val = _f(cname); 3331 if val.is_null() { 3332 cmd_begin_rendering_khr 3333 } else { 3334 ::std::mem::transmute(val) 3335 } 3336 }, 3337 cmd_end_rendering_khr: unsafe { 3338 unsafe extern "system" fn cmd_end_rendering_khr(_command_buffer: CommandBuffer) { 3339 panic!(concat!( 3340 "Unable to load ", 3341 stringify!(cmd_end_rendering_khr) 3342 )) 3343 } 3344 let cname = 3345 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndRenderingKHR\0"); 3346 let val = _f(cname); 3347 if val.is_null() { 3348 cmd_end_rendering_khr 3349 } else { 3350 ::std::mem::transmute(val) 3351 } 3352 }, 3353 } 3354 } 3355 } 3356 #[doc = "Generated from 'VK_KHR_dynamic_rendering'"] 3357 impl AttachmentStoreOp { 3358 pub const NONE_KHR: Self = Self::NONE; 3359 } 3360 #[doc = "Generated from 'VK_KHR_dynamic_rendering'"] 3361 impl PipelineCreateFlags { 3362 pub const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = 3363 Self(0b10_0000_0000_0000_0000_0000); 3364 pub const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT: Self = 3365 Self(0b100_0000_0000_0000_0000_0000); 3366 } 3367 #[doc = "Generated from 'VK_KHR_dynamic_rendering'"] 3368 impl StructureType { 3369 pub const RENDERING_INFO_KHR: Self = Self::RENDERING_INFO; 3370 pub const RENDERING_ATTACHMENT_INFO_KHR: Self = Self::RENDERING_ATTACHMENT_INFO; 3371 pub const PIPELINE_RENDERING_CREATE_INFO_KHR: Self = Self::PIPELINE_RENDERING_CREATE_INFO; 3372 pub const PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: Self = 3373 Self::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES; 3374 pub const COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: Self = 3375 Self::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO; 3376 pub const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: Self = Self(1_000_044_006); 3377 pub const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: Self = Self(1_000_044_007); 3378 pub const ATTACHMENT_SAMPLE_COUNT_INFO_AMD: Self = Self(1_000_044_008); 3379 pub const ATTACHMENT_SAMPLE_COUNT_INFO_NV: Self = Self::ATTACHMENT_SAMPLE_COUNT_INFO_AMD; 3380 pub const MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: Self = Self(1_000_044_009); 3381 } 3382 impl AmdExtension46Fn { 3383 #[inline] name() -> &'static ::std::ffi::CStr3384 pub const fn name() -> &'static ::std::ffi::CStr { 3385 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_46\0") } 3386 } 3387 pub const SPEC_VERSION: u32 = 0u32; 3388 } 3389 #[derive(Clone)] 3390 pub struct AmdExtension46Fn {} 3391 unsafe impl Send for AmdExtension46Fn {} 3392 unsafe impl Sync for AmdExtension46Fn {} 3393 impl AmdExtension46Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3394 pub fn load<F>(mut _f: F) -> Self 3395 where 3396 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3397 { 3398 Self {} 3399 } 3400 } 3401 impl AmdShaderImageLoadStoreLodFn { 3402 #[inline] name() -> &'static ::std::ffi::CStr3403 pub const fn name() -> &'static ::std::ffi::CStr { 3404 unsafe { 3405 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_image_load_store_lod\0") 3406 } 3407 } 3408 pub const SPEC_VERSION: u32 = 1u32; 3409 } 3410 #[derive(Clone)] 3411 pub struct AmdShaderImageLoadStoreLodFn {} 3412 unsafe impl Send for AmdShaderImageLoadStoreLodFn {} 3413 unsafe impl Sync for AmdShaderImageLoadStoreLodFn {} 3414 impl AmdShaderImageLoadStoreLodFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3415 pub fn load<F>(mut _f: F) -> Self 3416 where 3417 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3418 { 3419 Self {} 3420 } 3421 } 3422 impl NvxExtension48Fn { 3423 #[inline] name() -> &'static ::std::ffi::CStr3424 pub const fn name() -> &'static ::std::ffi::CStr { 3425 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NVX_extension_48\0") } 3426 } 3427 pub const SPEC_VERSION: u32 = 0u32; 3428 } 3429 #[derive(Clone)] 3430 pub struct NvxExtension48Fn {} 3431 unsafe impl Send for NvxExtension48Fn {} 3432 unsafe impl Sync for NvxExtension48Fn {} 3433 impl NvxExtension48Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3434 pub fn load<F>(mut _f: F) -> Self 3435 where 3436 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3437 { 3438 Self {} 3439 } 3440 } 3441 impl GoogleExtension49Fn { 3442 #[inline] name() -> &'static ::std::ffi::CStr3443 pub const fn name() -> &'static ::std::ffi::CStr { 3444 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_49\0") } 3445 } 3446 pub const SPEC_VERSION: u32 = 0u32; 3447 } 3448 #[derive(Clone)] 3449 pub struct GoogleExtension49Fn {} 3450 unsafe impl Send for GoogleExtension49Fn {} 3451 unsafe impl Sync for GoogleExtension49Fn {} 3452 impl GoogleExtension49Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3453 pub fn load<F>(mut _f: F) -> Self 3454 where 3455 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3456 { 3457 Self {} 3458 } 3459 } 3460 impl GgpStreamDescriptorSurfaceFn { 3461 #[inline] name() -> &'static ::std::ffi::CStr3462 pub const fn name() -> &'static ::std::ffi::CStr { 3463 unsafe { 3464 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_stream_descriptor_surface\0") 3465 } 3466 } 3467 pub const SPEC_VERSION: u32 = 1u32; 3468 } 3469 #[allow(non_camel_case_types)] 3470 pub type PFN_vkCreateStreamDescriptorSurfaceGGP = unsafe extern "system" fn( 3471 instance: Instance, 3472 p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, 3473 p_allocator: *const AllocationCallbacks, 3474 p_surface: *mut SurfaceKHR, 3475 ) -> Result; 3476 #[derive(Clone)] 3477 pub struct GgpStreamDescriptorSurfaceFn { 3478 pub create_stream_descriptor_surface_ggp: PFN_vkCreateStreamDescriptorSurfaceGGP, 3479 } 3480 unsafe impl Send for GgpStreamDescriptorSurfaceFn {} 3481 unsafe impl Sync for GgpStreamDescriptorSurfaceFn {} 3482 impl GgpStreamDescriptorSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3483 pub fn load<F>(mut _f: F) -> Self 3484 where 3485 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3486 { 3487 Self { 3488 create_stream_descriptor_surface_ggp: unsafe { 3489 unsafe extern "system" fn create_stream_descriptor_surface_ggp( 3490 _instance: Instance, 3491 _p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, 3492 _p_allocator: *const AllocationCallbacks, 3493 _p_surface: *mut SurfaceKHR, 3494 ) -> Result { 3495 panic!(concat!( 3496 "Unable to load ", 3497 stringify!(create_stream_descriptor_surface_ggp) 3498 )) 3499 } 3500 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3501 b"vkCreateStreamDescriptorSurfaceGGP\0", 3502 ); 3503 let val = _f(cname); 3504 if val.is_null() { 3505 create_stream_descriptor_surface_ggp 3506 } else { 3507 ::std::mem::transmute(val) 3508 } 3509 }, 3510 } 3511 } 3512 } 3513 #[doc = "Generated from 'VK_GGP_stream_descriptor_surface'"] 3514 impl StructureType { 3515 pub const STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: Self = Self(1_000_049_000); 3516 } 3517 impl NvCornerSampledImageFn { 3518 #[inline] name() -> &'static ::std::ffi::CStr3519 pub const fn name() -> &'static ::std::ffi::CStr { 3520 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_corner_sampled_image\0") } 3521 } 3522 pub const SPEC_VERSION: u32 = 2u32; 3523 } 3524 #[derive(Clone)] 3525 pub struct NvCornerSampledImageFn {} 3526 unsafe impl Send for NvCornerSampledImageFn {} 3527 unsafe impl Sync for NvCornerSampledImageFn {} 3528 impl NvCornerSampledImageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3529 pub fn load<F>(mut _f: F) -> Self 3530 where 3531 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3532 { 3533 Self {} 3534 } 3535 } 3536 #[doc = "Generated from 'VK_NV_corner_sampled_image'"] 3537 impl ImageCreateFlags { 3538 pub const CORNER_SAMPLED_NV: Self = Self(0b10_0000_0000_0000); 3539 } 3540 #[doc = "Generated from 'VK_NV_corner_sampled_image'"] 3541 impl StructureType { 3542 pub const PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: Self = Self(1_000_050_000); 3543 } 3544 impl NvExtension53Fn { 3545 #[inline] name() -> &'static ::std::ffi::CStr3546 pub const fn name() -> &'static ::std::ffi::CStr { 3547 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_53\0") } 3548 } 3549 pub const SPEC_VERSION: u32 = 0u32; 3550 } 3551 #[derive(Clone)] 3552 pub struct NvExtension53Fn {} 3553 unsafe impl Send for NvExtension53Fn {} 3554 unsafe impl Sync for NvExtension53Fn {} 3555 impl NvExtension53Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3556 pub fn load<F>(mut _f: F) -> Self 3557 where 3558 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3559 { 3560 Self {} 3561 } 3562 } 3563 impl KhrMultiviewFn { 3564 #[inline] name() -> &'static ::std::ffi::CStr3565 pub const fn name() -> &'static ::std::ffi::CStr { 3566 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_multiview\0") } 3567 } 3568 pub const SPEC_VERSION: u32 = 1u32; 3569 } 3570 #[derive(Clone)] 3571 pub struct KhrMultiviewFn {} 3572 unsafe impl Send for KhrMultiviewFn {} 3573 unsafe impl Sync for KhrMultiviewFn {} 3574 impl KhrMultiviewFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3575 pub fn load<F>(mut _f: F) -> Self 3576 where 3577 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3578 { 3579 Self {} 3580 } 3581 } 3582 #[doc = "Generated from 'VK_KHR_multiview'"] 3583 impl DependencyFlags { 3584 pub const VIEW_LOCAL_KHR: Self = Self::VIEW_LOCAL; 3585 } 3586 #[doc = "Generated from 'VK_KHR_multiview'"] 3587 impl StructureType { 3588 pub const RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR: Self = Self::RENDER_PASS_MULTIVIEW_CREATE_INFO; 3589 pub const PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR: Self = 3590 Self::PHYSICAL_DEVICE_MULTIVIEW_FEATURES; 3591 pub const PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR: Self = 3592 Self::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; 3593 } 3594 impl ImgFormatPvrtcFn { 3595 #[inline] name() -> &'static ::std::ffi::CStr3596 pub const fn name() -> &'static ::std::ffi::CStr { 3597 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_format_pvrtc\0") } 3598 } 3599 pub const SPEC_VERSION: u32 = 1u32; 3600 } 3601 #[derive(Clone)] 3602 pub struct ImgFormatPvrtcFn {} 3603 unsafe impl Send for ImgFormatPvrtcFn {} 3604 unsafe impl Sync for ImgFormatPvrtcFn {} 3605 impl ImgFormatPvrtcFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3606 pub fn load<F>(mut _f: F) -> Self 3607 where 3608 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3609 { 3610 Self {} 3611 } 3612 } 3613 #[doc = "Generated from 'VK_IMG_format_pvrtc'"] 3614 impl Format { 3615 pub const PVRTC1_2BPP_UNORM_BLOCK_IMG: Self = Self(1_000_054_000); 3616 pub const PVRTC1_4BPP_UNORM_BLOCK_IMG: Self = Self(1_000_054_001); 3617 pub const PVRTC2_2BPP_UNORM_BLOCK_IMG: Self = Self(1_000_054_002); 3618 pub const PVRTC2_4BPP_UNORM_BLOCK_IMG: Self = Self(1_000_054_003); 3619 pub const PVRTC1_2BPP_SRGB_BLOCK_IMG: Self = Self(1_000_054_004); 3620 pub const PVRTC1_4BPP_SRGB_BLOCK_IMG: Self = Self(1_000_054_005); 3621 pub const PVRTC2_2BPP_SRGB_BLOCK_IMG: Self = Self(1_000_054_006); 3622 pub const PVRTC2_4BPP_SRGB_BLOCK_IMG: Self = Self(1_000_054_007); 3623 } 3624 impl NvExternalMemoryCapabilitiesFn { 3625 #[inline] name() -> &'static ::std::ffi::CStr3626 pub const fn name() -> &'static ::std::ffi::CStr { 3627 unsafe { 3628 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_external_memory_capabilities\0") 3629 } 3630 } 3631 pub const SPEC_VERSION: u32 = 1u32; 3632 } 3633 #[allow(non_camel_case_types)] 3634 pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 3635 unsafe extern "system" fn( 3636 physical_device: PhysicalDevice, 3637 format: Format, 3638 ty: ImageType, 3639 tiling: ImageTiling, 3640 usage: ImageUsageFlags, 3641 flags: ImageCreateFlags, 3642 external_handle_type: ExternalMemoryHandleTypeFlagsNV, 3643 p_external_image_format_properties: *mut ExternalImageFormatPropertiesNV, 3644 ) -> Result; 3645 #[derive(Clone)] 3646 pub struct NvExternalMemoryCapabilitiesFn { 3647 pub get_physical_device_external_image_format_properties_nv: 3648 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV, 3649 } 3650 unsafe impl Send for NvExternalMemoryCapabilitiesFn {} 3651 unsafe impl Sync for NvExternalMemoryCapabilitiesFn {} 3652 impl NvExternalMemoryCapabilitiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3653 pub fn load<F>(mut _f: F) -> Self 3654 where 3655 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3656 { 3657 Self { 3658 get_physical_device_external_image_format_properties_nv: unsafe { 3659 unsafe extern "system" fn get_physical_device_external_image_format_properties_nv( 3660 _physical_device: PhysicalDevice, 3661 _format: Format, 3662 _ty: ImageType, 3663 _tiling: ImageTiling, 3664 _usage: ImageUsageFlags, 3665 _flags: ImageCreateFlags, 3666 _external_handle_type: ExternalMemoryHandleTypeFlagsNV, 3667 _p_external_image_format_properties: *mut ExternalImageFormatPropertiesNV, 3668 ) -> Result { 3669 panic!(concat!( 3670 "Unable to load ", 3671 stringify!(get_physical_device_external_image_format_properties_nv) 3672 )) 3673 } 3674 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3675 b"vkGetPhysicalDeviceExternalImageFormatPropertiesNV\0", 3676 ); 3677 let val = _f(cname); 3678 if val.is_null() { 3679 get_physical_device_external_image_format_properties_nv 3680 } else { 3681 ::std::mem::transmute(val) 3682 } 3683 }, 3684 } 3685 } 3686 } 3687 impl NvExternalMemoryFn { 3688 #[inline] name() -> &'static ::std::ffi::CStr3689 pub const fn name() -> &'static ::std::ffi::CStr { 3690 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_external_memory\0") } 3691 } 3692 pub const SPEC_VERSION: u32 = 1u32; 3693 } 3694 #[derive(Clone)] 3695 pub struct NvExternalMemoryFn {} 3696 unsafe impl Send for NvExternalMemoryFn {} 3697 unsafe impl Sync for NvExternalMemoryFn {} 3698 impl NvExternalMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3699 pub fn load<F>(mut _f: F) -> Self 3700 where 3701 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3702 { 3703 Self {} 3704 } 3705 } 3706 #[doc = "Generated from 'VK_NV_external_memory'"] 3707 impl StructureType { 3708 pub const EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: Self = Self(1_000_056_000); 3709 pub const EXPORT_MEMORY_ALLOCATE_INFO_NV: Self = Self(1_000_056_001); 3710 } 3711 impl NvExternalMemoryWin32Fn { 3712 #[inline] name() -> &'static ::std::ffi::CStr3713 pub const fn name() -> &'static ::std::ffi::CStr { 3714 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_external_memory_win32\0") } 3715 } 3716 pub const SPEC_VERSION: u32 = 1u32; 3717 } 3718 #[allow(non_camel_case_types)] 3719 pub type PFN_vkGetMemoryWin32HandleNV = unsafe extern "system" fn( 3720 device: Device, 3721 memory: DeviceMemory, 3722 handle_type: ExternalMemoryHandleTypeFlagsNV, 3723 p_handle: *mut HANDLE, 3724 ) -> Result; 3725 #[derive(Clone)] 3726 pub struct NvExternalMemoryWin32Fn { 3727 pub get_memory_win32_handle_nv: PFN_vkGetMemoryWin32HandleNV, 3728 } 3729 unsafe impl Send for NvExternalMemoryWin32Fn {} 3730 unsafe impl Sync for NvExternalMemoryWin32Fn {} 3731 impl NvExternalMemoryWin32Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3732 pub fn load<F>(mut _f: F) -> Self 3733 where 3734 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3735 { 3736 Self { 3737 get_memory_win32_handle_nv: unsafe { 3738 unsafe extern "system" fn get_memory_win32_handle_nv( 3739 _device: Device, 3740 _memory: DeviceMemory, 3741 _handle_type: ExternalMemoryHandleTypeFlagsNV, 3742 _p_handle: *mut HANDLE, 3743 ) -> Result { 3744 panic!(concat!( 3745 "Unable to load ", 3746 stringify!(get_memory_win32_handle_nv) 3747 )) 3748 } 3749 let cname = 3750 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetMemoryWin32HandleNV\0"); 3751 let val = _f(cname); 3752 if val.is_null() { 3753 get_memory_win32_handle_nv 3754 } else { 3755 ::std::mem::transmute(val) 3756 } 3757 }, 3758 } 3759 } 3760 } 3761 #[doc = "Generated from 'VK_NV_external_memory_win32'"] 3762 impl StructureType { 3763 pub const IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: Self = Self(1_000_057_000); 3764 pub const EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: Self = Self(1_000_057_001); 3765 } 3766 impl NvWin32KeyedMutexFn { 3767 #[inline] name() -> &'static ::std::ffi::CStr3768 pub const fn name() -> &'static ::std::ffi::CStr { 3769 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_win32_keyed_mutex\0") } 3770 } 3771 pub const SPEC_VERSION: u32 = 2u32; 3772 } 3773 #[derive(Clone)] 3774 pub struct NvWin32KeyedMutexFn {} 3775 unsafe impl Send for NvWin32KeyedMutexFn {} 3776 unsafe impl Sync for NvWin32KeyedMutexFn {} 3777 impl NvWin32KeyedMutexFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3778 pub fn load<F>(mut _f: F) -> Self 3779 where 3780 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3781 { 3782 Self {} 3783 } 3784 } 3785 #[doc = "Generated from 'VK_NV_win32_keyed_mutex'"] 3786 impl StructureType { 3787 pub const WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: Self = Self(1_000_058_000); 3788 } 3789 impl KhrGetPhysicalDeviceProperties2Fn { 3790 #[inline] name() -> &'static ::std::ffi::CStr3791 pub const fn name() -> &'static ::std::ffi::CStr { 3792 unsafe { 3793 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3794 b"VK_KHR_get_physical_device_properties2\0", 3795 ) 3796 } 3797 } 3798 pub const SPEC_VERSION: u32 = 2u32; 3799 } 3800 #[allow(non_camel_case_types)] 3801 pub type PFN_vkGetPhysicalDeviceFeatures2 = unsafe extern "system" fn( 3802 physical_device: PhysicalDevice, 3803 p_features: *mut PhysicalDeviceFeatures2, 3804 ); 3805 #[allow(non_camel_case_types)] 3806 pub type PFN_vkGetPhysicalDeviceProperties2 = unsafe extern "system" fn( 3807 physical_device: PhysicalDevice, 3808 p_properties: *mut PhysicalDeviceProperties2, 3809 ); 3810 #[allow(non_camel_case_types)] 3811 pub type PFN_vkGetPhysicalDeviceFormatProperties2 = unsafe extern "system" fn( 3812 physical_device: PhysicalDevice, 3813 format: Format, 3814 p_format_properties: *mut FormatProperties2, 3815 ); 3816 #[allow(non_camel_case_types)] 3817 pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = unsafe extern "system" fn( 3818 physical_device: PhysicalDevice, 3819 p_image_format_info: *const PhysicalDeviceImageFormatInfo2, 3820 p_image_format_properties: *mut ImageFormatProperties2, 3821 ) -> Result; 3822 #[allow(non_camel_case_types)] 3823 pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = unsafe extern "system" fn( 3824 physical_device: PhysicalDevice, 3825 p_queue_family_property_count: *mut u32, 3826 p_queue_family_properties: *mut QueueFamilyProperties2, 3827 ); 3828 #[allow(non_camel_case_types)] 3829 pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = unsafe extern "system" fn( 3830 physical_device: PhysicalDevice, 3831 p_memory_properties: *mut PhysicalDeviceMemoryProperties2, 3832 ); 3833 #[allow(non_camel_case_types)] 3834 pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = unsafe extern "system" fn( 3835 physical_device: PhysicalDevice, 3836 p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, 3837 p_property_count: *mut u32, 3838 p_properties: *mut SparseImageFormatProperties2, 3839 ); 3840 #[derive(Clone)] 3841 pub struct KhrGetPhysicalDeviceProperties2Fn { 3842 pub get_physical_device_features2_khr: PFN_vkGetPhysicalDeviceFeatures2, 3843 pub get_physical_device_properties2_khr: PFN_vkGetPhysicalDeviceProperties2, 3844 pub get_physical_device_format_properties2_khr: PFN_vkGetPhysicalDeviceFormatProperties2, 3845 pub get_physical_device_image_format_properties2_khr: 3846 PFN_vkGetPhysicalDeviceImageFormatProperties2, 3847 pub get_physical_device_queue_family_properties2_khr: 3848 PFN_vkGetPhysicalDeviceQueueFamilyProperties2, 3849 pub get_physical_device_memory_properties2_khr: PFN_vkGetPhysicalDeviceMemoryProperties2, 3850 pub get_physical_device_sparse_image_format_properties2_khr: 3851 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2, 3852 } 3853 unsafe impl Send for KhrGetPhysicalDeviceProperties2Fn {} 3854 unsafe impl Sync for KhrGetPhysicalDeviceProperties2Fn {} 3855 impl KhrGetPhysicalDeviceProperties2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,3856 pub fn load<F>(mut _f: F) -> Self 3857 where 3858 F: FnMut(&::std::ffi::CStr) -> *const c_void, 3859 { 3860 Self { 3861 get_physical_device_features2_khr: unsafe { 3862 unsafe extern "system" fn get_physical_device_features2_khr( 3863 _physical_device: PhysicalDevice, 3864 _p_features: *mut PhysicalDeviceFeatures2, 3865 ) { 3866 panic!(concat!( 3867 "Unable to load ", 3868 stringify!(get_physical_device_features2_khr) 3869 )) 3870 } 3871 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3872 b"vkGetPhysicalDeviceFeatures2KHR\0", 3873 ); 3874 let val = _f(cname); 3875 if val.is_null() { 3876 get_physical_device_features2_khr 3877 } else { 3878 ::std::mem::transmute(val) 3879 } 3880 }, 3881 get_physical_device_properties2_khr: unsafe { 3882 unsafe extern "system" fn get_physical_device_properties2_khr( 3883 _physical_device: PhysicalDevice, 3884 _p_properties: *mut PhysicalDeviceProperties2, 3885 ) { 3886 panic!(concat!( 3887 "Unable to load ", 3888 stringify!(get_physical_device_properties2_khr) 3889 )) 3890 } 3891 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3892 b"vkGetPhysicalDeviceProperties2KHR\0", 3893 ); 3894 let val = _f(cname); 3895 if val.is_null() { 3896 get_physical_device_properties2_khr 3897 } else { 3898 ::std::mem::transmute(val) 3899 } 3900 }, 3901 get_physical_device_format_properties2_khr: unsafe { 3902 unsafe extern "system" fn get_physical_device_format_properties2_khr( 3903 _physical_device: PhysicalDevice, 3904 _format: Format, 3905 _p_format_properties: *mut FormatProperties2, 3906 ) { 3907 panic!(concat!( 3908 "Unable to load ", 3909 stringify!(get_physical_device_format_properties2_khr) 3910 )) 3911 } 3912 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3913 b"vkGetPhysicalDeviceFormatProperties2KHR\0", 3914 ); 3915 let val = _f(cname); 3916 if val.is_null() { 3917 get_physical_device_format_properties2_khr 3918 } else { 3919 ::std::mem::transmute(val) 3920 } 3921 }, 3922 get_physical_device_image_format_properties2_khr: unsafe { 3923 unsafe extern "system" fn get_physical_device_image_format_properties2_khr( 3924 _physical_device: PhysicalDevice, 3925 _p_image_format_info: *const PhysicalDeviceImageFormatInfo2, 3926 _p_image_format_properties: *mut ImageFormatProperties2, 3927 ) -> Result { 3928 panic!(concat!( 3929 "Unable to load ", 3930 stringify!(get_physical_device_image_format_properties2_khr) 3931 )) 3932 } 3933 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3934 b"vkGetPhysicalDeviceImageFormatProperties2KHR\0", 3935 ); 3936 let val = _f(cname); 3937 if val.is_null() { 3938 get_physical_device_image_format_properties2_khr 3939 } else { 3940 ::std::mem::transmute(val) 3941 } 3942 }, 3943 get_physical_device_queue_family_properties2_khr: unsafe { 3944 unsafe extern "system" fn get_physical_device_queue_family_properties2_khr( 3945 _physical_device: PhysicalDevice, 3946 _p_queue_family_property_count: *mut u32, 3947 _p_queue_family_properties: *mut QueueFamilyProperties2, 3948 ) { 3949 panic!(concat!( 3950 "Unable to load ", 3951 stringify!(get_physical_device_queue_family_properties2_khr) 3952 )) 3953 } 3954 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3955 b"vkGetPhysicalDeviceQueueFamilyProperties2KHR\0", 3956 ); 3957 let val = _f(cname); 3958 if val.is_null() { 3959 get_physical_device_queue_family_properties2_khr 3960 } else { 3961 ::std::mem::transmute(val) 3962 } 3963 }, 3964 get_physical_device_memory_properties2_khr: unsafe { 3965 unsafe extern "system" fn get_physical_device_memory_properties2_khr( 3966 _physical_device: PhysicalDevice, 3967 _p_memory_properties: *mut PhysicalDeviceMemoryProperties2, 3968 ) { 3969 panic!(concat!( 3970 "Unable to load ", 3971 stringify!(get_physical_device_memory_properties2_khr) 3972 )) 3973 } 3974 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3975 b"vkGetPhysicalDeviceMemoryProperties2KHR\0", 3976 ); 3977 let val = _f(cname); 3978 if val.is_null() { 3979 get_physical_device_memory_properties2_khr 3980 } else { 3981 ::std::mem::transmute(val) 3982 } 3983 }, 3984 get_physical_device_sparse_image_format_properties2_khr: unsafe { 3985 unsafe extern "system" fn get_physical_device_sparse_image_format_properties2_khr( 3986 _physical_device: PhysicalDevice, 3987 _p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, 3988 _p_property_count: *mut u32, 3989 _p_properties: *mut SparseImageFormatProperties2, 3990 ) { 3991 panic!(concat!( 3992 "Unable to load ", 3993 stringify!(get_physical_device_sparse_image_format_properties2_khr) 3994 )) 3995 } 3996 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 3997 b"vkGetPhysicalDeviceSparseImageFormatProperties2KHR\0", 3998 ); 3999 let val = _f(cname); 4000 if val.is_null() { 4001 get_physical_device_sparse_image_format_properties2_khr 4002 } else { 4003 ::std::mem::transmute(val) 4004 } 4005 }, 4006 } 4007 } 4008 } 4009 #[doc = "Generated from 'VK_KHR_get_physical_device_properties2'"] 4010 impl StructureType { 4011 pub const PHYSICAL_DEVICE_FEATURES_2_KHR: Self = Self::PHYSICAL_DEVICE_FEATURES_2; 4012 pub const PHYSICAL_DEVICE_PROPERTIES_2_KHR: Self = Self::PHYSICAL_DEVICE_PROPERTIES_2; 4013 pub const FORMAT_PROPERTIES_2_KHR: Self = Self::FORMAT_PROPERTIES_2; 4014 pub const IMAGE_FORMAT_PROPERTIES_2_KHR: Self = Self::IMAGE_FORMAT_PROPERTIES_2; 4015 pub const PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: Self = 4016 Self::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2; 4017 pub const QUEUE_FAMILY_PROPERTIES_2_KHR: Self = Self::QUEUE_FAMILY_PROPERTIES_2; 4018 pub const PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: Self = 4019 Self::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; 4020 pub const SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: Self = Self::SPARSE_IMAGE_FORMAT_PROPERTIES_2; 4021 pub const PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: Self = 4022 Self::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2; 4023 } 4024 impl KhrDeviceGroupFn { 4025 #[inline] name() -> &'static ::std::ffi::CStr4026 pub const fn name() -> &'static ::std::ffi::CStr { 4027 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_device_group\0") } 4028 } 4029 pub const SPEC_VERSION: u32 = 4u32; 4030 } 4031 #[allow(non_camel_case_types)] 4032 pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = unsafe extern "system" fn( 4033 device: Device, 4034 heap_index: u32, 4035 local_device_index: u32, 4036 remote_device_index: u32, 4037 p_peer_memory_features: *mut PeerMemoryFeatureFlags, 4038 ); 4039 #[allow(non_camel_case_types)] 4040 pub type PFN_vkCmdSetDeviceMask = 4041 unsafe extern "system" fn(command_buffer: CommandBuffer, device_mask: u32); 4042 #[allow(non_camel_case_types)] 4043 pub type PFN_vkCmdDispatchBase = unsafe extern "system" fn( 4044 command_buffer: CommandBuffer, 4045 base_group_x: u32, 4046 base_group_y: u32, 4047 base_group_z: u32, 4048 group_count_x: u32, 4049 group_count_y: u32, 4050 group_count_z: u32, 4051 ); 4052 #[derive(Clone)] 4053 pub struct KhrDeviceGroupFn { 4054 pub get_device_group_peer_memory_features_khr: PFN_vkGetDeviceGroupPeerMemoryFeatures, 4055 pub cmd_set_device_mask_khr: PFN_vkCmdSetDeviceMask, 4056 pub cmd_dispatch_base_khr: PFN_vkCmdDispatchBase, 4057 pub get_device_group_present_capabilities_khr: 4058 crate::vk::PFN_vkGetDeviceGroupPresentCapabilitiesKHR, 4059 pub get_device_group_surface_present_modes_khr: 4060 crate::vk::PFN_vkGetDeviceGroupSurfacePresentModesKHR, 4061 pub get_physical_device_present_rectangles_khr: 4062 crate::vk::PFN_vkGetPhysicalDevicePresentRectanglesKHR, 4063 pub acquire_next_image2_khr: crate::vk::PFN_vkAcquireNextImage2KHR, 4064 } 4065 unsafe impl Send for KhrDeviceGroupFn {} 4066 unsafe impl Sync for KhrDeviceGroupFn {} 4067 impl KhrDeviceGroupFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4068 pub fn load<F>(mut _f: F) -> Self 4069 where 4070 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4071 { 4072 Self { 4073 get_device_group_peer_memory_features_khr: unsafe { 4074 unsafe extern "system" fn get_device_group_peer_memory_features_khr( 4075 _device: Device, 4076 _heap_index: u32, 4077 _local_device_index: u32, 4078 _remote_device_index: u32, 4079 _p_peer_memory_features: *mut PeerMemoryFeatureFlags, 4080 ) { 4081 panic!(concat!( 4082 "Unable to load ", 4083 stringify!(get_device_group_peer_memory_features_khr) 4084 )) 4085 } 4086 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4087 b"vkGetDeviceGroupPeerMemoryFeaturesKHR\0", 4088 ); 4089 let val = _f(cname); 4090 if val.is_null() { 4091 get_device_group_peer_memory_features_khr 4092 } else { 4093 ::std::mem::transmute(val) 4094 } 4095 }, 4096 cmd_set_device_mask_khr: unsafe { 4097 unsafe extern "system" fn cmd_set_device_mask_khr( 4098 _command_buffer: CommandBuffer, 4099 _device_mask: u32, 4100 ) { 4101 panic!(concat!( 4102 "Unable to load ", 4103 stringify!(cmd_set_device_mask_khr) 4104 )) 4105 } 4106 let cname = 4107 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDeviceMaskKHR\0"); 4108 let val = _f(cname); 4109 if val.is_null() { 4110 cmd_set_device_mask_khr 4111 } else { 4112 ::std::mem::transmute(val) 4113 } 4114 }, 4115 cmd_dispatch_base_khr: unsafe { 4116 unsafe extern "system" fn cmd_dispatch_base_khr( 4117 _command_buffer: CommandBuffer, 4118 _base_group_x: u32, 4119 _base_group_y: u32, 4120 _base_group_z: u32, 4121 _group_count_x: u32, 4122 _group_count_y: u32, 4123 _group_count_z: u32, 4124 ) { 4125 panic!(concat!( 4126 "Unable to load ", 4127 stringify!(cmd_dispatch_base_khr) 4128 )) 4129 } 4130 let cname = 4131 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDispatchBaseKHR\0"); 4132 let val = _f(cname); 4133 if val.is_null() { 4134 cmd_dispatch_base_khr 4135 } else { 4136 ::std::mem::transmute(val) 4137 } 4138 }, 4139 get_device_group_present_capabilities_khr: unsafe { 4140 unsafe extern "system" fn get_device_group_present_capabilities_khr( 4141 _device: Device, 4142 _p_device_group_present_capabilities: *mut DeviceGroupPresentCapabilitiesKHR, 4143 ) -> Result { 4144 panic!(concat!( 4145 "Unable to load ", 4146 stringify!(get_device_group_present_capabilities_khr) 4147 )) 4148 } 4149 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4150 b"vkGetDeviceGroupPresentCapabilitiesKHR\0", 4151 ); 4152 let val = _f(cname); 4153 if val.is_null() { 4154 get_device_group_present_capabilities_khr 4155 } else { 4156 ::std::mem::transmute(val) 4157 } 4158 }, 4159 get_device_group_surface_present_modes_khr: unsafe { 4160 unsafe extern "system" fn get_device_group_surface_present_modes_khr( 4161 _device: Device, 4162 _surface: SurfaceKHR, 4163 _p_modes: *mut DeviceGroupPresentModeFlagsKHR, 4164 ) -> Result { 4165 panic!(concat!( 4166 "Unable to load ", 4167 stringify!(get_device_group_surface_present_modes_khr) 4168 )) 4169 } 4170 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4171 b"vkGetDeviceGroupSurfacePresentModesKHR\0", 4172 ); 4173 let val = _f(cname); 4174 if val.is_null() { 4175 get_device_group_surface_present_modes_khr 4176 } else { 4177 ::std::mem::transmute(val) 4178 } 4179 }, 4180 get_physical_device_present_rectangles_khr: unsafe { 4181 unsafe extern "system" fn get_physical_device_present_rectangles_khr( 4182 _physical_device: PhysicalDevice, 4183 _surface: SurfaceKHR, 4184 _p_rect_count: *mut u32, 4185 _p_rects: *mut Rect2D, 4186 ) -> Result { 4187 panic!(concat!( 4188 "Unable to load ", 4189 stringify!(get_physical_device_present_rectangles_khr) 4190 )) 4191 } 4192 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4193 b"vkGetPhysicalDevicePresentRectanglesKHR\0", 4194 ); 4195 let val = _f(cname); 4196 if val.is_null() { 4197 get_physical_device_present_rectangles_khr 4198 } else { 4199 ::std::mem::transmute(val) 4200 } 4201 }, 4202 acquire_next_image2_khr: unsafe { 4203 unsafe extern "system" fn acquire_next_image2_khr( 4204 _device: Device, 4205 _p_acquire_info: *const AcquireNextImageInfoKHR, 4206 _p_image_index: *mut u32, 4207 ) -> Result { 4208 panic!(concat!( 4209 "Unable to load ", 4210 stringify!(acquire_next_image2_khr) 4211 )) 4212 } 4213 let cname = 4214 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireNextImage2KHR\0"); 4215 let val = _f(cname); 4216 if val.is_null() { 4217 acquire_next_image2_khr 4218 } else { 4219 ::std::mem::transmute(val) 4220 } 4221 }, 4222 } 4223 } 4224 } 4225 #[doc = "Generated from 'VK_KHR_device_group'"] 4226 impl DependencyFlags { 4227 pub const DEVICE_GROUP_KHR: Self = Self::DEVICE_GROUP; 4228 } 4229 #[doc = "Generated from 'VK_KHR_device_group'"] 4230 impl ImageCreateFlags { 4231 pub const SPLIT_INSTANCE_BIND_REGIONS_KHR: Self = Self::SPLIT_INSTANCE_BIND_REGIONS; 4232 } 4233 #[doc = "Generated from 'VK_KHR_device_group'"] 4234 impl MemoryAllocateFlags { 4235 pub const DEVICE_MASK_KHR: Self = Self::DEVICE_MASK; 4236 } 4237 #[doc = "Generated from 'VK_KHR_device_group'"] 4238 impl PeerMemoryFeatureFlags { 4239 pub const COPY_SRC_KHR: Self = Self::COPY_SRC; 4240 pub const COPY_DST_KHR: Self = Self::COPY_DST; 4241 pub const GENERIC_SRC_KHR: Self = Self::GENERIC_SRC; 4242 pub const GENERIC_DST_KHR: Self = Self::GENERIC_DST; 4243 } 4244 #[doc = "Generated from 'VK_KHR_device_group'"] 4245 impl PipelineCreateFlags { 4246 pub const VIEW_INDEX_FROM_DEVICE_INDEX_KHR: Self = Self::VIEW_INDEX_FROM_DEVICE_INDEX; 4247 } 4248 #[doc = "Generated from 'VK_KHR_device_group'"] 4249 impl StructureType { 4250 pub const MEMORY_ALLOCATE_FLAGS_INFO_KHR: Self = Self::MEMORY_ALLOCATE_FLAGS_INFO; 4251 pub const DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR: Self = 4252 Self::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; 4253 pub const DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR: Self = 4254 Self::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO; 4255 pub const DEVICE_GROUP_SUBMIT_INFO_KHR: Self = Self::DEVICE_GROUP_SUBMIT_INFO; 4256 pub const DEVICE_GROUP_BIND_SPARSE_INFO_KHR: Self = Self::DEVICE_GROUP_BIND_SPARSE_INFO; 4257 pub const BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR: Self = 4258 Self::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO; 4259 pub const BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR: Self = 4260 Self::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO; 4261 } 4262 impl ExtValidationFlagsFn { 4263 #[inline] name() -> &'static ::std::ffi::CStr4264 pub const fn name() -> &'static ::std::ffi::CStr { 4265 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_validation_flags\0") } 4266 } 4267 pub const SPEC_VERSION: u32 = 2u32; 4268 } 4269 #[derive(Clone)] 4270 pub struct ExtValidationFlagsFn {} 4271 unsafe impl Send for ExtValidationFlagsFn {} 4272 unsafe impl Sync for ExtValidationFlagsFn {} 4273 impl ExtValidationFlagsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4274 pub fn load<F>(mut _f: F) -> Self 4275 where 4276 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4277 { 4278 Self {} 4279 } 4280 } 4281 #[doc = "Generated from 'VK_EXT_validation_flags'"] 4282 impl StructureType { 4283 pub const VALIDATION_FLAGS_EXT: Self = Self(1_000_061_000); 4284 } 4285 impl NnViSurfaceFn { 4286 #[inline] name() -> &'static ::std::ffi::CStr4287 pub const fn name() -> &'static ::std::ffi::CStr { 4288 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NN_vi_surface\0") } 4289 } 4290 pub const SPEC_VERSION: u32 = 1u32; 4291 } 4292 #[allow(non_camel_case_types)] 4293 pub type PFN_vkCreateViSurfaceNN = unsafe extern "system" fn( 4294 instance: Instance, 4295 p_create_info: *const ViSurfaceCreateInfoNN, 4296 p_allocator: *const AllocationCallbacks, 4297 p_surface: *mut SurfaceKHR, 4298 ) -> Result; 4299 #[derive(Clone)] 4300 pub struct NnViSurfaceFn { 4301 pub create_vi_surface_nn: PFN_vkCreateViSurfaceNN, 4302 } 4303 unsafe impl Send for NnViSurfaceFn {} 4304 unsafe impl Sync for NnViSurfaceFn {} 4305 impl NnViSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4306 pub fn load<F>(mut _f: F) -> Self 4307 where 4308 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4309 { 4310 Self { 4311 create_vi_surface_nn: unsafe { 4312 unsafe extern "system" fn create_vi_surface_nn( 4313 _instance: Instance, 4314 _p_create_info: *const ViSurfaceCreateInfoNN, 4315 _p_allocator: *const AllocationCallbacks, 4316 _p_surface: *mut SurfaceKHR, 4317 ) -> Result { 4318 panic!(concat!("Unable to load ", stringify!(create_vi_surface_nn))) 4319 } 4320 let cname = 4321 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateViSurfaceNN\0"); 4322 let val = _f(cname); 4323 if val.is_null() { 4324 create_vi_surface_nn 4325 } else { 4326 ::std::mem::transmute(val) 4327 } 4328 }, 4329 } 4330 } 4331 } 4332 #[doc = "Generated from 'VK_NN_vi_surface'"] 4333 impl StructureType { 4334 pub const VI_SURFACE_CREATE_INFO_NN: Self = Self(1_000_062_000); 4335 } 4336 impl KhrShaderDrawParametersFn { 4337 #[inline] name() -> &'static ::std::ffi::CStr4338 pub const fn name() -> &'static ::std::ffi::CStr { 4339 unsafe { 4340 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_draw_parameters\0") 4341 } 4342 } 4343 pub const SPEC_VERSION: u32 = 1u32; 4344 } 4345 #[derive(Clone)] 4346 pub struct KhrShaderDrawParametersFn {} 4347 unsafe impl Send for KhrShaderDrawParametersFn {} 4348 unsafe impl Sync for KhrShaderDrawParametersFn {} 4349 impl KhrShaderDrawParametersFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4350 pub fn load<F>(mut _f: F) -> Self 4351 where 4352 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4353 { 4354 Self {} 4355 } 4356 } 4357 impl ExtShaderSubgroupBallotFn { 4358 #[inline] name() -> &'static ::std::ffi::CStr4359 pub const fn name() -> &'static ::std::ffi::CStr { 4360 unsafe { 4361 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_subgroup_ballot\0") 4362 } 4363 } 4364 pub const SPEC_VERSION: u32 = 1u32; 4365 } 4366 #[derive(Clone)] 4367 pub struct ExtShaderSubgroupBallotFn {} 4368 unsafe impl Send for ExtShaderSubgroupBallotFn {} 4369 unsafe impl Sync for ExtShaderSubgroupBallotFn {} 4370 impl ExtShaderSubgroupBallotFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4371 pub fn load<F>(mut _f: F) -> Self 4372 where 4373 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4374 { 4375 Self {} 4376 } 4377 } 4378 impl ExtShaderSubgroupVoteFn { 4379 #[inline] name() -> &'static ::std::ffi::CStr4380 pub const fn name() -> &'static ::std::ffi::CStr { 4381 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_subgroup_vote\0") } 4382 } 4383 pub const SPEC_VERSION: u32 = 1u32; 4384 } 4385 #[derive(Clone)] 4386 pub struct ExtShaderSubgroupVoteFn {} 4387 unsafe impl Send for ExtShaderSubgroupVoteFn {} 4388 unsafe impl Sync for ExtShaderSubgroupVoteFn {} 4389 impl ExtShaderSubgroupVoteFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4390 pub fn load<F>(mut _f: F) -> Self 4391 where 4392 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4393 { 4394 Self {} 4395 } 4396 } 4397 impl ExtTextureCompressionAstcHdrFn { 4398 #[inline] name() -> &'static ::std::ffi::CStr4399 pub const fn name() -> &'static ::std::ffi::CStr { 4400 unsafe { 4401 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4402 b"VK_EXT_texture_compression_astc_hdr\0", 4403 ) 4404 } 4405 } 4406 pub const SPEC_VERSION: u32 = 1u32; 4407 } 4408 #[derive(Clone)] 4409 pub struct ExtTextureCompressionAstcHdrFn {} 4410 unsafe impl Send for ExtTextureCompressionAstcHdrFn {} 4411 unsafe impl Sync for ExtTextureCompressionAstcHdrFn {} 4412 impl ExtTextureCompressionAstcHdrFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4413 pub fn load<F>(mut _f: F) -> Self 4414 where 4415 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4416 { 4417 Self {} 4418 } 4419 } 4420 #[doc = "Generated from 'VK_EXT_texture_compression_astc_hdr'"] 4421 impl Format { 4422 pub const ASTC_4X4_SFLOAT_BLOCK_EXT: Self = Self::ASTC_4X4_SFLOAT_BLOCK; 4423 pub const ASTC_5X4_SFLOAT_BLOCK_EXT: Self = Self::ASTC_5X4_SFLOAT_BLOCK; 4424 pub const ASTC_5X5_SFLOAT_BLOCK_EXT: Self = Self::ASTC_5X5_SFLOAT_BLOCK; 4425 pub const ASTC_6X5_SFLOAT_BLOCK_EXT: Self = Self::ASTC_6X5_SFLOAT_BLOCK; 4426 pub const ASTC_6X6_SFLOAT_BLOCK_EXT: Self = Self::ASTC_6X6_SFLOAT_BLOCK; 4427 pub const ASTC_8X5_SFLOAT_BLOCK_EXT: Self = Self::ASTC_8X5_SFLOAT_BLOCK; 4428 pub const ASTC_8X6_SFLOAT_BLOCK_EXT: Self = Self::ASTC_8X6_SFLOAT_BLOCK; 4429 pub const ASTC_8X8_SFLOAT_BLOCK_EXT: Self = Self::ASTC_8X8_SFLOAT_BLOCK; 4430 pub const ASTC_10X5_SFLOAT_BLOCK_EXT: Self = Self::ASTC_10X5_SFLOAT_BLOCK; 4431 pub const ASTC_10X6_SFLOAT_BLOCK_EXT: Self = Self::ASTC_10X6_SFLOAT_BLOCK; 4432 pub const ASTC_10X8_SFLOAT_BLOCK_EXT: Self = Self::ASTC_10X8_SFLOAT_BLOCK; 4433 pub const ASTC_10X10_SFLOAT_BLOCK_EXT: Self = Self::ASTC_10X10_SFLOAT_BLOCK; 4434 pub const ASTC_12X10_SFLOAT_BLOCK_EXT: Self = Self::ASTC_12X10_SFLOAT_BLOCK; 4435 pub const ASTC_12X12_SFLOAT_BLOCK_EXT: Self = Self::ASTC_12X12_SFLOAT_BLOCK; 4436 } 4437 #[doc = "Generated from 'VK_EXT_texture_compression_astc_hdr'"] 4438 impl StructureType { 4439 pub const PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: Self = 4440 Self::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; 4441 } 4442 impl ExtAstcDecodeModeFn { 4443 #[inline] name() -> &'static ::std::ffi::CStr4444 pub const fn name() -> &'static ::std::ffi::CStr { 4445 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_astc_decode_mode\0") } 4446 } 4447 pub const SPEC_VERSION: u32 = 1u32; 4448 } 4449 #[derive(Clone)] 4450 pub struct ExtAstcDecodeModeFn {} 4451 unsafe impl Send for ExtAstcDecodeModeFn {} 4452 unsafe impl Sync for ExtAstcDecodeModeFn {} 4453 impl ExtAstcDecodeModeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4454 pub fn load<F>(mut _f: F) -> Self 4455 where 4456 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4457 { 4458 Self {} 4459 } 4460 } 4461 #[doc = "Generated from 'VK_EXT_astc_decode_mode'"] 4462 impl StructureType { 4463 pub const IMAGE_VIEW_ASTC_DECODE_MODE_EXT: Self = Self(1_000_067_000); 4464 pub const PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: Self = Self(1_000_067_001); 4465 } 4466 impl ExtPipelineRobustnessFn { 4467 #[inline] name() -> &'static ::std::ffi::CStr4468 pub const fn name() -> &'static ::std::ffi::CStr { 4469 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pipeline_robustness\0") } 4470 } 4471 pub const SPEC_VERSION: u32 = 1u32; 4472 } 4473 #[derive(Clone)] 4474 pub struct ExtPipelineRobustnessFn {} 4475 unsafe impl Send for ExtPipelineRobustnessFn {} 4476 unsafe impl Sync for ExtPipelineRobustnessFn {} 4477 impl ExtPipelineRobustnessFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4478 pub fn load<F>(mut _f: F) -> Self 4479 where 4480 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4481 { 4482 Self {} 4483 } 4484 } 4485 #[doc = "Generated from 'VK_EXT_pipeline_robustness'"] 4486 impl StructureType { 4487 pub const PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: Self = Self(1_000_068_000); 4488 pub const PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: Self = Self(1_000_068_001); 4489 pub const PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: Self = Self(1_000_068_002); 4490 } 4491 impl KhrMaintenance1Fn { 4492 #[inline] name() -> &'static ::std::ffi::CStr4493 pub const fn name() -> &'static ::std::ffi::CStr { 4494 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_maintenance1\0") } 4495 } 4496 pub const SPEC_VERSION: u32 = 2u32; 4497 } 4498 #[allow(non_camel_case_types)] 4499 pub type PFN_vkTrimCommandPool = unsafe extern "system" fn( 4500 device: Device, 4501 command_pool: CommandPool, 4502 flags: CommandPoolTrimFlags, 4503 ); 4504 #[derive(Clone)] 4505 pub struct KhrMaintenance1Fn { 4506 pub trim_command_pool_khr: PFN_vkTrimCommandPool, 4507 } 4508 unsafe impl Send for KhrMaintenance1Fn {} 4509 unsafe impl Sync for KhrMaintenance1Fn {} 4510 impl KhrMaintenance1Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4511 pub fn load<F>(mut _f: F) -> Self 4512 where 4513 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4514 { 4515 Self { 4516 trim_command_pool_khr: unsafe { 4517 unsafe extern "system" fn trim_command_pool_khr( 4518 _device: Device, 4519 _command_pool: CommandPool, 4520 _flags: CommandPoolTrimFlags, 4521 ) { 4522 panic!(concat!( 4523 "Unable to load ", 4524 stringify!(trim_command_pool_khr) 4525 )) 4526 } 4527 let cname = 4528 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkTrimCommandPoolKHR\0"); 4529 let val = _f(cname); 4530 if val.is_null() { 4531 trim_command_pool_khr 4532 } else { 4533 ::std::mem::transmute(val) 4534 } 4535 }, 4536 } 4537 } 4538 } 4539 #[doc = "Generated from 'VK_KHR_maintenance1'"] 4540 impl FormatFeatureFlags { 4541 pub const TRANSFER_SRC_KHR: Self = Self::TRANSFER_SRC; 4542 pub const TRANSFER_DST_KHR: Self = Self::TRANSFER_DST; 4543 } 4544 #[doc = "Generated from 'VK_KHR_maintenance1'"] 4545 impl ImageCreateFlags { 4546 pub const TYPE_2D_ARRAY_COMPATIBLE_KHR: Self = Self::TYPE_2D_ARRAY_COMPATIBLE; 4547 } 4548 #[doc = "Generated from 'VK_KHR_maintenance1'"] 4549 impl Result { 4550 pub const ERROR_OUT_OF_POOL_MEMORY_KHR: Self = Self::ERROR_OUT_OF_POOL_MEMORY; 4551 } 4552 impl KhrDeviceGroupCreationFn { 4553 #[inline] name() -> &'static ::std::ffi::CStr4554 pub const fn name() -> &'static ::std::ffi::CStr { 4555 unsafe { 4556 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_device_group_creation\0") 4557 } 4558 } 4559 pub const SPEC_VERSION: u32 = 1u32; 4560 } 4561 #[allow(non_camel_case_types)] 4562 pub type PFN_vkEnumeratePhysicalDeviceGroups = unsafe extern "system" fn( 4563 instance: Instance, 4564 p_physical_device_group_count: *mut u32, 4565 p_physical_device_group_properties: *mut PhysicalDeviceGroupProperties, 4566 ) -> Result; 4567 #[derive(Clone)] 4568 pub struct KhrDeviceGroupCreationFn { 4569 pub enumerate_physical_device_groups_khr: PFN_vkEnumeratePhysicalDeviceGroups, 4570 } 4571 unsafe impl Send for KhrDeviceGroupCreationFn {} 4572 unsafe impl Sync for KhrDeviceGroupCreationFn {} 4573 impl KhrDeviceGroupCreationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4574 pub fn load<F>(mut _f: F) -> Self 4575 where 4576 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4577 { 4578 Self { 4579 enumerate_physical_device_groups_khr: unsafe { 4580 unsafe extern "system" fn enumerate_physical_device_groups_khr( 4581 _instance: Instance, 4582 _p_physical_device_group_count: *mut u32, 4583 _p_physical_device_group_properties: *mut PhysicalDeviceGroupProperties, 4584 ) -> Result { 4585 panic!(concat!( 4586 "Unable to load ", 4587 stringify!(enumerate_physical_device_groups_khr) 4588 )) 4589 } 4590 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4591 b"vkEnumeratePhysicalDeviceGroupsKHR\0", 4592 ); 4593 let val = _f(cname); 4594 if val.is_null() { 4595 enumerate_physical_device_groups_khr 4596 } else { 4597 ::std::mem::transmute(val) 4598 } 4599 }, 4600 } 4601 } 4602 } 4603 #[doc = "Generated from 'VK_KHR_device_group_creation'"] 4604 impl MemoryHeapFlags { 4605 pub const MULTI_INSTANCE_KHR: Self = Self::MULTI_INSTANCE; 4606 } 4607 #[doc = "Generated from 'VK_KHR_device_group_creation'"] 4608 impl StructureType { 4609 pub const PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR: Self = Self::PHYSICAL_DEVICE_GROUP_PROPERTIES; 4610 pub const DEVICE_GROUP_DEVICE_CREATE_INFO_KHR: Self = Self::DEVICE_GROUP_DEVICE_CREATE_INFO; 4611 } 4612 impl KhrExternalMemoryCapabilitiesFn { 4613 #[inline] name() -> &'static ::std::ffi::CStr4614 pub const fn name() -> &'static ::std::ffi::CStr { 4615 unsafe { 4616 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4617 b"VK_KHR_external_memory_capabilities\0", 4618 ) 4619 } 4620 } 4621 pub const SPEC_VERSION: u32 = 1u32; 4622 } 4623 #[allow(non_camel_case_types)] 4624 pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = unsafe extern "system" fn( 4625 physical_device: PhysicalDevice, 4626 p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, 4627 p_external_buffer_properties: *mut ExternalBufferProperties, 4628 ); 4629 #[derive(Clone)] 4630 pub struct KhrExternalMemoryCapabilitiesFn { 4631 pub get_physical_device_external_buffer_properties_khr: 4632 PFN_vkGetPhysicalDeviceExternalBufferProperties, 4633 } 4634 unsafe impl Send for KhrExternalMemoryCapabilitiesFn {} 4635 unsafe impl Sync for KhrExternalMemoryCapabilitiesFn {} 4636 impl KhrExternalMemoryCapabilitiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4637 pub fn load<F>(mut _f: F) -> Self 4638 where 4639 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4640 { 4641 Self { 4642 get_physical_device_external_buffer_properties_khr: unsafe { 4643 unsafe extern "system" fn get_physical_device_external_buffer_properties_khr( 4644 _physical_device: PhysicalDevice, 4645 _p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, 4646 _p_external_buffer_properties: *mut ExternalBufferProperties, 4647 ) { 4648 panic!(concat!( 4649 "Unable to load ", 4650 stringify!(get_physical_device_external_buffer_properties_khr) 4651 )) 4652 } 4653 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4654 b"vkGetPhysicalDeviceExternalBufferPropertiesKHR\0", 4655 ); 4656 let val = _f(cname); 4657 if val.is_null() { 4658 get_physical_device_external_buffer_properties_khr 4659 } else { 4660 ::std::mem::transmute(val) 4661 } 4662 }, 4663 } 4664 } 4665 } 4666 #[doc = "Generated from 'VK_KHR_external_memory_capabilities'"] 4667 impl ExternalMemoryFeatureFlags { 4668 pub const DEDICATED_ONLY_KHR: Self = Self::DEDICATED_ONLY; 4669 pub const EXPORTABLE_KHR: Self = Self::EXPORTABLE; 4670 pub const IMPORTABLE_KHR: Self = Self::IMPORTABLE; 4671 } 4672 #[doc = "Generated from 'VK_KHR_external_memory_capabilities'"] 4673 impl ExternalMemoryHandleTypeFlags { 4674 pub const OPAQUE_FD_KHR: Self = Self::OPAQUE_FD; 4675 pub const OPAQUE_WIN32_KHR: Self = Self::OPAQUE_WIN32; 4676 pub const OPAQUE_WIN32_KMT_KHR: Self = Self::OPAQUE_WIN32_KMT; 4677 pub const D3D11_TEXTURE_KHR: Self = Self::D3D11_TEXTURE; 4678 pub const D3D11_TEXTURE_KMT_KHR: Self = Self::D3D11_TEXTURE_KMT; 4679 pub const D3D12_HEAP_KHR: Self = Self::D3D12_HEAP; 4680 pub const D3D12_RESOURCE_KHR: Self = Self::D3D12_RESOURCE; 4681 } 4682 #[doc = "Generated from 'VK_KHR_external_memory_capabilities'"] 4683 impl StructureType { 4684 pub const PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR: Self = 4685 Self::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO; 4686 pub const EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR: Self = Self::EXTERNAL_IMAGE_FORMAT_PROPERTIES; 4687 pub const PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR: Self = 4688 Self::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO; 4689 pub const EXTERNAL_BUFFER_PROPERTIES_KHR: Self = Self::EXTERNAL_BUFFER_PROPERTIES; 4690 pub const PHYSICAL_DEVICE_ID_PROPERTIES_KHR: Self = Self::PHYSICAL_DEVICE_ID_PROPERTIES; 4691 } 4692 impl KhrExternalMemoryFn { 4693 #[inline] name() -> &'static ::std::ffi::CStr4694 pub const fn name() -> &'static ::std::ffi::CStr { 4695 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_memory\0") } 4696 } 4697 pub const SPEC_VERSION: u32 = 1u32; 4698 } 4699 #[derive(Clone)] 4700 pub struct KhrExternalMemoryFn {} 4701 unsafe impl Send for KhrExternalMemoryFn {} 4702 unsafe impl Sync for KhrExternalMemoryFn {} 4703 impl KhrExternalMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4704 pub fn load<F>(mut _f: F) -> Self 4705 where 4706 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4707 { 4708 Self {} 4709 } 4710 } 4711 #[doc = "Generated from 'VK_KHR_external_memory'"] 4712 impl Result { 4713 pub const ERROR_INVALID_EXTERNAL_HANDLE_KHR: Self = Self::ERROR_INVALID_EXTERNAL_HANDLE; 4714 } 4715 #[doc = "Generated from 'VK_KHR_external_memory'"] 4716 impl StructureType { 4717 pub const EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR: Self = 4718 Self::EXTERNAL_MEMORY_BUFFER_CREATE_INFO; 4719 pub const EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR: Self = Self::EXTERNAL_MEMORY_IMAGE_CREATE_INFO; 4720 pub const EXPORT_MEMORY_ALLOCATE_INFO_KHR: Self = Self::EXPORT_MEMORY_ALLOCATE_INFO; 4721 } 4722 impl KhrExternalMemoryWin32Fn { 4723 #[inline] name() -> &'static ::std::ffi::CStr4724 pub const fn name() -> &'static ::std::ffi::CStr { 4725 unsafe { 4726 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_memory_win32\0") 4727 } 4728 } 4729 pub const SPEC_VERSION: u32 = 1u32; 4730 } 4731 #[allow(non_camel_case_types)] 4732 pub type PFN_vkGetMemoryWin32HandleKHR = unsafe extern "system" fn( 4733 device: Device, 4734 p_get_win32_handle_info: *const MemoryGetWin32HandleInfoKHR, 4735 p_handle: *mut HANDLE, 4736 ) -> Result; 4737 #[allow(non_camel_case_types)] 4738 pub type PFN_vkGetMemoryWin32HandlePropertiesKHR = unsafe extern "system" fn( 4739 device: Device, 4740 handle_type: ExternalMemoryHandleTypeFlags, 4741 handle: HANDLE, 4742 p_memory_win32_handle_properties: *mut MemoryWin32HandlePropertiesKHR, 4743 ) -> Result; 4744 #[derive(Clone)] 4745 pub struct KhrExternalMemoryWin32Fn { 4746 pub get_memory_win32_handle_khr: PFN_vkGetMemoryWin32HandleKHR, 4747 pub get_memory_win32_handle_properties_khr: PFN_vkGetMemoryWin32HandlePropertiesKHR, 4748 } 4749 unsafe impl Send for KhrExternalMemoryWin32Fn {} 4750 unsafe impl Sync for KhrExternalMemoryWin32Fn {} 4751 impl KhrExternalMemoryWin32Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4752 pub fn load<F>(mut _f: F) -> Self 4753 where 4754 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4755 { 4756 Self { 4757 get_memory_win32_handle_khr: unsafe { 4758 unsafe extern "system" fn get_memory_win32_handle_khr( 4759 _device: Device, 4760 _p_get_win32_handle_info: *const MemoryGetWin32HandleInfoKHR, 4761 _p_handle: *mut HANDLE, 4762 ) -> Result { 4763 panic!(concat!( 4764 "Unable to load ", 4765 stringify!(get_memory_win32_handle_khr) 4766 )) 4767 } 4768 let cname = 4769 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetMemoryWin32HandleKHR\0"); 4770 let val = _f(cname); 4771 if val.is_null() { 4772 get_memory_win32_handle_khr 4773 } else { 4774 ::std::mem::transmute(val) 4775 } 4776 }, 4777 get_memory_win32_handle_properties_khr: unsafe { 4778 unsafe extern "system" fn get_memory_win32_handle_properties_khr( 4779 _device: Device, 4780 _handle_type: ExternalMemoryHandleTypeFlags, 4781 _handle: HANDLE, 4782 _p_memory_win32_handle_properties: *mut MemoryWin32HandlePropertiesKHR, 4783 ) -> Result { 4784 panic!(concat!( 4785 "Unable to load ", 4786 stringify!(get_memory_win32_handle_properties_khr) 4787 )) 4788 } 4789 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4790 b"vkGetMemoryWin32HandlePropertiesKHR\0", 4791 ); 4792 let val = _f(cname); 4793 if val.is_null() { 4794 get_memory_win32_handle_properties_khr 4795 } else { 4796 ::std::mem::transmute(val) 4797 } 4798 }, 4799 } 4800 } 4801 } 4802 #[doc = "Generated from 'VK_KHR_external_memory_win32'"] 4803 impl StructureType { 4804 pub const IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_073_000); 4805 pub const EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_073_001); 4806 pub const MEMORY_WIN32_HANDLE_PROPERTIES_KHR: Self = Self(1_000_073_002); 4807 pub const MEMORY_GET_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_073_003); 4808 } 4809 impl KhrExternalMemoryFdFn { 4810 #[inline] name() -> &'static ::std::ffi::CStr4811 pub const fn name() -> &'static ::std::ffi::CStr { 4812 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_memory_fd\0") } 4813 } 4814 pub const SPEC_VERSION: u32 = 1u32; 4815 } 4816 #[allow(non_camel_case_types)] 4817 pub type PFN_vkGetMemoryFdKHR = unsafe extern "system" fn( 4818 device: Device, 4819 p_get_fd_info: *const MemoryGetFdInfoKHR, 4820 p_fd: *mut c_int, 4821 ) -> Result; 4822 #[allow(non_camel_case_types)] 4823 pub type PFN_vkGetMemoryFdPropertiesKHR = unsafe extern "system" fn( 4824 device: Device, 4825 handle_type: ExternalMemoryHandleTypeFlags, 4826 fd: c_int, 4827 p_memory_fd_properties: *mut MemoryFdPropertiesKHR, 4828 ) -> Result; 4829 #[derive(Clone)] 4830 pub struct KhrExternalMemoryFdFn { 4831 pub get_memory_fd_khr: PFN_vkGetMemoryFdKHR, 4832 pub get_memory_fd_properties_khr: PFN_vkGetMemoryFdPropertiesKHR, 4833 } 4834 unsafe impl Send for KhrExternalMemoryFdFn {} 4835 unsafe impl Sync for KhrExternalMemoryFdFn {} 4836 impl KhrExternalMemoryFdFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4837 pub fn load<F>(mut _f: F) -> Self 4838 where 4839 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4840 { 4841 Self { 4842 get_memory_fd_khr: unsafe { 4843 unsafe extern "system" fn get_memory_fd_khr( 4844 _device: Device, 4845 _p_get_fd_info: *const MemoryGetFdInfoKHR, 4846 _p_fd: *mut c_int, 4847 ) -> Result { 4848 panic!(concat!("Unable to load ", stringify!(get_memory_fd_khr))) 4849 } 4850 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetMemoryFdKHR\0"); 4851 let val = _f(cname); 4852 if val.is_null() { 4853 get_memory_fd_khr 4854 } else { 4855 ::std::mem::transmute(val) 4856 } 4857 }, 4858 get_memory_fd_properties_khr: unsafe { 4859 unsafe extern "system" fn get_memory_fd_properties_khr( 4860 _device: Device, 4861 _handle_type: ExternalMemoryHandleTypeFlags, 4862 _fd: c_int, 4863 _p_memory_fd_properties: *mut MemoryFdPropertiesKHR, 4864 ) -> Result { 4865 panic!(concat!( 4866 "Unable to load ", 4867 stringify!(get_memory_fd_properties_khr) 4868 )) 4869 } 4870 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4871 b"vkGetMemoryFdPropertiesKHR\0", 4872 ); 4873 let val = _f(cname); 4874 if val.is_null() { 4875 get_memory_fd_properties_khr 4876 } else { 4877 ::std::mem::transmute(val) 4878 } 4879 }, 4880 } 4881 } 4882 } 4883 #[doc = "Generated from 'VK_KHR_external_memory_fd'"] 4884 impl StructureType { 4885 pub const IMPORT_MEMORY_FD_INFO_KHR: Self = Self(1_000_074_000); 4886 pub const MEMORY_FD_PROPERTIES_KHR: Self = Self(1_000_074_001); 4887 pub const MEMORY_GET_FD_INFO_KHR: Self = Self(1_000_074_002); 4888 } 4889 impl KhrWin32KeyedMutexFn { 4890 #[inline] name() -> &'static ::std::ffi::CStr4891 pub const fn name() -> &'static ::std::ffi::CStr { 4892 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_win32_keyed_mutex\0") } 4893 } 4894 pub const SPEC_VERSION: u32 = 1u32; 4895 } 4896 #[derive(Clone)] 4897 pub struct KhrWin32KeyedMutexFn {} 4898 unsafe impl Send for KhrWin32KeyedMutexFn {} 4899 unsafe impl Sync for KhrWin32KeyedMutexFn {} 4900 impl KhrWin32KeyedMutexFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4901 pub fn load<F>(mut _f: F) -> Self 4902 where 4903 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4904 { 4905 Self {} 4906 } 4907 } 4908 #[doc = "Generated from 'VK_KHR_win32_keyed_mutex'"] 4909 impl StructureType { 4910 pub const WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: Self = Self(1_000_075_000); 4911 } 4912 impl KhrExternalSemaphoreCapabilitiesFn { 4913 #[inline] name() -> &'static ::std::ffi::CStr4914 pub const fn name() -> &'static ::std::ffi::CStr { 4915 unsafe { 4916 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4917 b"VK_KHR_external_semaphore_capabilities\0", 4918 ) 4919 } 4920 } 4921 pub const SPEC_VERSION: u32 = 1u32; 4922 } 4923 #[allow(non_camel_case_types)] 4924 pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = unsafe extern "system" fn( 4925 physical_device: PhysicalDevice, 4926 p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, 4927 p_external_semaphore_properties: *mut ExternalSemaphoreProperties, 4928 ); 4929 #[derive(Clone)] 4930 pub struct KhrExternalSemaphoreCapabilitiesFn { 4931 pub get_physical_device_external_semaphore_properties_khr: 4932 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties, 4933 } 4934 unsafe impl Send for KhrExternalSemaphoreCapabilitiesFn {} 4935 unsafe impl Sync for KhrExternalSemaphoreCapabilitiesFn {} 4936 impl KhrExternalSemaphoreCapabilitiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4937 pub fn load<F>(mut _f: F) -> Self 4938 where 4939 F: FnMut(&::std::ffi::CStr) -> *const c_void, 4940 { 4941 Self { 4942 get_physical_device_external_semaphore_properties_khr: unsafe { 4943 unsafe extern "system" fn get_physical_device_external_semaphore_properties_khr( 4944 _physical_device: PhysicalDevice, 4945 _p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, 4946 _p_external_semaphore_properties: *mut ExternalSemaphoreProperties, 4947 ) { 4948 panic!(concat!( 4949 "Unable to load ", 4950 stringify!(get_physical_device_external_semaphore_properties_khr) 4951 )) 4952 } 4953 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 4954 b"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR\0", 4955 ); 4956 let val = _f(cname); 4957 if val.is_null() { 4958 get_physical_device_external_semaphore_properties_khr 4959 } else { 4960 ::std::mem::transmute(val) 4961 } 4962 }, 4963 } 4964 } 4965 } 4966 #[doc = "Generated from 'VK_KHR_external_semaphore_capabilities'"] 4967 impl ExternalSemaphoreFeatureFlags { 4968 pub const EXPORTABLE_KHR: Self = Self::EXPORTABLE; 4969 pub const IMPORTABLE_KHR: Self = Self::IMPORTABLE; 4970 } 4971 #[doc = "Generated from 'VK_KHR_external_semaphore_capabilities'"] 4972 impl ExternalSemaphoreHandleTypeFlags { 4973 pub const OPAQUE_FD_KHR: Self = Self::OPAQUE_FD; 4974 pub const OPAQUE_WIN32_KHR: Self = Self::OPAQUE_WIN32; 4975 pub const OPAQUE_WIN32_KMT_KHR: Self = Self::OPAQUE_WIN32_KMT; 4976 pub const D3D12_FENCE_KHR: Self = Self::D3D12_FENCE; 4977 pub const SYNC_FD_KHR: Self = Self::SYNC_FD; 4978 } 4979 #[doc = "Generated from 'VK_KHR_external_semaphore_capabilities'"] 4980 impl StructureType { 4981 pub const PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR: Self = 4982 Self::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO; 4983 pub const EXTERNAL_SEMAPHORE_PROPERTIES_KHR: Self = Self::EXTERNAL_SEMAPHORE_PROPERTIES; 4984 } 4985 impl KhrExternalSemaphoreFn { 4986 #[inline] name() -> &'static ::std::ffi::CStr4987 pub const fn name() -> &'static ::std::ffi::CStr { 4988 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_semaphore\0") } 4989 } 4990 pub const SPEC_VERSION: u32 = 1u32; 4991 } 4992 #[derive(Clone)] 4993 pub struct KhrExternalSemaphoreFn {} 4994 unsafe impl Send for KhrExternalSemaphoreFn {} 4995 unsafe impl Sync for KhrExternalSemaphoreFn {} 4996 impl KhrExternalSemaphoreFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,4997 pub fn load<F>(mut _f: F) -> Self 4998 where 4999 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5000 { 5001 Self {} 5002 } 5003 } 5004 #[doc = "Generated from 'VK_KHR_external_semaphore'"] 5005 impl SemaphoreImportFlags { 5006 pub const TEMPORARY_KHR: Self = Self::TEMPORARY; 5007 } 5008 #[doc = "Generated from 'VK_KHR_external_semaphore'"] 5009 impl StructureType { 5010 pub const EXPORT_SEMAPHORE_CREATE_INFO_KHR: Self = Self::EXPORT_SEMAPHORE_CREATE_INFO; 5011 } 5012 impl KhrExternalSemaphoreWin32Fn { 5013 #[inline] name() -> &'static ::std::ffi::CStr5014 pub const fn name() -> &'static ::std::ffi::CStr { 5015 unsafe { 5016 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_semaphore_win32\0") 5017 } 5018 } 5019 pub const SPEC_VERSION: u32 = 1u32; 5020 } 5021 #[allow(non_camel_case_types)] 5022 pub type PFN_vkImportSemaphoreWin32HandleKHR = unsafe extern "system" fn( 5023 device: Device, 5024 p_import_semaphore_win32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, 5025 ) -> Result; 5026 #[allow(non_camel_case_types)] 5027 pub type PFN_vkGetSemaphoreWin32HandleKHR = unsafe extern "system" fn( 5028 device: Device, 5029 p_get_win32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, 5030 p_handle: *mut HANDLE, 5031 ) -> Result; 5032 #[derive(Clone)] 5033 pub struct KhrExternalSemaphoreWin32Fn { 5034 pub import_semaphore_win32_handle_khr: PFN_vkImportSemaphoreWin32HandleKHR, 5035 pub get_semaphore_win32_handle_khr: PFN_vkGetSemaphoreWin32HandleKHR, 5036 } 5037 unsafe impl Send for KhrExternalSemaphoreWin32Fn {} 5038 unsafe impl Sync for KhrExternalSemaphoreWin32Fn {} 5039 impl KhrExternalSemaphoreWin32Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5040 pub fn load<F>(mut _f: F) -> Self 5041 where 5042 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5043 { 5044 Self { 5045 import_semaphore_win32_handle_khr: unsafe { 5046 unsafe extern "system" fn import_semaphore_win32_handle_khr( 5047 _device: Device, 5048 _p_import_semaphore_win32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, 5049 ) -> Result { 5050 panic!(concat!( 5051 "Unable to load ", 5052 stringify!(import_semaphore_win32_handle_khr) 5053 )) 5054 } 5055 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5056 b"vkImportSemaphoreWin32HandleKHR\0", 5057 ); 5058 let val = _f(cname); 5059 if val.is_null() { 5060 import_semaphore_win32_handle_khr 5061 } else { 5062 ::std::mem::transmute(val) 5063 } 5064 }, 5065 get_semaphore_win32_handle_khr: unsafe { 5066 unsafe extern "system" fn get_semaphore_win32_handle_khr( 5067 _device: Device, 5068 _p_get_win32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, 5069 _p_handle: *mut HANDLE, 5070 ) -> Result { 5071 panic!(concat!( 5072 "Unable to load ", 5073 stringify!(get_semaphore_win32_handle_khr) 5074 )) 5075 } 5076 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5077 b"vkGetSemaphoreWin32HandleKHR\0", 5078 ); 5079 let val = _f(cname); 5080 if val.is_null() { 5081 get_semaphore_win32_handle_khr 5082 } else { 5083 ::std::mem::transmute(val) 5084 } 5085 }, 5086 } 5087 } 5088 } 5089 #[doc = "Generated from 'VK_KHR_external_semaphore_win32'"] 5090 impl StructureType { 5091 pub const IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_078_000); 5092 pub const EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_078_001); 5093 pub const D3D12_FENCE_SUBMIT_INFO_KHR: Self = Self(1_000_078_002); 5094 pub const SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_078_003); 5095 } 5096 impl KhrExternalSemaphoreFdFn { 5097 #[inline] name() -> &'static ::std::ffi::CStr5098 pub const fn name() -> &'static ::std::ffi::CStr { 5099 unsafe { 5100 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_semaphore_fd\0") 5101 } 5102 } 5103 pub const SPEC_VERSION: u32 = 1u32; 5104 } 5105 #[allow(non_camel_case_types)] 5106 pub type PFN_vkImportSemaphoreFdKHR = unsafe extern "system" fn( 5107 device: Device, 5108 p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, 5109 ) -> Result; 5110 #[allow(non_camel_case_types)] 5111 pub type PFN_vkGetSemaphoreFdKHR = unsafe extern "system" fn( 5112 device: Device, 5113 p_get_fd_info: *const SemaphoreGetFdInfoKHR, 5114 p_fd: *mut c_int, 5115 ) -> Result; 5116 #[derive(Clone)] 5117 pub struct KhrExternalSemaphoreFdFn { 5118 pub import_semaphore_fd_khr: PFN_vkImportSemaphoreFdKHR, 5119 pub get_semaphore_fd_khr: PFN_vkGetSemaphoreFdKHR, 5120 } 5121 unsafe impl Send for KhrExternalSemaphoreFdFn {} 5122 unsafe impl Sync for KhrExternalSemaphoreFdFn {} 5123 impl KhrExternalSemaphoreFdFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5124 pub fn load<F>(mut _f: F) -> Self 5125 where 5126 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5127 { 5128 Self { 5129 import_semaphore_fd_khr: unsafe { 5130 unsafe extern "system" fn import_semaphore_fd_khr( 5131 _device: Device, 5132 _p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, 5133 ) -> Result { 5134 panic!(concat!( 5135 "Unable to load ", 5136 stringify!(import_semaphore_fd_khr) 5137 )) 5138 } 5139 let cname = 5140 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkImportSemaphoreFdKHR\0"); 5141 let val = _f(cname); 5142 if val.is_null() { 5143 import_semaphore_fd_khr 5144 } else { 5145 ::std::mem::transmute(val) 5146 } 5147 }, 5148 get_semaphore_fd_khr: unsafe { 5149 unsafe extern "system" fn get_semaphore_fd_khr( 5150 _device: Device, 5151 _p_get_fd_info: *const SemaphoreGetFdInfoKHR, 5152 _p_fd: *mut c_int, 5153 ) -> Result { 5154 panic!(concat!("Unable to load ", stringify!(get_semaphore_fd_khr))) 5155 } 5156 let cname = 5157 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetSemaphoreFdKHR\0"); 5158 let val = _f(cname); 5159 if val.is_null() { 5160 get_semaphore_fd_khr 5161 } else { 5162 ::std::mem::transmute(val) 5163 } 5164 }, 5165 } 5166 } 5167 } 5168 #[doc = "Generated from 'VK_KHR_external_semaphore_fd'"] 5169 impl StructureType { 5170 pub const IMPORT_SEMAPHORE_FD_INFO_KHR: Self = Self(1_000_079_000); 5171 pub const SEMAPHORE_GET_FD_INFO_KHR: Self = Self(1_000_079_001); 5172 } 5173 impl KhrPushDescriptorFn { 5174 #[inline] name() -> &'static ::std::ffi::CStr5175 pub const fn name() -> &'static ::std::ffi::CStr { 5176 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_push_descriptor\0") } 5177 } 5178 pub const SPEC_VERSION: u32 = 2u32; 5179 } 5180 #[allow(non_camel_case_types)] 5181 pub type PFN_vkCmdPushDescriptorSetKHR = unsafe extern "system" fn( 5182 command_buffer: CommandBuffer, 5183 pipeline_bind_point: PipelineBindPoint, 5184 layout: PipelineLayout, 5185 set: u32, 5186 descriptor_write_count: u32, 5187 p_descriptor_writes: *const WriteDescriptorSet, 5188 ); 5189 #[allow(non_camel_case_types)] 5190 pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = unsafe extern "system" fn( 5191 command_buffer: CommandBuffer, 5192 descriptor_update_template: DescriptorUpdateTemplate, 5193 layout: PipelineLayout, 5194 set: u32, 5195 p_data: *const c_void, 5196 ); 5197 #[derive(Clone)] 5198 pub struct KhrPushDescriptorFn { 5199 pub cmd_push_descriptor_set_khr: PFN_vkCmdPushDescriptorSetKHR, 5200 pub cmd_push_descriptor_set_with_template_khr: PFN_vkCmdPushDescriptorSetWithTemplateKHR, 5201 } 5202 unsafe impl Send for KhrPushDescriptorFn {} 5203 unsafe impl Sync for KhrPushDescriptorFn {} 5204 impl KhrPushDescriptorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5205 pub fn load<F>(mut _f: F) -> Self 5206 where 5207 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5208 { 5209 Self { 5210 cmd_push_descriptor_set_khr: unsafe { 5211 unsafe extern "system" fn cmd_push_descriptor_set_khr( 5212 _command_buffer: CommandBuffer, 5213 _pipeline_bind_point: PipelineBindPoint, 5214 _layout: PipelineLayout, 5215 _set: u32, 5216 _descriptor_write_count: u32, 5217 _p_descriptor_writes: *const WriteDescriptorSet, 5218 ) { 5219 panic!(concat!( 5220 "Unable to load ", 5221 stringify!(cmd_push_descriptor_set_khr) 5222 )) 5223 } 5224 let cname = 5225 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdPushDescriptorSetKHR\0"); 5226 let val = _f(cname); 5227 if val.is_null() { 5228 cmd_push_descriptor_set_khr 5229 } else { 5230 ::std::mem::transmute(val) 5231 } 5232 }, 5233 cmd_push_descriptor_set_with_template_khr: unsafe { 5234 unsafe extern "system" fn cmd_push_descriptor_set_with_template_khr( 5235 _command_buffer: CommandBuffer, 5236 _descriptor_update_template: DescriptorUpdateTemplate, 5237 _layout: PipelineLayout, 5238 _set: u32, 5239 _p_data: *const c_void, 5240 ) { 5241 panic!(concat!( 5242 "Unable to load ", 5243 stringify!(cmd_push_descriptor_set_with_template_khr) 5244 )) 5245 } 5246 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5247 b"vkCmdPushDescriptorSetWithTemplateKHR\0", 5248 ); 5249 let val = _f(cname); 5250 if val.is_null() { 5251 cmd_push_descriptor_set_with_template_khr 5252 } else { 5253 ::std::mem::transmute(val) 5254 } 5255 }, 5256 } 5257 } 5258 } 5259 #[doc = "Generated from 'VK_KHR_push_descriptor'"] 5260 impl DescriptorSetLayoutCreateFlags { 5261 #[doc = "Descriptors are pushed via flink:vkCmdPushDescriptorSetKHR"] 5262 pub const PUSH_DESCRIPTOR_KHR: Self = Self(0b1); 5263 } 5264 #[doc = "Generated from 'VK_KHR_push_descriptor'"] 5265 impl DescriptorUpdateTemplateType { 5266 #[doc = "Create descriptor update template for pushed descriptor updates"] 5267 pub const PUSH_DESCRIPTORS_KHR: Self = Self(1); 5268 } 5269 #[doc = "Generated from 'VK_KHR_push_descriptor'"] 5270 impl StructureType { 5271 pub const PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: Self = Self(1_000_080_000); 5272 } 5273 impl ExtConditionalRenderingFn { 5274 #[inline] name() -> &'static ::std::ffi::CStr5275 pub const fn name() -> &'static ::std::ffi::CStr { 5276 unsafe { 5277 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_conditional_rendering\0") 5278 } 5279 } 5280 pub const SPEC_VERSION: u32 = 2u32; 5281 } 5282 #[allow(non_camel_case_types)] 5283 pub type PFN_vkCmdBeginConditionalRenderingEXT = unsafe extern "system" fn( 5284 command_buffer: CommandBuffer, 5285 p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, 5286 ); 5287 #[allow(non_camel_case_types)] 5288 pub type PFN_vkCmdEndConditionalRenderingEXT = 5289 unsafe extern "system" fn(command_buffer: CommandBuffer); 5290 #[derive(Clone)] 5291 pub struct ExtConditionalRenderingFn { 5292 pub cmd_begin_conditional_rendering_ext: PFN_vkCmdBeginConditionalRenderingEXT, 5293 pub cmd_end_conditional_rendering_ext: PFN_vkCmdEndConditionalRenderingEXT, 5294 } 5295 unsafe impl Send for ExtConditionalRenderingFn {} 5296 unsafe impl Sync for ExtConditionalRenderingFn {} 5297 impl ExtConditionalRenderingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5298 pub fn load<F>(mut _f: F) -> Self 5299 where 5300 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5301 { 5302 Self { 5303 cmd_begin_conditional_rendering_ext: unsafe { 5304 unsafe extern "system" fn cmd_begin_conditional_rendering_ext( 5305 _command_buffer: CommandBuffer, 5306 _p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, 5307 ) { 5308 panic!(concat!( 5309 "Unable to load ", 5310 stringify!(cmd_begin_conditional_rendering_ext) 5311 )) 5312 } 5313 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5314 b"vkCmdBeginConditionalRenderingEXT\0", 5315 ); 5316 let val = _f(cname); 5317 if val.is_null() { 5318 cmd_begin_conditional_rendering_ext 5319 } else { 5320 ::std::mem::transmute(val) 5321 } 5322 }, 5323 cmd_end_conditional_rendering_ext: unsafe { 5324 unsafe extern "system" fn cmd_end_conditional_rendering_ext( 5325 _command_buffer: CommandBuffer, 5326 ) { 5327 panic!(concat!( 5328 "Unable to load ", 5329 stringify!(cmd_end_conditional_rendering_ext) 5330 )) 5331 } 5332 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5333 b"vkCmdEndConditionalRenderingEXT\0", 5334 ); 5335 let val = _f(cname); 5336 if val.is_null() { 5337 cmd_end_conditional_rendering_ext 5338 } else { 5339 ::std::mem::transmute(val) 5340 } 5341 }, 5342 } 5343 } 5344 } 5345 #[doc = "Generated from 'VK_EXT_conditional_rendering'"] 5346 impl AccessFlags { 5347 #[doc = "read access flag for reading conditional rendering predicate"] 5348 pub const CONDITIONAL_RENDERING_READ_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); 5349 } 5350 #[doc = "Generated from 'VK_EXT_conditional_rendering'"] 5351 impl BufferUsageFlags { 5352 #[doc = "Specifies the buffer can be used as predicate in conditional rendering"] 5353 pub const CONDITIONAL_RENDERING_EXT: Self = Self(0b10_0000_0000); 5354 } 5355 #[doc = "Generated from 'VK_EXT_conditional_rendering'"] 5356 impl PipelineStageFlags { 5357 #[doc = "A pipeline stage for conditional rendering predicate fetch"] 5358 pub const CONDITIONAL_RENDERING_EXT: Self = Self(0b100_0000_0000_0000_0000); 5359 } 5360 #[doc = "Generated from 'VK_EXT_conditional_rendering'"] 5361 impl StructureType { 5362 pub const COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: Self = Self(1_000_081_000); 5363 pub const PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: Self = Self(1_000_081_001); 5364 pub const CONDITIONAL_RENDERING_BEGIN_INFO_EXT: Self = Self(1_000_081_002); 5365 } 5366 impl KhrShaderFloat16Int8Fn { 5367 #[inline] name() -> &'static ::std::ffi::CStr5368 pub const fn name() -> &'static ::std::ffi::CStr { 5369 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_float16_int8\0") } 5370 } 5371 pub const SPEC_VERSION: u32 = 1u32; 5372 } 5373 #[derive(Clone)] 5374 pub struct KhrShaderFloat16Int8Fn {} 5375 unsafe impl Send for KhrShaderFloat16Int8Fn {} 5376 unsafe impl Sync for KhrShaderFloat16Int8Fn {} 5377 impl KhrShaderFloat16Int8Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5378 pub fn load<F>(mut _f: F) -> Self 5379 where 5380 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5381 { 5382 Self {} 5383 } 5384 } 5385 #[doc = "Generated from 'VK_KHR_shader_float16_int8'"] 5386 impl StructureType { 5387 pub const PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR: Self = 5388 Self::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; 5389 pub const PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: Self = 5390 Self::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; 5391 } 5392 impl Khr16bitStorageFn { 5393 #[inline] name() -> &'static ::std::ffi::CStr5394 pub const fn name() -> &'static ::std::ffi::CStr { 5395 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_16bit_storage\0") } 5396 } 5397 pub const SPEC_VERSION: u32 = 1u32; 5398 } 5399 #[derive(Clone)] 5400 pub struct Khr16bitStorageFn {} 5401 unsafe impl Send for Khr16bitStorageFn {} 5402 unsafe impl Sync for Khr16bitStorageFn {} 5403 impl Khr16bitStorageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5404 pub fn load<F>(mut _f: F) -> Self 5405 where 5406 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5407 { 5408 Self {} 5409 } 5410 } 5411 #[doc = "Generated from 'VK_KHR_16bit_storage'"] 5412 impl StructureType { 5413 pub const PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: Self = 5414 Self::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; 5415 } 5416 impl KhrIncrementalPresentFn { 5417 #[inline] name() -> &'static ::std::ffi::CStr5418 pub const fn name() -> &'static ::std::ffi::CStr { 5419 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_incremental_present\0") } 5420 } 5421 pub const SPEC_VERSION: u32 = 2u32; 5422 } 5423 #[derive(Clone)] 5424 pub struct KhrIncrementalPresentFn {} 5425 unsafe impl Send for KhrIncrementalPresentFn {} 5426 unsafe impl Sync for KhrIncrementalPresentFn {} 5427 impl KhrIncrementalPresentFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5428 pub fn load<F>(mut _f: F) -> Self 5429 where 5430 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5431 { 5432 Self {} 5433 } 5434 } 5435 #[doc = "Generated from 'VK_KHR_incremental_present'"] 5436 impl StructureType { 5437 pub const PRESENT_REGIONS_KHR: Self = Self(1_000_084_000); 5438 } 5439 impl KhrDescriptorUpdateTemplateFn { 5440 #[inline] name() -> &'static ::std::ffi::CStr5441 pub const fn name() -> &'static ::std::ffi::CStr { 5442 unsafe { 5443 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_descriptor_update_template\0") 5444 } 5445 } 5446 pub const SPEC_VERSION: u32 = 1u32; 5447 } 5448 #[allow(non_camel_case_types)] 5449 pub type PFN_vkCreateDescriptorUpdateTemplate = unsafe extern "system" fn( 5450 device: Device, 5451 p_create_info: *const DescriptorUpdateTemplateCreateInfo, 5452 p_allocator: *const AllocationCallbacks, 5453 p_descriptor_update_template: *mut DescriptorUpdateTemplate, 5454 ) -> Result; 5455 #[allow(non_camel_case_types)] 5456 pub type PFN_vkDestroyDescriptorUpdateTemplate = unsafe extern "system" fn( 5457 device: Device, 5458 descriptor_update_template: DescriptorUpdateTemplate, 5459 p_allocator: *const AllocationCallbacks, 5460 ); 5461 #[allow(non_camel_case_types)] 5462 pub type PFN_vkUpdateDescriptorSetWithTemplate = unsafe extern "system" fn( 5463 device: Device, 5464 descriptor_set: DescriptorSet, 5465 descriptor_update_template: DescriptorUpdateTemplate, 5466 p_data: *const c_void, 5467 ); 5468 #[derive(Clone)] 5469 pub struct KhrDescriptorUpdateTemplateFn { 5470 pub create_descriptor_update_template_khr: PFN_vkCreateDescriptorUpdateTemplate, 5471 pub destroy_descriptor_update_template_khr: PFN_vkDestroyDescriptorUpdateTemplate, 5472 pub update_descriptor_set_with_template_khr: PFN_vkUpdateDescriptorSetWithTemplate, 5473 pub cmd_push_descriptor_set_with_template_khr: 5474 crate::vk::PFN_vkCmdPushDescriptorSetWithTemplateKHR, 5475 } 5476 unsafe impl Send for KhrDescriptorUpdateTemplateFn {} 5477 unsafe impl Sync for KhrDescriptorUpdateTemplateFn {} 5478 impl KhrDescriptorUpdateTemplateFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5479 pub fn load<F>(mut _f: F) -> Self 5480 where 5481 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5482 { 5483 Self { 5484 create_descriptor_update_template_khr: unsafe { 5485 unsafe extern "system" fn create_descriptor_update_template_khr( 5486 _device: Device, 5487 _p_create_info: *const DescriptorUpdateTemplateCreateInfo, 5488 _p_allocator: *const AllocationCallbacks, 5489 _p_descriptor_update_template: *mut DescriptorUpdateTemplate, 5490 ) -> Result { 5491 panic!(concat!( 5492 "Unable to load ", 5493 stringify!(create_descriptor_update_template_khr) 5494 )) 5495 } 5496 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5497 b"vkCreateDescriptorUpdateTemplateKHR\0", 5498 ); 5499 let val = _f(cname); 5500 if val.is_null() { 5501 create_descriptor_update_template_khr 5502 } else { 5503 ::std::mem::transmute(val) 5504 } 5505 }, 5506 destroy_descriptor_update_template_khr: unsafe { 5507 unsafe extern "system" fn destroy_descriptor_update_template_khr( 5508 _device: Device, 5509 _descriptor_update_template: DescriptorUpdateTemplate, 5510 _p_allocator: *const AllocationCallbacks, 5511 ) { 5512 panic!(concat!( 5513 "Unable to load ", 5514 stringify!(destroy_descriptor_update_template_khr) 5515 )) 5516 } 5517 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5518 b"vkDestroyDescriptorUpdateTemplateKHR\0", 5519 ); 5520 let val = _f(cname); 5521 if val.is_null() { 5522 destroy_descriptor_update_template_khr 5523 } else { 5524 ::std::mem::transmute(val) 5525 } 5526 }, 5527 update_descriptor_set_with_template_khr: unsafe { 5528 unsafe extern "system" fn update_descriptor_set_with_template_khr( 5529 _device: Device, 5530 _descriptor_set: DescriptorSet, 5531 _descriptor_update_template: DescriptorUpdateTemplate, 5532 _p_data: *const c_void, 5533 ) { 5534 panic!(concat!( 5535 "Unable to load ", 5536 stringify!(update_descriptor_set_with_template_khr) 5537 )) 5538 } 5539 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5540 b"vkUpdateDescriptorSetWithTemplateKHR\0", 5541 ); 5542 let val = _f(cname); 5543 if val.is_null() { 5544 update_descriptor_set_with_template_khr 5545 } else { 5546 ::std::mem::transmute(val) 5547 } 5548 }, 5549 cmd_push_descriptor_set_with_template_khr: unsafe { 5550 unsafe extern "system" fn cmd_push_descriptor_set_with_template_khr( 5551 _command_buffer: CommandBuffer, 5552 _descriptor_update_template: DescriptorUpdateTemplate, 5553 _layout: PipelineLayout, 5554 _set: u32, 5555 _p_data: *const c_void, 5556 ) { 5557 panic!(concat!( 5558 "Unable to load ", 5559 stringify!(cmd_push_descriptor_set_with_template_khr) 5560 )) 5561 } 5562 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5563 b"vkCmdPushDescriptorSetWithTemplateKHR\0", 5564 ); 5565 let val = _f(cname); 5566 if val.is_null() { 5567 cmd_push_descriptor_set_with_template_khr 5568 } else { 5569 ::std::mem::transmute(val) 5570 } 5571 }, 5572 } 5573 } 5574 } 5575 #[doc = "Generated from 'VK_KHR_descriptor_update_template'"] 5576 impl DebugReportObjectTypeEXT { 5577 pub const DESCRIPTOR_UPDATE_TEMPLATE_KHR: Self = Self::DESCRIPTOR_UPDATE_TEMPLATE; 5578 } 5579 #[doc = "Generated from 'VK_KHR_descriptor_update_template'"] 5580 impl DescriptorUpdateTemplateType { 5581 pub const DESCRIPTOR_SET_KHR: Self = Self::DESCRIPTOR_SET; 5582 } 5583 #[doc = "Generated from 'VK_KHR_descriptor_update_template'"] 5584 impl ObjectType { 5585 pub const DESCRIPTOR_UPDATE_TEMPLATE_KHR: Self = Self::DESCRIPTOR_UPDATE_TEMPLATE; 5586 } 5587 #[doc = "Generated from 'VK_KHR_descriptor_update_template'"] 5588 impl StructureType { 5589 pub const DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: Self = 5590 Self::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; 5591 } 5592 impl NvxDeviceGeneratedCommandsFn { 5593 #[inline] name() -> &'static ::std::ffi::CStr5594 pub const fn name() -> &'static ::std::ffi::CStr { 5595 unsafe { 5596 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NVX_device_generated_commands\0") 5597 } 5598 } 5599 pub const SPEC_VERSION: u32 = 3u32; 5600 } 5601 #[derive(Clone)] 5602 pub struct NvxDeviceGeneratedCommandsFn {} 5603 unsafe impl Send for NvxDeviceGeneratedCommandsFn {} 5604 unsafe impl Sync for NvxDeviceGeneratedCommandsFn {} 5605 impl NvxDeviceGeneratedCommandsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5606 pub fn load<F>(mut _f: F) -> Self 5607 where 5608 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5609 { 5610 Self {} 5611 } 5612 } 5613 impl NvClipSpaceWScalingFn { 5614 #[inline] name() -> &'static ::std::ffi::CStr5615 pub const fn name() -> &'static ::std::ffi::CStr { 5616 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_clip_space_w_scaling\0") } 5617 } 5618 pub const SPEC_VERSION: u32 = 1u32; 5619 } 5620 #[allow(non_camel_case_types)] 5621 pub type PFN_vkCmdSetViewportWScalingNV = unsafe extern "system" fn( 5622 command_buffer: CommandBuffer, 5623 first_viewport: u32, 5624 viewport_count: u32, 5625 p_viewport_w_scalings: *const ViewportWScalingNV, 5626 ); 5627 #[derive(Clone)] 5628 pub struct NvClipSpaceWScalingFn { 5629 pub cmd_set_viewport_w_scaling_nv: PFN_vkCmdSetViewportWScalingNV, 5630 } 5631 unsafe impl Send for NvClipSpaceWScalingFn {} 5632 unsafe impl Sync for NvClipSpaceWScalingFn {} 5633 impl NvClipSpaceWScalingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5634 pub fn load<F>(mut _f: F) -> Self 5635 where 5636 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5637 { 5638 Self { 5639 cmd_set_viewport_w_scaling_nv: unsafe { 5640 unsafe extern "system" fn cmd_set_viewport_w_scaling_nv( 5641 _command_buffer: CommandBuffer, 5642 _first_viewport: u32, 5643 _viewport_count: u32, 5644 _p_viewport_w_scalings: *const ViewportWScalingNV, 5645 ) { 5646 panic!(concat!( 5647 "Unable to load ", 5648 stringify!(cmd_set_viewport_w_scaling_nv) 5649 )) 5650 } 5651 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5652 b"vkCmdSetViewportWScalingNV\0", 5653 ); 5654 let val = _f(cname); 5655 if val.is_null() { 5656 cmd_set_viewport_w_scaling_nv 5657 } else { 5658 ::std::mem::transmute(val) 5659 } 5660 }, 5661 } 5662 } 5663 } 5664 #[doc = "Generated from 'VK_NV_clip_space_w_scaling'"] 5665 impl DynamicState { 5666 pub const VIEWPORT_W_SCALING_NV: Self = Self(1_000_087_000); 5667 } 5668 #[doc = "Generated from 'VK_NV_clip_space_w_scaling'"] 5669 impl StructureType { 5670 pub const PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: Self = Self(1_000_087_000); 5671 } 5672 impl ExtDirectModeDisplayFn { 5673 #[inline] name() -> &'static ::std::ffi::CStr5674 pub const fn name() -> &'static ::std::ffi::CStr { 5675 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_direct_mode_display\0") } 5676 } 5677 pub const SPEC_VERSION: u32 = 1u32; 5678 } 5679 #[allow(non_camel_case_types)] 5680 pub type PFN_vkReleaseDisplayEXT = 5681 unsafe extern "system" fn(physical_device: PhysicalDevice, display: DisplayKHR) -> Result; 5682 #[derive(Clone)] 5683 pub struct ExtDirectModeDisplayFn { 5684 pub release_display_ext: PFN_vkReleaseDisplayEXT, 5685 } 5686 unsafe impl Send for ExtDirectModeDisplayFn {} 5687 unsafe impl Sync for ExtDirectModeDisplayFn {} 5688 impl ExtDirectModeDisplayFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5689 pub fn load<F>(mut _f: F) -> Self 5690 where 5691 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5692 { 5693 Self { 5694 release_display_ext: unsafe { 5695 unsafe extern "system" fn release_display_ext( 5696 _physical_device: PhysicalDevice, 5697 _display: DisplayKHR, 5698 ) -> Result { 5699 panic!(concat!("Unable to load ", stringify!(release_display_ext))) 5700 } 5701 let cname = 5702 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkReleaseDisplayEXT\0"); 5703 let val = _f(cname); 5704 if val.is_null() { 5705 release_display_ext 5706 } else { 5707 ::std::mem::transmute(val) 5708 } 5709 }, 5710 } 5711 } 5712 } 5713 impl ExtAcquireXlibDisplayFn { 5714 #[inline] name() -> &'static ::std::ffi::CStr5715 pub const fn name() -> &'static ::std::ffi::CStr { 5716 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_acquire_xlib_display\0") } 5717 } 5718 pub const SPEC_VERSION: u32 = 1u32; 5719 } 5720 #[allow(non_camel_case_types)] 5721 pub type PFN_vkAcquireXlibDisplayEXT = unsafe extern "system" fn( 5722 physical_device: PhysicalDevice, 5723 dpy: *mut Display, 5724 display: DisplayKHR, 5725 ) -> Result; 5726 #[allow(non_camel_case_types)] 5727 pub type PFN_vkGetRandROutputDisplayEXT = unsafe extern "system" fn( 5728 physical_device: PhysicalDevice, 5729 dpy: *mut Display, 5730 rr_output: RROutput, 5731 p_display: *mut DisplayKHR, 5732 ) -> Result; 5733 #[derive(Clone)] 5734 pub struct ExtAcquireXlibDisplayFn { 5735 pub acquire_xlib_display_ext: PFN_vkAcquireXlibDisplayEXT, 5736 pub get_rand_r_output_display_ext: PFN_vkGetRandROutputDisplayEXT, 5737 } 5738 unsafe impl Send for ExtAcquireXlibDisplayFn {} 5739 unsafe impl Sync for ExtAcquireXlibDisplayFn {} 5740 impl ExtAcquireXlibDisplayFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5741 pub fn load<F>(mut _f: F) -> Self 5742 where 5743 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5744 { 5745 Self { 5746 acquire_xlib_display_ext: unsafe { 5747 unsafe extern "system" fn acquire_xlib_display_ext( 5748 _physical_device: PhysicalDevice, 5749 _dpy: *mut Display, 5750 _display: DisplayKHR, 5751 ) -> Result { 5752 panic!(concat!( 5753 "Unable to load ", 5754 stringify!(acquire_xlib_display_ext) 5755 )) 5756 } 5757 let cname = 5758 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireXlibDisplayEXT\0"); 5759 let val = _f(cname); 5760 if val.is_null() { 5761 acquire_xlib_display_ext 5762 } else { 5763 ::std::mem::transmute(val) 5764 } 5765 }, 5766 get_rand_r_output_display_ext: unsafe { 5767 unsafe extern "system" fn get_rand_r_output_display_ext( 5768 _physical_device: PhysicalDevice, 5769 _dpy: *mut Display, 5770 _rr_output: RROutput, 5771 _p_display: *mut DisplayKHR, 5772 ) -> Result { 5773 panic!(concat!( 5774 "Unable to load ", 5775 stringify!(get_rand_r_output_display_ext) 5776 )) 5777 } 5778 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5779 b"vkGetRandROutputDisplayEXT\0", 5780 ); 5781 let val = _f(cname); 5782 if val.is_null() { 5783 get_rand_r_output_display_ext 5784 } else { 5785 ::std::mem::transmute(val) 5786 } 5787 }, 5788 } 5789 } 5790 } 5791 impl ExtDisplaySurfaceCounterFn { 5792 #[inline] name() -> &'static ::std::ffi::CStr5793 pub const fn name() -> &'static ::std::ffi::CStr { 5794 unsafe { 5795 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_display_surface_counter\0") 5796 } 5797 } 5798 pub const SPEC_VERSION: u32 = 1u32; 5799 } 5800 #[allow(non_camel_case_types)] 5801 pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = unsafe extern "system" fn( 5802 physical_device: PhysicalDevice, 5803 surface: SurfaceKHR, 5804 p_surface_capabilities: *mut SurfaceCapabilities2EXT, 5805 ) -> Result; 5806 #[derive(Clone)] 5807 pub struct ExtDisplaySurfaceCounterFn { 5808 pub get_physical_device_surface_capabilities2_ext: 5809 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT, 5810 } 5811 unsafe impl Send for ExtDisplaySurfaceCounterFn {} 5812 unsafe impl Sync for ExtDisplaySurfaceCounterFn {} 5813 impl ExtDisplaySurfaceCounterFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5814 pub fn load<F>(mut _f: F) -> Self 5815 where 5816 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5817 { 5818 Self { 5819 get_physical_device_surface_capabilities2_ext: unsafe { 5820 unsafe extern "system" fn get_physical_device_surface_capabilities2_ext( 5821 _physical_device: PhysicalDevice, 5822 _surface: SurfaceKHR, 5823 _p_surface_capabilities: *mut SurfaceCapabilities2EXT, 5824 ) -> Result { 5825 panic!(concat!( 5826 "Unable to load ", 5827 stringify!(get_physical_device_surface_capabilities2_ext) 5828 )) 5829 } 5830 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 5831 b"vkGetPhysicalDeviceSurfaceCapabilities2EXT\0", 5832 ); 5833 let val = _f(cname); 5834 if val.is_null() { 5835 get_physical_device_surface_capabilities2_ext 5836 } else { 5837 ::std::mem::transmute(val) 5838 } 5839 }, 5840 } 5841 } 5842 } 5843 #[doc = "Generated from 'VK_EXT_display_surface_counter'"] 5844 impl StructureType { 5845 pub const SURFACE_CAPABILITIES_2_EXT: Self = Self(1_000_090_000); 5846 } 5847 impl ExtDisplayControlFn { 5848 #[inline] name() -> &'static ::std::ffi::CStr5849 pub const fn name() -> &'static ::std::ffi::CStr { 5850 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_display_control\0") } 5851 } 5852 pub const SPEC_VERSION: u32 = 1u32; 5853 } 5854 #[allow(non_camel_case_types)] 5855 pub type PFN_vkDisplayPowerControlEXT = unsafe extern "system" fn( 5856 device: Device, 5857 display: DisplayKHR, 5858 p_display_power_info: *const DisplayPowerInfoEXT, 5859 ) -> Result; 5860 #[allow(non_camel_case_types)] 5861 pub type PFN_vkRegisterDeviceEventEXT = unsafe extern "system" fn( 5862 device: Device, 5863 p_device_event_info: *const DeviceEventInfoEXT, 5864 p_allocator: *const AllocationCallbacks, 5865 p_fence: *mut Fence, 5866 ) -> Result; 5867 #[allow(non_camel_case_types)] 5868 pub type PFN_vkRegisterDisplayEventEXT = unsafe extern "system" fn( 5869 device: Device, 5870 display: DisplayKHR, 5871 p_display_event_info: *const DisplayEventInfoEXT, 5872 p_allocator: *const AllocationCallbacks, 5873 p_fence: *mut Fence, 5874 ) -> Result; 5875 #[allow(non_camel_case_types)] 5876 pub type PFN_vkGetSwapchainCounterEXT = unsafe extern "system" fn( 5877 device: Device, 5878 swapchain: SwapchainKHR, 5879 counter: SurfaceCounterFlagsEXT, 5880 p_counter_value: *mut u64, 5881 ) -> Result; 5882 #[derive(Clone)] 5883 pub struct ExtDisplayControlFn { 5884 pub display_power_control_ext: PFN_vkDisplayPowerControlEXT, 5885 pub register_device_event_ext: PFN_vkRegisterDeviceEventEXT, 5886 pub register_display_event_ext: PFN_vkRegisterDisplayEventEXT, 5887 pub get_swapchain_counter_ext: PFN_vkGetSwapchainCounterEXT, 5888 } 5889 unsafe impl Send for ExtDisplayControlFn {} 5890 unsafe impl Sync for ExtDisplayControlFn {} 5891 impl ExtDisplayControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,5892 pub fn load<F>(mut _f: F) -> Self 5893 where 5894 F: FnMut(&::std::ffi::CStr) -> *const c_void, 5895 { 5896 Self { 5897 display_power_control_ext: unsafe { 5898 unsafe extern "system" fn display_power_control_ext( 5899 _device: Device, 5900 _display: DisplayKHR, 5901 _p_display_power_info: *const DisplayPowerInfoEXT, 5902 ) -> Result { 5903 panic!(concat!( 5904 "Unable to load ", 5905 stringify!(display_power_control_ext) 5906 )) 5907 } 5908 let cname = 5909 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDisplayPowerControlEXT\0"); 5910 let val = _f(cname); 5911 if val.is_null() { 5912 display_power_control_ext 5913 } else { 5914 ::std::mem::transmute(val) 5915 } 5916 }, 5917 register_device_event_ext: unsafe { 5918 unsafe extern "system" fn register_device_event_ext( 5919 _device: Device, 5920 _p_device_event_info: *const DeviceEventInfoEXT, 5921 _p_allocator: *const AllocationCallbacks, 5922 _p_fence: *mut Fence, 5923 ) -> Result { 5924 panic!(concat!( 5925 "Unable to load ", 5926 stringify!(register_device_event_ext) 5927 )) 5928 } 5929 let cname = 5930 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkRegisterDeviceEventEXT\0"); 5931 let val = _f(cname); 5932 if val.is_null() { 5933 register_device_event_ext 5934 } else { 5935 ::std::mem::transmute(val) 5936 } 5937 }, 5938 register_display_event_ext: unsafe { 5939 unsafe extern "system" fn register_display_event_ext( 5940 _device: Device, 5941 _display: DisplayKHR, 5942 _p_display_event_info: *const DisplayEventInfoEXT, 5943 _p_allocator: *const AllocationCallbacks, 5944 _p_fence: *mut Fence, 5945 ) -> Result { 5946 panic!(concat!( 5947 "Unable to load ", 5948 stringify!(register_display_event_ext) 5949 )) 5950 } 5951 let cname = 5952 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkRegisterDisplayEventEXT\0"); 5953 let val = _f(cname); 5954 if val.is_null() { 5955 register_display_event_ext 5956 } else { 5957 ::std::mem::transmute(val) 5958 } 5959 }, 5960 get_swapchain_counter_ext: unsafe { 5961 unsafe extern "system" fn get_swapchain_counter_ext( 5962 _device: Device, 5963 _swapchain: SwapchainKHR, 5964 _counter: SurfaceCounterFlagsEXT, 5965 _p_counter_value: *mut u64, 5966 ) -> Result { 5967 panic!(concat!( 5968 "Unable to load ", 5969 stringify!(get_swapchain_counter_ext) 5970 )) 5971 } 5972 let cname = 5973 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetSwapchainCounterEXT\0"); 5974 let val = _f(cname); 5975 if val.is_null() { 5976 get_swapchain_counter_ext 5977 } else { 5978 ::std::mem::transmute(val) 5979 } 5980 }, 5981 } 5982 } 5983 } 5984 #[doc = "Generated from 'VK_EXT_display_control'"] 5985 impl StructureType { 5986 pub const DISPLAY_POWER_INFO_EXT: Self = Self(1_000_091_000); 5987 pub const DEVICE_EVENT_INFO_EXT: Self = Self(1_000_091_001); 5988 pub const DISPLAY_EVENT_INFO_EXT: Self = Self(1_000_091_002); 5989 pub const SWAPCHAIN_COUNTER_CREATE_INFO_EXT: Self = Self(1_000_091_003); 5990 } 5991 impl GoogleDisplayTimingFn { 5992 #[inline] name() -> &'static ::std::ffi::CStr5993 pub const fn name() -> &'static ::std::ffi::CStr { 5994 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_display_timing\0") } 5995 } 5996 pub const SPEC_VERSION: u32 = 1u32; 5997 } 5998 #[allow(non_camel_case_types)] 5999 pub type PFN_vkGetRefreshCycleDurationGOOGLE = unsafe extern "system" fn( 6000 device: Device, 6001 swapchain: SwapchainKHR, 6002 p_display_timing_properties: *mut RefreshCycleDurationGOOGLE, 6003 ) -> Result; 6004 #[allow(non_camel_case_types)] 6005 pub type PFN_vkGetPastPresentationTimingGOOGLE = unsafe extern "system" fn( 6006 device: Device, 6007 swapchain: SwapchainKHR, 6008 p_presentation_timing_count: *mut u32, 6009 p_presentation_timings: *mut PastPresentationTimingGOOGLE, 6010 ) -> Result; 6011 #[derive(Clone)] 6012 pub struct GoogleDisplayTimingFn { 6013 pub get_refresh_cycle_duration_google: PFN_vkGetRefreshCycleDurationGOOGLE, 6014 pub get_past_presentation_timing_google: PFN_vkGetPastPresentationTimingGOOGLE, 6015 } 6016 unsafe impl Send for GoogleDisplayTimingFn {} 6017 unsafe impl Sync for GoogleDisplayTimingFn {} 6018 impl GoogleDisplayTimingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6019 pub fn load<F>(mut _f: F) -> Self 6020 where 6021 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6022 { 6023 Self { 6024 get_refresh_cycle_duration_google: unsafe { 6025 unsafe extern "system" fn get_refresh_cycle_duration_google( 6026 _device: Device, 6027 _swapchain: SwapchainKHR, 6028 _p_display_timing_properties: *mut RefreshCycleDurationGOOGLE, 6029 ) -> Result { 6030 panic!(concat!( 6031 "Unable to load ", 6032 stringify!(get_refresh_cycle_duration_google) 6033 )) 6034 } 6035 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6036 b"vkGetRefreshCycleDurationGOOGLE\0", 6037 ); 6038 let val = _f(cname); 6039 if val.is_null() { 6040 get_refresh_cycle_duration_google 6041 } else { 6042 ::std::mem::transmute(val) 6043 } 6044 }, 6045 get_past_presentation_timing_google: unsafe { 6046 unsafe extern "system" fn get_past_presentation_timing_google( 6047 _device: Device, 6048 _swapchain: SwapchainKHR, 6049 _p_presentation_timing_count: *mut u32, 6050 _p_presentation_timings: *mut PastPresentationTimingGOOGLE, 6051 ) -> Result { 6052 panic!(concat!( 6053 "Unable to load ", 6054 stringify!(get_past_presentation_timing_google) 6055 )) 6056 } 6057 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6058 b"vkGetPastPresentationTimingGOOGLE\0", 6059 ); 6060 let val = _f(cname); 6061 if val.is_null() { 6062 get_past_presentation_timing_google 6063 } else { 6064 ::std::mem::transmute(val) 6065 } 6066 }, 6067 } 6068 } 6069 } 6070 #[doc = "Generated from 'VK_GOOGLE_display_timing'"] 6071 impl StructureType { 6072 pub const PRESENT_TIMES_INFO_GOOGLE: Self = Self(1_000_092_000); 6073 } 6074 impl ReservedDoNotUse94Fn { 6075 #[inline] name() -> &'static ::std::ffi::CStr6076 pub const fn name() -> &'static ::std::ffi::CStr { 6077 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_RESERVED_do_not_use_94\0") } 6078 } 6079 pub const SPEC_VERSION: u32 = 1u32; 6080 } 6081 #[derive(Clone)] 6082 pub struct ReservedDoNotUse94Fn {} 6083 unsafe impl Send for ReservedDoNotUse94Fn {} 6084 unsafe impl Sync for ReservedDoNotUse94Fn {} 6085 impl ReservedDoNotUse94Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6086 pub fn load<F>(mut _f: F) -> Self 6087 where 6088 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6089 { 6090 Self {} 6091 } 6092 } 6093 impl NvSampleMaskOverrideCoverageFn { 6094 #[inline] name() -> &'static ::std::ffi::CStr6095 pub const fn name() -> &'static ::std::ffi::CStr { 6096 unsafe { 6097 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6098 b"VK_NV_sample_mask_override_coverage\0", 6099 ) 6100 } 6101 } 6102 pub const SPEC_VERSION: u32 = 1u32; 6103 } 6104 #[derive(Clone)] 6105 pub struct NvSampleMaskOverrideCoverageFn {} 6106 unsafe impl Send for NvSampleMaskOverrideCoverageFn {} 6107 unsafe impl Sync for NvSampleMaskOverrideCoverageFn {} 6108 impl NvSampleMaskOverrideCoverageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6109 pub fn load<F>(mut _f: F) -> Self 6110 where 6111 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6112 { 6113 Self {} 6114 } 6115 } 6116 impl NvGeometryShaderPassthroughFn { 6117 #[inline] name() -> &'static ::std::ffi::CStr6118 pub const fn name() -> &'static ::std::ffi::CStr { 6119 unsafe { 6120 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_geometry_shader_passthrough\0") 6121 } 6122 } 6123 pub const SPEC_VERSION: u32 = 1u32; 6124 } 6125 #[derive(Clone)] 6126 pub struct NvGeometryShaderPassthroughFn {} 6127 unsafe impl Send for NvGeometryShaderPassthroughFn {} 6128 unsafe impl Sync for NvGeometryShaderPassthroughFn {} 6129 impl NvGeometryShaderPassthroughFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6130 pub fn load<F>(mut _f: F) -> Self 6131 where 6132 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6133 { 6134 Self {} 6135 } 6136 } 6137 impl NvViewportArray2Fn { 6138 #[inline] name() -> &'static ::std::ffi::CStr6139 pub const fn name() -> &'static ::std::ffi::CStr { 6140 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_viewport_array2\0") } 6141 } 6142 pub const SPEC_VERSION: u32 = 1u32; 6143 } 6144 #[derive(Clone)] 6145 pub struct NvViewportArray2Fn {} 6146 unsafe impl Send for NvViewportArray2Fn {} 6147 unsafe impl Sync for NvViewportArray2Fn {} 6148 impl NvViewportArray2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6149 pub fn load<F>(mut _f: F) -> Self 6150 where 6151 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6152 { 6153 Self {} 6154 } 6155 } 6156 impl NvxMultiviewPerViewAttributesFn { 6157 #[inline] name() -> &'static ::std::ffi::CStr6158 pub const fn name() -> &'static ::std::ffi::CStr { 6159 unsafe { 6160 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6161 b"VK_NVX_multiview_per_view_attributes\0", 6162 ) 6163 } 6164 } 6165 pub const SPEC_VERSION: u32 = 1u32; 6166 } 6167 #[derive(Clone)] 6168 pub struct NvxMultiviewPerViewAttributesFn {} 6169 unsafe impl Send for NvxMultiviewPerViewAttributesFn {} 6170 unsafe impl Sync for NvxMultiviewPerViewAttributesFn {} 6171 impl NvxMultiviewPerViewAttributesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6172 pub fn load<F>(mut _f: F) -> Self 6173 where 6174 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6175 { 6176 Self {} 6177 } 6178 } 6179 #[doc = "Generated from 'VK_NVX_multiview_per_view_attributes'"] 6180 impl StructureType { 6181 pub const PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: Self = 6182 Self(1_000_097_000); 6183 } 6184 #[doc = "Generated from 'VK_NVX_multiview_per_view_attributes'"] 6185 impl SubpassDescriptionFlags { 6186 pub const PER_VIEW_ATTRIBUTES_NVX: Self = Self(0b1); 6187 pub const PER_VIEW_POSITION_X_ONLY_NVX: Self = Self(0b10); 6188 } 6189 impl NvViewportSwizzleFn { 6190 #[inline] name() -> &'static ::std::ffi::CStr6191 pub const fn name() -> &'static ::std::ffi::CStr { 6192 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_viewport_swizzle\0") } 6193 } 6194 pub const SPEC_VERSION: u32 = 1u32; 6195 } 6196 #[derive(Clone)] 6197 pub struct NvViewportSwizzleFn {} 6198 unsafe impl Send for NvViewportSwizzleFn {} 6199 unsafe impl Sync for NvViewportSwizzleFn {} 6200 impl NvViewportSwizzleFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6201 pub fn load<F>(mut _f: F) -> Self 6202 where 6203 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6204 { 6205 Self {} 6206 } 6207 } 6208 #[doc = "Generated from 'VK_NV_viewport_swizzle'"] 6209 impl StructureType { 6210 pub const PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: Self = Self(1_000_098_000); 6211 } 6212 impl ExtDiscardRectanglesFn { 6213 #[inline] name() -> &'static ::std::ffi::CStr6214 pub const fn name() -> &'static ::std::ffi::CStr { 6215 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_discard_rectangles\0") } 6216 } 6217 pub const SPEC_VERSION: u32 = 2u32; 6218 } 6219 #[allow(non_camel_case_types)] 6220 pub type PFN_vkCmdSetDiscardRectangleEXT = unsafe extern "system" fn( 6221 command_buffer: CommandBuffer, 6222 first_discard_rectangle: u32, 6223 discard_rectangle_count: u32, 6224 p_discard_rectangles: *const Rect2D, 6225 ); 6226 #[allow(non_camel_case_types)] 6227 pub type PFN_vkCmdSetDiscardRectangleEnableEXT = 6228 unsafe extern "system" fn(command_buffer: CommandBuffer, discard_rectangle_enable: Bool32); 6229 #[allow(non_camel_case_types)] 6230 pub type PFN_vkCmdSetDiscardRectangleModeEXT = unsafe extern "system" fn( 6231 command_buffer: CommandBuffer, 6232 discard_rectangle_mode: DiscardRectangleModeEXT, 6233 ); 6234 #[derive(Clone)] 6235 pub struct ExtDiscardRectanglesFn { 6236 pub cmd_set_discard_rectangle_ext: PFN_vkCmdSetDiscardRectangleEXT, 6237 pub cmd_set_discard_rectangle_enable_ext: PFN_vkCmdSetDiscardRectangleEnableEXT, 6238 pub cmd_set_discard_rectangle_mode_ext: PFN_vkCmdSetDiscardRectangleModeEXT, 6239 } 6240 unsafe impl Send for ExtDiscardRectanglesFn {} 6241 unsafe impl Sync for ExtDiscardRectanglesFn {} 6242 impl ExtDiscardRectanglesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6243 pub fn load<F>(mut _f: F) -> Self 6244 where 6245 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6246 { 6247 Self { 6248 cmd_set_discard_rectangle_ext: unsafe { 6249 unsafe extern "system" fn cmd_set_discard_rectangle_ext( 6250 _command_buffer: CommandBuffer, 6251 _first_discard_rectangle: u32, 6252 _discard_rectangle_count: u32, 6253 _p_discard_rectangles: *const Rect2D, 6254 ) { 6255 panic!(concat!( 6256 "Unable to load ", 6257 stringify!(cmd_set_discard_rectangle_ext) 6258 )) 6259 } 6260 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6261 b"vkCmdSetDiscardRectangleEXT\0", 6262 ); 6263 let val = _f(cname); 6264 if val.is_null() { 6265 cmd_set_discard_rectangle_ext 6266 } else { 6267 ::std::mem::transmute(val) 6268 } 6269 }, 6270 cmd_set_discard_rectangle_enable_ext: unsafe { 6271 unsafe extern "system" fn cmd_set_discard_rectangle_enable_ext( 6272 _command_buffer: CommandBuffer, 6273 _discard_rectangle_enable: Bool32, 6274 ) { 6275 panic!(concat!( 6276 "Unable to load ", 6277 stringify!(cmd_set_discard_rectangle_enable_ext) 6278 )) 6279 } 6280 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6281 b"vkCmdSetDiscardRectangleEnableEXT\0", 6282 ); 6283 let val = _f(cname); 6284 if val.is_null() { 6285 cmd_set_discard_rectangle_enable_ext 6286 } else { 6287 ::std::mem::transmute(val) 6288 } 6289 }, 6290 cmd_set_discard_rectangle_mode_ext: unsafe { 6291 unsafe extern "system" fn cmd_set_discard_rectangle_mode_ext( 6292 _command_buffer: CommandBuffer, 6293 _discard_rectangle_mode: DiscardRectangleModeEXT, 6294 ) { 6295 panic!(concat!( 6296 "Unable to load ", 6297 stringify!(cmd_set_discard_rectangle_mode_ext) 6298 )) 6299 } 6300 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6301 b"vkCmdSetDiscardRectangleModeEXT\0", 6302 ); 6303 let val = _f(cname); 6304 if val.is_null() { 6305 cmd_set_discard_rectangle_mode_ext 6306 } else { 6307 ::std::mem::transmute(val) 6308 } 6309 }, 6310 } 6311 } 6312 } 6313 #[doc = "Generated from 'VK_EXT_discard_rectangles'"] 6314 impl DynamicState { 6315 pub const DISCARD_RECTANGLE_EXT: Self = Self(1_000_099_000); 6316 pub const DISCARD_RECTANGLE_ENABLE_EXT: Self = Self(1_000_099_001); 6317 pub const DISCARD_RECTANGLE_MODE_EXT: Self = Self(1_000_099_002); 6318 } 6319 #[doc = "Generated from 'VK_EXT_discard_rectangles'"] 6320 impl StructureType { 6321 pub const PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: Self = Self(1_000_099_000); 6322 pub const PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: Self = Self(1_000_099_001); 6323 } 6324 impl NvExtension101Fn { 6325 #[inline] name() -> &'static ::std::ffi::CStr6326 pub const fn name() -> &'static ::std::ffi::CStr { 6327 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_101\0") } 6328 } 6329 pub const SPEC_VERSION: u32 = 0u32; 6330 } 6331 #[derive(Clone)] 6332 pub struct NvExtension101Fn {} 6333 unsafe impl Send for NvExtension101Fn {} 6334 unsafe impl Sync for NvExtension101Fn {} 6335 impl NvExtension101Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6336 pub fn load<F>(mut _f: F) -> Self 6337 where 6338 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6339 { 6340 Self {} 6341 } 6342 } 6343 impl ExtConservativeRasterizationFn { 6344 #[inline] name() -> &'static ::std::ffi::CStr6345 pub const fn name() -> &'static ::std::ffi::CStr { 6346 unsafe { 6347 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_conservative_rasterization\0") 6348 } 6349 } 6350 pub const SPEC_VERSION: u32 = 1u32; 6351 } 6352 #[derive(Clone)] 6353 pub struct ExtConservativeRasterizationFn {} 6354 unsafe impl Send for ExtConservativeRasterizationFn {} 6355 unsafe impl Sync for ExtConservativeRasterizationFn {} 6356 impl ExtConservativeRasterizationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6357 pub fn load<F>(mut _f: F) -> Self 6358 where 6359 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6360 { 6361 Self {} 6362 } 6363 } 6364 #[doc = "Generated from 'VK_EXT_conservative_rasterization'"] 6365 impl StructureType { 6366 pub const PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: Self = Self(1_000_101_000); 6367 pub const PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: Self = Self(1_000_101_001); 6368 } 6369 impl ExtDepthClipEnableFn { 6370 #[inline] name() -> &'static ::std::ffi::CStr6371 pub const fn name() -> &'static ::std::ffi::CStr { 6372 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_clip_enable\0") } 6373 } 6374 pub const SPEC_VERSION: u32 = 1u32; 6375 } 6376 #[derive(Clone)] 6377 pub struct ExtDepthClipEnableFn {} 6378 unsafe impl Send for ExtDepthClipEnableFn {} 6379 unsafe impl Sync for ExtDepthClipEnableFn {} 6380 impl ExtDepthClipEnableFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6381 pub fn load<F>(mut _f: F) -> Self 6382 where 6383 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6384 { 6385 Self {} 6386 } 6387 } 6388 #[doc = "Generated from 'VK_EXT_depth_clip_enable'"] 6389 impl StructureType { 6390 pub const PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: Self = Self(1_000_102_000); 6391 pub const PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: Self = Self(1_000_102_001); 6392 } 6393 impl NvExtension104Fn { 6394 #[inline] name() -> &'static ::std::ffi::CStr6395 pub const fn name() -> &'static ::std::ffi::CStr { 6396 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_104\0") } 6397 } 6398 pub const SPEC_VERSION: u32 = 0u32; 6399 } 6400 #[derive(Clone)] 6401 pub struct NvExtension104Fn {} 6402 unsafe impl Send for NvExtension104Fn {} 6403 unsafe impl Sync for NvExtension104Fn {} 6404 impl NvExtension104Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6405 pub fn load<F>(mut _f: F) -> Self 6406 where 6407 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6408 { 6409 Self {} 6410 } 6411 } 6412 #[doc = "Generated from 'VK_NV_extension_104'"] 6413 impl PrivateDataSlotCreateFlags { 6414 pub const RESERVED_0_NV: Self = Self(0b1); 6415 } 6416 impl ExtSwapchainColorspaceFn { 6417 #[inline] name() -> &'static ::std::ffi::CStr6418 pub const fn name() -> &'static ::std::ffi::CStr { 6419 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_swapchain_colorspace\0") } 6420 } 6421 pub const SPEC_VERSION: u32 = 4u32; 6422 } 6423 #[derive(Clone)] 6424 pub struct ExtSwapchainColorspaceFn {} 6425 unsafe impl Send for ExtSwapchainColorspaceFn {} 6426 unsafe impl Sync for ExtSwapchainColorspaceFn {} 6427 impl ExtSwapchainColorspaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6428 pub fn load<F>(mut _f: F) -> Self 6429 where 6430 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6431 { 6432 Self {} 6433 } 6434 } 6435 #[doc = "Generated from 'VK_EXT_swapchain_colorspace'"] 6436 impl ColorSpaceKHR { 6437 pub const DISPLAY_P3_NONLINEAR_EXT: Self = Self(1_000_104_001); 6438 pub const EXTENDED_SRGB_LINEAR_EXT: Self = Self(1_000_104_002); 6439 pub const DISPLAY_P3_LINEAR_EXT: Self = Self(1_000_104_003); 6440 pub const DCI_P3_NONLINEAR_EXT: Self = Self(1_000_104_004); 6441 pub const BT709_LINEAR_EXT: Self = Self(1_000_104_005); 6442 pub const BT709_NONLINEAR_EXT: Self = Self(1_000_104_006); 6443 pub const BT2020_LINEAR_EXT: Self = Self(1_000_104_007); 6444 pub const HDR10_ST2084_EXT: Self = Self(1_000_104_008); 6445 pub const DOLBYVISION_EXT: Self = Self(1_000_104_009); 6446 pub const HDR10_HLG_EXT: Self = Self(1_000_104_010); 6447 pub const ADOBERGB_LINEAR_EXT: Self = Self(1_000_104_011); 6448 pub const ADOBERGB_NONLINEAR_EXT: Self = Self(1_000_104_012); 6449 pub const PASS_THROUGH_EXT: Self = Self(1_000_104_013); 6450 pub const EXTENDED_SRGB_NONLINEAR_EXT: Self = Self(1_000_104_014); 6451 } 6452 impl ExtHdrMetadataFn { 6453 #[inline] name() -> &'static ::std::ffi::CStr6454 pub const fn name() -> &'static ::std::ffi::CStr { 6455 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_hdr_metadata\0") } 6456 } 6457 pub const SPEC_VERSION: u32 = 2u32; 6458 } 6459 #[allow(non_camel_case_types)] 6460 pub type PFN_vkSetHdrMetadataEXT = unsafe extern "system" fn( 6461 device: Device, 6462 swapchain_count: u32, 6463 p_swapchains: *const SwapchainKHR, 6464 p_metadata: *const HdrMetadataEXT, 6465 ); 6466 #[derive(Clone)] 6467 pub struct ExtHdrMetadataFn { 6468 pub set_hdr_metadata_ext: PFN_vkSetHdrMetadataEXT, 6469 } 6470 unsafe impl Send for ExtHdrMetadataFn {} 6471 unsafe impl Sync for ExtHdrMetadataFn {} 6472 impl ExtHdrMetadataFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6473 pub fn load<F>(mut _f: F) -> Self 6474 where 6475 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6476 { 6477 Self { 6478 set_hdr_metadata_ext: unsafe { 6479 unsafe extern "system" fn set_hdr_metadata_ext( 6480 _device: Device, 6481 _swapchain_count: u32, 6482 _p_swapchains: *const SwapchainKHR, 6483 _p_metadata: *const HdrMetadataEXT, 6484 ) { 6485 panic!(concat!("Unable to load ", stringify!(set_hdr_metadata_ext))) 6486 } 6487 let cname = 6488 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSetHdrMetadataEXT\0"); 6489 let val = _f(cname); 6490 if val.is_null() { 6491 set_hdr_metadata_ext 6492 } else { 6493 ::std::mem::transmute(val) 6494 } 6495 }, 6496 } 6497 } 6498 } 6499 #[doc = "Generated from 'VK_EXT_hdr_metadata'"] 6500 impl StructureType { 6501 pub const HDR_METADATA_EXT: Self = Self(1_000_105_000); 6502 } 6503 impl ImgExtension107Fn { 6504 #[inline] name() -> &'static ::std::ffi::CStr6505 pub const fn name() -> &'static ::std::ffi::CStr { 6506 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_extension_107\0") } 6507 } 6508 pub const SPEC_VERSION: u32 = 0u32; 6509 } 6510 #[derive(Clone)] 6511 pub struct ImgExtension107Fn {} 6512 unsafe impl Send for ImgExtension107Fn {} 6513 unsafe impl Sync for ImgExtension107Fn {} 6514 impl ImgExtension107Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6515 pub fn load<F>(mut _f: F) -> Self 6516 where 6517 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6518 { 6519 Self {} 6520 } 6521 } 6522 impl ImgExtension108Fn { 6523 #[inline] name() -> &'static ::std::ffi::CStr6524 pub const fn name() -> &'static ::std::ffi::CStr { 6525 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_extension_108\0") } 6526 } 6527 pub const SPEC_VERSION: u32 = 0u32; 6528 } 6529 #[derive(Clone)] 6530 pub struct ImgExtension108Fn {} 6531 unsafe impl Send for ImgExtension108Fn {} 6532 unsafe impl Sync for ImgExtension108Fn {} 6533 impl ImgExtension108Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6534 pub fn load<F>(mut _f: F) -> Self 6535 where 6536 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6537 { 6538 Self {} 6539 } 6540 } 6541 impl KhrImagelessFramebufferFn { 6542 #[inline] name() -> &'static ::std::ffi::CStr6543 pub const fn name() -> &'static ::std::ffi::CStr { 6544 unsafe { 6545 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_imageless_framebuffer\0") 6546 } 6547 } 6548 pub const SPEC_VERSION: u32 = 1u32; 6549 } 6550 #[derive(Clone)] 6551 pub struct KhrImagelessFramebufferFn {} 6552 unsafe impl Send for KhrImagelessFramebufferFn {} 6553 unsafe impl Sync for KhrImagelessFramebufferFn {} 6554 impl KhrImagelessFramebufferFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6555 pub fn load<F>(mut _f: F) -> Self 6556 where 6557 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6558 { 6559 Self {} 6560 } 6561 } 6562 #[doc = "Generated from 'VK_KHR_imageless_framebuffer'"] 6563 impl FramebufferCreateFlags { 6564 pub const IMAGELESS_KHR: Self = Self::IMAGELESS; 6565 } 6566 #[doc = "Generated from 'VK_KHR_imageless_framebuffer'"] 6567 impl StructureType { 6568 pub const PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: Self = 6569 Self::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES; 6570 pub const FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR: Self = 6571 Self::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO; 6572 pub const FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR: Self = Self::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; 6573 pub const RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: Self = Self::RENDER_PASS_ATTACHMENT_BEGIN_INFO; 6574 } 6575 impl KhrCreateRenderpass2Fn { 6576 #[inline] name() -> &'static ::std::ffi::CStr6577 pub const fn name() -> &'static ::std::ffi::CStr { 6578 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_create_renderpass2\0") } 6579 } 6580 pub const SPEC_VERSION: u32 = 1u32; 6581 } 6582 #[allow(non_camel_case_types)] 6583 pub type PFN_vkCreateRenderPass2 = unsafe extern "system" fn( 6584 device: Device, 6585 p_create_info: *const RenderPassCreateInfo2, 6586 p_allocator: *const AllocationCallbacks, 6587 p_render_pass: *mut RenderPass, 6588 ) -> Result; 6589 #[allow(non_camel_case_types)] 6590 pub type PFN_vkCmdBeginRenderPass2 = unsafe extern "system" fn( 6591 command_buffer: CommandBuffer, 6592 p_render_pass_begin: *const RenderPassBeginInfo, 6593 p_subpass_begin_info: *const SubpassBeginInfo, 6594 ); 6595 #[allow(non_camel_case_types)] 6596 pub type PFN_vkCmdNextSubpass2 = unsafe extern "system" fn( 6597 command_buffer: CommandBuffer, 6598 p_subpass_begin_info: *const SubpassBeginInfo, 6599 p_subpass_end_info: *const SubpassEndInfo, 6600 ); 6601 #[allow(non_camel_case_types)] 6602 pub type PFN_vkCmdEndRenderPass2 = unsafe extern "system" fn( 6603 command_buffer: CommandBuffer, 6604 p_subpass_end_info: *const SubpassEndInfo, 6605 ); 6606 #[derive(Clone)] 6607 pub struct KhrCreateRenderpass2Fn { 6608 pub create_render_pass2_khr: PFN_vkCreateRenderPass2, 6609 pub cmd_begin_render_pass2_khr: PFN_vkCmdBeginRenderPass2, 6610 pub cmd_next_subpass2_khr: PFN_vkCmdNextSubpass2, 6611 pub cmd_end_render_pass2_khr: PFN_vkCmdEndRenderPass2, 6612 } 6613 unsafe impl Send for KhrCreateRenderpass2Fn {} 6614 unsafe impl Sync for KhrCreateRenderpass2Fn {} 6615 impl KhrCreateRenderpass2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6616 pub fn load<F>(mut _f: F) -> Self 6617 where 6618 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6619 { 6620 Self { 6621 create_render_pass2_khr: unsafe { 6622 unsafe extern "system" fn create_render_pass2_khr( 6623 _device: Device, 6624 _p_create_info: *const RenderPassCreateInfo2, 6625 _p_allocator: *const AllocationCallbacks, 6626 _p_render_pass: *mut RenderPass, 6627 ) -> Result { 6628 panic!(concat!( 6629 "Unable to load ", 6630 stringify!(create_render_pass2_khr) 6631 )) 6632 } 6633 let cname = 6634 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateRenderPass2KHR\0"); 6635 let val = _f(cname); 6636 if val.is_null() { 6637 create_render_pass2_khr 6638 } else { 6639 ::std::mem::transmute(val) 6640 } 6641 }, 6642 cmd_begin_render_pass2_khr: unsafe { 6643 unsafe extern "system" fn cmd_begin_render_pass2_khr( 6644 _command_buffer: CommandBuffer, 6645 _p_render_pass_begin: *const RenderPassBeginInfo, 6646 _p_subpass_begin_info: *const SubpassBeginInfo, 6647 ) { 6648 panic!(concat!( 6649 "Unable to load ", 6650 stringify!(cmd_begin_render_pass2_khr) 6651 )) 6652 } 6653 let cname = 6654 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBeginRenderPass2KHR\0"); 6655 let val = _f(cname); 6656 if val.is_null() { 6657 cmd_begin_render_pass2_khr 6658 } else { 6659 ::std::mem::transmute(val) 6660 } 6661 }, 6662 cmd_next_subpass2_khr: unsafe { 6663 unsafe extern "system" fn cmd_next_subpass2_khr( 6664 _command_buffer: CommandBuffer, 6665 _p_subpass_begin_info: *const SubpassBeginInfo, 6666 _p_subpass_end_info: *const SubpassEndInfo, 6667 ) { 6668 panic!(concat!( 6669 "Unable to load ", 6670 stringify!(cmd_next_subpass2_khr) 6671 )) 6672 } 6673 let cname = 6674 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdNextSubpass2KHR\0"); 6675 let val = _f(cname); 6676 if val.is_null() { 6677 cmd_next_subpass2_khr 6678 } else { 6679 ::std::mem::transmute(val) 6680 } 6681 }, 6682 cmd_end_render_pass2_khr: unsafe { 6683 unsafe extern "system" fn cmd_end_render_pass2_khr( 6684 _command_buffer: CommandBuffer, 6685 _p_subpass_end_info: *const SubpassEndInfo, 6686 ) { 6687 panic!(concat!( 6688 "Unable to load ", 6689 stringify!(cmd_end_render_pass2_khr) 6690 )) 6691 } 6692 let cname = 6693 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEndRenderPass2KHR\0"); 6694 let val = _f(cname); 6695 if val.is_null() { 6696 cmd_end_render_pass2_khr 6697 } else { 6698 ::std::mem::transmute(val) 6699 } 6700 }, 6701 } 6702 } 6703 } 6704 #[doc = "Generated from 'VK_KHR_create_renderpass2'"] 6705 impl StructureType { 6706 pub const ATTACHMENT_DESCRIPTION_2_KHR: Self = Self::ATTACHMENT_DESCRIPTION_2; 6707 pub const ATTACHMENT_REFERENCE_2_KHR: Self = Self::ATTACHMENT_REFERENCE_2; 6708 pub const SUBPASS_DESCRIPTION_2_KHR: Self = Self::SUBPASS_DESCRIPTION_2; 6709 pub const SUBPASS_DEPENDENCY_2_KHR: Self = Self::SUBPASS_DEPENDENCY_2; 6710 pub const RENDER_PASS_CREATE_INFO_2_KHR: Self = Self::RENDER_PASS_CREATE_INFO_2; 6711 pub const SUBPASS_BEGIN_INFO_KHR: Self = Self::SUBPASS_BEGIN_INFO; 6712 pub const SUBPASS_END_INFO_KHR: Self = Self::SUBPASS_END_INFO; 6713 } 6714 impl ImgExtension111Fn { 6715 #[inline] name() -> &'static ::std::ffi::CStr6716 pub const fn name() -> &'static ::std::ffi::CStr { 6717 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_extension_111\0") } 6718 } 6719 pub const SPEC_VERSION: u32 = 0u32; 6720 } 6721 #[derive(Clone)] 6722 pub struct ImgExtension111Fn {} 6723 unsafe impl Send for ImgExtension111Fn {} 6724 unsafe impl Sync for ImgExtension111Fn {} 6725 impl ImgExtension111Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6726 pub fn load<F>(mut _f: F) -> Self 6727 where 6728 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6729 { 6730 Self {} 6731 } 6732 } 6733 impl KhrSharedPresentableImageFn { 6734 #[inline] name() -> &'static ::std::ffi::CStr6735 pub const fn name() -> &'static ::std::ffi::CStr { 6736 unsafe { 6737 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shared_presentable_image\0") 6738 } 6739 } 6740 pub const SPEC_VERSION: u32 = 1u32; 6741 } 6742 #[allow(non_camel_case_types)] 6743 pub type PFN_vkGetSwapchainStatusKHR = 6744 unsafe extern "system" fn(device: Device, swapchain: SwapchainKHR) -> Result; 6745 #[derive(Clone)] 6746 pub struct KhrSharedPresentableImageFn { 6747 pub get_swapchain_status_khr: PFN_vkGetSwapchainStatusKHR, 6748 } 6749 unsafe impl Send for KhrSharedPresentableImageFn {} 6750 unsafe impl Sync for KhrSharedPresentableImageFn {} 6751 impl KhrSharedPresentableImageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6752 pub fn load<F>(mut _f: F) -> Self 6753 where 6754 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6755 { 6756 Self { 6757 get_swapchain_status_khr: unsafe { 6758 unsafe extern "system" fn get_swapchain_status_khr( 6759 _device: Device, 6760 _swapchain: SwapchainKHR, 6761 ) -> Result { 6762 panic!(concat!( 6763 "Unable to load ", 6764 stringify!(get_swapchain_status_khr) 6765 )) 6766 } 6767 let cname = 6768 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetSwapchainStatusKHR\0"); 6769 let val = _f(cname); 6770 if val.is_null() { 6771 get_swapchain_status_khr 6772 } else { 6773 ::std::mem::transmute(val) 6774 } 6775 }, 6776 } 6777 } 6778 } 6779 #[doc = "Generated from 'VK_KHR_shared_presentable_image'"] 6780 impl ImageLayout { 6781 pub const SHARED_PRESENT_KHR: Self = Self(1_000_111_000); 6782 } 6783 #[doc = "Generated from 'VK_KHR_shared_presentable_image'"] 6784 impl PresentModeKHR { 6785 pub const SHARED_DEMAND_REFRESH: Self = Self(1_000_111_000); 6786 pub const SHARED_CONTINUOUS_REFRESH: Self = Self(1_000_111_001); 6787 } 6788 #[doc = "Generated from 'VK_KHR_shared_presentable_image'"] 6789 impl StructureType { 6790 pub const SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: Self = Self(1_000_111_000); 6791 } 6792 impl KhrExternalFenceCapabilitiesFn { 6793 #[inline] name() -> &'static ::std::ffi::CStr6794 pub const fn name() -> &'static ::std::ffi::CStr { 6795 unsafe { 6796 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_fence_capabilities\0") 6797 } 6798 } 6799 pub const SPEC_VERSION: u32 = 1u32; 6800 } 6801 #[allow(non_camel_case_types)] 6802 pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = unsafe extern "system" fn( 6803 physical_device: PhysicalDevice, 6804 p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, 6805 p_external_fence_properties: *mut ExternalFenceProperties, 6806 ); 6807 #[derive(Clone)] 6808 pub struct KhrExternalFenceCapabilitiesFn { 6809 pub get_physical_device_external_fence_properties_khr: 6810 PFN_vkGetPhysicalDeviceExternalFenceProperties, 6811 } 6812 unsafe impl Send for KhrExternalFenceCapabilitiesFn {} 6813 unsafe impl Sync for KhrExternalFenceCapabilitiesFn {} 6814 impl KhrExternalFenceCapabilitiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6815 pub fn load<F>(mut _f: F) -> Self 6816 where 6817 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6818 { 6819 Self { 6820 get_physical_device_external_fence_properties_khr: unsafe { 6821 unsafe extern "system" fn get_physical_device_external_fence_properties_khr( 6822 _physical_device: PhysicalDevice, 6823 _p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, 6824 _p_external_fence_properties: *mut ExternalFenceProperties, 6825 ) { 6826 panic!(concat!( 6827 "Unable to load ", 6828 stringify!(get_physical_device_external_fence_properties_khr) 6829 )) 6830 } 6831 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6832 b"vkGetPhysicalDeviceExternalFencePropertiesKHR\0", 6833 ); 6834 let val = _f(cname); 6835 if val.is_null() { 6836 get_physical_device_external_fence_properties_khr 6837 } else { 6838 ::std::mem::transmute(val) 6839 } 6840 }, 6841 } 6842 } 6843 } 6844 #[doc = "Generated from 'VK_KHR_external_fence_capabilities'"] 6845 impl ExternalFenceFeatureFlags { 6846 pub const EXPORTABLE_KHR: Self = Self::EXPORTABLE; 6847 pub const IMPORTABLE_KHR: Self = Self::IMPORTABLE; 6848 } 6849 #[doc = "Generated from 'VK_KHR_external_fence_capabilities'"] 6850 impl ExternalFenceHandleTypeFlags { 6851 pub const OPAQUE_FD_KHR: Self = Self::OPAQUE_FD; 6852 pub const OPAQUE_WIN32_KHR: Self = Self::OPAQUE_WIN32; 6853 pub const OPAQUE_WIN32_KMT_KHR: Self = Self::OPAQUE_WIN32_KMT; 6854 pub const SYNC_FD_KHR: Self = Self::SYNC_FD; 6855 } 6856 #[doc = "Generated from 'VK_KHR_external_fence_capabilities'"] 6857 impl StructureType { 6858 pub const PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR: Self = 6859 Self::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO; 6860 pub const EXTERNAL_FENCE_PROPERTIES_KHR: Self = Self::EXTERNAL_FENCE_PROPERTIES; 6861 } 6862 impl KhrExternalFenceFn { 6863 #[inline] name() -> &'static ::std::ffi::CStr6864 pub const fn name() -> &'static ::std::ffi::CStr { 6865 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_fence\0") } 6866 } 6867 pub const SPEC_VERSION: u32 = 1u32; 6868 } 6869 #[derive(Clone)] 6870 pub struct KhrExternalFenceFn {} 6871 unsafe impl Send for KhrExternalFenceFn {} 6872 unsafe impl Sync for KhrExternalFenceFn {} 6873 impl KhrExternalFenceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6874 pub fn load<F>(mut _f: F) -> Self 6875 where 6876 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6877 { 6878 Self {} 6879 } 6880 } 6881 #[doc = "Generated from 'VK_KHR_external_fence'"] 6882 impl FenceImportFlags { 6883 pub const TEMPORARY_KHR: Self = Self::TEMPORARY; 6884 } 6885 #[doc = "Generated from 'VK_KHR_external_fence'"] 6886 impl StructureType { 6887 pub const EXPORT_FENCE_CREATE_INFO_KHR: Self = Self::EXPORT_FENCE_CREATE_INFO; 6888 } 6889 impl KhrExternalFenceWin32Fn { 6890 #[inline] name() -> &'static ::std::ffi::CStr6891 pub const fn name() -> &'static ::std::ffi::CStr { 6892 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_fence_win32\0") } 6893 } 6894 pub const SPEC_VERSION: u32 = 1u32; 6895 } 6896 #[allow(non_camel_case_types)] 6897 pub type PFN_vkImportFenceWin32HandleKHR = unsafe extern "system" fn( 6898 device: Device, 6899 p_import_fence_win32_handle_info: *const ImportFenceWin32HandleInfoKHR, 6900 ) -> Result; 6901 #[allow(non_camel_case_types)] 6902 pub type PFN_vkGetFenceWin32HandleKHR = unsafe extern "system" fn( 6903 device: Device, 6904 p_get_win32_handle_info: *const FenceGetWin32HandleInfoKHR, 6905 p_handle: *mut HANDLE, 6906 ) -> Result; 6907 #[derive(Clone)] 6908 pub struct KhrExternalFenceWin32Fn { 6909 pub import_fence_win32_handle_khr: PFN_vkImportFenceWin32HandleKHR, 6910 pub get_fence_win32_handle_khr: PFN_vkGetFenceWin32HandleKHR, 6911 } 6912 unsafe impl Send for KhrExternalFenceWin32Fn {} 6913 unsafe impl Sync for KhrExternalFenceWin32Fn {} 6914 impl KhrExternalFenceWin32Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6915 pub fn load<F>(mut _f: F) -> Self 6916 where 6917 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6918 { 6919 Self { 6920 import_fence_win32_handle_khr: unsafe { 6921 unsafe extern "system" fn import_fence_win32_handle_khr( 6922 _device: Device, 6923 _p_import_fence_win32_handle_info: *const ImportFenceWin32HandleInfoKHR, 6924 ) -> Result { 6925 panic!(concat!( 6926 "Unable to load ", 6927 stringify!(import_fence_win32_handle_khr) 6928 )) 6929 } 6930 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 6931 b"vkImportFenceWin32HandleKHR\0", 6932 ); 6933 let val = _f(cname); 6934 if val.is_null() { 6935 import_fence_win32_handle_khr 6936 } else { 6937 ::std::mem::transmute(val) 6938 } 6939 }, 6940 get_fence_win32_handle_khr: unsafe { 6941 unsafe extern "system" fn get_fence_win32_handle_khr( 6942 _device: Device, 6943 _p_get_win32_handle_info: *const FenceGetWin32HandleInfoKHR, 6944 _p_handle: *mut HANDLE, 6945 ) -> Result { 6946 panic!(concat!( 6947 "Unable to load ", 6948 stringify!(get_fence_win32_handle_khr) 6949 )) 6950 } 6951 let cname = 6952 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetFenceWin32HandleKHR\0"); 6953 let val = _f(cname); 6954 if val.is_null() { 6955 get_fence_win32_handle_khr 6956 } else { 6957 ::std::mem::transmute(val) 6958 } 6959 }, 6960 } 6961 } 6962 } 6963 #[doc = "Generated from 'VK_KHR_external_fence_win32'"] 6964 impl StructureType { 6965 pub const IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_114_000); 6966 pub const EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_114_001); 6967 pub const FENCE_GET_WIN32_HANDLE_INFO_KHR: Self = Self(1_000_114_002); 6968 } 6969 impl KhrExternalFenceFdFn { 6970 #[inline] name() -> &'static ::std::ffi::CStr6971 pub const fn name() -> &'static ::std::ffi::CStr { 6972 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_external_fence_fd\0") } 6973 } 6974 pub const SPEC_VERSION: u32 = 1u32; 6975 } 6976 #[allow(non_camel_case_types)] 6977 pub type PFN_vkImportFenceFdKHR = unsafe extern "system" fn( 6978 device: Device, 6979 p_import_fence_fd_info: *const ImportFenceFdInfoKHR, 6980 ) -> Result; 6981 #[allow(non_camel_case_types)] 6982 pub type PFN_vkGetFenceFdKHR = unsafe extern "system" fn( 6983 device: Device, 6984 p_get_fd_info: *const FenceGetFdInfoKHR, 6985 p_fd: *mut c_int, 6986 ) -> Result; 6987 #[derive(Clone)] 6988 pub struct KhrExternalFenceFdFn { 6989 pub import_fence_fd_khr: PFN_vkImportFenceFdKHR, 6990 pub get_fence_fd_khr: PFN_vkGetFenceFdKHR, 6991 } 6992 unsafe impl Send for KhrExternalFenceFdFn {} 6993 unsafe impl Sync for KhrExternalFenceFdFn {} 6994 impl KhrExternalFenceFdFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,6995 pub fn load<F>(mut _f: F) -> Self 6996 where 6997 F: FnMut(&::std::ffi::CStr) -> *const c_void, 6998 { 6999 Self { 7000 import_fence_fd_khr: unsafe { 7001 unsafe extern "system" fn import_fence_fd_khr( 7002 _device: Device, 7003 _p_import_fence_fd_info: *const ImportFenceFdInfoKHR, 7004 ) -> Result { 7005 panic!(concat!("Unable to load ", stringify!(import_fence_fd_khr))) 7006 } 7007 let cname = 7008 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkImportFenceFdKHR\0"); 7009 let val = _f(cname); 7010 if val.is_null() { 7011 import_fence_fd_khr 7012 } else { 7013 ::std::mem::transmute(val) 7014 } 7015 }, 7016 get_fence_fd_khr: unsafe { 7017 unsafe extern "system" fn get_fence_fd_khr( 7018 _device: Device, 7019 _p_get_fd_info: *const FenceGetFdInfoKHR, 7020 _p_fd: *mut c_int, 7021 ) -> Result { 7022 panic!(concat!("Unable to load ", stringify!(get_fence_fd_khr))) 7023 } 7024 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetFenceFdKHR\0"); 7025 let val = _f(cname); 7026 if val.is_null() { 7027 get_fence_fd_khr 7028 } else { 7029 ::std::mem::transmute(val) 7030 } 7031 }, 7032 } 7033 } 7034 } 7035 #[doc = "Generated from 'VK_KHR_external_fence_fd'"] 7036 impl StructureType { 7037 pub const IMPORT_FENCE_FD_INFO_KHR: Self = Self(1_000_115_000); 7038 pub const FENCE_GET_FD_INFO_KHR: Self = Self(1_000_115_001); 7039 } 7040 impl KhrPerformanceQueryFn { 7041 #[inline] name() -> &'static ::std::ffi::CStr7042 pub const fn name() -> &'static ::std::ffi::CStr { 7043 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_performance_query\0") } 7044 } 7045 pub const SPEC_VERSION: u32 = 1u32; 7046 } 7047 #[allow(non_camel_case_types)] 7048 pub type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 7049 unsafe extern "system" fn( 7050 physical_device: PhysicalDevice, 7051 queue_family_index: u32, 7052 p_counter_count: *mut u32, 7053 p_counters: *mut PerformanceCounterKHR, 7054 p_counter_descriptions: *mut PerformanceCounterDescriptionKHR, 7055 ) -> Result; 7056 #[allow(non_camel_case_types)] 7057 pub type PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 7058 unsafe extern "system" fn( 7059 physical_device: PhysicalDevice, 7060 p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, 7061 p_num_passes: *mut u32, 7062 ); 7063 #[allow(non_camel_case_types)] 7064 pub type PFN_vkAcquireProfilingLockKHR = 7065 unsafe extern "system" fn(device: Device, p_info: *const AcquireProfilingLockInfoKHR) -> Result; 7066 #[allow(non_camel_case_types)] 7067 pub type PFN_vkReleaseProfilingLockKHR = unsafe extern "system" fn(device: Device); 7068 #[derive(Clone)] 7069 pub struct KhrPerformanceQueryFn { 7070 pub enumerate_physical_device_queue_family_performance_query_counters_khr: 7071 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, 7072 pub get_physical_device_queue_family_performance_query_passes_khr: 7073 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, 7074 pub acquire_profiling_lock_khr: PFN_vkAcquireProfilingLockKHR, 7075 pub release_profiling_lock_khr: PFN_vkReleaseProfilingLockKHR, 7076 } 7077 unsafe impl Send for KhrPerformanceQueryFn {} 7078 unsafe impl Sync for KhrPerformanceQueryFn {} 7079 impl KhrPerformanceQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7080 pub fn load<F>(mut _f: F) -> Self 7081 where 7082 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7083 { 7084 Self { 7085 enumerate_physical_device_queue_family_performance_query_counters_khr: unsafe { 7086 unsafe extern "system" fn enumerate_physical_device_queue_family_performance_query_counters_khr( 7087 _physical_device: PhysicalDevice, 7088 _queue_family_index: u32, 7089 _p_counter_count: *mut u32, 7090 _p_counters: *mut PerformanceCounterKHR, 7091 _p_counter_descriptions: *mut PerformanceCounterDescriptionKHR, 7092 ) -> Result { 7093 panic!(concat!( 7094 "Unable to load ", 7095 stringify!( 7096 enumerate_physical_device_queue_family_performance_query_counters_khr 7097 ) 7098 )) 7099 } 7100 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7101 b"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR\0", 7102 ); 7103 let val = _f(cname); 7104 if val.is_null() { 7105 enumerate_physical_device_queue_family_performance_query_counters_khr 7106 } else { 7107 ::std::mem::transmute(val) 7108 } 7109 }, 7110 get_physical_device_queue_family_performance_query_passes_khr: unsafe { 7111 unsafe extern "system" fn get_physical_device_queue_family_performance_query_passes_khr( 7112 _physical_device: PhysicalDevice, 7113 _p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, 7114 _p_num_passes: *mut u32, 7115 ) { 7116 panic!(concat!( 7117 "Unable to load ", 7118 stringify!(get_physical_device_queue_family_performance_query_passes_khr) 7119 )) 7120 } 7121 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7122 b"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR\0", 7123 ); 7124 let val = _f(cname); 7125 if val.is_null() { 7126 get_physical_device_queue_family_performance_query_passes_khr 7127 } else { 7128 ::std::mem::transmute(val) 7129 } 7130 }, 7131 acquire_profiling_lock_khr: unsafe { 7132 unsafe extern "system" fn acquire_profiling_lock_khr( 7133 _device: Device, 7134 _p_info: *const AcquireProfilingLockInfoKHR, 7135 ) -> Result { 7136 panic!(concat!( 7137 "Unable to load ", 7138 stringify!(acquire_profiling_lock_khr) 7139 )) 7140 } 7141 let cname = 7142 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireProfilingLockKHR\0"); 7143 let val = _f(cname); 7144 if val.is_null() { 7145 acquire_profiling_lock_khr 7146 } else { 7147 ::std::mem::transmute(val) 7148 } 7149 }, 7150 release_profiling_lock_khr: unsafe { 7151 unsafe extern "system" fn release_profiling_lock_khr(_device: Device) { 7152 panic!(concat!( 7153 "Unable to load ", 7154 stringify!(release_profiling_lock_khr) 7155 )) 7156 } 7157 let cname = 7158 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkReleaseProfilingLockKHR\0"); 7159 let val = _f(cname); 7160 if val.is_null() { 7161 release_profiling_lock_khr 7162 } else { 7163 ::std::mem::transmute(val) 7164 } 7165 }, 7166 } 7167 } 7168 } 7169 #[doc = "Generated from 'VK_KHR_performance_query'"] 7170 impl QueryType { 7171 pub const PERFORMANCE_QUERY_KHR: Self = Self(1_000_116_000); 7172 } 7173 #[doc = "Generated from 'VK_KHR_performance_query'"] 7174 impl StructureType { 7175 pub const PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: Self = Self(1_000_116_000); 7176 pub const PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: Self = Self(1_000_116_001); 7177 pub const QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: Self = Self(1_000_116_002); 7178 pub const PERFORMANCE_QUERY_SUBMIT_INFO_KHR: Self = Self(1_000_116_003); 7179 pub const ACQUIRE_PROFILING_LOCK_INFO_KHR: Self = Self(1_000_116_004); 7180 pub const PERFORMANCE_COUNTER_KHR: Self = Self(1_000_116_005); 7181 pub const PERFORMANCE_COUNTER_DESCRIPTION_KHR: Self = Self(1_000_116_006); 7182 } 7183 impl KhrMaintenance2Fn { 7184 #[inline] name() -> &'static ::std::ffi::CStr7185 pub const fn name() -> &'static ::std::ffi::CStr { 7186 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_maintenance2\0") } 7187 } 7188 pub const SPEC_VERSION: u32 = 1u32; 7189 } 7190 #[derive(Clone)] 7191 pub struct KhrMaintenance2Fn {} 7192 unsafe impl Send for KhrMaintenance2Fn {} 7193 unsafe impl Sync for KhrMaintenance2Fn {} 7194 impl KhrMaintenance2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7195 pub fn load<F>(mut _f: F) -> Self 7196 where 7197 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7198 { 7199 Self {} 7200 } 7201 } 7202 #[doc = "Generated from 'VK_KHR_maintenance2'"] 7203 impl ImageCreateFlags { 7204 pub const BLOCK_TEXEL_VIEW_COMPATIBLE_KHR: Self = Self::BLOCK_TEXEL_VIEW_COMPATIBLE; 7205 pub const EXTENDED_USAGE_KHR: Self = Self::EXTENDED_USAGE; 7206 } 7207 #[doc = "Generated from 'VK_KHR_maintenance2'"] 7208 impl ImageLayout { 7209 pub const DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR: Self = 7210 Self::DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL; 7211 pub const DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR: Self = 7212 Self::DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL; 7213 } 7214 #[doc = "Generated from 'VK_KHR_maintenance2'"] 7215 impl PointClippingBehavior { 7216 pub const ALL_CLIP_PLANES_KHR: Self = Self::ALL_CLIP_PLANES; 7217 pub const USER_CLIP_PLANES_ONLY_KHR: Self = Self::USER_CLIP_PLANES_ONLY; 7218 } 7219 #[doc = "Generated from 'VK_KHR_maintenance2'"] 7220 impl StructureType { 7221 pub const PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR: Self = 7222 Self::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; 7223 pub const RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR: Self = 7224 Self::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; 7225 pub const IMAGE_VIEW_USAGE_CREATE_INFO_KHR: Self = Self::IMAGE_VIEW_USAGE_CREATE_INFO; 7226 pub const PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR: Self = 7227 Self::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; 7228 } 7229 #[doc = "Generated from 'VK_KHR_maintenance2'"] 7230 impl TessellationDomainOrigin { 7231 pub const UPPER_LEFT_KHR: Self = Self::UPPER_LEFT; 7232 pub const LOWER_LEFT_KHR: Self = Self::LOWER_LEFT; 7233 } 7234 impl KhrExtension119Fn { 7235 #[inline] name() -> &'static ::std::ffi::CStr7236 pub const fn name() -> &'static ::std::ffi::CStr { 7237 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_119\0") } 7238 } 7239 pub const SPEC_VERSION: u32 = 0u32; 7240 } 7241 #[derive(Clone)] 7242 pub struct KhrExtension119Fn {} 7243 unsafe impl Send for KhrExtension119Fn {} 7244 unsafe impl Sync for KhrExtension119Fn {} 7245 impl KhrExtension119Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7246 pub fn load<F>(mut _f: F) -> Self 7247 where 7248 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7249 { 7250 Self {} 7251 } 7252 } 7253 impl KhrGetSurfaceCapabilities2Fn { 7254 #[inline] name() -> &'static ::std::ffi::CStr7255 pub const fn name() -> &'static ::std::ffi::CStr { 7256 unsafe { 7257 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_get_surface_capabilities2\0") 7258 } 7259 } 7260 pub const SPEC_VERSION: u32 = 1u32; 7261 } 7262 #[allow(non_camel_case_types)] 7263 pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = unsafe extern "system" fn( 7264 physical_device: PhysicalDevice, 7265 p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 7266 p_surface_capabilities: *mut SurfaceCapabilities2KHR, 7267 ) -> Result; 7268 #[allow(non_camel_case_types)] 7269 pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = unsafe extern "system" fn( 7270 physical_device: PhysicalDevice, 7271 p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 7272 p_surface_format_count: *mut u32, 7273 p_surface_formats: *mut SurfaceFormat2KHR, 7274 ) -> Result; 7275 #[derive(Clone)] 7276 pub struct KhrGetSurfaceCapabilities2Fn { 7277 pub get_physical_device_surface_capabilities2_khr: 7278 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR, 7279 pub get_physical_device_surface_formats2_khr: PFN_vkGetPhysicalDeviceSurfaceFormats2KHR, 7280 } 7281 unsafe impl Send for KhrGetSurfaceCapabilities2Fn {} 7282 unsafe impl Sync for KhrGetSurfaceCapabilities2Fn {} 7283 impl KhrGetSurfaceCapabilities2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7284 pub fn load<F>(mut _f: F) -> Self 7285 where 7286 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7287 { 7288 Self { 7289 get_physical_device_surface_capabilities2_khr: unsafe { 7290 unsafe extern "system" fn get_physical_device_surface_capabilities2_khr( 7291 _physical_device: PhysicalDevice, 7292 _p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 7293 _p_surface_capabilities: *mut SurfaceCapabilities2KHR, 7294 ) -> Result { 7295 panic!(concat!( 7296 "Unable to load ", 7297 stringify!(get_physical_device_surface_capabilities2_khr) 7298 )) 7299 } 7300 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7301 b"vkGetPhysicalDeviceSurfaceCapabilities2KHR\0", 7302 ); 7303 let val = _f(cname); 7304 if val.is_null() { 7305 get_physical_device_surface_capabilities2_khr 7306 } else { 7307 ::std::mem::transmute(val) 7308 } 7309 }, 7310 get_physical_device_surface_formats2_khr: unsafe { 7311 unsafe extern "system" fn get_physical_device_surface_formats2_khr( 7312 _physical_device: PhysicalDevice, 7313 _p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 7314 _p_surface_format_count: *mut u32, 7315 _p_surface_formats: *mut SurfaceFormat2KHR, 7316 ) -> Result { 7317 panic!(concat!( 7318 "Unable to load ", 7319 stringify!(get_physical_device_surface_formats2_khr) 7320 )) 7321 } 7322 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7323 b"vkGetPhysicalDeviceSurfaceFormats2KHR\0", 7324 ); 7325 let val = _f(cname); 7326 if val.is_null() { 7327 get_physical_device_surface_formats2_khr 7328 } else { 7329 ::std::mem::transmute(val) 7330 } 7331 }, 7332 } 7333 } 7334 } 7335 #[doc = "Generated from 'VK_KHR_get_surface_capabilities2'"] 7336 impl StructureType { 7337 pub const PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: Self = Self(1_000_119_000); 7338 pub const SURFACE_CAPABILITIES_2_KHR: Self = Self(1_000_119_001); 7339 pub const SURFACE_FORMAT_2_KHR: Self = Self(1_000_119_002); 7340 } 7341 impl KhrVariablePointersFn { 7342 #[inline] name() -> &'static ::std::ffi::CStr7343 pub const fn name() -> &'static ::std::ffi::CStr { 7344 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_variable_pointers\0") } 7345 } 7346 pub const SPEC_VERSION: u32 = 1u32; 7347 } 7348 #[derive(Clone)] 7349 pub struct KhrVariablePointersFn {} 7350 unsafe impl Send for KhrVariablePointersFn {} 7351 unsafe impl Sync for KhrVariablePointersFn {} 7352 impl KhrVariablePointersFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7353 pub fn load<F>(mut _f: F) -> Self 7354 where 7355 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7356 { 7357 Self {} 7358 } 7359 } 7360 #[doc = "Generated from 'VK_KHR_variable_pointers'"] 7361 impl StructureType { 7362 pub const PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR: Self = 7363 Self::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; 7364 pub const PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: Self = 7365 Self::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR; 7366 } 7367 impl KhrGetDisplayProperties2Fn { 7368 #[inline] name() -> &'static ::std::ffi::CStr7369 pub const fn name() -> &'static ::std::ffi::CStr { 7370 unsafe { 7371 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_get_display_properties2\0") 7372 } 7373 } 7374 pub const SPEC_VERSION: u32 = 1u32; 7375 } 7376 #[allow(non_camel_case_types)] 7377 pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = unsafe extern "system" fn( 7378 physical_device: PhysicalDevice, 7379 p_property_count: *mut u32, 7380 p_properties: *mut DisplayProperties2KHR, 7381 ) -> Result; 7382 #[allow(non_camel_case_types)] 7383 pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = unsafe extern "system" fn( 7384 physical_device: PhysicalDevice, 7385 p_property_count: *mut u32, 7386 p_properties: *mut DisplayPlaneProperties2KHR, 7387 ) -> Result; 7388 #[allow(non_camel_case_types)] 7389 pub type PFN_vkGetDisplayModeProperties2KHR = unsafe extern "system" fn( 7390 physical_device: PhysicalDevice, 7391 display: DisplayKHR, 7392 p_property_count: *mut u32, 7393 p_properties: *mut DisplayModeProperties2KHR, 7394 ) -> Result; 7395 #[allow(non_camel_case_types)] 7396 pub type PFN_vkGetDisplayPlaneCapabilities2KHR = unsafe extern "system" fn( 7397 physical_device: PhysicalDevice, 7398 p_display_plane_info: *const DisplayPlaneInfo2KHR, 7399 p_capabilities: *mut DisplayPlaneCapabilities2KHR, 7400 ) -> Result; 7401 #[derive(Clone)] 7402 pub struct KhrGetDisplayProperties2Fn { 7403 pub get_physical_device_display_properties2_khr: PFN_vkGetPhysicalDeviceDisplayProperties2KHR, 7404 pub get_physical_device_display_plane_properties2_khr: 7405 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR, 7406 pub get_display_mode_properties2_khr: PFN_vkGetDisplayModeProperties2KHR, 7407 pub get_display_plane_capabilities2_khr: PFN_vkGetDisplayPlaneCapabilities2KHR, 7408 } 7409 unsafe impl Send for KhrGetDisplayProperties2Fn {} 7410 unsafe impl Sync for KhrGetDisplayProperties2Fn {} 7411 impl KhrGetDisplayProperties2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7412 pub fn load<F>(mut _f: F) -> Self 7413 where 7414 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7415 { 7416 Self { 7417 get_physical_device_display_properties2_khr: unsafe { 7418 unsafe extern "system" fn get_physical_device_display_properties2_khr( 7419 _physical_device: PhysicalDevice, 7420 _p_property_count: *mut u32, 7421 _p_properties: *mut DisplayProperties2KHR, 7422 ) -> Result { 7423 panic!(concat!( 7424 "Unable to load ", 7425 stringify!(get_physical_device_display_properties2_khr) 7426 )) 7427 } 7428 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7429 b"vkGetPhysicalDeviceDisplayProperties2KHR\0", 7430 ); 7431 let val = _f(cname); 7432 if val.is_null() { 7433 get_physical_device_display_properties2_khr 7434 } else { 7435 ::std::mem::transmute(val) 7436 } 7437 }, 7438 get_physical_device_display_plane_properties2_khr: unsafe { 7439 unsafe extern "system" fn get_physical_device_display_plane_properties2_khr( 7440 _physical_device: PhysicalDevice, 7441 _p_property_count: *mut u32, 7442 _p_properties: *mut DisplayPlaneProperties2KHR, 7443 ) -> Result { 7444 panic!(concat!( 7445 "Unable to load ", 7446 stringify!(get_physical_device_display_plane_properties2_khr) 7447 )) 7448 } 7449 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7450 b"vkGetPhysicalDeviceDisplayPlaneProperties2KHR\0", 7451 ); 7452 let val = _f(cname); 7453 if val.is_null() { 7454 get_physical_device_display_plane_properties2_khr 7455 } else { 7456 ::std::mem::transmute(val) 7457 } 7458 }, 7459 get_display_mode_properties2_khr: unsafe { 7460 unsafe extern "system" fn get_display_mode_properties2_khr( 7461 _physical_device: PhysicalDevice, 7462 _display: DisplayKHR, 7463 _p_property_count: *mut u32, 7464 _p_properties: *mut DisplayModeProperties2KHR, 7465 ) -> Result { 7466 panic!(concat!( 7467 "Unable to load ", 7468 stringify!(get_display_mode_properties2_khr) 7469 )) 7470 } 7471 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7472 b"vkGetDisplayModeProperties2KHR\0", 7473 ); 7474 let val = _f(cname); 7475 if val.is_null() { 7476 get_display_mode_properties2_khr 7477 } else { 7478 ::std::mem::transmute(val) 7479 } 7480 }, 7481 get_display_plane_capabilities2_khr: unsafe { 7482 unsafe extern "system" fn get_display_plane_capabilities2_khr( 7483 _physical_device: PhysicalDevice, 7484 _p_display_plane_info: *const DisplayPlaneInfo2KHR, 7485 _p_capabilities: *mut DisplayPlaneCapabilities2KHR, 7486 ) -> Result { 7487 panic!(concat!( 7488 "Unable to load ", 7489 stringify!(get_display_plane_capabilities2_khr) 7490 )) 7491 } 7492 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7493 b"vkGetDisplayPlaneCapabilities2KHR\0", 7494 ); 7495 let val = _f(cname); 7496 if val.is_null() { 7497 get_display_plane_capabilities2_khr 7498 } else { 7499 ::std::mem::transmute(val) 7500 } 7501 }, 7502 } 7503 } 7504 } 7505 #[doc = "Generated from 'VK_KHR_get_display_properties2'"] 7506 impl StructureType { 7507 pub const DISPLAY_PROPERTIES_2_KHR: Self = Self(1_000_121_000); 7508 pub const DISPLAY_PLANE_PROPERTIES_2_KHR: Self = Self(1_000_121_001); 7509 pub const DISPLAY_MODE_PROPERTIES_2_KHR: Self = Self(1_000_121_002); 7510 pub const DISPLAY_PLANE_INFO_2_KHR: Self = Self(1_000_121_003); 7511 pub const DISPLAY_PLANE_CAPABILITIES_2_KHR: Self = Self(1_000_121_004); 7512 } 7513 impl MvkIosSurfaceFn { 7514 #[inline] name() -> &'static ::std::ffi::CStr7515 pub const fn name() -> &'static ::std::ffi::CStr { 7516 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MVK_ios_surface\0") } 7517 } 7518 pub const SPEC_VERSION: u32 = 3u32; 7519 } 7520 #[allow(non_camel_case_types)] 7521 pub type PFN_vkCreateIOSSurfaceMVK = unsafe extern "system" fn( 7522 instance: Instance, 7523 p_create_info: *const IOSSurfaceCreateInfoMVK, 7524 p_allocator: *const AllocationCallbacks, 7525 p_surface: *mut SurfaceKHR, 7526 ) -> Result; 7527 #[derive(Clone)] 7528 pub struct MvkIosSurfaceFn { 7529 pub create_ios_surface_mvk: PFN_vkCreateIOSSurfaceMVK, 7530 } 7531 unsafe impl Send for MvkIosSurfaceFn {} 7532 unsafe impl Sync for MvkIosSurfaceFn {} 7533 impl MvkIosSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7534 pub fn load<F>(mut _f: F) -> Self 7535 where 7536 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7537 { 7538 Self { 7539 create_ios_surface_mvk: unsafe { 7540 unsafe extern "system" fn create_ios_surface_mvk( 7541 _instance: Instance, 7542 _p_create_info: *const IOSSurfaceCreateInfoMVK, 7543 _p_allocator: *const AllocationCallbacks, 7544 _p_surface: *mut SurfaceKHR, 7545 ) -> Result { 7546 panic!(concat!( 7547 "Unable to load ", 7548 stringify!(create_ios_surface_mvk) 7549 )) 7550 } 7551 let cname = 7552 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateIOSSurfaceMVK\0"); 7553 let val = _f(cname); 7554 if val.is_null() { 7555 create_ios_surface_mvk 7556 } else { 7557 ::std::mem::transmute(val) 7558 } 7559 }, 7560 } 7561 } 7562 } 7563 #[doc = "Generated from 'VK_MVK_ios_surface'"] 7564 impl StructureType { 7565 pub const IOS_SURFACE_CREATE_INFO_MVK: Self = Self(1_000_122_000); 7566 } 7567 impl MvkMacosSurfaceFn { 7568 #[inline] name() -> &'static ::std::ffi::CStr7569 pub const fn name() -> &'static ::std::ffi::CStr { 7570 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MVK_macos_surface\0") } 7571 } 7572 pub const SPEC_VERSION: u32 = 3u32; 7573 } 7574 #[allow(non_camel_case_types)] 7575 pub type PFN_vkCreateMacOSSurfaceMVK = unsafe extern "system" fn( 7576 instance: Instance, 7577 p_create_info: *const MacOSSurfaceCreateInfoMVK, 7578 p_allocator: *const AllocationCallbacks, 7579 p_surface: *mut SurfaceKHR, 7580 ) -> Result; 7581 #[derive(Clone)] 7582 pub struct MvkMacosSurfaceFn { 7583 pub create_mac_os_surface_mvk: PFN_vkCreateMacOSSurfaceMVK, 7584 } 7585 unsafe impl Send for MvkMacosSurfaceFn {} 7586 unsafe impl Sync for MvkMacosSurfaceFn {} 7587 impl MvkMacosSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7588 pub fn load<F>(mut _f: F) -> Self 7589 where 7590 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7591 { 7592 Self { 7593 create_mac_os_surface_mvk: unsafe { 7594 unsafe extern "system" fn create_mac_os_surface_mvk( 7595 _instance: Instance, 7596 _p_create_info: *const MacOSSurfaceCreateInfoMVK, 7597 _p_allocator: *const AllocationCallbacks, 7598 _p_surface: *mut SurfaceKHR, 7599 ) -> Result { 7600 panic!(concat!( 7601 "Unable to load ", 7602 stringify!(create_mac_os_surface_mvk) 7603 )) 7604 } 7605 let cname = 7606 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateMacOSSurfaceMVK\0"); 7607 let val = _f(cname); 7608 if val.is_null() { 7609 create_mac_os_surface_mvk 7610 } else { 7611 ::std::mem::transmute(val) 7612 } 7613 }, 7614 } 7615 } 7616 } 7617 #[doc = "Generated from 'VK_MVK_macos_surface'"] 7618 impl StructureType { 7619 pub const MACOS_SURFACE_CREATE_INFO_MVK: Self = Self(1_000_123_000); 7620 } 7621 impl MvkMoltenvkFn { 7622 #[inline] name() -> &'static ::std::ffi::CStr7623 pub const fn name() -> &'static ::std::ffi::CStr { 7624 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MVK_moltenvk\0") } 7625 } 7626 pub const SPEC_VERSION: u32 = 0u32; 7627 } 7628 #[derive(Clone)] 7629 pub struct MvkMoltenvkFn {} 7630 unsafe impl Send for MvkMoltenvkFn {} 7631 unsafe impl Sync for MvkMoltenvkFn {} 7632 impl MvkMoltenvkFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7633 pub fn load<F>(mut _f: F) -> Self 7634 where 7635 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7636 { 7637 Self {} 7638 } 7639 } 7640 impl ExtExternalMemoryDmaBufFn { 7641 #[inline] name() -> &'static ::std::ffi::CStr7642 pub const fn name() -> &'static ::std::ffi::CStr { 7643 unsafe { 7644 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_external_memory_dma_buf\0") 7645 } 7646 } 7647 pub const SPEC_VERSION: u32 = 1u32; 7648 } 7649 #[derive(Clone)] 7650 pub struct ExtExternalMemoryDmaBufFn {} 7651 unsafe impl Send for ExtExternalMemoryDmaBufFn {} 7652 unsafe impl Sync for ExtExternalMemoryDmaBufFn {} 7653 impl ExtExternalMemoryDmaBufFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7654 pub fn load<F>(mut _f: F) -> Self 7655 where 7656 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7657 { 7658 Self {} 7659 } 7660 } 7661 #[doc = "Generated from 'VK_EXT_external_memory_dma_buf'"] 7662 impl ExternalMemoryHandleTypeFlags { 7663 pub const DMA_BUF_EXT: Self = Self(0b10_0000_0000); 7664 } 7665 impl ExtQueueFamilyForeignFn { 7666 #[inline] name() -> &'static ::std::ffi::CStr7667 pub const fn name() -> &'static ::std::ffi::CStr { 7668 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_queue_family_foreign\0") } 7669 } 7670 pub const SPEC_VERSION: u32 = 1u32; 7671 } 7672 #[derive(Clone)] 7673 pub struct ExtQueueFamilyForeignFn {} 7674 unsafe impl Send for ExtQueueFamilyForeignFn {} 7675 unsafe impl Sync for ExtQueueFamilyForeignFn {} 7676 impl ExtQueueFamilyForeignFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7677 pub fn load<F>(mut _f: F) -> Self 7678 where 7679 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7680 { 7681 Self {} 7682 } 7683 } 7684 impl KhrDedicatedAllocationFn { 7685 #[inline] name() -> &'static ::std::ffi::CStr7686 pub const fn name() -> &'static ::std::ffi::CStr { 7687 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_dedicated_allocation\0") } 7688 } 7689 pub const SPEC_VERSION: u32 = 3u32; 7690 } 7691 #[derive(Clone)] 7692 pub struct KhrDedicatedAllocationFn {} 7693 unsafe impl Send for KhrDedicatedAllocationFn {} 7694 unsafe impl Sync for KhrDedicatedAllocationFn {} 7695 impl KhrDedicatedAllocationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7696 pub fn load<F>(mut _f: F) -> Self 7697 where 7698 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7699 { 7700 Self {} 7701 } 7702 } 7703 #[doc = "Generated from 'VK_KHR_dedicated_allocation'"] 7704 impl StructureType { 7705 pub const MEMORY_DEDICATED_REQUIREMENTS_KHR: Self = Self::MEMORY_DEDICATED_REQUIREMENTS; 7706 pub const MEMORY_DEDICATED_ALLOCATE_INFO_KHR: Self = Self::MEMORY_DEDICATED_ALLOCATE_INFO; 7707 } 7708 impl ExtDebugUtilsFn { 7709 #[inline] name() -> &'static ::std::ffi::CStr7710 pub const fn name() -> &'static ::std::ffi::CStr { 7711 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_debug_utils\0") } 7712 } 7713 pub const SPEC_VERSION: u32 = 2u32; 7714 } 7715 #[allow(non_camel_case_types)] 7716 pub type PFN_vkSetDebugUtilsObjectNameEXT = unsafe extern "system" fn( 7717 device: Device, 7718 p_name_info: *const DebugUtilsObjectNameInfoEXT, 7719 ) -> Result; 7720 #[allow(non_camel_case_types)] 7721 pub type PFN_vkSetDebugUtilsObjectTagEXT = unsafe extern "system" fn( 7722 device: Device, 7723 p_tag_info: *const DebugUtilsObjectTagInfoEXT, 7724 ) -> Result; 7725 #[allow(non_camel_case_types)] 7726 pub type PFN_vkQueueBeginDebugUtilsLabelEXT = 7727 unsafe extern "system" fn(queue: Queue, p_label_info: *const DebugUtilsLabelEXT); 7728 #[allow(non_camel_case_types)] 7729 pub type PFN_vkQueueEndDebugUtilsLabelEXT = unsafe extern "system" fn(queue: Queue); 7730 #[allow(non_camel_case_types)] 7731 pub type PFN_vkQueueInsertDebugUtilsLabelEXT = 7732 unsafe extern "system" fn(queue: Queue, p_label_info: *const DebugUtilsLabelEXT); 7733 #[allow(non_camel_case_types)] 7734 pub type PFN_vkCmdBeginDebugUtilsLabelEXT = unsafe extern "system" fn( 7735 command_buffer: CommandBuffer, 7736 p_label_info: *const DebugUtilsLabelEXT, 7737 ); 7738 #[allow(non_camel_case_types)] 7739 pub type PFN_vkCmdEndDebugUtilsLabelEXT = unsafe extern "system" fn(command_buffer: CommandBuffer); 7740 #[allow(non_camel_case_types)] 7741 pub type PFN_vkCmdInsertDebugUtilsLabelEXT = unsafe extern "system" fn( 7742 command_buffer: CommandBuffer, 7743 p_label_info: *const DebugUtilsLabelEXT, 7744 ); 7745 #[allow(non_camel_case_types)] 7746 pub type PFN_vkCreateDebugUtilsMessengerEXT = unsafe extern "system" fn( 7747 instance: Instance, 7748 p_create_info: *const DebugUtilsMessengerCreateInfoEXT, 7749 p_allocator: *const AllocationCallbacks, 7750 p_messenger: *mut DebugUtilsMessengerEXT, 7751 ) -> Result; 7752 #[allow(non_camel_case_types)] 7753 pub type PFN_vkDestroyDebugUtilsMessengerEXT = unsafe extern "system" fn( 7754 instance: Instance, 7755 messenger: DebugUtilsMessengerEXT, 7756 p_allocator: *const AllocationCallbacks, 7757 ); 7758 #[allow(non_camel_case_types)] 7759 pub type PFN_vkSubmitDebugUtilsMessageEXT = unsafe extern "system" fn( 7760 instance: Instance, 7761 message_severity: DebugUtilsMessageSeverityFlagsEXT, 7762 message_types: DebugUtilsMessageTypeFlagsEXT, 7763 p_callback_data: *const DebugUtilsMessengerCallbackDataEXT, 7764 ); 7765 #[derive(Clone)] 7766 pub struct ExtDebugUtilsFn { 7767 pub set_debug_utils_object_name_ext: PFN_vkSetDebugUtilsObjectNameEXT, 7768 pub set_debug_utils_object_tag_ext: PFN_vkSetDebugUtilsObjectTagEXT, 7769 pub queue_begin_debug_utils_label_ext: PFN_vkQueueBeginDebugUtilsLabelEXT, 7770 pub queue_end_debug_utils_label_ext: PFN_vkQueueEndDebugUtilsLabelEXT, 7771 pub queue_insert_debug_utils_label_ext: PFN_vkQueueInsertDebugUtilsLabelEXT, 7772 pub cmd_begin_debug_utils_label_ext: PFN_vkCmdBeginDebugUtilsLabelEXT, 7773 pub cmd_end_debug_utils_label_ext: PFN_vkCmdEndDebugUtilsLabelEXT, 7774 pub cmd_insert_debug_utils_label_ext: PFN_vkCmdInsertDebugUtilsLabelEXT, 7775 pub create_debug_utils_messenger_ext: PFN_vkCreateDebugUtilsMessengerEXT, 7776 pub destroy_debug_utils_messenger_ext: PFN_vkDestroyDebugUtilsMessengerEXT, 7777 pub submit_debug_utils_message_ext: PFN_vkSubmitDebugUtilsMessageEXT, 7778 } 7779 unsafe impl Send for ExtDebugUtilsFn {} 7780 unsafe impl Sync for ExtDebugUtilsFn {} 7781 impl ExtDebugUtilsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,7782 pub fn load<F>(mut _f: F) -> Self 7783 where 7784 F: FnMut(&::std::ffi::CStr) -> *const c_void, 7785 { 7786 Self { 7787 set_debug_utils_object_name_ext: unsafe { 7788 unsafe extern "system" fn set_debug_utils_object_name_ext( 7789 _device: Device, 7790 _p_name_info: *const DebugUtilsObjectNameInfoEXT, 7791 ) -> Result { 7792 panic!(concat!( 7793 "Unable to load ", 7794 stringify!(set_debug_utils_object_name_ext) 7795 )) 7796 } 7797 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7798 b"vkSetDebugUtilsObjectNameEXT\0", 7799 ); 7800 let val = _f(cname); 7801 if val.is_null() { 7802 set_debug_utils_object_name_ext 7803 } else { 7804 ::std::mem::transmute(val) 7805 } 7806 }, 7807 set_debug_utils_object_tag_ext: unsafe { 7808 unsafe extern "system" fn set_debug_utils_object_tag_ext( 7809 _device: Device, 7810 _p_tag_info: *const DebugUtilsObjectTagInfoEXT, 7811 ) -> Result { 7812 panic!(concat!( 7813 "Unable to load ", 7814 stringify!(set_debug_utils_object_tag_ext) 7815 )) 7816 } 7817 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7818 b"vkSetDebugUtilsObjectTagEXT\0", 7819 ); 7820 let val = _f(cname); 7821 if val.is_null() { 7822 set_debug_utils_object_tag_ext 7823 } else { 7824 ::std::mem::transmute(val) 7825 } 7826 }, 7827 queue_begin_debug_utils_label_ext: unsafe { 7828 unsafe extern "system" fn queue_begin_debug_utils_label_ext( 7829 _queue: Queue, 7830 _p_label_info: *const DebugUtilsLabelEXT, 7831 ) { 7832 panic!(concat!( 7833 "Unable to load ", 7834 stringify!(queue_begin_debug_utils_label_ext) 7835 )) 7836 } 7837 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7838 b"vkQueueBeginDebugUtilsLabelEXT\0", 7839 ); 7840 let val = _f(cname); 7841 if val.is_null() { 7842 queue_begin_debug_utils_label_ext 7843 } else { 7844 ::std::mem::transmute(val) 7845 } 7846 }, 7847 queue_end_debug_utils_label_ext: unsafe { 7848 unsafe extern "system" fn queue_end_debug_utils_label_ext(_queue: Queue) { 7849 panic!(concat!( 7850 "Unable to load ", 7851 stringify!(queue_end_debug_utils_label_ext) 7852 )) 7853 } 7854 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7855 b"vkQueueEndDebugUtilsLabelEXT\0", 7856 ); 7857 let val = _f(cname); 7858 if val.is_null() { 7859 queue_end_debug_utils_label_ext 7860 } else { 7861 ::std::mem::transmute(val) 7862 } 7863 }, 7864 queue_insert_debug_utils_label_ext: unsafe { 7865 unsafe extern "system" fn queue_insert_debug_utils_label_ext( 7866 _queue: Queue, 7867 _p_label_info: *const DebugUtilsLabelEXT, 7868 ) { 7869 panic!(concat!( 7870 "Unable to load ", 7871 stringify!(queue_insert_debug_utils_label_ext) 7872 )) 7873 } 7874 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7875 b"vkQueueInsertDebugUtilsLabelEXT\0", 7876 ); 7877 let val = _f(cname); 7878 if val.is_null() { 7879 queue_insert_debug_utils_label_ext 7880 } else { 7881 ::std::mem::transmute(val) 7882 } 7883 }, 7884 cmd_begin_debug_utils_label_ext: unsafe { 7885 unsafe extern "system" fn cmd_begin_debug_utils_label_ext( 7886 _command_buffer: CommandBuffer, 7887 _p_label_info: *const DebugUtilsLabelEXT, 7888 ) { 7889 panic!(concat!( 7890 "Unable to load ", 7891 stringify!(cmd_begin_debug_utils_label_ext) 7892 )) 7893 } 7894 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7895 b"vkCmdBeginDebugUtilsLabelEXT\0", 7896 ); 7897 let val = _f(cname); 7898 if val.is_null() { 7899 cmd_begin_debug_utils_label_ext 7900 } else { 7901 ::std::mem::transmute(val) 7902 } 7903 }, 7904 cmd_end_debug_utils_label_ext: unsafe { 7905 unsafe extern "system" fn cmd_end_debug_utils_label_ext( 7906 _command_buffer: CommandBuffer, 7907 ) { 7908 panic!(concat!( 7909 "Unable to load ", 7910 stringify!(cmd_end_debug_utils_label_ext) 7911 )) 7912 } 7913 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7914 b"vkCmdEndDebugUtilsLabelEXT\0", 7915 ); 7916 let val = _f(cname); 7917 if val.is_null() { 7918 cmd_end_debug_utils_label_ext 7919 } else { 7920 ::std::mem::transmute(val) 7921 } 7922 }, 7923 cmd_insert_debug_utils_label_ext: unsafe { 7924 unsafe extern "system" fn cmd_insert_debug_utils_label_ext( 7925 _command_buffer: CommandBuffer, 7926 _p_label_info: *const DebugUtilsLabelEXT, 7927 ) { 7928 panic!(concat!( 7929 "Unable to load ", 7930 stringify!(cmd_insert_debug_utils_label_ext) 7931 )) 7932 } 7933 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7934 b"vkCmdInsertDebugUtilsLabelEXT\0", 7935 ); 7936 let val = _f(cname); 7937 if val.is_null() { 7938 cmd_insert_debug_utils_label_ext 7939 } else { 7940 ::std::mem::transmute(val) 7941 } 7942 }, 7943 create_debug_utils_messenger_ext: unsafe { 7944 unsafe extern "system" fn create_debug_utils_messenger_ext( 7945 _instance: Instance, 7946 _p_create_info: *const DebugUtilsMessengerCreateInfoEXT, 7947 _p_allocator: *const AllocationCallbacks, 7948 _p_messenger: *mut DebugUtilsMessengerEXT, 7949 ) -> Result { 7950 panic!(concat!( 7951 "Unable to load ", 7952 stringify!(create_debug_utils_messenger_ext) 7953 )) 7954 } 7955 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7956 b"vkCreateDebugUtilsMessengerEXT\0", 7957 ); 7958 let val = _f(cname); 7959 if val.is_null() { 7960 create_debug_utils_messenger_ext 7961 } else { 7962 ::std::mem::transmute(val) 7963 } 7964 }, 7965 destroy_debug_utils_messenger_ext: unsafe { 7966 unsafe extern "system" fn destroy_debug_utils_messenger_ext( 7967 _instance: Instance, 7968 _messenger: DebugUtilsMessengerEXT, 7969 _p_allocator: *const AllocationCallbacks, 7970 ) { 7971 panic!(concat!( 7972 "Unable to load ", 7973 stringify!(destroy_debug_utils_messenger_ext) 7974 )) 7975 } 7976 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7977 b"vkDestroyDebugUtilsMessengerEXT\0", 7978 ); 7979 let val = _f(cname); 7980 if val.is_null() { 7981 destroy_debug_utils_messenger_ext 7982 } else { 7983 ::std::mem::transmute(val) 7984 } 7985 }, 7986 submit_debug_utils_message_ext: unsafe { 7987 unsafe extern "system" fn submit_debug_utils_message_ext( 7988 _instance: Instance, 7989 _message_severity: DebugUtilsMessageSeverityFlagsEXT, 7990 _message_types: DebugUtilsMessageTypeFlagsEXT, 7991 _p_callback_data: *const DebugUtilsMessengerCallbackDataEXT, 7992 ) { 7993 panic!(concat!( 7994 "Unable to load ", 7995 stringify!(submit_debug_utils_message_ext) 7996 )) 7997 } 7998 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 7999 b"vkSubmitDebugUtilsMessageEXT\0", 8000 ); 8001 let val = _f(cname); 8002 if val.is_null() { 8003 submit_debug_utils_message_ext 8004 } else { 8005 ::std::mem::transmute(val) 8006 } 8007 }, 8008 } 8009 } 8010 } 8011 #[doc = "Generated from 'VK_EXT_debug_utils'"] 8012 impl ObjectType { 8013 pub const DEBUG_UTILS_MESSENGER_EXT: Self = Self(1_000_128_000); 8014 } 8015 #[doc = "Generated from 'VK_EXT_debug_utils'"] 8016 impl StructureType { 8017 pub const DEBUG_UTILS_OBJECT_NAME_INFO_EXT: Self = Self(1_000_128_000); 8018 pub const DEBUG_UTILS_OBJECT_TAG_INFO_EXT: Self = Self(1_000_128_001); 8019 pub const DEBUG_UTILS_LABEL_EXT: Self = Self(1_000_128_002); 8020 pub const DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: Self = Self(1_000_128_003); 8021 pub const DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: Self = Self(1_000_128_004); 8022 } 8023 impl AndroidExternalMemoryAndroidHardwareBufferFn { 8024 #[inline] name() -> &'static ::std::ffi::CStr8025 pub const fn name() -> &'static ::std::ffi::CStr { 8026 unsafe { 8027 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8028 b"VK_ANDROID_external_memory_android_hardware_buffer\0", 8029 ) 8030 } 8031 } 8032 pub const SPEC_VERSION: u32 = 5u32; 8033 } 8034 #[allow(non_camel_case_types)] 8035 pub type PFN_vkGetAndroidHardwareBufferPropertiesANDROID = unsafe extern "system" fn( 8036 device: Device, 8037 buffer: *const AHardwareBuffer, 8038 p_properties: *mut AndroidHardwareBufferPropertiesANDROID, 8039 ) -> Result; 8040 #[allow(non_camel_case_types)] 8041 pub type PFN_vkGetMemoryAndroidHardwareBufferANDROID = unsafe extern "system" fn( 8042 device: Device, 8043 p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, 8044 p_buffer: *mut *mut AHardwareBuffer, 8045 ) -> Result; 8046 #[derive(Clone)] 8047 pub struct AndroidExternalMemoryAndroidHardwareBufferFn { 8048 pub get_android_hardware_buffer_properties_android: 8049 PFN_vkGetAndroidHardwareBufferPropertiesANDROID, 8050 pub get_memory_android_hardware_buffer_android: PFN_vkGetMemoryAndroidHardwareBufferANDROID, 8051 } 8052 unsafe impl Send for AndroidExternalMemoryAndroidHardwareBufferFn {} 8053 unsafe impl Sync for AndroidExternalMemoryAndroidHardwareBufferFn {} 8054 impl AndroidExternalMemoryAndroidHardwareBufferFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8055 pub fn load<F>(mut _f: F) -> Self 8056 where 8057 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8058 { 8059 Self { 8060 get_android_hardware_buffer_properties_android: unsafe { 8061 unsafe extern "system" fn get_android_hardware_buffer_properties_android( 8062 _device: Device, 8063 _buffer: *const AHardwareBuffer, 8064 _p_properties: *mut AndroidHardwareBufferPropertiesANDROID, 8065 ) -> Result { 8066 panic!(concat!( 8067 "Unable to load ", 8068 stringify!(get_android_hardware_buffer_properties_android) 8069 )) 8070 } 8071 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8072 b"vkGetAndroidHardwareBufferPropertiesANDROID\0", 8073 ); 8074 let val = _f(cname); 8075 if val.is_null() { 8076 get_android_hardware_buffer_properties_android 8077 } else { 8078 ::std::mem::transmute(val) 8079 } 8080 }, 8081 get_memory_android_hardware_buffer_android: unsafe { 8082 unsafe extern "system" fn get_memory_android_hardware_buffer_android( 8083 _device: Device, 8084 _p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, 8085 _p_buffer: *mut *mut AHardwareBuffer, 8086 ) -> Result { 8087 panic!(concat!( 8088 "Unable to load ", 8089 stringify!(get_memory_android_hardware_buffer_android) 8090 )) 8091 } 8092 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8093 b"vkGetMemoryAndroidHardwareBufferANDROID\0", 8094 ); 8095 let val = _f(cname); 8096 if val.is_null() { 8097 get_memory_android_hardware_buffer_android 8098 } else { 8099 ::std::mem::transmute(val) 8100 } 8101 }, 8102 } 8103 } 8104 } 8105 #[doc = "Generated from 'VK_ANDROID_external_memory_android_hardware_buffer'"] 8106 impl ExternalMemoryHandleTypeFlags { 8107 pub const ANDROID_HARDWARE_BUFFER_ANDROID: Self = Self(0b100_0000_0000); 8108 } 8109 #[doc = "Generated from 'VK_ANDROID_external_memory_android_hardware_buffer'"] 8110 impl StructureType { 8111 pub const ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: Self = Self(1_000_129_000); 8112 pub const ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: Self = Self(1_000_129_001); 8113 pub const ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: Self = Self(1_000_129_002); 8114 pub const IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: Self = Self(1_000_129_003); 8115 pub const MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: Self = Self(1_000_129_004); 8116 pub const EXTERNAL_FORMAT_ANDROID: Self = Self(1_000_129_005); 8117 pub const ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: Self = Self(1_000_129_006); 8118 } 8119 impl ExtSamplerFilterMinmaxFn { 8120 #[inline] name() -> &'static ::std::ffi::CStr8121 pub const fn name() -> &'static ::std::ffi::CStr { 8122 unsafe { 8123 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_sampler_filter_minmax\0") 8124 } 8125 } 8126 pub const SPEC_VERSION: u32 = 2u32; 8127 } 8128 #[derive(Clone)] 8129 pub struct ExtSamplerFilterMinmaxFn {} 8130 unsafe impl Send for ExtSamplerFilterMinmaxFn {} 8131 unsafe impl Sync for ExtSamplerFilterMinmaxFn {} 8132 impl ExtSamplerFilterMinmaxFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8133 pub fn load<F>(mut _f: F) -> Self 8134 where 8135 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8136 { 8137 Self {} 8138 } 8139 } 8140 #[doc = "Generated from 'VK_EXT_sampler_filter_minmax'"] 8141 impl FormatFeatureFlags { 8142 pub const SAMPLED_IMAGE_FILTER_MINMAX_EXT: Self = Self::SAMPLED_IMAGE_FILTER_MINMAX; 8143 } 8144 #[doc = "Generated from 'VK_EXT_sampler_filter_minmax'"] 8145 impl SamplerReductionMode { 8146 pub const WEIGHTED_AVERAGE_EXT: Self = Self::WEIGHTED_AVERAGE; 8147 pub const MIN_EXT: Self = Self::MIN; 8148 pub const MAX_EXT: Self = Self::MAX; 8149 } 8150 #[doc = "Generated from 'VK_EXT_sampler_filter_minmax'"] 8151 impl StructureType { 8152 pub const PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: Self = 8153 Self::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES; 8154 pub const SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: Self = 8155 Self::SAMPLER_REDUCTION_MODE_CREATE_INFO; 8156 } 8157 impl KhrStorageBufferStorageClassFn { 8158 #[inline] name() -> &'static ::std::ffi::CStr8159 pub const fn name() -> &'static ::std::ffi::CStr { 8160 unsafe { 8161 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8162 b"VK_KHR_storage_buffer_storage_class\0", 8163 ) 8164 } 8165 } 8166 pub const SPEC_VERSION: u32 = 1u32; 8167 } 8168 #[derive(Clone)] 8169 pub struct KhrStorageBufferStorageClassFn {} 8170 unsafe impl Send for KhrStorageBufferStorageClassFn {} 8171 unsafe impl Sync for KhrStorageBufferStorageClassFn {} 8172 impl KhrStorageBufferStorageClassFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8173 pub fn load<F>(mut _f: F) -> Self 8174 where 8175 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8176 { 8177 Self {} 8178 } 8179 } 8180 impl AmdGpuShaderInt16Fn { 8181 #[inline] name() -> &'static ::std::ffi::CStr8182 pub const fn name() -> &'static ::std::ffi::CStr { 8183 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_gpu_shader_int16\0") } 8184 } 8185 pub const SPEC_VERSION: u32 = 2u32; 8186 } 8187 #[derive(Clone)] 8188 pub struct AmdGpuShaderInt16Fn {} 8189 unsafe impl Send for AmdGpuShaderInt16Fn {} 8190 unsafe impl Sync for AmdGpuShaderInt16Fn {} 8191 impl AmdGpuShaderInt16Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8192 pub fn load<F>(mut _f: F) -> Self 8193 where 8194 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8195 { 8196 Self {} 8197 } 8198 } 8199 impl AmdExtension134Fn { 8200 #[inline] name() -> &'static ::std::ffi::CStr8201 pub const fn name() -> &'static ::std::ffi::CStr { 8202 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_134\0") } 8203 } 8204 pub const SPEC_VERSION: u32 = 0u32; 8205 } 8206 #[derive(Clone)] 8207 pub struct AmdExtension134Fn {} 8208 unsafe impl Send for AmdExtension134Fn {} 8209 unsafe impl Sync for AmdExtension134Fn {} 8210 impl AmdExtension134Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8211 pub fn load<F>(mut _f: F) -> Self 8212 where 8213 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8214 { 8215 Self {} 8216 } 8217 } 8218 impl AmdExtension135Fn { 8219 #[inline] name() -> &'static ::std::ffi::CStr8220 pub const fn name() -> &'static ::std::ffi::CStr { 8221 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_135\0") } 8222 } 8223 pub const SPEC_VERSION: u32 = 0u32; 8224 } 8225 #[derive(Clone)] 8226 pub struct AmdExtension135Fn {} 8227 unsafe impl Send for AmdExtension135Fn {} 8228 unsafe impl Sync for AmdExtension135Fn {} 8229 impl AmdExtension135Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8230 pub fn load<F>(mut _f: F) -> Self 8231 where 8232 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8233 { 8234 Self {} 8235 } 8236 } 8237 #[doc = "Generated from 'VK_AMD_extension_135'"] 8238 impl BufferUsageFlags { 8239 pub const RESERVED_25_AMD: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 8240 } 8241 impl AmdExtension136Fn { 8242 #[inline] name() -> &'static ::std::ffi::CStr8243 pub const fn name() -> &'static ::std::ffi::CStr { 8244 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_136\0") } 8245 } 8246 pub const SPEC_VERSION: u32 = 0u32; 8247 } 8248 #[derive(Clone)] 8249 pub struct AmdExtension136Fn {} 8250 unsafe impl Send for AmdExtension136Fn {} 8251 unsafe impl Sync for AmdExtension136Fn {} 8252 impl AmdExtension136Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8253 pub fn load<F>(mut _f: F) -> Self 8254 where 8255 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8256 { 8257 Self {} 8258 } 8259 } 8260 impl AmdMixedAttachmentSamplesFn { 8261 #[inline] name() -> &'static ::std::ffi::CStr8262 pub const fn name() -> &'static ::std::ffi::CStr { 8263 unsafe { 8264 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_mixed_attachment_samples\0") 8265 } 8266 } 8267 pub const SPEC_VERSION: u32 = 1u32; 8268 } 8269 #[derive(Clone)] 8270 pub struct AmdMixedAttachmentSamplesFn {} 8271 unsafe impl Send for AmdMixedAttachmentSamplesFn {} 8272 unsafe impl Sync for AmdMixedAttachmentSamplesFn {} 8273 impl AmdMixedAttachmentSamplesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8274 pub fn load<F>(mut _f: F) -> Self 8275 where 8276 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8277 { 8278 Self {} 8279 } 8280 } 8281 impl AmdShaderFragmentMaskFn { 8282 #[inline] name() -> &'static ::std::ffi::CStr8283 pub const fn name() -> &'static ::std::ffi::CStr { 8284 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_fragment_mask\0") } 8285 } 8286 pub const SPEC_VERSION: u32 = 1u32; 8287 } 8288 #[derive(Clone)] 8289 pub struct AmdShaderFragmentMaskFn {} 8290 unsafe impl Send for AmdShaderFragmentMaskFn {} 8291 unsafe impl Sync for AmdShaderFragmentMaskFn {} 8292 impl AmdShaderFragmentMaskFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8293 pub fn load<F>(mut _f: F) -> Self 8294 where 8295 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8296 { 8297 Self {} 8298 } 8299 } 8300 impl ExtInlineUniformBlockFn { 8301 #[inline] name() -> &'static ::std::ffi::CStr8302 pub const fn name() -> &'static ::std::ffi::CStr { 8303 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_inline_uniform_block\0") } 8304 } 8305 pub const SPEC_VERSION: u32 = 1u32; 8306 } 8307 #[derive(Clone)] 8308 pub struct ExtInlineUniformBlockFn {} 8309 unsafe impl Send for ExtInlineUniformBlockFn {} 8310 unsafe impl Sync for ExtInlineUniformBlockFn {} 8311 impl ExtInlineUniformBlockFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8312 pub fn load<F>(mut _f: F) -> Self 8313 where 8314 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8315 { 8316 Self {} 8317 } 8318 } 8319 #[doc = "Generated from 'VK_EXT_inline_uniform_block'"] 8320 impl DescriptorType { 8321 pub const INLINE_UNIFORM_BLOCK_EXT: Self = Self::INLINE_UNIFORM_BLOCK; 8322 } 8323 #[doc = "Generated from 'VK_EXT_inline_uniform_block'"] 8324 impl StructureType { 8325 pub const PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: Self = 8326 Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES; 8327 pub const PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: Self = 8328 Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES; 8329 pub const WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: Self = 8330 Self::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK; 8331 pub const DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: Self = 8332 Self::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO; 8333 } 8334 impl AmdExtension140Fn { 8335 #[inline] name() -> &'static ::std::ffi::CStr8336 pub const fn name() -> &'static ::std::ffi::CStr { 8337 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_140\0") } 8338 } 8339 pub const SPEC_VERSION: u32 = 0u32; 8340 } 8341 #[derive(Clone)] 8342 pub struct AmdExtension140Fn {} 8343 unsafe impl Send for AmdExtension140Fn {} 8344 unsafe impl Sync for AmdExtension140Fn {} 8345 impl AmdExtension140Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8346 pub fn load<F>(mut _f: F) -> Self 8347 where 8348 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8349 { 8350 Self {} 8351 } 8352 } 8353 impl ExtShaderStencilExportFn { 8354 #[inline] name() -> &'static ::std::ffi::CStr8355 pub const fn name() -> &'static ::std::ffi::CStr { 8356 unsafe { 8357 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_stencil_export\0") 8358 } 8359 } 8360 pub const SPEC_VERSION: u32 = 1u32; 8361 } 8362 #[derive(Clone)] 8363 pub struct ExtShaderStencilExportFn {} 8364 unsafe impl Send for ExtShaderStencilExportFn {} 8365 unsafe impl Sync for ExtShaderStencilExportFn {} 8366 impl ExtShaderStencilExportFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8367 pub fn load<F>(mut _f: F) -> Self 8368 where 8369 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8370 { 8371 Self {} 8372 } 8373 } 8374 impl AmdExtension142Fn { 8375 #[inline] name() -> &'static ::std::ffi::CStr8376 pub const fn name() -> &'static ::std::ffi::CStr { 8377 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_142\0") } 8378 } 8379 pub const SPEC_VERSION: u32 = 0u32; 8380 } 8381 #[derive(Clone)] 8382 pub struct AmdExtension142Fn {} 8383 unsafe impl Send for AmdExtension142Fn {} 8384 unsafe impl Sync for AmdExtension142Fn {} 8385 impl AmdExtension142Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8386 pub fn load<F>(mut _f: F) -> Self 8387 where 8388 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8389 { 8390 Self {} 8391 } 8392 } 8393 impl AmdExtension143Fn { 8394 #[inline] name() -> &'static ::std::ffi::CStr8395 pub const fn name() -> &'static ::std::ffi::CStr { 8396 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_143\0") } 8397 } 8398 pub const SPEC_VERSION: u32 = 0u32; 8399 } 8400 #[derive(Clone)] 8401 pub struct AmdExtension143Fn {} 8402 unsafe impl Send for AmdExtension143Fn {} 8403 unsafe impl Sync for AmdExtension143Fn {} 8404 impl AmdExtension143Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8405 pub fn load<F>(mut _f: F) -> Self 8406 where 8407 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8408 { 8409 Self {} 8410 } 8411 } 8412 impl ExtSampleLocationsFn { 8413 #[inline] name() -> &'static ::std::ffi::CStr8414 pub const fn name() -> &'static ::std::ffi::CStr { 8415 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_sample_locations\0") } 8416 } 8417 pub const SPEC_VERSION: u32 = 1u32; 8418 } 8419 #[allow(non_camel_case_types)] 8420 pub type PFN_vkCmdSetSampleLocationsEXT = unsafe extern "system" fn( 8421 command_buffer: CommandBuffer, 8422 p_sample_locations_info: *const SampleLocationsInfoEXT, 8423 ); 8424 #[allow(non_camel_case_types)] 8425 pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = unsafe extern "system" fn( 8426 physical_device: PhysicalDevice, 8427 samples: SampleCountFlags, 8428 p_multisample_properties: *mut MultisamplePropertiesEXT, 8429 ); 8430 #[derive(Clone)] 8431 pub struct ExtSampleLocationsFn { 8432 pub cmd_set_sample_locations_ext: PFN_vkCmdSetSampleLocationsEXT, 8433 pub get_physical_device_multisample_properties_ext: 8434 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT, 8435 } 8436 unsafe impl Send for ExtSampleLocationsFn {} 8437 unsafe impl Sync for ExtSampleLocationsFn {} 8438 impl ExtSampleLocationsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8439 pub fn load<F>(mut _f: F) -> Self 8440 where 8441 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8442 { 8443 Self { 8444 cmd_set_sample_locations_ext: unsafe { 8445 unsafe extern "system" fn cmd_set_sample_locations_ext( 8446 _command_buffer: CommandBuffer, 8447 _p_sample_locations_info: *const SampleLocationsInfoEXT, 8448 ) { 8449 panic!(concat!( 8450 "Unable to load ", 8451 stringify!(cmd_set_sample_locations_ext) 8452 )) 8453 } 8454 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8455 b"vkCmdSetSampleLocationsEXT\0", 8456 ); 8457 let val = _f(cname); 8458 if val.is_null() { 8459 cmd_set_sample_locations_ext 8460 } else { 8461 ::std::mem::transmute(val) 8462 } 8463 }, 8464 get_physical_device_multisample_properties_ext: unsafe { 8465 unsafe extern "system" fn get_physical_device_multisample_properties_ext( 8466 _physical_device: PhysicalDevice, 8467 _samples: SampleCountFlags, 8468 _p_multisample_properties: *mut MultisamplePropertiesEXT, 8469 ) { 8470 panic!(concat!( 8471 "Unable to load ", 8472 stringify!(get_physical_device_multisample_properties_ext) 8473 )) 8474 } 8475 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8476 b"vkGetPhysicalDeviceMultisamplePropertiesEXT\0", 8477 ); 8478 let val = _f(cname); 8479 if val.is_null() { 8480 get_physical_device_multisample_properties_ext 8481 } else { 8482 ::std::mem::transmute(val) 8483 } 8484 }, 8485 } 8486 } 8487 } 8488 #[doc = "Generated from 'VK_EXT_sample_locations'"] 8489 impl DynamicState { 8490 pub const SAMPLE_LOCATIONS_EXT: Self = Self(1_000_143_000); 8491 } 8492 #[doc = "Generated from 'VK_EXT_sample_locations'"] 8493 impl ImageCreateFlags { 8494 pub const SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT: Self = Self(0b1_0000_0000_0000); 8495 } 8496 #[doc = "Generated from 'VK_EXT_sample_locations'"] 8497 impl StructureType { 8498 pub const SAMPLE_LOCATIONS_INFO_EXT: Self = Self(1_000_143_000); 8499 pub const RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: Self = Self(1_000_143_001); 8500 pub const PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: Self = Self(1_000_143_002); 8501 pub const PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: Self = Self(1_000_143_003); 8502 pub const MULTISAMPLE_PROPERTIES_EXT: Self = Self(1_000_143_004); 8503 } 8504 impl KhrRelaxedBlockLayoutFn { 8505 #[inline] name() -> &'static ::std::ffi::CStr8506 pub const fn name() -> &'static ::std::ffi::CStr { 8507 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_relaxed_block_layout\0") } 8508 } 8509 pub const SPEC_VERSION: u32 = 1u32; 8510 } 8511 #[derive(Clone)] 8512 pub struct KhrRelaxedBlockLayoutFn {} 8513 unsafe impl Send for KhrRelaxedBlockLayoutFn {} 8514 unsafe impl Sync for KhrRelaxedBlockLayoutFn {} 8515 impl KhrRelaxedBlockLayoutFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8516 pub fn load<F>(mut _f: F) -> Self 8517 where 8518 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8519 { 8520 Self {} 8521 } 8522 } 8523 impl ReservedDoNotUse146Fn { 8524 #[inline] name() -> &'static ::std::ffi::CStr8525 pub const fn name() -> &'static ::std::ffi::CStr { 8526 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_RESERVED_do_not_use_146\0") } 8527 } 8528 pub const SPEC_VERSION: u32 = 1u32; 8529 } 8530 #[derive(Clone)] 8531 pub struct ReservedDoNotUse146Fn {} 8532 unsafe impl Send for ReservedDoNotUse146Fn {} 8533 unsafe impl Sync for ReservedDoNotUse146Fn {} 8534 impl ReservedDoNotUse146Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8535 pub fn load<F>(mut _f: F) -> Self 8536 where 8537 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8538 { 8539 Self {} 8540 } 8541 } 8542 impl KhrGetMemoryRequirements2Fn { 8543 #[inline] name() -> &'static ::std::ffi::CStr8544 pub const fn name() -> &'static ::std::ffi::CStr { 8545 unsafe { 8546 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_get_memory_requirements2\0") 8547 } 8548 } 8549 pub const SPEC_VERSION: u32 = 1u32; 8550 } 8551 #[allow(non_camel_case_types)] 8552 pub type PFN_vkGetImageMemoryRequirements2 = unsafe extern "system" fn( 8553 device: Device, 8554 p_info: *const ImageMemoryRequirementsInfo2, 8555 p_memory_requirements: *mut MemoryRequirements2, 8556 ); 8557 #[allow(non_camel_case_types)] 8558 pub type PFN_vkGetBufferMemoryRequirements2 = unsafe extern "system" fn( 8559 device: Device, 8560 p_info: *const BufferMemoryRequirementsInfo2, 8561 p_memory_requirements: *mut MemoryRequirements2, 8562 ); 8563 #[allow(non_camel_case_types)] 8564 pub type PFN_vkGetImageSparseMemoryRequirements2 = unsafe extern "system" fn( 8565 device: Device, 8566 p_info: *const ImageSparseMemoryRequirementsInfo2, 8567 p_sparse_memory_requirement_count: *mut u32, 8568 p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2, 8569 ); 8570 #[derive(Clone)] 8571 pub struct KhrGetMemoryRequirements2Fn { 8572 pub get_image_memory_requirements2_khr: PFN_vkGetImageMemoryRequirements2, 8573 pub get_buffer_memory_requirements2_khr: PFN_vkGetBufferMemoryRequirements2, 8574 pub get_image_sparse_memory_requirements2_khr: PFN_vkGetImageSparseMemoryRequirements2, 8575 } 8576 unsafe impl Send for KhrGetMemoryRequirements2Fn {} 8577 unsafe impl Sync for KhrGetMemoryRequirements2Fn {} 8578 impl KhrGetMemoryRequirements2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8579 pub fn load<F>(mut _f: F) -> Self 8580 where 8581 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8582 { 8583 Self { 8584 get_image_memory_requirements2_khr: unsafe { 8585 unsafe extern "system" fn get_image_memory_requirements2_khr( 8586 _device: Device, 8587 _p_info: *const ImageMemoryRequirementsInfo2, 8588 _p_memory_requirements: *mut MemoryRequirements2, 8589 ) { 8590 panic!(concat!( 8591 "Unable to load ", 8592 stringify!(get_image_memory_requirements2_khr) 8593 )) 8594 } 8595 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8596 b"vkGetImageMemoryRequirements2KHR\0", 8597 ); 8598 let val = _f(cname); 8599 if val.is_null() { 8600 get_image_memory_requirements2_khr 8601 } else { 8602 ::std::mem::transmute(val) 8603 } 8604 }, 8605 get_buffer_memory_requirements2_khr: unsafe { 8606 unsafe extern "system" fn get_buffer_memory_requirements2_khr( 8607 _device: Device, 8608 _p_info: *const BufferMemoryRequirementsInfo2, 8609 _p_memory_requirements: *mut MemoryRequirements2, 8610 ) { 8611 panic!(concat!( 8612 "Unable to load ", 8613 stringify!(get_buffer_memory_requirements2_khr) 8614 )) 8615 } 8616 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8617 b"vkGetBufferMemoryRequirements2KHR\0", 8618 ); 8619 let val = _f(cname); 8620 if val.is_null() { 8621 get_buffer_memory_requirements2_khr 8622 } else { 8623 ::std::mem::transmute(val) 8624 } 8625 }, 8626 get_image_sparse_memory_requirements2_khr: unsafe { 8627 unsafe extern "system" fn get_image_sparse_memory_requirements2_khr( 8628 _device: Device, 8629 _p_info: *const ImageSparseMemoryRequirementsInfo2, 8630 _p_sparse_memory_requirement_count: *mut u32, 8631 _p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2, 8632 ) { 8633 panic!(concat!( 8634 "Unable to load ", 8635 stringify!(get_image_sparse_memory_requirements2_khr) 8636 )) 8637 } 8638 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8639 b"vkGetImageSparseMemoryRequirements2KHR\0", 8640 ); 8641 let val = _f(cname); 8642 if val.is_null() { 8643 get_image_sparse_memory_requirements2_khr 8644 } else { 8645 ::std::mem::transmute(val) 8646 } 8647 }, 8648 } 8649 } 8650 } 8651 #[doc = "Generated from 'VK_KHR_get_memory_requirements2'"] 8652 impl StructureType { 8653 pub const BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::BUFFER_MEMORY_REQUIREMENTS_INFO_2; 8654 pub const IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::IMAGE_MEMORY_REQUIREMENTS_INFO_2; 8655 pub const IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = 8656 Self::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2; 8657 pub const MEMORY_REQUIREMENTS_2_KHR: Self = Self::MEMORY_REQUIREMENTS_2; 8658 pub const SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: Self = 8659 Self::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2; 8660 } 8661 impl KhrImageFormatListFn { 8662 #[inline] name() -> &'static ::std::ffi::CStr8663 pub const fn name() -> &'static ::std::ffi::CStr { 8664 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_image_format_list\0") } 8665 } 8666 pub const SPEC_VERSION: u32 = 1u32; 8667 } 8668 #[derive(Clone)] 8669 pub struct KhrImageFormatListFn {} 8670 unsafe impl Send for KhrImageFormatListFn {} 8671 unsafe impl Sync for KhrImageFormatListFn {} 8672 impl KhrImageFormatListFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8673 pub fn load<F>(mut _f: F) -> Self 8674 where 8675 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8676 { 8677 Self {} 8678 } 8679 } 8680 #[doc = "Generated from 'VK_KHR_image_format_list'"] 8681 impl StructureType { 8682 pub const IMAGE_FORMAT_LIST_CREATE_INFO_KHR: Self = Self::IMAGE_FORMAT_LIST_CREATE_INFO; 8683 } 8684 impl ExtBlendOperationAdvancedFn { 8685 #[inline] name() -> &'static ::std::ffi::CStr8686 pub const fn name() -> &'static ::std::ffi::CStr { 8687 unsafe { 8688 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_blend_operation_advanced\0") 8689 } 8690 } 8691 pub const SPEC_VERSION: u32 = 2u32; 8692 } 8693 #[derive(Clone)] 8694 pub struct ExtBlendOperationAdvancedFn {} 8695 unsafe impl Send for ExtBlendOperationAdvancedFn {} 8696 unsafe impl Sync for ExtBlendOperationAdvancedFn {} 8697 impl ExtBlendOperationAdvancedFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8698 pub fn load<F>(mut _f: F) -> Self 8699 where 8700 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8701 { 8702 Self {} 8703 } 8704 } 8705 #[doc = "Generated from 'VK_EXT_blend_operation_advanced'"] 8706 impl AccessFlags { 8707 pub const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT: Self = Self(0b1000_0000_0000_0000_0000); 8708 } 8709 #[doc = "Generated from 'VK_EXT_blend_operation_advanced'"] 8710 impl BlendOp { 8711 pub const ZERO_EXT: Self = Self(1_000_148_000); 8712 pub const SRC_EXT: Self = Self(1_000_148_001); 8713 pub const DST_EXT: Self = Self(1_000_148_002); 8714 pub const SRC_OVER_EXT: Self = Self(1_000_148_003); 8715 pub const DST_OVER_EXT: Self = Self(1_000_148_004); 8716 pub const SRC_IN_EXT: Self = Self(1_000_148_005); 8717 pub const DST_IN_EXT: Self = Self(1_000_148_006); 8718 pub const SRC_OUT_EXT: Self = Self(1_000_148_007); 8719 pub const DST_OUT_EXT: Self = Self(1_000_148_008); 8720 pub const SRC_ATOP_EXT: Self = Self(1_000_148_009); 8721 pub const DST_ATOP_EXT: Self = Self(1_000_148_010); 8722 pub const XOR_EXT: Self = Self(1_000_148_011); 8723 pub const MULTIPLY_EXT: Self = Self(1_000_148_012); 8724 pub const SCREEN_EXT: Self = Self(1_000_148_013); 8725 pub const OVERLAY_EXT: Self = Self(1_000_148_014); 8726 pub const DARKEN_EXT: Self = Self(1_000_148_015); 8727 pub const LIGHTEN_EXT: Self = Self(1_000_148_016); 8728 pub const COLORDODGE_EXT: Self = Self(1_000_148_017); 8729 pub const COLORBURN_EXT: Self = Self(1_000_148_018); 8730 pub const HARDLIGHT_EXT: Self = Self(1_000_148_019); 8731 pub const SOFTLIGHT_EXT: Self = Self(1_000_148_020); 8732 pub const DIFFERENCE_EXT: Self = Self(1_000_148_021); 8733 pub const EXCLUSION_EXT: Self = Self(1_000_148_022); 8734 pub const INVERT_EXT: Self = Self(1_000_148_023); 8735 pub const INVERT_RGB_EXT: Self = Self(1_000_148_024); 8736 pub const LINEARDODGE_EXT: Self = Self(1_000_148_025); 8737 pub const LINEARBURN_EXT: Self = Self(1_000_148_026); 8738 pub const VIVIDLIGHT_EXT: Self = Self(1_000_148_027); 8739 pub const LINEARLIGHT_EXT: Self = Self(1_000_148_028); 8740 pub const PINLIGHT_EXT: Self = Self(1_000_148_029); 8741 pub const HARDMIX_EXT: Self = Self(1_000_148_030); 8742 pub const HSL_HUE_EXT: Self = Self(1_000_148_031); 8743 pub const HSL_SATURATION_EXT: Self = Self(1_000_148_032); 8744 pub const HSL_COLOR_EXT: Self = Self(1_000_148_033); 8745 pub const HSL_LUMINOSITY_EXT: Self = Self(1_000_148_034); 8746 pub const PLUS_EXT: Self = Self(1_000_148_035); 8747 pub const PLUS_CLAMPED_EXT: Self = Self(1_000_148_036); 8748 pub const PLUS_CLAMPED_ALPHA_EXT: Self = Self(1_000_148_037); 8749 pub const PLUS_DARKER_EXT: Self = Self(1_000_148_038); 8750 pub const MINUS_EXT: Self = Self(1_000_148_039); 8751 pub const MINUS_CLAMPED_EXT: Self = Self(1_000_148_040); 8752 pub const CONTRAST_EXT: Self = Self(1_000_148_041); 8753 pub const INVERT_OVG_EXT: Self = Self(1_000_148_042); 8754 pub const RED_EXT: Self = Self(1_000_148_043); 8755 pub const GREEN_EXT: Self = Self(1_000_148_044); 8756 pub const BLUE_EXT: Self = Self(1_000_148_045); 8757 } 8758 #[doc = "Generated from 'VK_EXT_blend_operation_advanced'"] 8759 impl StructureType { 8760 pub const PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: Self = Self(1_000_148_000); 8761 pub const PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: Self = Self(1_000_148_001); 8762 pub const PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: Self = Self(1_000_148_002); 8763 } 8764 impl NvFragmentCoverageToColorFn { 8765 #[inline] name() -> &'static ::std::ffi::CStr8766 pub const fn name() -> &'static ::std::ffi::CStr { 8767 unsafe { 8768 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_fragment_coverage_to_color\0") 8769 } 8770 } 8771 pub const SPEC_VERSION: u32 = 1u32; 8772 } 8773 #[derive(Clone)] 8774 pub struct NvFragmentCoverageToColorFn {} 8775 unsafe impl Send for NvFragmentCoverageToColorFn {} 8776 unsafe impl Sync for NvFragmentCoverageToColorFn {} 8777 impl NvFragmentCoverageToColorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8778 pub fn load<F>(mut _f: F) -> Self 8779 where 8780 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8781 { 8782 Self {} 8783 } 8784 } 8785 #[doc = "Generated from 'VK_NV_fragment_coverage_to_color'"] 8786 impl StructureType { 8787 pub const PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: Self = Self(1_000_149_000); 8788 } 8789 impl KhrAccelerationStructureFn { 8790 #[inline] name() -> &'static ::std::ffi::CStr8791 pub const fn name() -> &'static ::std::ffi::CStr { 8792 unsafe { 8793 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_acceleration_structure\0") 8794 } 8795 } 8796 pub const SPEC_VERSION: u32 = 13u32; 8797 } 8798 #[allow(non_camel_case_types)] 8799 pub type PFN_vkCreateAccelerationStructureKHR = unsafe extern "system" fn( 8800 device: Device, 8801 p_create_info: *const AccelerationStructureCreateInfoKHR, 8802 p_allocator: *const AllocationCallbacks, 8803 p_acceleration_structure: *mut AccelerationStructureKHR, 8804 ) -> Result; 8805 #[allow(non_camel_case_types)] 8806 pub type PFN_vkDestroyAccelerationStructureKHR = unsafe extern "system" fn( 8807 device: Device, 8808 acceleration_structure: AccelerationStructureKHR, 8809 p_allocator: *const AllocationCallbacks, 8810 ); 8811 #[allow(non_camel_case_types)] 8812 pub type PFN_vkCmdBuildAccelerationStructuresKHR = unsafe extern "system" fn( 8813 command_buffer: CommandBuffer, 8814 info_count: u32, 8815 p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 8816 pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR, 8817 ); 8818 #[allow(non_camel_case_types)] 8819 pub type PFN_vkCmdBuildAccelerationStructuresIndirectKHR = unsafe extern "system" fn( 8820 command_buffer: CommandBuffer, 8821 info_count: u32, 8822 p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 8823 p_indirect_device_addresses: *const DeviceAddress, 8824 p_indirect_strides: *const u32, 8825 pp_max_primitive_counts: *const *const u32, 8826 ); 8827 #[allow(non_camel_case_types)] 8828 pub type PFN_vkBuildAccelerationStructuresKHR = unsafe extern "system" fn( 8829 device: Device, 8830 deferred_operation: DeferredOperationKHR, 8831 info_count: u32, 8832 p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 8833 pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR, 8834 ) -> Result; 8835 #[allow(non_camel_case_types)] 8836 pub type PFN_vkCopyAccelerationStructureKHR = unsafe extern "system" fn( 8837 device: Device, 8838 deferred_operation: DeferredOperationKHR, 8839 p_info: *const CopyAccelerationStructureInfoKHR, 8840 ) -> Result; 8841 #[allow(non_camel_case_types)] 8842 pub type PFN_vkCopyAccelerationStructureToMemoryKHR = unsafe extern "system" fn( 8843 device: Device, 8844 deferred_operation: DeferredOperationKHR, 8845 p_info: *const CopyAccelerationStructureToMemoryInfoKHR, 8846 ) -> Result; 8847 #[allow(non_camel_case_types)] 8848 pub type PFN_vkCopyMemoryToAccelerationStructureKHR = unsafe extern "system" fn( 8849 device: Device, 8850 deferred_operation: DeferredOperationKHR, 8851 p_info: *const CopyMemoryToAccelerationStructureInfoKHR, 8852 ) -> Result; 8853 #[allow(non_camel_case_types)] 8854 pub type PFN_vkWriteAccelerationStructuresPropertiesKHR = unsafe extern "system" fn( 8855 device: Device, 8856 acceleration_structure_count: u32, 8857 p_acceleration_structures: *const AccelerationStructureKHR, 8858 query_type: QueryType, 8859 data_size: usize, 8860 p_data: *mut c_void, 8861 stride: usize, 8862 ) -> Result; 8863 #[allow(non_camel_case_types)] 8864 pub type PFN_vkCmdCopyAccelerationStructureKHR = unsafe extern "system" fn( 8865 command_buffer: CommandBuffer, 8866 p_info: *const CopyAccelerationStructureInfoKHR, 8867 ); 8868 #[allow(non_camel_case_types)] 8869 pub type PFN_vkCmdCopyAccelerationStructureToMemoryKHR = unsafe extern "system" fn( 8870 command_buffer: CommandBuffer, 8871 p_info: *const CopyAccelerationStructureToMemoryInfoKHR, 8872 ); 8873 #[allow(non_camel_case_types)] 8874 pub type PFN_vkCmdCopyMemoryToAccelerationStructureKHR = unsafe extern "system" fn( 8875 command_buffer: CommandBuffer, 8876 p_info: *const CopyMemoryToAccelerationStructureInfoKHR, 8877 ); 8878 #[allow(non_camel_case_types)] 8879 pub type PFN_vkGetAccelerationStructureDeviceAddressKHR = 8880 unsafe extern "system" fn( 8881 device: Device, 8882 p_info: *const AccelerationStructureDeviceAddressInfoKHR, 8883 ) -> DeviceAddress; 8884 #[allow(non_camel_case_types)] 8885 pub type PFN_vkCmdWriteAccelerationStructuresPropertiesKHR = unsafe extern "system" fn( 8886 command_buffer: CommandBuffer, 8887 acceleration_structure_count: u32, 8888 p_acceleration_structures: *const AccelerationStructureKHR, 8889 query_type: QueryType, 8890 query_pool: QueryPool, 8891 first_query: u32, 8892 ); 8893 #[allow(non_camel_case_types)] 8894 pub type PFN_vkGetDeviceAccelerationStructureCompatibilityKHR = unsafe extern "system" fn( 8895 device: Device, 8896 p_version_info: *const AccelerationStructureVersionInfoKHR, 8897 p_compatibility: *mut AccelerationStructureCompatibilityKHR, 8898 ); 8899 #[allow(non_camel_case_types)] 8900 pub type PFN_vkGetAccelerationStructureBuildSizesKHR = unsafe extern "system" fn( 8901 device: Device, 8902 build_type: AccelerationStructureBuildTypeKHR, 8903 p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, 8904 p_max_primitive_counts: *const u32, 8905 p_size_info: *mut AccelerationStructureBuildSizesInfoKHR, 8906 ); 8907 #[derive(Clone)] 8908 pub struct KhrAccelerationStructureFn { 8909 pub create_acceleration_structure_khr: PFN_vkCreateAccelerationStructureKHR, 8910 pub destroy_acceleration_structure_khr: PFN_vkDestroyAccelerationStructureKHR, 8911 pub cmd_build_acceleration_structures_khr: PFN_vkCmdBuildAccelerationStructuresKHR, 8912 pub cmd_build_acceleration_structures_indirect_khr: 8913 PFN_vkCmdBuildAccelerationStructuresIndirectKHR, 8914 pub build_acceleration_structures_khr: PFN_vkBuildAccelerationStructuresKHR, 8915 pub copy_acceleration_structure_khr: PFN_vkCopyAccelerationStructureKHR, 8916 pub copy_acceleration_structure_to_memory_khr: PFN_vkCopyAccelerationStructureToMemoryKHR, 8917 pub copy_memory_to_acceleration_structure_khr: PFN_vkCopyMemoryToAccelerationStructureKHR, 8918 pub write_acceleration_structures_properties_khr: 8919 PFN_vkWriteAccelerationStructuresPropertiesKHR, 8920 pub cmd_copy_acceleration_structure_khr: PFN_vkCmdCopyAccelerationStructureKHR, 8921 pub cmd_copy_acceleration_structure_to_memory_khr: 8922 PFN_vkCmdCopyAccelerationStructureToMemoryKHR, 8923 pub cmd_copy_memory_to_acceleration_structure_khr: 8924 PFN_vkCmdCopyMemoryToAccelerationStructureKHR, 8925 pub get_acceleration_structure_device_address_khr: 8926 PFN_vkGetAccelerationStructureDeviceAddressKHR, 8927 pub cmd_write_acceleration_structures_properties_khr: 8928 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR, 8929 pub get_device_acceleration_structure_compatibility_khr: 8930 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR, 8931 pub get_acceleration_structure_build_sizes_khr: PFN_vkGetAccelerationStructureBuildSizesKHR, 8932 } 8933 unsafe impl Send for KhrAccelerationStructureFn {} 8934 unsafe impl Sync for KhrAccelerationStructureFn {} 8935 impl KhrAccelerationStructureFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,8936 pub fn load<F>(mut _f: F) -> Self 8937 where 8938 F: FnMut(&::std::ffi::CStr) -> *const c_void, 8939 { 8940 Self { 8941 create_acceleration_structure_khr: unsafe { 8942 unsafe extern "system" fn create_acceleration_structure_khr( 8943 _device: Device, 8944 _p_create_info: *const AccelerationStructureCreateInfoKHR, 8945 _p_allocator: *const AllocationCallbacks, 8946 _p_acceleration_structure: *mut AccelerationStructureKHR, 8947 ) -> Result { 8948 panic!(concat!( 8949 "Unable to load ", 8950 stringify!(create_acceleration_structure_khr) 8951 )) 8952 } 8953 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8954 b"vkCreateAccelerationStructureKHR\0", 8955 ); 8956 let val = _f(cname); 8957 if val.is_null() { 8958 create_acceleration_structure_khr 8959 } else { 8960 ::std::mem::transmute(val) 8961 } 8962 }, 8963 destroy_acceleration_structure_khr: unsafe { 8964 unsafe extern "system" fn destroy_acceleration_structure_khr( 8965 _device: Device, 8966 _acceleration_structure: AccelerationStructureKHR, 8967 _p_allocator: *const AllocationCallbacks, 8968 ) { 8969 panic!(concat!( 8970 "Unable to load ", 8971 stringify!(destroy_acceleration_structure_khr) 8972 )) 8973 } 8974 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8975 b"vkDestroyAccelerationStructureKHR\0", 8976 ); 8977 let val = _f(cname); 8978 if val.is_null() { 8979 destroy_acceleration_structure_khr 8980 } else { 8981 ::std::mem::transmute(val) 8982 } 8983 }, 8984 cmd_build_acceleration_structures_khr: unsafe { 8985 unsafe extern "system" fn cmd_build_acceleration_structures_khr( 8986 _command_buffer: CommandBuffer, 8987 _info_count: u32, 8988 _p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 8989 _pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR, 8990 ) { 8991 panic!(concat!( 8992 "Unable to load ", 8993 stringify!(cmd_build_acceleration_structures_khr) 8994 )) 8995 } 8996 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 8997 b"vkCmdBuildAccelerationStructuresKHR\0", 8998 ); 8999 let val = _f(cname); 9000 if val.is_null() { 9001 cmd_build_acceleration_structures_khr 9002 } else { 9003 ::std::mem::transmute(val) 9004 } 9005 }, 9006 cmd_build_acceleration_structures_indirect_khr: unsafe { 9007 unsafe extern "system" fn cmd_build_acceleration_structures_indirect_khr( 9008 _command_buffer: CommandBuffer, 9009 _info_count: u32, 9010 _p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 9011 _p_indirect_device_addresses: *const DeviceAddress, 9012 _p_indirect_strides: *const u32, 9013 _pp_max_primitive_counts: *const *const u32, 9014 ) { 9015 panic!(concat!( 9016 "Unable to load ", 9017 stringify!(cmd_build_acceleration_structures_indirect_khr) 9018 )) 9019 } 9020 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9021 b"vkCmdBuildAccelerationStructuresIndirectKHR\0", 9022 ); 9023 let val = _f(cname); 9024 if val.is_null() { 9025 cmd_build_acceleration_structures_indirect_khr 9026 } else { 9027 ::std::mem::transmute(val) 9028 } 9029 }, 9030 build_acceleration_structures_khr: unsafe { 9031 unsafe extern "system" fn build_acceleration_structures_khr( 9032 _device: Device, 9033 _deferred_operation: DeferredOperationKHR, 9034 _info_count: u32, 9035 _p_infos: *const AccelerationStructureBuildGeometryInfoKHR, 9036 _pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR, 9037 ) -> Result { 9038 panic!(concat!( 9039 "Unable to load ", 9040 stringify!(build_acceleration_structures_khr) 9041 )) 9042 } 9043 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9044 b"vkBuildAccelerationStructuresKHR\0", 9045 ); 9046 let val = _f(cname); 9047 if val.is_null() { 9048 build_acceleration_structures_khr 9049 } else { 9050 ::std::mem::transmute(val) 9051 } 9052 }, 9053 copy_acceleration_structure_khr: unsafe { 9054 unsafe extern "system" fn copy_acceleration_structure_khr( 9055 _device: Device, 9056 _deferred_operation: DeferredOperationKHR, 9057 _p_info: *const CopyAccelerationStructureInfoKHR, 9058 ) -> Result { 9059 panic!(concat!( 9060 "Unable to load ", 9061 stringify!(copy_acceleration_structure_khr) 9062 )) 9063 } 9064 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9065 b"vkCopyAccelerationStructureKHR\0", 9066 ); 9067 let val = _f(cname); 9068 if val.is_null() { 9069 copy_acceleration_structure_khr 9070 } else { 9071 ::std::mem::transmute(val) 9072 } 9073 }, 9074 copy_acceleration_structure_to_memory_khr: unsafe { 9075 unsafe extern "system" fn copy_acceleration_structure_to_memory_khr( 9076 _device: Device, 9077 _deferred_operation: DeferredOperationKHR, 9078 _p_info: *const CopyAccelerationStructureToMemoryInfoKHR, 9079 ) -> Result { 9080 panic!(concat!( 9081 "Unable to load ", 9082 stringify!(copy_acceleration_structure_to_memory_khr) 9083 )) 9084 } 9085 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9086 b"vkCopyAccelerationStructureToMemoryKHR\0", 9087 ); 9088 let val = _f(cname); 9089 if val.is_null() { 9090 copy_acceleration_structure_to_memory_khr 9091 } else { 9092 ::std::mem::transmute(val) 9093 } 9094 }, 9095 copy_memory_to_acceleration_structure_khr: unsafe { 9096 unsafe extern "system" fn copy_memory_to_acceleration_structure_khr( 9097 _device: Device, 9098 _deferred_operation: DeferredOperationKHR, 9099 _p_info: *const CopyMemoryToAccelerationStructureInfoKHR, 9100 ) -> Result { 9101 panic!(concat!( 9102 "Unable to load ", 9103 stringify!(copy_memory_to_acceleration_structure_khr) 9104 )) 9105 } 9106 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9107 b"vkCopyMemoryToAccelerationStructureKHR\0", 9108 ); 9109 let val = _f(cname); 9110 if val.is_null() { 9111 copy_memory_to_acceleration_structure_khr 9112 } else { 9113 ::std::mem::transmute(val) 9114 } 9115 }, 9116 write_acceleration_structures_properties_khr: unsafe { 9117 unsafe extern "system" fn write_acceleration_structures_properties_khr( 9118 _device: Device, 9119 _acceleration_structure_count: u32, 9120 _p_acceleration_structures: *const AccelerationStructureKHR, 9121 _query_type: QueryType, 9122 _data_size: usize, 9123 _p_data: *mut c_void, 9124 _stride: usize, 9125 ) -> Result { 9126 panic!(concat!( 9127 "Unable to load ", 9128 stringify!(write_acceleration_structures_properties_khr) 9129 )) 9130 } 9131 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9132 b"vkWriteAccelerationStructuresPropertiesKHR\0", 9133 ); 9134 let val = _f(cname); 9135 if val.is_null() { 9136 write_acceleration_structures_properties_khr 9137 } else { 9138 ::std::mem::transmute(val) 9139 } 9140 }, 9141 cmd_copy_acceleration_structure_khr: unsafe { 9142 unsafe extern "system" fn cmd_copy_acceleration_structure_khr( 9143 _command_buffer: CommandBuffer, 9144 _p_info: *const CopyAccelerationStructureInfoKHR, 9145 ) { 9146 panic!(concat!( 9147 "Unable to load ", 9148 stringify!(cmd_copy_acceleration_structure_khr) 9149 )) 9150 } 9151 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9152 b"vkCmdCopyAccelerationStructureKHR\0", 9153 ); 9154 let val = _f(cname); 9155 if val.is_null() { 9156 cmd_copy_acceleration_structure_khr 9157 } else { 9158 ::std::mem::transmute(val) 9159 } 9160 }, 9161 cmd_copy_acceleration_structure_to_memory_khr: unsafe { 9162 unsafe extern "system" fn cmd_copy_acceleration_structure_to_memory_khr( 9163 _command_buffer: CommandBuffer, 9164 _p_info: *const CopyAccelerationStructureToMemoryInfoKHR, 9165 ) { 9166 panic!(concat!( 9167 "Unable to load ", 9168 stringify!(cmd_copy_acceleration_structure_to_memory_khr) 9169 )) 9170 } 9171 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9172 b"vkCmdCopyAccelerationStructureToMemoryKHR\0", 9173 ); 9174 let val = _f(cname); 9175 if val.is_null() { 9176 cmd_copy_acceleration_structure_to_memory_khr 9177 } else { 9178 ::std::mem::transmute(val) 9179 } 9180 }, 9181 cmd_copy_memory_to_acceleration_structure_khr: unsafe { 9182 unsafe extern "system" fn cmd_copy_memory_to_acceleration_structure_khr( 9183 _command_buffer: CommandBuffer, 9184 _p_info: *const CopyMemoryToAccelerationStructureInfoKHR, 9185 ) { 9186 panic!(concat!( 9187 "Unable to load ", 9188 stringify!(cmd_copy_memory_to_acceleration_structure_khr) 9189 )) 9190 } 9191 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9192 b"vkCmdCopyMemoryToAccelerationStructureKHR\0", 9193 ); 9194 let val = _f(cname); 9195 if val.is_null() { 9196 cmd_copy_memory_to_acceleration_structure_khr 9197 } else { 9198 ::std::mem::transmute(val) 9199 } 9200 }, 9201 get_acceleration_structure_device_address_khr: unsafe { 9202 unsafe extern "system" fn get_acceleration_structure_device_address_khr( 9203 _device: Device, 9204 _p_info: *const AccelerationStructureDeviceAddressInfoKHR, 9205 ) -> DeviceAddress { 9206 panic!(concat!( 9207 "Unable to load ", 9208 stringify!(get_acceleration_structure_device_address_khr) 9209 )) 9210 } 9211 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9212 b"vkGetAccelerationStructureDeviceAddressKHR\0", 9213 ); 9214 let val = _f(cname); 9215 if val.is_null() { 9216 get_acceleration_structure_device_address_khr 9217 } else { 9218 ::std::mem::transmute(val) 9219 } 9220 }, 9221 cmd_write_acceleration_structures_properties_khr: unsafe { 9222 unsafe extern "system" fn cmd_write_acceleration_structures_properties_khr( 9223 _command_buffer: CommandBuffer, 9224 _acceleration_structure_count: u32, 9225 _p_acceleration_structures: *const AccelerationStructureKHR, 9226 _query_type: QueryType, 9227 _query_pool: QueryPool, 9228 _first_query: u32, 9229 ) { 9230 panic!(concat!( 9231 "Unable to load ", 9232 stringify!(cmd_write_acceleration_structures_properties_khr) 9233 )) 9234 } 9235 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9236 b"vkCmdWriteAccelerationStructuresPropertiesKHR\0", 9237 ); 9238 let val = _f(cname); 9239 if val.is_null() { 9240 cmd_write_acceleration_structures_properties_khr 9241 } else { 9242 ::std::mem::transmute(val) 9243 } 9244 }, 9245 get_device_acceleration_structure_compatibility_khr: unsafe { 9246 unsafe extern "system" fn get_device_acceleration_structure_compatibility_khr( 9247 _device: Device, 9248 _p_version_info: *const AccelerationStructureVersionInfoKHR, 9249 _p_compatibility: *mut AccelerationStructureCompatibilityKHR, 9250 ) { 9251 panic!(concat!( 9252 "Unable to load ", 9253 stringify!(get_device_acceleration_structure_compatibility_khr) 9254 )) 9255 } 9256 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9257 b"vkGetDeviceAccelerationStructureCompatibilityKHR\0", 9258 ); 9259 let val = _f(cname); 9260 if val.is_null() { 9261 get_device_acceleration_structure_compatibility_khr 9262 } else { 9263 ::std::mem::transmute(val) 9264 } 9265 }, 9266 get_acceleration_structure_build_sizes_khr: unsafe { 9267 unsafe extern "system" fn get_acceleration_structure_build_sizes_khr( 9268 _device: Device, 9269 _build_type: AccelerationStructureBuildTypeKHR, 9270 _p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, 9271 _p_max_primitive_counts: *const u32, 9272 _p_size_info: *mut AccelerationStructureBuildSizesInfoKHR, 9273 ) { 9274 panic!(concat!( 9275 "Unable to load ", 9276 stringify!(get_acceleration_structure_build_sizes_khr) 9277 )) 9278 } 9279 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9280 b"vkGetAccelerationStructureBuildSizesKHR\0", 9281 ); 9282 let val = _f(cname); 9283 if val.is_null() { 9284 get_acceleration_structure_build_sizes_khr 9285 } else { 9286 ::std::mem::transmute(val) 9287 } 9288 }, 9289 } 9290 } 9291 } 9292 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9293 impl AccessFlags { 9294 pub const ACCELERATION_STRUCTURE_READ_KHR: Self = Self(0b10_0000_0000_0000_0000_0000); 9295 pub const ACCELERATION_STRUCTURE_WRITE_KHR: Self = Self(0b100_0000_0000_0000_0000_0000); 9296 } 9297 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9298 impl BufferUsageFlags { 9299 pub const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR: Self = 9300 Self(0b1000_0000_0000_0000_0000); 9301 pub const ACCELERATION_STRUCTURE_STORAGE_KHR: Self = Self(0b1_0000_0000_0000_0000_0000); 9302 } 9303 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9304 impl DebugReportObjectTypeEXT { 9305 pub const ACCELERATION_STRUCTURE_KHR: Self = Self(1_000_150_000); 9306 } 9307 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9308 impl DescriptorType { 9309 pub const ACCELERATION_STRUCTURE_KHR: Self = Self(1_000_150_000); 9310 } 9311 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9312 impl FormatFeatureFlags { 9313 pub const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR: Self = 9314 Self(0b10_0000_0000_0000_0000_0000_0000_0000); 9315 } 9316 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9317 impl FormatFeatureFlags2 { 9318 pub const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR: Self = 9319 Self(0b10_0000_0000_0000_0000_0000_0000_0000); 9320 } 9321 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9322 impl IndexType { 9323 pub const NONE_KHR: Self = Self(1_000_165_000); 9324 } 9325 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9326 impl ObjectType { 9327 pub const ACCELERATION_STRUCTURE_KHR: Self = Self(1_000_150_000); 9328 } 9329 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9330 impl PipelineStageFlags { 9331 pub const ACCELERATION_STRUCTURE_BUILD_KHR: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 9332 } 9333 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9334 impl QueryType { 9335 pub const ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR: Self = Self(1_000_150_000); 9336 pub const ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR: Self = Self(1_000_150_001); 9337 } 9338 #[doc = "Generated from 'VK_KHR_acceleration_structure'"] 9339 impl StructureType { 9340 pub const WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: Self = Self(1_000_150_007); 9341 pub const ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: Self = Self(1_000_150_000); 9342 pub const ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: Self = Self(1_000_150_002); 9343 pub const ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: Self = Self(1_000_150_003); 9344 pub const ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: Self = Self(1_000_150_004); 9345 pub const ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: Self = Self(1_000_150_005); 9346 pub const ACCELERATION_STRUCTURE_GEOMETRY_KHR: Self = Self(1_000_150_006); 9347 pub const ACCELERATION_STRUCTURE_VERSION_INFO_KHR: Self = Self(1_000_150_009); 9348 pub const COPY_ACCELERATION_STRUCTURE_INFO_KHR: Self = Self(1_000_150_010); 9349 pub const COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: Self = Self(1_000_150_011); 9350 pub const COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: Self = Self(1_000_150_012); 9351 pub const PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: Self = Self(1_000_150_013); 9352 pub const PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: Self = Self(1_000_150_014); 9353 pub const ACCELERATION_STRUCTURE_CREATE_INFO_KHR: Self = Self(1_000_150_017); 9354 pub const ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR: Self = Self(1_000_150_020); 9355 } 9356 impl KhrRayTracingPipelineFn { 9357 #[inline] name() -> &'static ::std::ffi::CStr9358 pub const fn name() -> &'static ::std::ffi::CStr { 9359 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_ray_tracing_pipeline\0") } 9360 } 9361 pub const SPEC_VERSION: u32 = 1u32; 9362 } 9363 #[allow(non_camel_case_types)] 9364 pub type PFN_vkCmdTraceRaysKHR = unsafe extern "system" fn( 9365 command_buffer: CommandBuffer, 9366 p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9367 p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9368 p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9369 p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9370 width: u32, 9371 height: u32, 9372 depth: u32, 9373 ); 9374 #[allow(non_camel_case_types)] 9375 pub type PFN_vkCreateRayTracingPipelinesKHR = unsafe extern "system" fn( 9376 device: Device, 9377 deferred_operation: DeferredOperationKHR, 9378 pipeline_cache: PipelineCache, 9379 create_info_count: u32, 9380 p_create_infos: *const RayTracingPipelineCreateInfoKHR, 9381 p_allocator: *const AllocationCallbacks, 9382 p_pipelines: *mut Pipeline, 9383 ) -> Result; 9384 #[allow(non_camel_case_types)] 9385 pub type PFN_vkGetRayTracingShaderGroupHandlesKHR = unsafe extern "system" fn( 9386 device: Device, 9387 pipeline: Pipeline, 9388 first_group: u32, 9389 group_count: u32, 9390 data_size: usize, 9391 p_data: *mut c_void, 9392 ) -> Result; 9393 #[allow(non_camel_case_types)] 9394 pub type PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 9395 unsafe extern "system" fn( 9396 device: Device, 9397 pipeline: Pipeline, 9398 first_group: u32, 9399 group_count: u32, 9400 data_size: usize, 9401 p_data: *mut c_void, 9402 ) -> Result; 9403 #[allow(non_camel_case_types)] 9404 pub type PFN_vkCmdTraceRaysIndirectKHR = unsafe extern "system" fn( 9405 command_buffer: CommandBuffer, 9406 p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9407 p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9408 p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9409 p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9410 indirect_device_address: DeviceAddress, 9411 ); 9412 #[allow(non_camel_case_types)] 9413 pub type PFN_vkGetRayTracingShaderGroupStackSizeKHR = unsafe extern "system" fn( 9414 device: Device, 9415 pipeline: Pipeline, 9416 group: u32, 9417 group_shader: ShaderGroupShaderKHR, 9418 ) -> DeviceSize; 9419 #[allow(non_camel_case_types)] 9420 pub type PFN_vkCmdSetRayTracingPipelineStackSizeKHR = 9421 unsafe extern "system" fn(command_buffer: CommandBuffer, pipeline_stack_size: u32); 9422 #[derive(Clone)] 9423 pub struct KhrRayTracingPipelineFn { 9424 pub cmd_trace_rays_khr: PFN_vkCmdTraceRaysKHR, 9425 pub create_ray_tracing_pipelines_khr: PFN_vkCreateRayTracingPipelinesKHR, 9426 pub get_ray_tracing_shader_group_handles_khr: PFN_vkGetRayTracingShaderGroupHandlesKHR, 9427 pub get_ray_tracing_capture_replay_shader_group_handles_khr: 9428 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, 9429 pub cmd_trace_rays_indirect_khr: PFN_vkCmdTraceRaysIndirectKHR, 9430 pub get_ray_tracing_shader_group_stack_size_khr: PFN_vkGetRayTracingShaderGroupStackSizeKHR, 9431 pub cmd_set_ray_tracing_pipeline_stack_size_khr: PFN_vkCmdSetRayTracingPipelineStackSizeKHR, 9432 } 9433 unsafe impl Send for KhrRayTracingPipelineFn {} 9434 unsafe impl Sync for KhrRayTracingPipelineFn {} 9435 impl KhrRayTracingPipelineFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9436 pub fn load<F>(mut _f: F) -> Self 9437 where 9438 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9439 { 9440 Self { 9441 cmd_trace_rays_khr: unsafe { 9442 unsafe extern "system" fn cmd_trace_rays_khr( 9443 _command_buffer: CommandBuffer, 9444 _p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9445 _p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9446 _p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9447 _p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9448 _width: u32, 9449 _height: u32, 9450 _depth: u32, 9451 ) { 9452 panic!(concat!("Unable to load ", stringify!(cmd_trace_rays_khr))) 9453 } 9454 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdTraceRaysKHR\0"); 9455 let val = _f(cname); 9456 if val.is_null() { 9457 cmd_trace_rays_khr 9458 } else { 9459 ::std::mem::transmute(val) 9460 } 9461 }, 9462 create_ray_tracing_pipelines_khr: unsafe { 9463 unsafe extern "system" fn create_ray_tracing_pipelines_khr( 9464 _device: Device, 9465 _deferred_operation: DeferredOperationKHR, 9466 _pipeline_cache: PipelineCache, 9467 _create_info_count: u32, 9468 _p_create_infos: *const RayTracingPipelineCreateInfoKHR, 9469 _p_allocator: *const AllocationCallbacks, 9470 _p_pipelines: *mut Pipeline, 9471 ) -> Result { 9472 panic!(concat!( 9473 "Unable to load ", 9474 stringify!(create_ray_tracing_pipelines_khr) 9475 )) 9476 } 9477 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9478 b"vkCreateRayTracingPipelinesKHR\0", 9479 ); 9480 let val = _f(cname); 9481 if val.is_null() { 9482 create_ray_tracing_pipelines_khr 9483 } else { 9484 ::std::mem::transmute(val) 9485 } 9486 }, 9487 get_ray_tracing_shader_group_handles_khr: unsafe { 9488 unsafe extern "system" fn get_ray_tracing_shader_group_handles_khr( 9489 _device: Device, 9490 _pipeline: Pipeline, 9491 _first_group: u32, 9492 _group_count: u32, 9493 _data_size: usize, 9494 _p_data: *mut c_void, 9495 ) -> Result { 9496 panic!(concat!( 9497 "Unable to load ", 9498 stringify!(get_ray_tracing_shader_group_handles_khr) 9499 )) 9500 } 9501 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9502 b"vkGetRayTracingShaderGroupHandlesKHR\0", 9503 ); 9504 let val = _f(cname); 9505 if val.is_null() { 9506 get_ray_tracing_shader_group_handles_khr 9507 } else { 9508 ::std::mem::transmute(val) 9509 } 9510 }, 9511 get_ray_tracing_capture_replay_shader_group_handles_khr: unsafe { 9512 unsafe extern "system" fn get_ray_tracing_capture_replay_shader_group_handles_khr( 9513 _device: Device, 9514 _pipeline: Pipeline, 9515 _first_group: u32, 9516 _group_count: u32, 9517 _data_size: usize, 9518 _p_data: *mut c_void, 9519 ) -> Result { 9520 panic!(concat!( 9521 "Unable to load ", 9522 stringify!(get_ray_tracing_capture_replay_shader_group_handles_khr) 9523 )) 9524 } 9525 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9526 b"vkGetRayTracingCaptureReplayShaderGroupHandlesKHR\0", 9527 ); 9528 let val = _f(cname); 9529 if val.is_null() { 9530 get_ray_tracing_capture_replay_shader_group_handles_khr 9531 } else { 9532 ::std::mem::transmute(val) 9533 } 9534 }, 9535 cmd_trace_rays_indirect_khr: unsafe { 9536 unsafe extern "system" fn cmd_trace_rays_indirect_khr( 9537 _command_buffer: CommandBuffer, 9538 _p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9539 _p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9540 _p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9541 _p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, 9542 _indirect_device_address: DeviceAddress, 9543 ) { 9544 panic!(concat!( 9545 "Unable to load ", 9546 stringify!(cmd_trace_rays_indirect_khr) 9547 )) 9548 } 9549 let cname = 9550 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdTraceRaysIndirectKHR\0"); 9551 let val = _f(cname); 9552 if val.is_null() { 9553 cmd_trace_rays_indirect_khr 9554 } else { 9555 ::std::mem::transmute(val) 9556 } 9557 }, 9558 get_ray_tracing_shader_group_stack_size_khr: unsafe { 9559 unsafe extern "system" fn get_ray_tracing_shader_group_stack_size_khr( 9560 _device: Device, 9561 _pipeline: Pipeline, 9562 _group: u32, 9563 _group_shader: ShaderGroupShaderKHR, 9564 ) -> DeviceSize { 9565 panic!(concat!( 9566 "Unable to load ", 9567 stringify!(get_ray_tracing_shader_group_stack_size_khr) 9568 )) 9569 } 9570 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9571 b"vkGetRayTracingShaderGroupStackSizeKHR\0", 9572 ); 9573 let val = _f(cname); 9574 if val.is_null() { 9575 get_ray_tracing_shader_group_stack_size_khr 9576 } else { 9577 ::std::mem::transmute(val) 9578 } 9579 }, 9580 cmd_set_ray_tracing_pipeline_stack_size_khr: unsafe { 9581 unsafe extern "system" fn cmd_set_ray_tracing_pipeline_stack_size_khr( 9582 _command_buffer: CommandBuffer, 9583 _pipeline_stack_size: u32, 9584 ) { 9585 panic!(concat!( 9586 "Unable to load ", 9587 stringify!(cmd_set_ray_tracing_pipeline_stack_size_khr) 9588 )) 9589 } 9590 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9591 b"vkCmdSetRayTracingPipelineStackSizeKHR\0", 9592 ); 9593 let val = _f(cname); 9594 if val.is_null() { 9595 cmd_set_ray_tracing_pipeline_stack_size_khr 9596 } else { 9597 ::std::mem::transmute(val) 9598 } 9599 }, 9600 } 9601 } 9602 } 9603 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9604 impl BufferUsageFlags { 9605 pub const SHADER_BINDING_TABLE_KHR: Self = Self(0b100_0000_0000); 9606 } 9607 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9608 impl DynamicState { 9609 pub const RAY_TRACING_PIPELINE_STACK_SIZE_KHR: Self = Self(1_000_347_000); 9610 } 9611 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9612 impl PipelineBindPoint { 9613 pub const RAY_TRACING_KHR: Self = Self(1_000_165_000); 9614 } 9615 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9616 impl PipelineCreateFlags { 9617 pub const RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR: Self = Self(0b100_0000_0000_0000); 9618 pub const RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR: Self = Self(0b1000_0000_0000_0000); 9619 pub const RAY_TRACING_NO_NULL_MISS_SHADERS_KHR: Self = Self(0b1_0000_0000_0000_0000); 9620 pub const RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR: Self = Self(0b10_0000_0000_0000_0000); 9621 pub const RAY_TRACING_SKIP_TRIANGLES_KHR: Self = Self(0b1_0000_0000_0000); 9622 pub const RAY_TRACING_SKIP_AABBS_KHR: Self = Self(0b10_0000_0000_0000); 9623 pub const RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR: Self = 9624 Self(0b1000_0000_0000_0000_0000); 9625 } 9626 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9627 impl PipelineStageFlags { 9628 pub const RAY_TRACING_SHADER_KHR: Self = Self(0b10_0000_0000_0000_0000_0000); 9629 } 9630 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9631 impl ShaderStageFlags { 9632 pub const RAYGEN_KHR: Self = Self(0b1_0000_0000); 9633 pub const ANY_HIT_KHR: Self = Self(0b10_0000_0000); 9634 pub const CLOSEST_HIT_KHR: Self = Self(0b100_0000_0000); 9635 pub const MISS_KHR: Self = Self(0b1000_0000_0000); 9636 pub const INTERSECTION_KHR: Self = Self(0b1_0000_0000_0000); 9637 pub const CALLABLE_KHR: Self = Self(0b10_0000_0000_0000); 9638 } 9639 #[doc = "Generated from 'VK_KHR_ray_tracing_pipeline'"] 9640 impl StructureType { 9641 pub const PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: Self = Self(1_000_347_000); 9642 pub const PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: Self = Self(1_000_347_001); 9643 pub const RAY_TRACING_PIPELINE_CREATE_INFO_KHR: Self = Self(1_000_150_015); 9644 pub const RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: Self = Self(1_000_150_016); 9645 pub const RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: Self = Self(1_000_150_018); 9646 } 9647 impl KhrRayQueryFn { 9648 #[inline] name() -> &'static ::std::ffi::CStr9649 pub const fn name() -> &'static ::std::ffi::CStr { 9650 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_ray_query\0") } 9651 } 9652 pub const SPEC_VERSION: u32 = 1u32; 9653 } 9654 #[derive(Clone)] 9655 pub struct KhrRayQueryFn {} 9656 unsafe impl Send for KhrRayQueryFn {} 9657 unsafe impl Sync for KhrRayQueryFn {} 9658 impl KhrRayQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9659 pub fn load<F>(mut _f: F) -> Self 9660 where 9661 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9662 { 9663 Self {} 9664 } 9665 } 9666 #[doc = "Generated from 'VK_KHR_ray_query'"] 9667 impl StructureType { 9668 pub const PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: Self = Self(1_000_348_013); 9669 } 9670 impl NvExtension152Fn { 9671 #[inline] name() -> &'static ::std::ffi::CStr9672 pub const fn name() -> &'static ::std::ffi::CStr { 9673 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_152\0") } 9674 } 9675 pub const SPEC_VERSION: u32 = 0u32; 9676 } 9677 #[derive(Clone)] 9678 pub struct NvExtension152Fn {} 9679 unsafe impl Send for NvExtension152Fn {} 9680 unsafe impl Sync for NvExtension152Fn {} 9681 impl NvExtension152Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9682 pub fn load<F>(mut _f: F) -> Self 9683 where 9684 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9685 { 9686 Self {} 9687 } 9688 } 9689 impl NvFramebufferMixedSamplesFn { 9690 #[inline] name() -> &'static ::std::ffi::CStr9691 pub const fn name() -> &'static ::std::ffi::CStr { 9692 unsafe { 9693 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_framebuffer_mixed_samples\0") 9694 } 9695 } 9696 pub const SPEC_VERSION: u32 = 1u32; 9697 } 9698 #[derive(Clone)] 9699 pub struct NvFramebufferMixedSamplesFn {} 9700 unsafe impl Send for NvFramebufferMixedSamplesFn {} 9701 unsafe impl Sync for NvFramebufferMixedSamplesFn {} 9702 impl NvFramebufferMixedSamplesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9703 pub fn load<F>(mut _f: F) -> Self 9704 where 9705 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9706 { 9707 Self {} 9708 } 9709 } 9710 #[doc = "Generated from 'VK_NV_framebuffer_mixed_samples'"] 9711 impl StructureType { 9712 pub const PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: Self = Self(1_000_152_000); 9713 } 9714 impl NvFillRectangleFn { 9715 #[inline] name() -> &'static ::std::ffi::CStr9716 pub const fn name() -> &'static ::std::ffi::CStr { 9717 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_fill_rectangle\0") } 9718 } 9719 pub const SPEC_VERSION: u32 = 1u32; 9720 } 9721 #[derive(Clone)] 9722 pub struct NvFillRectangleFn {} 9723 unsafe impl Send for NvFillRectangleFn {} 9724 unsafe impl Sync for NvFillRectangleFn {} 9725 impl NvFillRectangleFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9726 pub fn load<F>(mut _f: F) -> Self 9727 where 9728 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9729 { 9730 Self {} 9731 } 9732 } 9733 #[doc = "Generated from 'VK_NV_fill_rectangle'"] 9734 impl PolygonMode { 9735 pub const FILL_RECTANGLE_NV: Self = Self(1_000_153_000); 9736 } 9737 impl NvShaderSmBuiltinsFn { 9738 #[inline] name() -> &'static ::std::ffi::CStr9739 pub const fn name() -> &'static ::std::ffi::CStr { 9740 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_shader_sm_builtins\0") } 9741 } 9742 pub const SPEC_VERSION: u32 = 1u32; 9743 } 9744 #[derive(Clone)] 9745 pub struct NvShaderSmBuiltinsFn {} 9746 unsafe impl Send for NvShaderSmBuiltinsFn {} 9747 unsafe impl Sync for NvShaderSmBuiltinsFn {} 9748 impl NvShaderSmBuiltinsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9749 pub fn load<F>(mut _f: F) -> Self 9750 where 9751 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9752 { 9753 Self {} 9754 } 9755 } 9756 #[doc = "Generated from 'VK_NV_shader_sm_builtins'"] 9757 impl StructureType { 9758 pub const PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: Self = Self(1_000_154_000); 9759 pub const PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: Self = Self(1_000_154_001); 9760 } 9761 impl ExtPostDepthCoverageFn { 9762 #[inline] name() -> &'static ::std::ffi::CStr9763 pub const fn name() -> &'static ::std::ffi::CStr { 9764 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_post_depth_coverage\0") } 9765 } 9766 pub const SPEC_VERSION: u32 = 1u32; 9767 } 9768 #[derive(Clone)] 9769 pub struct ExtPostDepthCoverageFn {} 9770 unsafe impl Send for ExtPostDepthCoverageFn {} 9771 unsafe impl Sync for ExtPostDepthCoverageFn {} 9772 impl ExtPostDepthCoverageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9773 pub fn load<F>(mut _f: F) -> Self 9774 where 9775 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9776 { 9777 Self {} 9778 } 9779 } 9780 impl KhrSamplerYcbcrConversionFn { 9781 #[inline] name() -> &'static ::std::ffi::CStr9782 pub const fn name() -> &'static ::std::ffi::CStr { 9783 unsafe { 9784 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_sampler_ycbcr_conversion\0") 9785 } 9786 } 9787 pub const SPEC_VERSION: u32 = 14u32; 9788 } 9789 #[allow(non_camel_case_types)] 9790 pub type PFN_vkCreateSamplerYcbcrConversion = unsafe extern "system" fn( 9791 device: Device, 9792 p_create_info: *const SamplerYcbcrConversionCreateInfo, 9793 p_allocator: *const AllocationCallbacks, 9794 p_ycbcr_conversion: *mut SamplerYcbcrConversion, 9795 ) -> Result; 9796 #[allow(non_camel_case_types)] 9797 pub type PFN_vkDestroySamplerYcbcrConversion = unsafe extern "system" fn( 9798 device: Device, 9799 ycbcr_conversion: SamplerYcbcrConversion, 9800 p_allocator: *const AllocationCallbacks, 9801 ); 9802 #[derive(Clone)] 9803 pub struct KhrSamplerYcbcrConversionFn { 9804 pub create_sampler_ycbcr_conversion_khr: PFN_vkCreateSamplerYcbcrConversion, 9805 pub destroy_sampler_ycbcr_conversion_khr: PFN_vkDestroySamplerYcbcrConversion, 9806 } 9807 unsafe impl Send for KhrSamplerYcbcrConversionFn {} 9808 unsafe impl Sync for KhrSamplerYcbcrConversionFn {} 9809 impl KhrSamplerYcbcrConversionFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,9810 pub fn load<F>(mut _f: F) -> Self 9811 where 9812 F: FnMut(&::std::ffi::CStr) -> *const c_void, 9813 { 9814 Self { 9815 create_sampler_ycbcr_conversion_khr: unsafe { 9816 unsafe extern "system" fn create_sampler_ycbcr_conversion_khr( 9817 _device: Device, 9818 _p_create_info: *const SamplerYcbcrConversionCreateInfo, 9819 _p_allocator: *const AllocationCallbacks, 9820 _p_ycbcr_conversion: *mut SamplerYcbcrConversion, 9821 ) -> Result { 9822 panic!(concat!( 9823 "Unable to load ", 9824 stringify!(create_sampler_ycbcr_conversion_khr) 9825 )) 9826 } 9827 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9828 b"vkCreateSamplerYcbcrConversionKHR\0", 9829 ); 9830 let val = _f(cname); 9831 if val.is_null() { 9832 create_sampler_ycbcr_conversion_khr 9833 } else { 9834 ::std::mem::transmute(val) 9835 } 9836 }, 9837 destroy_sampler_ycbcr_conversion_khr: unsafe { 9838 unsafe extern "system" fn destroy_sampler_ycbcr_conversion_khr( 9839 _device: Device, 9840 _ycbcr_conversion: SamplerYcbcrConversion, 9841 _p_allocator: *const AllocationCallbacks, 9842 ) { 9843 panic!(concat!( 9844 "Unable to load ", 9845 stringify!(destroy_sampler_ycbcr_conversion_khr) 9846 )) 9847 } 9848 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 9849 b"vkDestroySamplerYcbcrConversionKHR\0", 9850 ); 9851 let val = _f(cname); 9852 if val.is_null() { 9853 destroy_sampler_ycbcr_conversion_khr 9854 } else { 9855 ::std::mem::transmute(val) 9856 } 9857 }, 9858 } 9859 } 9860 } 9861 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9862 impl ChromaLocation { 9863 pub const COSITED_EVEN_KHR: Self = Self::COSITED_EVEN; 9864 pub const MIDPOINT_KHR: Self = Self::MIDPOINT; 9865 } 9866 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9867 impl DebugReportObjectTypeEXT { 9868 pub const SAMPLER_YCBCR_CONVERSION_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION; 9869 } 9870 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9871 impl Format { 9872 pub const G8B8G8R8_422_UNORM_KHR: Self = Self::G8B8G8R8_422_UNORM; 9873 pub const B8G8R8G8_422_UNORM_KHR: Self = Self::B8G8R8G8_422_UNORM; 9874 pub const G8_B8_R8_3PLANE_420_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_420_UNORM; 9875 pub const G8_B8R8_2PLANE_420_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_420_UNORM; 9876 pub const G8_B8_R8_3PLANE_422_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_422_UNORM; 9877 pub const G8_B8R8_2PLANE_422_UNORM_KHR: Self = Self::G8_B8R8_2PLANE_422_UNORM; 9878 pub const G8_B8_R8_3PLANE_444_UNORM_KHR: Self = Self::G8_B8_R8_3PLANE_444_UNORM; 9879 pub const R10X6_UNORM_PACK16_KHR: Self = Self::R10X6_UNORM_PACK16; 9880 pub const R10X6G10X6_UNORM_2PACK16_KHR: Self = Self::R10X6G10X6_UNORM_2PACK16; 9881 pub const R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: Self = 9882 Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16; 9883 pub const G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: Self = 9884 Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16; 9885 pub const B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: Self = 9886 Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16; 9887 pub const G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: Self = 9888 Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16; 9889 pub const G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: Self = 9890 Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; 9891 pub const G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: Self = 9892 Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16; 9893 pub const G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: Self = 9894 Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16; 9895 pub const G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: Self = 9896 Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16; 9897 pub const R12X4_UNORM_PACK16_KHR: Self = Self::R12X4_UNORM_PACK16; 9898 pub const R12X4G12X4_UNORM_2PACK16_KHR: Self = Self::R12X4G12X4_UNORM_2PACK16; 9899 pub const R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: Self = 9900 Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16; 9901 pub const G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: Self = 9902 Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16; 9903 pub const B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: Self = 9904 Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16; 9905 pub const G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: Self = 9906 Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16; 9907 pub const G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: Self = 9908 Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16; 9909 pub const G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: Self = 9910 Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16; 9911 pub const G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: Self = 9912 Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16; 9913 pub const G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: Self = 9914 Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16; 9915 pub const G16B16G16R16_422_UNORM_KHR: Self = Self::G16B16G16R16_422_UNORM; 9916 pub const B16G16R16G16_422_UNORM_KHR: Self = Self::B16G16R16G16_422_UNORM; 9917 pub const G16_B16_R16_3PLANE_420_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_420_UNORM; 9918 pub const G16_B16R16_2PLANE_420_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_420_UNORM; 9919 pub const G16_B16_R16_3PLANE_422_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_422_UNORM; 9920 pub const G16_B16R16_2PLANE_422_UNORM_KHR: Self = Self::G16_B16R16_2PLANE_422_UNORM; 9921 pub const G16_B16_R16_3PLANE_444_UNORM_KHR: Self = Self::G16_B16_R16_3PLANE_444_UNORM; 9922 } 9923 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9924 impl FormatFeatureFlags { 9925 pub const MIDPOINT_CHROMA_SAMPLES_KHR: Self = Self::MIDPOINT_CHROMA_SAMPLES; 9926 pub const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR: Self = 9927 Self::SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER; 9928 pub const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR: Self = 9929 Self::SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER; 9930 pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR: Self = 9931 Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT; 9932 pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR: Self = 9933 Self::SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE; 9934 pub const DISJOINT_KHR: Self = Self::DISJOINT; 9935 pub const COSITED_CHROMA_SAMPLES_KHR: Self = Self::COSITED_CHROMA_SAMPLES; 9936 } 9937 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9938 impl ImageAspectFlags { 9939 pub const PLANE_0_KHR: Self = Self::PLANE_0; 9940 pub const PLANE_1_KHR: Self = Self::PLANE_1; 9941 pub const PLANE_2_KHR: Self = Self::PLANE_2; 9942 } 9943 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9944 impl ImageCreateFlags { 9945 pub const DISJOINT_KHR: Self = Self::DISJOINT; 9946 } 9947 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9948 impl ObjectType { 9949 pub const SAMPLER_YCBCR_CONVERSION_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION; 9950 } 9951 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9952 impl SamplerYcbcrModelConversion { 9953 pub const RGB_IDENTITY_KHR: Self = Self::RGB_IDENTITY; 9954 pub const YCBCR_IDENTITY_KHR: Self = Self::YCBCR_IDENTITY; 9955 pub const YCBCR_709_KHR: Self = Self::YCBCR_709; 9956 pub const YCBCR_601_KHR: Self = Self::YCBCR_601; 9957 pub const YCBCR_2020_KHR: Self = Self::YCBCR_2020; 9958 } 9959 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9960 impl SamplerYcbcrRange { 9961 pub const ITU_FULL_KHR: Self = Self::ITU_FULL; 9962 pub const ITU_NARROW_KHR: Self = Self::ITU_NARROW; 9963 } 9964 #[doc = "Generated from 'VK_KHR_sampler_ycbcr_conversion'"] 9965 impl StructureType { 9966 pub const SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: Self = 9967 Self::SAMPLER_YCBCR_CONVERSION_CREATE_INFO; 9968 pub const SAMPLER_YCBCR_CONVERSION_INFO_KHR: Self = Self::SAMPLER_YCBCR_CONVERSION_INFO; 9969 pub const BIND_IMAGE_PLANE_MEMORY_INFO_KHR: Self = Self::BIND_IMAGE_PLANE_MEMORY_INFO; 9970 pub const IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: Self = 9971 Self::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO; 9972 pub const PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: Self = 9973 Self::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; 9974 pub const SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: Self = 9975 Self::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; 9976 } 9977 impl KhrBindMemory2Fn { 9978 #[inline] name() -> &'static ::std::ffi::CStr9979 pub const fn name() -> &'static ::std::ffi::CStr { 9980 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_bind_memory2\0") } 9981 } 9982 pub const SPEC_VERSION: u32 = 1u32; 9983 } 9984 #[allow(non_camel_case_types)] 9985 pub type PFN_vkBindBufferMemory2 = unsafe extern "system" fn( 9986 device: Device, 9987 bind_info_count: u32, 9988 p_bind_infos: *const BindBufferMemoryInfo, 9989 ) -> Result; 9990 #[allow(non_camel_case_types)] 9991 pub type PFN_vkBindImageMemory2 = unsafe extern "system" fn( 9992 device: Device, 9993 bind_info_count: u32, 9994 p_bind_infos: *const BindImageMemoryInfo, 9995 ) -> Result; 9996 #[derive(Clone)] 9997 pub struct KhrBindMemory2Fn { 9998 pub bind_buffer_memory2_khr: PFN_vkBindBufferMemory2, 9999 pub bind_image_memory2_khr: PFN_vkBindImageMemory2, 10000 } 10001 unsafe impl Send for KhrBindMemory2Fn {} 10002 unsafe impl Sync for KhrBindMemory2Fn {} 10003 impl KhrBindMemory2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10004 pub fn load<F>(mut _f: F) -> Self 10005 where 10006 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10007 { 10008 Self { 10009 bind_buffer_memory2_khr: unsafe { 10010 unsafe extern "system" fn bind_buffer_memory2_khr( 10011 _device: Device, 10012 _bind_info_count: u32, 10013 _p_bind_infos: *const BindBufferMemoryInfo, 10014 ) -> Result { 10015 panic!(concat!( 10016 "Unable to load ", 10017 stringify!(bind_buffer_memory2_khr) 10018 )) 10019 } 10020 let cname = 10021 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindBufferMemory2KHR\0"); 10022 let val = _f(cname); 10023 if val.is_null() { 10024 bind_buffer_memory2_khr 10025 } else { 10026 ::std::mem::transmute(val) 10027 } 10028 }, 10029 bind_image_memory2_khr: unsafe { 10030 unsafe extern "system" fn bind_image_memory2_khr( 10031 _device: Device, 10032 _bind_info_count: u32, 10033 _p_bind_infos: *const BindImageMemoryInfo, 10034 ) -> Result { 10035 panic!(concat!( 10036 "Unable to load ", 10037 stringify!(bind_image_memory2_khr) 10038 )) 10039 } 10040 let cname = 10041 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBindImageMemory2KHR\0"); 10042 let val = _f(cname); 10043 if val.is_null() { 10044 bind_image_memory2_khr 10045 } else { 10046 ::std::mem::transmute(val) 10047 } 10048 }, 10049 } 10050 } 10051 } 10052 #[doc = "Generated from 'VK_KHR_bind_memory2'"] 10053 impl ImageCreateFlags { 10054 pub const ALIAS_KHR: Self = Self::ALIAS; 10055 } 10056 #[doc = "Generated from 'VK_KHR_bind_memory2'"] 10057 impl StructureType { 10058 pub const BIND_BUFFER_MEMORY_INFO_KHR: Self = Self::BIND_BUFFER_MEMORY_INFO; 10059 pub const BIND_IMAGE_MEMORY_INFO_KHR: Self = Self::BIND_IMAGE_MEMORY_INFO; 10060 } 10061 impl ExtImageDrmFormatModifierFn { 10062 #[inline] name() -> &'static ::std::ffi::CStr10063 pub const fn name() -> &'static ::std::ffi::CStr { 10064 unsafe { 10065 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_drm_format_modifier\0") 10066 } 10067 } 10068 pub const SPEC_VERSION: u32 = 2u32; 10069 } 10070 #[allow(non_camel_case_types)] 10071 pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = unsafe extern "system" fn( 10072 device: Device, 10073 image: Image, 10074 p_properties: *mut ImageDrmFormatModifierPropertiesEXT, 10075 ) -> Result; 10076 #[derive(Clone)] 10077 pub struct ExtImageDrmFormatModifierFn { 10078 pub get_image_drm_format_modifier_properties_ext: PFN_vkGetImageDrmFormatModifierPropertiesEXT, 10079 } 10080 unsafe impl Send for ExtImageDrmFormatModifierFn {} 10081 unsafe impl Sync for ExtImageDrmFormatModifierFn {} 10082 impl ExtImageDrmFormatModifierFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10083 pub fn load<F>(mut _f: F) -> Self 10084 where 10085 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10086 { 10087 Self { 10088 get_image_drm_format_modifier_properties_ext: unsafe { 10089 unsafe extern "system" fn get_image_drm_format_modifier_properties_ext( 10090 _device: Device, 10091 _image: Image, 10092 _p_properties: *mut ImageDrmFormatModifierPropertiesEXT, 10093 ) -> Result { 10094 panic!(concat!( 10095 "Unable to load ", 10096 stringify!(get_image_drm_format_modifier_properties_ext) 10097 )) 10098 } 10099 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10100 b"vkGetImageDrmFormatModifierPropertiesEXT\0", 10101 ); 10102 let val = _f(cname); 10103 if val.is_null() { 10104 get_image_drm_format_modifier_properties_ext 10105 } else { 10106 ::std::mem::transmute(val) 10107 } 10108 }, 10109 } 10110 } 10111 } 10112 #[doc = "Generated from 'VK_EXT_image_drm_format_modifier'"] 10113 impl ImageAspectFlags { 10114 pub const MEMORY_PLANE_0_EXT: Self = Self(0b1000_0000); 10115 pub const MEMORY_PLANE_1_EXT: Self = Self(0b1_0000_0000); 10116 pub const MEMORY_PLANE_2_EXT: Self = Self(0b10_0000_0000); 10117 pub const MEMORY_PLANE_3_EXT: Self = Self(0b100_0000_0000); 10118 } 10119 #[doc = "Generated from 'VK_EXT_image_drm_format_modifier'"] 10120 impl ImageTiling { 10121 pub const DRM_FORMAT_MODIFIER_EXT: Self = Self(1_000_158_000); 10122 } 10123 #[doc = "Generated from 'VK_EXT_image_drm_format_modifier'"] 10124 impl Result { 10125 pub const ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: Self = Self(-1_000_158_000); 10126 } 10127 #[doc = "Generated from 'VK_EXT_image_drm_format_modifier'"] 10128 impl StructureType { 10129 pub const DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: Self = Self(1_000_158_000); 10130 pub const PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: Self = Self(1_000_158_002); 10131 pub const IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: Self = Self(1_000_158_003); 10132 pub const IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: Self = Self(1_000_158_004); 10133 pub const IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: Self = Self(1_000_158_005); 10134 pub const DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: Self = Self(1_000_158_006); 10135 } 10136 impl ExtExtension160Fn { 10137 #[inline] name() -> &'static ::std::ffi::CStr10138 pub const fn name() -> &'static ::std::ffi::CStr { 10139 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_160\0") } 10140 } 10141 pub const SPEC_VERSION: u32 = 0u32; 10142 } 10143 #[derive(Clone)] 10144 pub struct ExtExtension160Fn {} 10145 unsafe impl Send for ExtExtension160Fn {} 10146 unsafe impl Sync for ExtExtension160Fn {} 10147 impl ExtExtension160Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10148 pub fn load<F>(mut _f: F) -> Self 10149 where 10150 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10151 { 10152 Self {} 10153 } 10154 } 10155 impl ExtValidationCacheFn { 10156 #[inline] name() -> &'static ::std::ffi::CStr10157 pub const fn name() -> &'static ::std::ffi::CStr { 10158 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_validation_cache\0") } 10159 } 10160 pub const SPEC_VERSION: u32 = 1u32; 10161 } 10162 #[allow(non_camel_case_types)] 10163 pub type PFN_vkCreateValidationCacheEXT = unsafe extern "system" fn( 10164 device: Device, 10165 p_create_info: *const ValidationCacheCreateInfoEXT, 10166 p_allocator: *const AllocationCallbacks, 10167 p_validation_cache: *mut ValidationCacheEXT, 10168 ) -> Result; 10169 #[allow(non_camel_case_types)] 10170 pub type PFN_vkDestroyValidationCacheEXT = unsafe extern "system" fn( 10171 device: Device, 10172 validation_cache: ValidationCacheEXT, 10173 p_allocator: *const AllocationCallbacks, 10174 ); 10175 #[allow(non_camel_case_types)] 10176 pub type PFN_vkMergeValidationCachesEXT = unsafe extern "system" fn( 10177 device: Device, 10178 dst_cache: ValidationCacheEXT, 10179 src_cache_count: u32, 10180 p_src_caches: *const ValidationCacheEXT, 10181 ) -> Result; 10182 #[allow(non_camel_case_types)] 10183 pub type PFN_vkGetValidationCacheDataEXT = unsafe extern "system" fn( 10184 device: Device, 10185 validation_cache: ValidationCacheEXT, 10186 p_data_size: *mut usize, 10187 p_data: *mut c_void, 10188 ) -> Result; 10189 #[derive(Clone)] 10190 pub struct ExtValidationCacheFn { 10191 pub create_validation_cache_ext: PFN_vkCreateValidationCacheEXT, 10192 pub destroy_validation_cache_ext: PFN_vkDestroyValidationCacheEXT, 10193 pub merge_validation_caches_ext: PFN_vkMergeValidationCachesEXT, 10194 pub get_validation_cache_data_ext: PFN_vkGetValidationCacheDataEXT, 10195 } 10196 unsafe impl Send for ExtValidationCacheFn {} 10197 unsafe impl Sync for ExtValidationCacheFn {} 10198 impl ExtValidationCacheFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10199 pub fn load<F>(mut _f: F) -> Self 10200 where 10201 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10202 { 10203 Self { 10204 create_validation_cache_ext: unsafe { 10205 unsafe extern "system" fn create_validation_cache_ext( 10206 _device: Device, 10207 _p_create_info: *const ValidationCacheCreateInfoEXT, 10208 _p_allocator: *const AllocationCallbacks, 10209 _p_validation_cache: *mut ValidationCacheEXT, 10210 ) -> Result { 10211 panic!(concat!( 10212 "Unable to load ", 10213 stringify!(create_validation_cache_ext) 10214 )) 10215 } 10216 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10217 b"vkCreateValidationCacheEXT\0", 10218 ); 10219 let val = _f(cname); 10220 if val.is_null() { 10221 create_validation_cache_ext 10222 } else { 10223 ::std::mem::transmute(val) 10224 } 10225 }, 10226 destroy_validation_cache_ext: unsafe { 10227 unsafe extern "system" fn destroy_validation_cache_ext( 10228 _device: Device, 10229 _validation_cache: ValidationCacheEXT, 10230 _p_allocator: *const AllocationCallbacks, 10231 ) { 10232 panic!(concat!( 10233 "Unable to load ", 10234 stringify!(destroy_validation_cache_ext) 10235 )) 10236 } 10237 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10238 b"vkDestroyValidationCacheEXT\0", 10239 ); 10240 let val = _f(cname); 10241 if val.is_null() { 10242 destroy_validation_cache_ext 10243 } else { 10244 ::std::mem::transmute(val) 10245 } 10246 }, 10247 merge_validation_caches_ext: unsafe { 10248 unsafe extern "system" fn merge_validation_caches_ext( 10249 _device: Device, 10250 _dst_cache: ValidationCacheEXT, 10251 _src_cache_count: u32, 10252 _p_src_caches: *const ValidationCacheEXT, 10253 ) -> Result { 10254 panic!(concat!( 10255 "Unable to load ", 10256 stringify!(merge_validation_caches_ext) 10257 )) 10258 } 10259 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10260 b"vkMergeValidationCachesEXT\0", 10261 ); 10262 let val = _f(cname); 10263 if val.is_null() { 10264 merge_validation_caches_ext 10265 } else { 10266 ::std::mem::transmute(val) 10267 } 10268 }, 10269 get_validation_cache_data_ext: unsafe { 10270 unsafe extern "system" fn get_validation_cache_data_ext( 10271 _device: Device, 10272 _validation_cache: ValidationCacheEXT, 10273 _p_data_size: *mut usize, 10274 _p_data: *mut c_void, 10275 ) -> Result { 10276 panic!(concat!( 10277 "Unable to load ", 10278 stringify!(get_validation_cache_data_ext) 10279 )) 10280 } 10281 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10282 b"vkGetValidationCacheDataEXT\0", 10283 ); 10284 let val = _f(cname); 10285 if val.is_null() { 10286 get_validation_cache_data_ext 10287 } else { 10288 ::std::mem::transmute(val) 10289 } 10290 }, 10291 } 10292 } 10293 } 10294 #[doc = "Generated from 'VK_EXT_validation_cache'"] 10295 impl ObjectType { 10296 pub const VALIDATION_CACHE_EXT: Self = Self(1_000_160_000); 10297 } 10298 #[doc = "Generated from 'VK_EXT_validation_cache'"] 10299 impl StructureType { 10300 pub const VALIDATION_CACHE_CREATE_INFO_EXT: Self = Self(1_000_160_000); 10301 pub const SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: Self = Self(1_000_160_001); 10302 } 10303 impl ExtDescriptorIndexingFn { 10304 #[inline] name() -> &'static ::std::ffi::CStr10305 pub const fn name() -> &'static ::std::ffi::CStr { 10306 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_descriptor_indexing\0") } 10307 } 10308 pub const SPEC_VERSION: u32 = 2u32; 10309 } 10310 #[derive(Clone)] 10311 pub struct ExtDescriptorIndexingFn {} 10312 unsafe impl Send for ExtDescriptorIndexingFn {} 10313 unsafe impl Sync for ExtDescriptorIndexingFn {} 10314 impl ExtDescriptorIndexingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10315 pub fn load<F>(mut _f: F) -> Self 10316 where 10317 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10318 { 10319 Self {} 10320 } 10321 } 10322 #[doc = "Generated from 'VK_EXT_descriptor_indexing'"] 10323 impl DescriptorBindingFlags { 10324 pub const UPDATE_AFTER_BIND_EXT: Self = Self::UPDATE_AFTER_BIND; 10325 pub const UPDATE_UNUSED_WHILE_PENDING_EXT: Self = Self::UPDATE_UNUSED_WHILE_PENDING; 10326 pub const PARTIALLY_BOUND_EXT: Self = Self::PARTIALLY_BOUND; 10327 pub const VARIABLE_DESCRIPTOR_COUNT_EXT: Self = Self::VARIABLE_DESCRIPTOR_COUNT; 10328 } 10329 #[doc = "Generated from 'VK_EXT_descriptor_indexing'"] 10330 impl DescriptorPoolCreateFlags { 10331 pub const UPDATE_AFTER_BIND_EXT: Self = Self::UPDATE_AFTER_BIND; 10332 } 10333 #[doc = "Generated from 'VK_EXT_descriptor_indexing'"] 10334 impl DescriptorSetLayoutCreateFlags { 10335 pub const UPDATE_AFTER_BIND_POOL_EXT: Self = Self::UPDATE_AFTER_BIND_POOL; 10336 } 10337 #[doc = "Generated from 'VK_EXT_descriptor_indexing'"] 10338 impl Result { 10339 pub const ERROR_FRAGMENTATION_EXT: Self = Self::ERROR_FRAGMENTATION; 10340 } 10341 #[doc = "Generated from 'VK_EXT_descriptor_indexing'"] 10342 impl StructureType { 10343 pub const DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: Self = 10344 Self::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO; 10345 pub const PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: Self = 10346 Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; 10347 pub const PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: Self = 10348 Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES; 10349 pub const DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: Self = 10350 Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO; 10351 pub const DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: Self = 10352 Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT; 10353 } 10354 impl ExtShaderViewportIndexLayerFn { 10355 #[inline] name() -> &'static ::std::ffi::CStr10356 pub const fn name() -> &'static ::std::ffi::CStr { 10357 unsafe { 10358 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_viewport_index_layer\0") 10359 } 10360 } 10361 pub const SPEC_VERSION: u32 = 1u32; 10362 } 10363 #[derive(Clone)] 10364 pub struct ExtShaderViewportIndexLayerFn {} 10365 unsafe impl Send for ExtShaderViewportIndexLayerFn {} 10366 unsafe impl Sync for ExtShaderViewportIndexLayerFn {} 10367 impl ExtShaderViewportIndexLayerFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10368 pub fn load<F>(mut _f: F) -> Self 10369 where 10370 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10371 { 10372 Self {} 10373 } 10374 } 10375 impl KhrPortabilitySubsetFn { 10376 #[inline] name() -> &'static ::std::ffi::CStr10377 pub const fn name() -> &'static ::std::ffi::CStr { 10378 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_portability_subset\0") } 10379 } 10380 pub const SPEC_VERSION: u32 = 1u32; 10381 } 10382 #[derive(Clone)] 10383 pub struct KhrPortabilitySubsetFn {} 10384 unsafe impl Send for KhrPortabilitySubsetFn {} 10385 unsafe impl Sync for KhrPortabilitySubsetFn {} 10386 impl KhrPortabilitySubsetFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10387 pub fn load<F>(mut _f: F) -> Self 10388 where 10389 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10390 { 10391 Self {} 10392 } 10393 } 10394 #[doc = "Generated from 'VK_KHR_portability_subset'"] 10395 impl StructureType { 10396 pub const PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: Self = Self(1_000_163_000); 10397 pub const PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: Self = Self(1_000_163_001); 10398 } 10399 impl NvShadingRateImageFn { 10400 #[inline] name() -> &'static ::std::ffi::CStr10401 pub const fn name() -> &'static ::std::ffi::CStr { 10402 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_shading_rate_image\0") } 10403 } 10404 pub const SPEC_VERSION: u32 = 3u32; 10405 } 10406 #[allow(non_camel_case_types)] 10407 pub type PFN_vkCmdBindShadingRateImageNV = unsafe extern "system" fn( 10408 command_buffer: CommandBuffer, 10409 image_view: ImageView, 10410 image_layout: ImageLayout, 10411 ); 10412 #[allow(non_camel_case_types)] 10413 pub type PFN_vkCmdSetViewportShadingRatePaletteNV = unsafe extern "system" fn( 10414 command_buffer: CommandBuffer, 10415 first_viewport: u32, 10416 viewport_count: u32, 10417 p_shading_rate_palettes: *const ShadingRatePaletteNV, 10418 ); 10419 #[allow(non_camel_case_types)] 10420 pub type PFN_vkCmdSetCoarseSampleOrderNV = unsafe extern "system" fn( 10421 command_buffer: CommandBuffer, 10422 sample_order_type: CoarseSampleOrderTypeNV, 10423 custom_sample_order_count: u32, 10424 p_custom_sample_orders: *const CoarseSampleOrderCustomNV, 10425 ); 10426 #[derive(Clone)] 10427 pub struct NvShadingRateImageFn { 10428 pub cmd_bind_shading_rate_image_nv: PFN_vkCmdBindShadingRateImageNV, 10429 pub cmd_set_viewport_shading_rate_palette_nv: PFN_vkCmdSetViewportShadingRatePaletteNV, 10430 pub cmd_set_coarse_sample_order_nv: PFN_vkCmdSetCoarseSampleOrderNV, 10431 } 10432 unsafe impl Send for NvShadingRateImageFn {} 10433 unsafe impl Sync for NvShadingRateImageFn {} 10434 impl NvShadingRateImageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10435 pub fn load<F>(mut _f: F) -> Self 10436 where 10437 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10438 { 10439 Self { 10440 cmd_bind_shading_rate_image_nv: unsafe { 10441 unsafe extern "system" fn cmd_bind_shading_rate_image_nv( 10442 _command_buffer: CommandBuffer, 10443 _image_view: ImageView, 10444 _image_layout: ImageLayout, 10445 ) { 10446 panic!(concat!( 10447 "Unable to load ", 10448 stringify!(cmd_bind_shading_rate_image_nv) 10449 )) 10450 } 10451 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10452 b"vkCmdBindShadingRateImageNV\0", 10453 ); 10454 let val = _f(cname); 10455 if val.is_null() { 10456 cmd_bind_shading_rate_image_nv 10457 } else { 10458 ::std::mem::transmute(val) 10459 } 10460 }, 10461 cmd_set_viewport_shading_rate_palette_nv: unsafe { 10462 unsafe extern "system" fn cmd_set_viewport_shading_rate_palette_nv( 10463 _command_buffer: CommandBuffer, 10464 _first_viewport: u32, 10465 _viewport_count: u32, 10466 _p_shading_rate_palettes: *const ShadingRatePaletteNV, 10467 ) { 10468 panic!(concat!( 10469 "Unable to load ", 10470 stringify!(cmd_set_viewport_shading_rate_palette_nv) 10471 )) 10472 } 10473 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10474 b"vkCmdSetViewportShadingRatePaletteNV\0", 10475 ); 10476 let val = _f(cname); 10477 if val.is_null() { 10478 cmd_set_viewport_shading_rate_palette_nv 10479 } else { 10480 ::std::mem::transmute(val) 10481 } 10482 }, 10483 cmd_set_coarse_sample_order_nv: unsafe { 10484 unsafe extern "system" fn cmd_set_coarse_sample_order_nv( 10485 _command_buffer: CommandBuffer, 10486 _sample_order_type: CoarseSampleOrderTypeNV, 10487 _custom_sample_order_count: u32, 10488 _p_custom_sample_orders: *const CoarseSampleOrderCustomNV, 10489 ) { 10490 panic!(concat!( 10491 "Unable to load ", 10492 stringify!(cmd_set_coarse_sample_order_nv) 10493 )) 10494 } 10495 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10496 b"vkCmdSetCoarseSampleOrderNV\0", 10497 ); 10498 let val = _f(cname); 10499 if val.is_null() { 10500 cmd_set_coarse_sample_order_nv 10501 } else { 10502 ::std::mem::transmute(val) 10503 } 10504 }, 10505 } 10506 } 10507 } 10508 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10509 impl AccessFlags { 10510 pub const SHADING_RATE_IMAGE_READ_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR; 10511 } 10512 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10513 impl DynamicState { 10514 pub const VIEWPORT_SHADING_RATE_PALETTE_NV: Self = Self(1_000_164_004); 10515 pub const VIEWPORT_COARSE_SAMPLE_ORDER_NV: Self = Self(1_000_164_006); 10516 } 10517 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10518 impl ImageLayout { 10519 pub const SHADING_RATE_OPTIMAL_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR; 10520 } 10521 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10522 impl ImageUsageFlags { 10523 pub const SHADING_RATE_IMAGE_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_KHR; 10524 } 10525 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10526 impl PipelineStageFlags { 10527 pub const SHADING_RATE_IMAGE_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_KHR; 10528 } 10529 #[doc = "Generated from 'VK_NV_shading_rate_image'"] 10530 impl StructureType { 10531 pub const PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: Self = Self(1_000_164_000); 10532 pub const PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: Self = Self(1_000_164_001); 10533 pub const PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: Self = Self(1_000_164_002); 10534 pub const PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: Self = 10535 Self(1_000_164_005); 10536 } 10537 impl NvRayTracingFn { 10538 #[inline] name() -> &'static ::std::ffi::CStr10539 pub const fn name() -> &'static ::std::ffi::CStr { 10540 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_ray_tracing\0") } 10541 } 10542 pub const SPEC_VERSION: u32 = 3u32; 10543 } 10544 #[allow(non_camel_case_types)] 10545 pub type PFN_vkCreateAccelerationStructureNV = unsafe extern "system" fn( 10546 device: Device, 10547 p_create_info: *const AccelerationStructureCreateInfoNV, 10548 p_allocator: *const AllocationCallbacks, 10549 p_acceleration_structure: *mut AccelerationStructureNV, 10550 ) -> Result; 10551 #[allow(non_camel_case_types)] 10552 pub type PFN_vkDestroyAccelerationStructureNV = unsafe extern "system" fn( 10553 device: Device, 10554 acceleration_structure: AccelerationStructureNV, 10555 p_allocator: *const AllocationCallbacks, 10556 ); 10557 #[allow(non_camel_case_types)] 10558 pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = unsafe extern "system" fn( 10559 device: Device, 10560 p_info: *const AccelerationStructureMemoryRequirementsInfoNV, 10561 p_memory_requirements: *mut MemoryRequirements2KHR, 10562 ); 10563 #[allow(non_camel_case_types)] 10564 pub type PFN_vkBindAccelerationStructureMemoryNV = unsafe extern "system" fn( 10565 device: Device, 10566 bind_info_count: u32, 10567 p_bind_infos: *const BindAccelerationStructureMemoryInfoNV, 10568 ) -> Result; 10569 #[allow(non_camel_case_types)] 10570 pub type PFN_vkCmdBuildAccelerationStructureNV = unsafe extern "system" fn( 10571 command_buffer: CommandBuffer, 10572 p_info: *const AccelerationStructureInfoNV, 10573 instance_data: Buffer, 10574 instance_offset: DeviceSize, 10575 update: Bool32, 10576 dst: AccelerationStructureNV, 10577 src: AccelerationStructureNV, 10578 scratch: Buffer, 10579 scratch_offset: DeviceSize, 10580 ); 10581 #[allow(non_camel_case_types)] 10582 pub type PFN_vkCmdCopyAccelerationStructureNV = unsafe extern "system" fn( 10583 command_buffer: CommandBuffer, 10584 dst: AccelerationStructureNV, 10585 src: AccelerationStructureNV, 10586 mode: CopyAccelerationStructureModeKHR, 10587 ); 10588 #[allow(non_camel_case_types)] 10589 pub type PFN_vkCmdTraceRaysNV = unsafe extern "system" fn( 10590 command_buffer: CommandBuffer, 10591 raygen_shader_binding_table_buffer: Buffer, 10592 raygen_shader_binding_offset: DeviceSize, 10593 miss_shader_binding_table_buffer: Buffer, 10594 miss_shader_binding_offset: DeviceSize, 10595 miss_shader_binding_stride: DeviceSize, 10596 hit_shader_binding_table_buffer: Buffer, 10597 hit_shader_binding_offset: DeviceSize, 10598 hit_shader_binding_stride: DeviceSize, 10599 callable_shader_binding_table_buffer: Buffer, 10600 callable_shader_binding_offset: DeviceSize, 10601 callable_shader_binding_stride: DeviceSize, 10602 width: u32, 10603 height: u32, 10604 depth: u32, 10605 ); 10606 #[allow(non_camel_case_types)] 10607 pub type PFN_vkCreateRayTracingPipelinesNV = unsafe extern "system" fn( 10608 device: Device, 10609 pipeline_cache: PipelineCache, 10610 create_info_count: u32, 10611 p_create_infos: *const RayTracingPipelineCreateInfoNV, 10612 p_allocator: *const AllocationCallbacks, 10613 p_pipelines: *mut Pipeline, 10614 ) -> Result; 10615 #[allow(non_camel_case_types)] 10616 pub type PFN_vkGetAccelerationStructureHandleNV = unsafe extern "system" fn( 10617 device: Device, 10618 acceleration_structure: AccelerationStructureNV, 10619 data_size: usize, 10620 p_data: *mut c_void, 10621 ) -> Result; 10622 #[allow(non_camel_case_types)] 10623 pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = unsafe extern "system" fn( 10624 command_buffer: CommandBuffer, 10625 acceleration_structure_count: u32, 10626 p_acceleration_structures: *const AccelerationStructureNV, 10627 query_type: QueryType, 10628 query_pool: QueryPool, 10629 first_query: u32, 10630 ); 10631 #[allow(non_camel_case_types)] 10632 pub type PFN_vkCompileDeferredNV = 10633 unsafe extern "system" fn(device: Device, pipeline: Pipeline, shader: u32) -> Result; 10634 #[derive(Clone)] 10635 pub struct NvRayTracingFn { 10636 pub create_acceleration_structure_nv: PFN_vkCreateAccelerationStructureNV, 10637 pub destroy_acceleration_structure_nv: PFN_vkDestroyAccelerationStructureNV, 10638 pub get_acceleration_structure_memory_requirements_nv: 10639 PFN_vkGetAccelerationStructureMemoryRequirementsNV, 10640 pub bind_acceleration_structure_memory_nv: PFN_vkBindAccelerationStructureMemoryNV, 10641 pub cmd_build_acceleration_structure_nv: PFN_vkCmdBuildAccelerationStructureNV, 10642 pub cmd_copy_acceleration_structure_nv: PFN_vkCmdCopyAccelerationStructureNV, 10643 pub cmd_trace_rays_nv: PFN_vkCmdTraceRaysNV, 10644 pub create_ray_tracing_pipelines_nv: PFN_vkCreateRayTracingPipelinesNV, 10645 pub get_ray_tracing_shader_group_handles_nv: 10646 crate::vk::PFN_vkGetRayTracingShaderGroupHandlesKHR, 10647 pub get_acceleration_structure_handle_nv: PFN_vkGetAccelerationStructureHandleNV, 10648 pub cmd_write_acceleration_structures_properties_nv: 10649 PFN_vkCmdWriteAccelerationStructuresPropertiesNV, 10650 pub compile_deferred_nv: PFN_vkCompileDeferredNV, 10651 } 10652 unsafe impl Send for NvRayTracingFn {} 10653 unsafe impl Sync for NvRayTracingFn {} 10654 impl NvRayTracingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,10655 pub fn load<F>(mut _f: F) -> Self 10656 where 10657 F: FnMut(&::std::ffi::CStr) -> *const c_void, 10658 { 10659 Self { 10660 create_acceleration_structure_nv: unsafe { 10661 unsafe extern "system" fn create_acceleration_structure_nv( 10662 _device: Device, 10663 _p_create_info: *const AccelerationStructureCreateInfoNV, 10664 _p_allocator: *const AllocationCallbacks, 10665 _p_acceleration_structure: *mut AccelerationStructureNV, 10666 ) -> Result { 10667 panic!(concat!( 10668 "Unable to load ", 10669 stringify!(create_acceleration_structure_nv) 10670 )) 10671 } 10672 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10673 b"vkCreateAccelerationStructureNV\0", 10674 ); 10675 let val = _f(cname); 10676 if val.is_null() { 10677 create_acceleration_structure_nv 10678 } else { 10679 ::std::mem::transmute(val) 10680 } 10681 }, 10682 destroy_acceleration_structure_nv: unsafe { 10683 unsafe extern "system" fn destroy_acceleration_structure_nv( 10684 _device: Device, 10685 _acceleration_structure: AccelerationStructureNV, 10686 _p_allocator: *const AllocationCallbacks, 10687 ) { 10688 panic!(concat!( 10689 "Unable to load ", 10690 stringify!(destroy_acceleration_structure_nv) 10691 )) 10692 } 10693 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10694 b"vkDestroyAccelerationStructureNV\0", 10695 ); 10696 let val = _f(cname); 10697 if val.is_null() { 10698 destroy_acceleration_structure_nv 10699 } else { 10700 ::std::mem::transmute(val) 10701 } 10702 }, 10703 get_acceleration_structure_memory_requirements_nv: unsafe { 10704 unsafe extern "system" fn get_acceleration_structure_memory_requirements_nv( 10705 _device: Device, 10706 _p_info: *const AccelerationStructureMemoryRequirementsInfoNV, 10707 _p_memory_requirements: *mut MemoryRequirements2KHR, 10708 ) { 10709 panic!(concat!( 10710 "Unable to load ", 10711 stringify!(get_acceleration_structure_memory_requirements_nv) 10712 )) 10713 } 10714 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10715 b"vkGetAccelerationStructureMemoryRequirementsNV\0", 10716 ); 10717 let val = _f(cname); 10718 if val.is_null() { 10719 get_acceleration_structure_memory_requirements_nv 10720 } else { 10721 ::std::mem::transmute(val) 10722 } 10723 }, 10724 bind_acceleration_structure_memory_nv: unsafe { 10725 unsafe extern "system" fn bind_acceleration_structure_memory_nv( 10726 _device: Device, 10727 _bind_info_count: u32, 10728 _p_bind_infos: *const BindAccelerationStructureMemoryInfoNV, 10729 ) -> Result { 10730 panic!(concat!( 10731 "Unable to load ", 10732 stringify!(bind_acceleration_structure_memory_nv) 10733 )) 10734 } 10735 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10736 b"vkBindAccelerationStructureMemoryNV\0", 10737 ); 10738 let val = _f(cname); 10739 if val.is_null() { 10740 bind_acceleration_structure_memory_nv 10741 } else { 10742 ::std::mem::transmute(val) 10743 } 10744 }, 10745 cmd_build_acceleration_structure_nv: unsafe { 10746 unsafe extern "system" fn cmd_build_acceleration_structure_nv( 10747 _command_buffer: CommandBuffer, 10748 _p_info: *const AccelerationStructureInfoNV, 10749 _instance_data: Buffer, 10750 _instance_offset: DeviceSize, 10751 _update: Bool32, 10752 _dst: AccelerationStructureNV, 10753 _src: AccelerationStructureNV, 10754 _scratch: Buffer, 10755 _scratch_offset: DeviceSize, 10756 ) { 10757 panic!(concat!( 10758 "Unable to load ", 10759 stringify!(cmd_build_acceleration_structure_nv) 10760 )) 10761 } 10762 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10763 b"vkCmdBuildAccelerationStructureNV\0", 10764 ); 10765 let val = _f(cname); 10766 if val.is_null() { 10767 cmd_build_acceleration_structure_nv 10768 } else { 10769 ::std::mem::transmute(val) 10770 } 10771 }, 10772 cmd_copy_acceleration_structure_nv: unsafe { 10773 unsafe extern "system" fn cmd_copy_acceleration_structure_nv( 10774 _command_buffer: CommandBuffer, 10775 _dst: AccelerationStructureNV, 10776 _src: AccelerationStructureNV, 10777 _mode: CopyAccelerationStructureModeKHR, 10778 ) { 10779 panic!(concat!( 10780 "Unable to load ", 10781 stringify!(cmd_copy_acceleration_structure_nv) 10782 )) 10783 } 10784 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10785 b"vkCmdCopyAccelerationStructureNV\0", 10786 ); 10787 let val = _f(cname); 10788 if val.is_null() { 10789 cmd_copy_acceleration_structure_nv 10790 } else { 10791 ::std::mem::transmute(val) 10792 } 10793 }, 10794 cmd_trace_rays_nv: unsafe { 10795 unsafe extern "system" fn cmd_trace_rays_nv( 10796 _command_buffer: CommandBuffer, 10797 _raygen_shader_binding_table_buffer: Buffer, 10798 _raygen_shader_binding_offset: DeviceSize, 10799 _miss_shader_binding_table_buffer: Buffer, 10800 _miss_shader_binding_offset: DeviceSize, 10801 _miss_shader_binding_stride: DeviceSize, 10802 _hit_shader_binding_table_buffer: Buffer, 10803 _hit_shader_binding_offset: DeviceSize, 10804 _hit_shader_binding_stride: DeviceSize, 10805 _callable_shader_binding_table_buffer: Buffer, 10806 _callable_shader_binding_offset: DeviceSize, 10807 _callable_shader_binding_stride: DeviceSize, 10808 _width: u32, 10809 _height: u32, 10810 _depth: u32, 10811 ) { 10812 panic!(concat!("Unable to load ", stringify!(cmd_trace_rays_nv))) 10813 } 10814 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdTraceRaysNV\0"); 10815 let val = _f(cname); 10816 if val.is_null() { 10817 cmd_trace_rays_nv 10818 } else { 10819 ::std::mem::transmute(val) 10820 } 10821 }, 10822 create_ray_tracing_pipelines_nv: unsafe { 10823 unsafe extern "system" fn create_ray_tracing_pipelines_nv( 10824 _device: Device, 10825 _pipeline_cache: PipelineCache, 10826 _create_info_count: u32, 10827 _p_create_infos: *const RayTracingPipelineCreateInfoNV, 10828 _p_allocator: *const AllocationCallbacks, 10829 _p_pipelines: *mut Pipeline, 10830 ) -> Result { 10831 panic!(concat!( 10832 "Unable to load ", 10833 stringify!(create_ray_tracing_pipelines_nv) 10834 )) 10835 } 10836 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10837 b"vkCreateRayTracingPipelinesNV\0", 10838 ); 10839 let val = _f(cname); 10840 if val.is_null() { 10841 create_ray_tracing_pipelines_nv 10842 } else { 10843 ::std::mem::transmute(val) 10844 } 10845 }, 10846 get_ray_tracing_shader_group_handles_nv: unsafe { 10847 unsafe extern "system" fn get_ray_tracing_shader_group_handles_nv( 10848 _device: Device, 10849 _pipeline: Pipeline, 10850 _first_group: u32, 10851 _group_count: u32, 10852 _data_size: usize, 10853 _p_data: *mut c_void, 10854 ) -> Result { 10855 panic!(concat!( 10856 "Unable to load ", 10857 stringify!(get_ray_tracing_shader_group_handles_nv) 10858 )) 10859 } 10860 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10861 b"vkGetRayTracingShaderGroupHandlesNV\0", 10862 ); 10863 let val = _f(cname); 10864 if val.is_null() { 10865 get_ray_tracing_shader_group_handles_nv 10866 } else { 10867 ::std::mem::transmute(val) 10868 } 10869 }, 10870 get_acceleration_structure_handle_nv: unsafe { 10871 unsafe extern "system" fn get_acceleration_structure_handle_nv( 10872 _device: Device, 10873 _acceleration_structure: AccelerationStructureNV, 10874 _data_size: usize, 10875 _p_data: *mut c_void, 10876 ) -> Result { 10877 panic!(concat!( 10878 "Unable to load ", 10879 stringify!(get_acceleration_structure_handle_nv) 10880 )) 10881 } 10882 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10883 b"vkGetAccelerationStructureHandleNV\0", 10884 ); 10885 let val = _f(cname); 10886 if val.is_null() { 10887 get_acceleration_structure_handle_nv 10888 } else { 10889 ::std::mem::transmute(val) 10890 } 10891 }, 10892 cmd_write_acceleration_structures_properties_nv: unsafe { 10893 unsafe extern "system" fn cmd_write_acceleration_structures_properties_nv( 10894 _command_buffer: CommandBuffer, 10895 _acceleration_structure_count: u32, 10896 _p_acceleration_structures: *const AccelerationStructureNV, 10897 _query_type: QueryType, 10898 _query_pool: QueryPool, 10899 _first_query: u32, 10900 ) { 10901 panic!(concat!( 10902 "Unable to load ", 10903 stringify!(cmd_write_acceleration_structures_properties_nv) 10904 )) 10905 } 10906 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 10907 b"vkCmdWriteAccelerationStructuresPropertiesNV\0", 10908 ); 10909 let val = _f(cname); 10910 if val.is_null() { 10911 cmd_write_acceleration_structures_properties_nv 10912 } else { 10913 ::std::mem::transmute(val) 10914 } 10915 }, 10916 compile_deferred_nv: unsafe { 10917 unsafe extern "system" fn compile_deferred_nv( 10918 _device: Device, 10919 _pipeline: Pipeline, 10920 _shader: u32, 10921 ) -> Result { 10922 panic!(concat!("Unable to load ", stringify!(compile_deferred_nv))) 10923 } 10924 let cname = 10925 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCompileDeferredNV\0"); 10926 let val = _f(cname); 10927 if val.is_null() { 10928 compile_deferred_nv 10929 } else { 10930 ::std::mem::transmute(val) 10931 } 10932 }, 10933 } 10934 } 10935 } 10936 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10937 impl AccelerationStructureTypeKHR { 10938 pub const TOP_LEVEL_NV: Self = Self::TOP_LEVEL; 10939 pub const BOTTOM_LEVEL_NV: Self = Self::BOTTOM_LEVEL; 10940 } 10941 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10942 impl AccessFlags { 10943 pub const ACCELERATION_STRUCTURE_READ_NV: Self = Self::ACCELERATION_STRUCTURE_READ_KHR; 10944 pub const ACCELERATION_STRUCTURE_WRITE_NV: Self = Self::ACCELERATION_STRUCTURE_WRITE_KHR; 10945 } 10946 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10947 impl BufferUsageFlags { 10948 pub const RAY_TRACING_NV: Self = Self::SHADER_BINDING_TABLE_KHR; 10949 } 10950 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10951 impl BuildAccelerationStructureFlagsKHR { 10952 pub const ALLOW_UPDATE_NV: Self = Self::ALLOW_UPDATE; 10953 pub const ALLOW_COMPACTION_NV: Self = Self::ALLOW_COMPACTION; 10954 pub const PREFER_FAST_TRACE_NV: Self = Self::PREFER_FAST_TRACE; 10955 pub const PREFER_FAST_BUILD_NV: Self = Self::PREFER_FAST_BUILD; 10956 pub const LOW_MEMORY_NV: Self = Self::LOW_MEMORY; 10957 } 10958 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10959 impl CopyAccelerationStructureModeKHR { 10960 pub const CLONE_NV: Self = Self::CLONE; 10961 pub const COMPACT_NV: Self = Self::COMPACT; 10962 } 10963 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10964 impl DebugReportObjectTypeEXT { 10965 pub const ACCELERATION_STRUCTURE_NV: Self = Self(1_000_165_000); 10966 } 10967 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10968 impl DescriptorType { 10969 pub const ACCELERATION_STRUCTURE_NV: Self = Self(1_000_165_000); 10970 } 10971 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10972 impl GeometryFlagsKHR { 10973 pub const OPAQUE_NV: Self = Self::OPAQUE; 10974 pub const NO_DUPLICATE_ANY_HIT_INVOCATION_NV: Self = Self::NO_DUPLICATE_ANY_HIT_INVOCATION; 10975 } 10976 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10977 impl GeometryInstanceFlagsKHR { 10978 pub const TRIANGLE_CULL_DISABLE_NV: Self = Self::TRIANGLE_FACING_CULL_DISABLE; 10979 pub const TRIANGLE_FRONT_COUNTERCLOCKWISE_NV: Self = Self::TRIANGLE_FRONT_COUNTERCLOCKWISE; 10980 pub const FORCE_OPAQUE_NV: Self = Self::FORCE_OPAQUE; 10981 pub const FORCE_NO_OPAQUE_NV: Self = Self::FORCE_NO_OPAQUE; 10982 } 10983 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10984 impl GeometryTypeKHR { 10985 pub const TRIANGLES_NV: Self = Self::TRIANGLES; 10986 pub const AABBS_NV: Self = Self::AABBS; 10987 } 10988 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10989 impl IndexType { 10990 pub const NONE_NV: Self = Self::NONE_KHR; 10991 } 10992 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10993 impl ObjectType { 10994 pub const ACCELERATION_STRUCTURE_NV: Self = Self(1_000_165_000); 10995 } 10996 #[doc = "Generated from 'VK_NV_ray_tracing'"] 10997 impl PipelineBindPoint { 10998 pub const RAY_TRACING_NV: Self = Self::RAY_TRACING_KHR; 10999 } 11000 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11001 impl PipelineCreateFlags { 11002 pub const DEFER_COMPILE_NV: Self = Self(0b10_0000); 11003 } 11004 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11005 impl PipelineStageFlags { 11006 pub const RAY_TRACING_SHADER_NV: Self = Self::RAY_TRACING_SHADER_KHR; 11007 pub const ACCELERATION_STRUCTURE_BUILD_NV: Self = Self::ACCELERATION_STRUCTURE_BUILD_KHR; 11008 } 11009 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11010 impl QueryType { 11011 pub const ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: Self = Self(1_000_165_000); 11012 } 11013 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11014 impl RayTracingShaderGroupTypeKHR { 11015 pub const GENERAL_NV: Self = Self::GENERAL; 11016 pub const TRIANGLES_HIT_GROUP_NV: Self = Self::TRIANGLES_HIT_GROUP; 11017 pub const PROCEDURAL_HIT_GROUP_NV: Self = Self::PROCEDURAL_HIT_GROUP; 11018 } 11019 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11020 impl ShaderStageFlags { 11021 pub const RAYGEN_NV: Self = Self::RAYGEN_KHR; 11022 pub const ANY_HIT_NV: Self = Self::ANY_HIT_KHR; 11023 pub const CLOSEST_HIT_NV: Self = Self::CLOSEST_HIT_KHR; 11024 pub const MISS_NV: Self = Self::MISS_KHR; 11025 pub const INTERSECTION_NV: Self = Self::INTERSECTION_KHR; 11026 pub const CALLABLE_NV: Self = Self::CALLABLE_KHR; 11027 } 11028 #[doc = "Generated from 'VK_NV_ray_tracing'"] 11029 impl StructureType { 11030 pub const RAY_TRACING_PIPELINE_CREATE_INFO_NV: Self = Self(1_000_165_000); 11031 pub const ACCELERATION_STRUCTURE_CREATE_INFO_NV: Self = Self(1_000_165_001); 11032 pub const GEOMETRY_NV: Self = Self(1_000_165_003); 11033 pub const GEOMETRY_TRIANGLES_NV: Self = Self(1_000_165_004); 11034 pub const GEOMETRY_AABB_NV: Self = Self(1_000_165_005); 11035 pub const BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: Self = Self(1_000_165_006); 11036 pub const WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: Self = Self(1_000_165_007); 11037 pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: Self = Self(1_000_165_008); 11038 pub const PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: Self = Self(1_000_165_009); 11039 pub const RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: Self = Self(1_000_165_011); 11040 pub const ACCELERATION_STRUCTURE_INFO_NV: Self = Self(1_000_165_012); 11041 } 11042 impl NvRepresentativeFragmentTestFn { 11043 #[inline] name() -> &'static ::std::ffi::CStr11044 pub const fn name() -> &'static ::std::ffi::CStr { 11045 unsafe { 11046 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_representative_fragment_test\0") 11047 } 11048 } 11049 pub const SPEC_VERSION: u32 = 2u32; 11050 } 11051 #[derive(Clone)] 11052 pub struct NvRepresentativeFragmentTestFn {} 11053 unsafe impl Send for NvRepresentativeFragmentTestFn {} 11054 unsafe impl Sync for NvRepresentativeFragmentTestFn {} 11055 impl NvRepresentativeFragmentTestFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11056 pub fn load<F>(mut _f: F) -> Self 11057 where 11058 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11059 { 11060 Self {} 11061 } 11062 } 11063 #[doc = "Generated from 'VK_NV_representative_fragment_test'"] 11064 impl StructureType { 11065 pub const PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: Self = Self(1_000_166_000); 11066 pub const PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: Self = 11067 Self(1_000_166_001); 11068 } 11069 impl NvExtension168Fn { 11070 #[inline] name() -> &'static ::std::ffi::CStr11071 pub const fn name() -> &'static ::std::ffi::CStr { 11072 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_168\0") } 11073 } 11074 pub const SPEC_VERSION: u32 = 0u32; 11075 } 11076 #[derive(Clone)] 11077 pub struct NvExtension168Fn {} 11078 unsafe impl Send for NvExtension168Fn {} 11079 unsafe impl Sync for NvExtension168Fn {} 11080 impl NvExtension168Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11081 pub fn load<F>(mut _f: F) -> Self 11082 where 11083 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11084 { 11085 Self {} 11086 } 11087 } 11088 impl KhrMaintenance3Fn { 11089 #[inline] name() -> &'static ::std::ffi::CStr11090 pub const fn name() -> &'static ::std::ffi::CStr { 11091 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_maintenance3\0") } 11092 } 11093 pub const SPEC_VERSION: u32 = 1u32; 11094 } 11095 #[allow(non_camel_case_types)] 11096 pub type PFN_vkGetDescriptorSetLayoutSupport = unsafe extern "system" fn( 11097 device: Device, 11098 p_create_info: *const DescriptorSetLayoutCreateInfo, 11099 p_support: *mut DescriptorSetLayoutSupport, 11100 ); 11101 #[derive(Clone)] 11102 pub struct KhrMaintenance3Fn { 11103 pub get_descriptor_set_layout_support_khr: PFN_vkGetDescriptorSetLayoutSupport, 11104 } 11105 unsafe impl Send for KhrMaintenance3Fn {} 11106 unsafe impl Sync for KhrMaintenance3Fn {} 11107 impl KhrMaintenance3Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11108 pub fn load<F>(mut _f: F) -> Self 11109 where 11110 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11111 { 11112 Self { 11113 get_descriptor_set_layout_support_khr: unsafe { 11114 unsafe extern "system" fn get_descriptor_set_layout_support_khr( 11115 _device: Device, 11116 _p_create_info: *const DescriptorSetLayoutCreateInfo, 11117 _p_support: *mut DescriptorSetLayoutSupport, 11118 ) { 11119 panic!(concat!( 11120 "Unable to load ", 11121 stringify!(get_descriptor_set_layout_support_khr) 11122 )) 11123 } 11124 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11125 b"vkGetDescriptorSetLayoutSupportKHR\0", 11126 ); 11127 let val = _f(cname); 11128 if val.is_null() { 11129 get_descriptor_set_layout_support_khr 11130 } else { 11131 ::std::mem::transmute(val) 11132 } 11133 }, 11134 } 11135 } 11136 } 11137 #[doc = "Generated from 'VK_KHR_maintenance3'"] 11138 impl StructureType { 11139 pub const PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR: Self = 11140 Self::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; 11141 pub const DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR: Self = Self::DESCRIPTOR_SET_LAYOUT_SUPPORT; 11142 } 11143 impl KhrDrawIndirectCountFn { 11144 #[inline] name() -> &'static ::std::ffi::CStr11145 pub const fn name() -> &'static ::std::ffi::CStr { 11146 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_draw_indirect_count\0") } 11147 } 11148 pub const SPEC_VERSION: u32 = 1u32; 11149 } 11150 #[derive(Clone)] 11151 pub struct KhrDrawIndirectCountFn { 11152 pub cmd_draw_indirect_count_khr: crate::vk::PFN_vkCmdDrawIndirectCount, 11153 pub cmd_draw_indexed_indirect_count_khr: crate::vk::PFN_vkCmdDrawIndexedIndirectCount, 11154 } 11155 unsafe impl Send for KhrDrawIndirectCountFn {} 11156 unsafe impl Sync for KhrDrawIndirectCountFn {} 11157 impl KhrDrawIndirectCountFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11158 pub fn load<F>(mut _f: F) -> Self 11159 where 11160 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11161 { 11162 Self { 11163 cmd_draw_indirect_count_khr: unsafe { 11164 unsafe extern "system" fn cmd_draw_indirect_count_khr( 11165 _command_buffer: CommandBuffer, 11166 _buffer: Buffer, 11167 _offset: DeviceSize, 11168 _count_buffer: Buffer, 11169 _count_buffer_offset: DeviceSize, 11170 _max_draw_count: u32, 11171 _stride: u32, 11172 ) { 11173 panic!(concat!( 11174 "Unable to load ", 11175 stringify!(cmd_draw_indirect_count_khr) 11176 )) 11177 } 11178 let cname = 11179 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawIndirectCountKHR\0"); 11180 let val = _f(cname); 11181 if val.is_null() { 11182 cmd_draw_indirect_count_khr 11183 } else { 11184 ::std::mem::transmute(val) 11185 } 11186 }, 11187 cmd_draw_indexed_indirect_count_khr: unsafe { 11188 unsafe extern "system" fn cmd_draw_indexed_indirect_count_khr( 11189 _command_buffer: CommandBuffer, 11190 _buffer: Buffer, 11191 _offset: DeviceSize, 11192 _count_buffer: Buffer, 11193 _count_buffer_offset: DeviceSize, 11194 _max_draw_count: u32, 11195 _stride: u32, 11196 ) { 11197 panic!(concat!( 11198 "Unable to load ", 11199 stringify!(cmd_draw_indexed_indirect_count_khr) 11200 )) 11201 } 11202 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11203 b"vkCmdDrawIndexedIndirectCountKHR\0", 11204 ); 11205 let val = _f(cname); 11206 if val.is_null() { 11207 cmd_draw_indexed_indirect_count_khr 11208 } else { 11209 ::std::mem::transmute(val) 11210 } 11211 }, 11212 } 11213 } 11214 } 11215 impl ExtFilterCubicFn { 11216 #[inline] name() -> &'static ::std::ffi::CStr11217 pub const fn name() -> &'static ::std::ffi::CStr { 11218 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_filter_cubic\0") } 11219 } 11220 pub const SPEC_VERSION: u32 = 3u32; 11221 } 11222 #[derive(Clone)] 11223 pub struct ExtFilterCubicFn {} 11224 unsafe impl Send for ExtFilterCubicFn {} 11225 unsafe impl Sync for ExtFilterCubicFn {} 11226 impl ExtFilterCubicFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11227 pub fn load<F>(mut _f: F) -> Self 11228 where 11229 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11230 { 11231 Self {} 11232 } 11233 } 11234 #[doc = "Generated from 'VK_EXT_filter_cubic'"] 11235 impl Filter { 11236 pub const CUBIC_EXT: Self = Self(1_000_015_000); 11237 } 11238 #[doc = "Generated from 'VK_EXT_filter_cubic'"] 11239 impl FormatFeatureFlags { 11240 pub const SAMPLED_IMAGE_FILTER_CUBIC_EXT: Self = Self(0b10_0000_0000_0000); 11241 } 11242 #[doc = "Generated from 'VK_EXT_filter_cubic'"] 11243 impl StructureType { 11244 pub const PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: Self = Self(1_000_170_000); 11245 pub const FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: Self = Self(1_000_170_001); 11246 } 11247 impl QcomRenderPassShaderResolveFn { 11248 #[inline] name() -> &'static ::std::ffi::CStr11249 pub const fn name() -> &'static ::std::ffi::CStr { 11250 unsafe { 11251 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_render_pass_shader_resolve\0") 11252 } 11253 } 11254 pub const SPEC_VERSION: u32 = 4u32; 11255 } 11256 #[derive(Clone)] 11257 pub struct QcomRenderPassShaderResolveFn {} 11258 unsafe impl Send for QcomRenderPassShaderResolveFn {} 11259 unsafe impl Sync for QcomRenderPassShaderResolveFn {} 11260 impl QcomRenderPassShaderResolveFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11261 pub fn load<F>(mut _f: F) -> Self 11262 where 11263 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11264 { 11265 Self {} 11266 } 11267 } 11268 #[doc = "Generated from 'VK_QCOM_render_pass_shader_resolve'"] 11269 impl SubpassDescriptionFlags { 11270 pub const FRAGMENT_REGION_QCOM: Self = Self(0b100); 11271 pub const SHADER_RESOLVE_QCOM: Self = Self(0b1000); 11272 } 11273 impl QcomExtension173Fn { 11274 #[inline] name() -> &'static ::std::ffi::CStr11275 pub const fn name() -> &'static ::std::ffi::CStr { 11276 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_173\0") } 11277 } 11278 pub const SPEC_VERSION: u32 = 0u32; 11279 } 11280 #[derive(Clone)] 11281 pub struct QcomExtension173Fn {} 11282 unsafe impl Send for QcomExtension173Fn {} 11283 unsafe impl Sync for QcomExtension173Fn {} 11284 impl QcomExtension173Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11285 pub fn load<F>(mut _f: F) -> Self 11286 where 11287 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11288 { 11289 Self {} 11290 } 11291 } 11292 #[doc = "Generated from 'VK_QCOM_extension_173'"] 11293 impl BufferUsageFlags { 11294 pub const RESERVED_18_QCOM: Self = Self(0b100_0000_0000_0000_0000); 11295 } 11296 #[doc = "Generated from 'VK_QCOM_extension_173'"] 11297 impl ImageUsageFlags { 11298 pub const RESERVED_16_QCOM: Self = Self(0b1_0000_0000_0000_0000); 11299 pub const RESERVED_17_QCOM: Self = Self(0b10_0000_0000_0000_0000); 11300 } 11301 impl QcomExtension174Fn { 11302 #[inline] name() -> &'static ::std::ffi::CStr11303 pub const fn name() -> &'static ::std::ffi::CStr { 11304 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_174\0") } 11305 } 11306 pub const SPEC_VERSION: u32 = 0u32; 11307 } 11308 #[derive(Clone)] 11309 pub struct QcomExtension174Fn {} 11310 unsafe impl Send for QcomExtension174Fn {} 11311 unsafe impl Sync for QcomExtension174Fn {} 11312 impl QcomExtension174Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11313 pub fn load<F>(mut _f: F) -> Self 11314 where 11315 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11316 { 11317 Self {} 11318 } 11319 } 11320 impl ExtGlobalPriorityFn { 11321 #[inline] name() -> &'static ::std::ffi::CStr11322 pub const fn name() -> &'static ::std::ffi::CStr { 11323 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_global_priority\0") } 11324 } 11325 pub const SPEC_VERSION: u32 = 2u32; 11326 } 11327 #[derive(Clone)] 11328 pub struct ExtGlobalPriorityFn {} 11329 unsafe impl Send for ExtGlobalPriorityFn {} 11330 unsafe impl Sync for ExtGlobalPriorityFn {} 11331 impl ExtGlobalPriorityFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11332 pub fn load<F>(mut _f: F) -> Self 11333 where 11334 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11335 { 11336 Self {} 11337 } 11338 } 11339 #[doc = "Generated from 'VK_EXT_global_priority'"] 11340 impl Result { 11341 pub const ERROR_NOT_PERMITTED_EXT: Self = Self::ERROR_NOT_PERMITTED_KHR; 11342 } 11343 #[doc = "Generated from 'VK_EXT_global_priority'"] 11344 impl StructureType { 11345 pub const DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: Self = 11346 Self::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR; 11347 } 11348 impl KhrShaderSubgroupExtendedTypesFn { 11349 #[inline] name() -> &'static ::std::ffi::CStr11350 pub const fn name() -> &'static ::std::ffi::CStr { 11351 unsafe { 11352 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11353 b"VK_KHR_shader_subgroup_extended_types\0", 11354 ) 11355 } 11356 } 11357 pub const SPEC_VERSION: u32 = 1u32; 11358 } 11359 #[derive(Clone)] 11360 pub struct KhrShaderSubgroupExtendedTypesFn {} 11361 unsafe impl Send for KhrShaderSubgroupExtendedTypesFn {} 11362 unsafe impl Sync for KhrShaderSubgroupExtendedTypesFn {} 11363 impl KhrShaderSubgroupExtendedTypesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11364 pub fn load<F>(mut _f: F) -> Self 11365 where 11366 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11367 { 11368 Self {} 11369 } 11370 } 11371 #[doc = "Generated from 'VK_KHR_shader_subgroup_extended_types'"] 11372 impl StructureType { 11373 pub const PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR: Self = 11374 Self::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; 11375 } 11376 impl ExtExtension177Fn { 11377 #[inline] name() -> &'static ::std::ffi::CStr11378 pub const fn name() -> &'static ::std::ffi::CStr { 11379 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_177\0") } 11380 } 11381 pub const SPEC_VERSION: u32 = 0u32; 11382 } 11383 #[derive(Clone)] 11384 pub struct ExtExtension177Fn {} 11385 unsafe impl Send for ExtExtension177Fn {} 11386 unsafe impl Sync for ExtExtension177Fn {} 11387 impl ExtExtension177Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11388 pub fn load<F>(mut _f: F) -> Self 11389 where 11390 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11391 { 11392 Self {} 11393 } 11394 } 11395 impl Khr8bitStorageFn { 11396 #[inline] name() -> &'static ::std::ffi::CStr11397 pub const fn name() -> &'static ::std::ffi::CStr { 11398 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_8bit_storage\0") } 11399 } 11400 pub const SPEC_VERSION: u32 = 1u32; 11401 } 11402 #[derive(Clone)] 11403 pub struct Khr8bitStorageFn {} 11404 unsafe impl Send for Khr8bitStorageFn {} 11405 unsafe impl Sync for Khr8bitStorageFn {} 11406 impl Khr8bitStorageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11407 pub fn load<F>(mut _f: F) -> Self 11408 where 11409 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11410 { 11411 Self {} 11412 } 11413 } 11414 #[doc = "Generated from 'VK_KHR_8bit_storage'"] 11415 impl StructureType { 11416 pub const PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: Self = 11417 Self::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES; 11418 } 11419 impl ExtExternalMemoryHostFn { 11420 #[inline] name() -> &'static ::std::ffi::CStr11421 pub const fn name() -> &'static ::std::ffi::CStr { 11422 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_external_memory_host\0") } 11423 } 11424 pub const SPEC_VERSION: u32 = 1u32; 11425 } 11426 #[allow(non_camel_case_types)] 11427 pub type PFN_vkGetMemoryHostPointerPropertiesEXT = unsafe extern "system" fn( 11428 device: Device, 11429 handle_type: ExternalMemoryHandleTypeFlags, 11430 p_host_pointer: *const c_void, 11431 p_memory_host_pointer_properties: *mut MemoryHostPointerPropertiesEXT, 11432 ) -> Result; 11433 #[derive(Clone)] 11434 pub struct ExtExternalMemoryHostFn { 11435 pub get_memory_host_pointer_properties_ext: PFN_vkGetMemoryHostPointerPropertiesEXT, 11436 } 11437 unsafe impl Send for ExtExternalMemoryHostFn {} 11438 unsafe impl Sync for ExtExternalMemoryHostFn {} 11439 impl ExtExternalMemoryHostFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11440 pub fn load<F>(mut _f: F) -> Self 11441 where 11442 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11443 { 11444 Self { 11445 get_memory_host_pointer_properties_ext: unsafe { 11446 unsafe extern "system" fn get_memory_host_pointer_properties_ext( 11447 _device: Device, 11448 _handle_type: ExternalMemoryHandleTypeFlags, 11449 _p_host_pointer: *const c_void, 11450 _p_memory_host_pointer_properties: *mut MemoryHostPointerPropertiesEXT, 11451 ) -> Result { 11452 panic!(concat!( 11453 "Unable to load ", 11454 stringify!(get_memory_host_pointer_properties_ext) 11455 )) 11456 } 11457 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11458 b"vkGetMemoryHostPointerPropertiesEXT\0", 11459 ); 11460 let val = _f(cname); 11461 if val.is_null() { 11462 get_memory_host_pointer_properties_ext 11463 } else { 11464 ::std::mem::transmute(val) 11465 } 11466 }, 11467 } 11468 } 11469 } 11470 #[doc = "Generated from 'VK_EXT_external_memory_host'"] 11471 impl ExternalMemoryHandleTypeFlags { 11472 pub const HOST_ALLOCATION_EXT: Self = Self(0b1000_0000); 11473 pub const HOST_MAPPED_FOREIGN_MEMORY_EXT: Self = Self(0b1_0000_0000); 11474 } 11475 #[doc = "Generated from 'VK_EXT_external_memory_host'"] 11476 impl StructureType { 11477 pub const IMPORT_MEMORY_HOST_POINTER_INFO_EXT: Self = Self(1_000_178_000); 11478 pub const MEMORY_HOST_POINTER_PROPERTIES_EXT: Self = Self(1_000_178_001); 11479 pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: Self = Self(1_000_178_002); 11480 } 11481 impl AmdBufferMarkerFn { 11482 #[inline] name() -> &'static ::std::ffi::CStr11483 pub const fn name() -> &'static ::std::ffi::CStr { 11484 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_buffer_marker\0") } 11485 } 11486 pub const SPEC_VERSION: u32 = 1u32; 11487 } 11488 #[allow(non_camel_case_types)] 11489 pub type PFN_vkCmdWriteBufferMarkerAMD = unsafe extern "system" fn( 11490 command_buffer: CommandBuffer, 11491 pipeline_stage: PipelineStageFlags, 11492 dst_buffer: Buffer, 11493 dst_offset: DeviceSize, 11494 marker: u32, 11495 ); 11496 #[derive(Clone)] 11497 pub struct AmdBufferMarkerFn { 11498 pub cmd_write_buffer_marker_amd: PFN_vkCmdWriteBufferMarkerAMD, 11499 } 11500 unsafe impl Send for AmdBufferMarkerFn {} 11501 unsafe impl Sync for AmdBufferMarkerFn {} 11502 impl AmdBufferMarkerFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11503 pub fn load<F>(mut _f: F) -> Self 11504 where 11505 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11506 { 11507 Self { 11508 cmd_write_buffer_marker_amd: unsafe { 11509 unsafe extern "system" fn cmd_write_buffer_marker_amd( 11510 _command_buffer: CommandBuffer, 11511 _pipeline_stage: PipelineStageFlags, 11512 _dst_buffer: Buffer, 11513 _dst_offset: DeviceSize, 11514 _marker: u32, 11515 ) { 11516 panic!(concat!( 11517 "Unable to load ", 11518 stringify!(cmd_write_buffer_marker_amd) 11519 )) 11520 } 11521 let cname = 11522 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWriteBufferMarkerAMD\0"); 11523 let val = _f(cname); 11524 if val.is_null() { 11525 cmd_write_buffer_marker_amd 11526 } else { 11527 ::std::mem::transmute(val) 11528 } 11529 }, 11530 } 11531 } 11532 } 11533 impl KhrShaderAtomicInt64Fn { 11534 #[inline] name() -> &'static ::std::ffi::CStr11535 pub const fn name() -> &'static ::std::ffi::CStr { 11536 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_atomic_int64\0") } 11537 } 11538 pub const SPEC_VERSION: u32 = 1u32; 11539 } 11540 #[derive(Clone)] 11541 pub struct KhrShaderAtomicInt64Fn {} 11542 unsafe impl Send for KhrShaderAtomicInt64Fn {} 11543 unsafe impl Sync for KhrShaderAtomicInt64Fn {} 11544 impl KhrShaderAtomicInt64Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11545 pub fn load<F>(mut _f: F) -> Self 11546 where 11547 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11548 { 11549 Self {} 11550 } 11551 } 11552 #[doc = "Generated from 'VK_KHR_shader_atomic_int64'"] 11553 impl StructureType { 11554 pub const PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: Self = 11555 Self::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES; 11556 } 11557 impl KhrShaderClockFn { 11558 #[inline] name() -> &'static ::std::ffi::CStr11559 pub const fn name() -> &'static ::std::ffi::CStr { 11560 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_clock\0") } 11561 } 11562 pub const SPEC_VERSION: u32 = 1u32; 11563 } 11564 #[derive(Clone)] 11565 pub struct KhrShaderClockFn {} 11566 unsafe impl Send for KhrShaderClockFn {} 11567 unsafe impl Sync for KhrShaderClockFn {} 11568 impl KhrShaderClockFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11569 pub fn load<F>(mut _f: F) -> Self 11570 where 11571 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11572 { 11573 Self {} 11574 } 11575 } 11576 #[doc = "Generated from 'VK_KHR_shader_clock'"] 11577 impl StructureType { 11578 pub const PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: Self = Self(1_000_181_000); 11579 } 11580 impl AmdExtension183Fn { 11581 #[inline] name() -> &'static ::std::ffi::CStr11582 pub const fn name() -> &'static ::std::ffi::CStr { 11583 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_183\0") } 11584 } 11585 pub const SPEC_VERSION: u32 = 0u32; 11586 } 11587 #[derive(Clone)] 11588 pub struct AmdExtension183Fn {} 11589 unsafe impl Send for AmdExtension183Fn {} 11590 unsafe impl Sync for AmdExtension183Fn {} 11591 impl AmdExtension183Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11592 pub fn load<F>(mut _f: F) -> Self 11593 where 11594 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11595 { 11596 Self {} 11597 } 11598 } 11599 impl AmdPipelineCompilerControlFn { 11600 #[inline] name() -> &'static ::std::ffi::CStr11601 pub const fn name() -> &'static ::std::ffi::CStr { 11602 unsafe { 11603 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_pipeline_compiler_control\0") 11604 } 11605 } 11606 pub const SPEC_VERSION: u32 = 1u32; 11607 } 11608 #[derive(Clone)] 11609 pub struct AmdPipelineCompilerControlFn {} 11610 unsafe impl Send for AmdPipelineCompilerControlFn {} 11611 unsafe impl Sync for AmdPipelineCompilerControlFn {} 11612 impl AmdPipelineCompilerControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11613 pub fn load<F>(mut _f: F) -> Self 11614 where 11615 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11616 { 11617 Self {} 11618 } 11619 } 11620 #[doc = "Generated from 'VK_AMD_pipeline_compiler_control'"] 11621 impl StructureType { 11622 pub const PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: Self = Self(1_000_183_000); 11623 } 11624 impl ExtCalibratedTimestampsFn { 11625 #[inline] name() -> &'static ::std::ffi::CStr11626 pub const fn name() -> &'static ::std::ffi::CStr { 11627 unsafe { 11628 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_calibrated_timestamps\0") 11629 } 11630 } 11631 pub const SPEC_VERSION: u32 = 2u32; 11632 } 11633 #[allow(non_camel_case_types)] 11634 pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = unsafe extern "system" fn( 11635 physical_device: PhysicalDevice, 11636 p_time_domain_count: *mut u32, 11637 p_time_domains: *mut TimeDomainEXT, 11638 ) -> Result; 11639 #[allow(non_camel_case_types)] 11640 pub type PFN_vkGetCalibratedTimestampsEXT = unsafe extern "system" fn( 11641 device: Device, 11642 timestamp_count: u32, 11643 p_timestamp_infos: *const CalibratedTimestampInfoEXT, 11644 p_timestamps: *mut u64, 11645 p_max_deviation: *mut u64, 11646 ) -> Result; 11647 #[derive(Clone)] 11648 pub struct ExtCalibratedTimestampsFn { 11649 pub get_physical_device_calibrateable_time_domains_ext: 11650 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, 11651 pub get_calibrated_timestamps_ext: PFN_vkGetCalibratedTimestampsEXT, 11652 } 11653 unsafe impl Send for ExtCalibratedTimestampsFn {} 11654 unsafe impl Sync for ExtCalibratedTimestampsFn {} 11655 impl ExtCalibratedTimestampsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11656 pub fn load<F>(mut _f: F) -> Self 11657 where 11658 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11659 { 11660 Self { 11661 get_physical_device_calibrateable_time_domains_ext: unsafe { 11662 unsafe extern "system" fn get_physical_device_calibrateable_time_domains_ext( 11663 _physical_device: PhysicalDevice, 11664 _p_time_domain_count: *mut u32, 11665 _p_time_domains: *mut TimeDomainEXT, 11666 ) -> Result { 11667 panic!(concat!( 11668 "Unable to load ", 11669 stringify!(get_physical_device_calibrateable_time_domains_ext) 11670 )) 11671 } 11672 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11673 b"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT\0", 11674 ); 11675 let val = _f(cname); 11676 if val.is_null() { 11677 get_physical_device_calibrateable_time_domains_ext 11678 } else { 11679 ::std::mem::transmute(val) 11680 } 11681 }, 11682 get_calibrated_timestamps_ext: unsafe { 11683 unsafe extern "system" fn get_calibrated_timestamps_ext( 11684 _device: Device, 11685 _timestamp_count: u32, 11686 _p_timestamp_infos: *const CalibratedTimestampInfoEXT, 11687 _p_timestamps: *mut u64, 11688 _p_max_deviation: *mut u64, 11689 ) -> Result { 11690 panic!(concat!( 11691 "Unable to load ", 11692 stringify!(get_calibrated_timestamps_ext) 11693 )) 11694 } 11695 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11696 b"vkGetCalibratedTimestampsEXT\0", 11697 ); 11698 let val = _f(cname); 11699 if val.is_null() { 11700 get_calibrated_timestamps_ext 11701 } else { 11702 ::std::mem::transmute(val) 11703 } 11704 }, 11705 } 11706 } 11707 } 11708 #[doc = "Generated from 'VK_EXT_calibrated_timestamps'"] 11709 impl StructureType { 11710 pub const CALIBRATED_TIMESTAMP_INFO_EXT: Self = Self(1_000_184_000); 11711 } 11712 impl AmdShaderCorePropertiesFn { 11713 #[inline] name() -> &'static ::std::ffi::CStr11714 pub const fn name() -> &'static ::std::ffi::CStr { 11715 unsafe { 11716 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_core_properties\0") 11717 } 11718 } 11719 pub const SPEC_VERSION: u32 = 2u32; 11720 } 11721 #[derive(Clone)] 11722 pub struct AmdShaderCorePropertiesFn {} 11723 unsafe impl Send for AmdShaderCorePropertiesFn {} 11724 unsafe impl Sync for AmdShaderCorePropertiesFn {} 11725 impl AmdShaderCorePropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11726 pub fn load<F>(mut _f: F) -> Self 11727 where 11728 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11729 { 11730 Self {} 11731 } 11732 } 11733 #[doc = "Generated from 'VK_AMD_shader_core_properties'"] 11734 impl StructureType { 11735 pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: Self = Self(1_000_185_000); 11736 } 11737 impl AmdExtension187Fn { 11738 #[inline] name() -> &'static ::std::ffi::CStr11739 pub const fn name() -> &'static ::std::ffi::CStr { 11740 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_187\0") } 11741 } 11742 pub const SPEC_VERSION: u32 = 0u32; 11743 } 11744 #[derive(Clone)] 11745 pub struct AmdExtension187Fn {} 11746 unsafe impl Send for AmdExtension187Fn {} 11747 unsafe impl Sync for AmdExtension187Fn {} 11748 impl AmdExtension187Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11749 pub fn load<F>(mut _f: F) -> Self 11750 where 11751 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11752 { 11753 Self {} 11754 } 11755 } 11756 impl KhrVideoDecodeH265Fn { 11757 #[inline] name() -> &'static ::std::ffi::CStr11758 pub const fn name() -> &'static ::std::ffi::CStr { 11759 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_decode_h265\0") } 11760 } 11761 pub const SPEC_VERSION: u32 = 7u32; 11762 } 11763 #[derive(Clone)] 11764 pub struct KhrVideoDecodeH265Fn {} 11765 unsafe impl Send for KhrVideoDecodeH265Fn {} 11766 unsafe impl Sync for KhrVideoDecodeH265Fn {} 11767 impl KhrVideoDecodeH265Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11768 pub fn load<F>(mut _f: F) -> Self 11769 where 11770 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11771 { 11772 Self {} 11773 } 11774 } 11775 #[doc = "Generated from 'VK_KHR_video_decode_h265'"] 11776 impl StructureType { 11777 pub const VIDEO_DECODE_H265_CAPABILITIES_KHR: Self = Self(1_000_187_000); 11778 pub const VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: Self = Self(1_000_187_001); 11779 pub const VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: Self = Self(1_000_187_002); 11780 pub const VIDEO_DECODE_H265_PROFILE_INFO_KHR: Self = Self(1_000_187_003); 11781 pub const VIDEO_DECODE_H265_PICTURE_INFO_KHR: Self = Self(1_000_187_004); 11782 pub const VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: Self = Self(1_000_187_005); 11783 } 11784 #[doc = "Generated from 'VK_KHR_video_decode_h265'"] 11785 impl VideoCodecOperationFlagsKHR { 11786 pub const DECODE_H265: Self = Self(0b10); 11787 } 11788 impl KhrGlobalPriorityFn { 11789 #[inline] name() -> &'static ::std::ffi::CStr11790 pub const fn name() -> &'static ::std::ffi::CStr { 11791 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_global_priority\0") } 11792 } 11793 pub const SPEC_VERSION: u32 = 1u32; 11794 } 11795 #[derive(Clone)] 11796 pub struct KhrGlobalPriorityFn {} 11797 unsafe impl Send for KhrGlobalPriorityFn {} 11798 unsafe impl Sync for KhrGlobalPriorityFn {} 11799 impl KhrGlobalPriorityFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11800 pub fn load<F>(mut _f: F) -> Self 11801 where 11802 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11803 { 11804 Self {} 11805 } 11806 } 11807 #[doc = "Generated from 'VK_KHR_global_priority'"] 11808 impl Result { 11809 pub const ERROR_NOT_PERMITTED_KHR: Self = Self(-1_000_174_001); 11810 } 11811 #[doc = "Generated from 'VK_KHR_global_priority'"] 11812 impl StructureType { 11813 pub const DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: Self = Self(1_000_174_000); 11814 pub const PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: Self = Self(1_000_388_000); 11815 pub const QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: Self = Self(1_000_388_001); 11816 } 11817 impl AmdMemoryOverallocationBehaviorFn { 11818 #[inline] name() -> &'static ::std::ffi::CStr11819 pub const fn name() -> &'static ::std::ffi::CStr { 11820 unsafe { 11821 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 11822 b"VK_AMD_memory_overallocation_behavior\0", 11823 ) 11824 } 11825 } 11826 pub const SPEC_VERSION: u32 = 1u32; 11827 } 11828 #[derive(Clone)] 11829 pub struct AmdMemoryOverallocationBehaviorFn {} 11830 unsafe impl Send for AmdMemoryOverallocationBehaviorFn {} 11831 unsafe impl Sync for AmdMemoryOverallocationBehaviorFn {} 11832 impl AmdMemoryOverallocationBehaviorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11833 pub fn load<F>(mut _f: F) -> Self 11834 where 11835 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11836 { 11837 Self {} 11838 } 11839 } 11840 #[doc = "Generated from 'VK_AMD_memory_overallocation_behavior'"] 11841 impl StructureType { 11842 pub const DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: Self = Self(1_000_189_000); 11843 } 11844 impl ExtVertexAttributeDivisorFn { 11845 #[inline] name() -> &'static ::std::ffi::CStr11846 pub const fn name() -> &'static ::std::ffi::CStr { 11847 unsafe { 11848 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_vertex_attribute_divisor\0") 11849 } 11850 } 11851 pub const SPEC_VERSION: u32 = 3u32; 11852 } 11853 #[derive(Clone)] 11854 pub struct ExtVertexAttributeDivisorFn {} 11855 unsafe impl Send for ExtVertexAttributeDivisorFn {} 11856 unsafe impl Sync for ExtVertexAttributeDivisorFn {} 11857 impl ExtVertexAttributeDivisorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11858 pub fn load<F>(mut _f: F) -> Self 11859 where 11860 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11861 { 11862 Self {} 11863 } 11864 } 11865 #[doc = "Generated from 'VK_EXT_vertex_attribute_divisor'"] 11866 impl StructureType { 11867 pub const PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: Self = Self(1_000_190_000); 11868 pub const PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: Self = Self(1_000_190_001); 11869 pub const PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: Self = Self(1_000_190_002); 11870 } 11871 impl GgpFrameTokenFn { 11872 #[inline] name() -> &'static ::std::ffi::CStr11873 pub const fn name() -> &'static ::std::ffi::CStr { 11874 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_frame_token\0") } 11875 } 11876 pub const SPEC_VERSION: u32 = 1u32; 11877 } 11878 #[derive(Clone)] 11879 pub struct GgpFrameTokenFn {} 11880 unsafe impl Send for GgpFrameTokenFn {} 11881 unsafe impl Sync for GgpFrameTokenFn {} 11882 impl GgpFrameTokenFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11883 pub fn load<F>(mut _f: F) -> Self 11884 where 11885 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11886 { 11887 Self {} 11888 } 11889 } 11890 #[doc = "Generated from 'VK_GGP_frame_token'"] 11891 impl StructureType { 11892 pub const PRESENT_FRAME_TOKEN_GGP: Self = Self(1_000_191_000); 11893 } 11894 impl ExtPipelineCreationFeedbackFn { 11895 #[inline] name() -> &'static ::std::ffi::CStr11896 pub const fn name() -> &'static ::std::ffi::CStr { 11897 unsafe { 11898 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pipeline_creation_feedback\0") 11899 } 11900 } 11901 pub const SPEC_VERSION: u32 = 1u32; 11902 } 11903 #[derive(Clone)] 11904 pub struct ExtPipelineCreationFeedbackFn {} 11905 unsafe impl Send for ExtPipelineCreationFeedbackFn {} 11906 unsafe impl Sync for ExtPipelineCreationFeedbackFn {} 11907 impl ExtPipelineCreationFeedbackFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11908 pub fn load<F>(mut _f: F) -> Self 11909 where 11910 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11911 { 11912 Self {} 11913 } 11914 } 11915 #[doc = "Generated from 'VK_EXT_pipeline_creation_feedback'"] 11916 impl StructureType { 11917 pub const PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: Self = 11918 Self::PIPELINE_CREATION_FEEDBACK_CREATE_INFO; 11919 } 11920 impl GoogleExtension194Fn { 11921 #[inline] name() -> &'static ::std::ffi::CStr11922 pub const fn name() -> &'static ::std::ffi::CStr { 11923 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_194\0") } 11924 } 11925 pub const SPEC_VERSION: u32 = 0u32; 11926 } 11927 #[derive(Clone)] 11928 pub struct GoogleExtension194Fn {} 11929 unsafe impl Send for GoogleExtension194Fn {} 11930 unsafe impl Sync for GoogleExtension194Fn {} 11931 impl GoogleExtension194Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11932 pub fn load<F>(mut _f: F) -> Self 11933 where 11934 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11935 { 11936 Self {} 11937 } 11938 } 11939 impl GoogleExtension195Fn { 11940 #[inline] name() -> &'static ::std::ffi::CStr11941 pub const fn name() -> &'static ::std::ffi::CStr { 11942 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_195\0") } 11943 } 11944 pub const SPEC_VERSION: u32 = 0u32; 11945 } 11946 #[derive(Clone)] 11947 pub struct GoogleExtension195Fn {} 11948 unsafe impl Send for GoogleExtension195Fn {} 11949 unsafe impl Sync for GoogleExtension195Fn {} 11950 impl GoogleExtension195Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11951 pub fn load<F>(mut _f: F) -> Self 11952 where 11953 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11954 { 11955 Self {} 11956 } 11957 } 11958 impl KhrDriverPropertiesFn { 11959 #[inline] name() -> &'static ::std::ffi::CStr11960 pub const fn name() -> &'static ::std::ffi::CStr { 11961 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_driver_properties\0") } 11962 } 11963 pub const SPEC_VERSION: u32 = 1u32; 11964 } 11965 #[derive(Clone)] 11966 pub struct KhrDriverPropertiesFn {} 11967 unsafe impl Send for KhrDriverPropertiesFn {} 11968 unsafe impl Sync for KhrDriverPropertiesFn {} 11969 impl KhrDriverPropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,11970 pub fn load<F>(mut _f: F) -> Self 11971 where 11972 F: FnMut(&::std::ffi::CStr) -> *const c_void, 11973 { 11974 Self {} 11975 } 11976 } 11977 #[doc = "Generated from 'VK_KHR_driver_properties'"] 11978 impl DriverId { 11979 pub const AMD_PROPRIETARY_KHR: Self = Self::AMD_PROPRIETARY; 11980 pub const AMD_OPEN_SOURCE_KHR: Self = Self::AMD_OPEN_SOURCE; 11981 pub const MESA_RADV_KHR: Self = Self::MESA_RADV; 11982 pub const NVIDIA_PROPRIETARY_KHR: Self = Self::NVIDIA_PROPRIETARY; 11983 pub const INTEL_PROPRIETARY_WINDOWS_KHR: Self = Self::INTEL_PROPRIETARY_WINDOWS; 11984 pub const INTEL_OPEN_SOURCE_MESA_KHR: Self = Self::INTEL_OPEN_SOURCE_MESA; 11985 pub const IMAGINATION_PROPRIETARY_KHR: Self = Self::IMAGINATION_PROPRIETARY; 11986 pub const QUALCOMM_PROPRIETARY_KHR: Self = Self::QUALCOMM_PROPRIETARY; 11987 pub const ARM_PROPRIETARY_KHR: Self = Self::ARM_PROPRIETARY; 11988 pub const GOOGLE_SWIFTSHADER_KHR: Self = Self::GOOGLE_SWIFTSHADER; 11989 pub const GGP_PROPRIETARY_KHR: Self = Self::GGP_PROPRIETARY; 11990 pub const BROADCOM_PROPRIETARY_KHR: Self = Self::BROADCOM_PROPRIETARY; 11991 } 11992 #[doc = "Generated from 'VK_KHR_driver_properties'"] 11993 impl StructureType { 11994 pub const PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: Self = Self::PHYSICAL_DEVICE_DRIVER_PROPERTIES; 11995 } 11996 impl KhrShaderFloatControlsFn { 11997 #[inline] name() -> &'static ::std::ffi::CStr11998 pub const fn name() -> &'static ::std::ffi::CStr { 11999 unsafe { 12000 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_float_controls\0") 12001 } 12002 } 12003 pub const SPEC_VERSION: u32 = 4u32; 12004 } 12005 #[derive(Clone)] 12006 pub struct KhrShaderFloatControlsFn {} 12007 unsafe impl Send for KhrShaderFloatControlsFn {} 12008 unsafe impl Sync for KhrShaderFloatControlsFn {} 12009 impl KhrShaderFloatControlsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12010 pub fn load<F>(mut _f: F) -> Self 12011 where 12012 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12013 { 12014 Self {} 12015 } 12016 } 12017 #[doc = "Generated from 'VK_KHR_shader_float_controls'"] 12018 impl ShaderFloatControlsIndependence { 12019 pub const TYPE_32_ONLY_KHR: Self = Self::TYPE_32_ONLY; 12020 pub const ALL_KHR: Self = Self::ALL; 12021 pub const NONE_KHR: Self = Self::NONE; 12022 } 12023 #[doc = "Generated from 'VK_KHR_shader_float_controls'"] 12024 impl StructureType { 12025 pub const PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: Self = 12026 Self::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES; 12027 } 12028 impl NvShaderSubgroupPartitionedFn { 12029 #[inline] name() -> &'static ::std::ffi::CStr12030 pub const fn name() -> &'static ::std::ffi::CStr { 12031 unsafe { 12032 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_shader_subgroup_partitioned\0") 12033 } 12034 } 12035 pub const SPEC_VERSION: u32 = 1u32; 12036 } 12037 #[derive(Clone)] 12038 pub struct NvShaderSubgroupPartitionedFn {} 12039 unsafe impl Send for NvShaderSubgroupPartitionedFn {} 12040 unsafe impl Sync for NvShaderSubgroupPartitionedFn {} 12041 impl NvShaderSubgroupPartitionedFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12042 pub fn load<F>(mut _f: F) -> Self 12043 where 12044 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12045 { 12046 Self {} 12047 } 12048 } 12049 #[doc = "Generated from 'VK_NV_shader_subgroup_partitioned'"] 12050 impl SubgroupFeatureFlags { 12051 pub const PARTITIONED_NV: Self = Self(0b1_0000_0000); 12052 } 12053 impl KhrDepthStencilResolveFn { 12054 #[inline] name() -> &'static ::std::ffi::CStr12055 pub const fn name() -> &'static ::std::ffi::CStr { 12056 unsafe { 12057 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_depth_stencil_resolve\0") 12058 } 12059 } 12060 pub const SPEC_VERSION: u32 = 1u32; 12061 } 12062 #[derive(Clone)] 12063 pub struct KhrDepthStencilResolveFn {} 12064 unsafe impl Send for KhrDepthStencilResolveFn {} 12065 unsafe impl Sync for KhrDepthStencilResolveFn {} 12066 impl KhrDepthStencilResolveFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12067 pub fn load<F>(mut _f: F) -> Self 12068 where 12069 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12070 { 12071 Self {} 12072 } 12073 } 12074 #[doc = "Generated from 'VK_KHR_depth_stencil_resolve'"] 12075 impl ResolveModeFlags { 12076 pub const NONE_KHR: Self = Self::NONE; 12077 pub const SAMPLE_ZERO_KHR: Self = Self::SAMPLE_ZERO; 12078 pub const AVERAGE_KHR: Self = Self::AVERAGE; 12079 pub const MIN_KHR: Self = Self::MIN; 12080 pub const MAX_KHR: Self = Self::MAX; 12081 } 12082 #[doc = "Generated from 'VK_KHR_depth_stencil_resolve'"] 12083 impl StructureType { 12084 pub const PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: Self = 12085 Self::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES; 12086 pub const SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: Self = 12087 Self::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE; 12088 } 12089 impl KhrSwapchainMutableFormatFn { 12090 #[inline] name() -> &'static ::std::ffi::CStr12091 pub const fn name() -> &'static ::std::ffi::CStr { 12092 unsafe { 12093 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_swapchain_mutable_format\0") 12094 } 12095 } 12096 pub const SPEC_VERSION: u32 = 1u32; 12097 } 12098 #[derive(Clone)] 12099 pub struct KhrSwapchainMutableFormatFn {} 12100 unsafe impl Send for KhrSwapchainMutableFormatFn {} 12101 unsafe impl Sync for KhrSwapchainMutableFormatFn {} 12102 impl KhrSwapchainMutableFormatFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12103 pub fn load<F>(mut _f: F) -> Self 12104 where 12105 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12106 { 12107 Self {} 12108 } 12109 } 12110 #[doc = "Generated from 'VK_KHR_swapchain_mutable_format'"] 12111 impl SwapchainCreateFlagsKHR { 12112 pub const MUTABLE_FORMAT: Self = Self(0b100); 12113 } 12114 impl NvComputeShaderDerivativesFn { 12115 #[inline] name() -> &'static ::std::ffi::CStr12116 pub const fn name() -> &'static ::std::ffi::CStr { 12117 unsafe { 12118 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_compute_shader_derivatives\0") 12119 } 12120 } 12121 pub const SPEC_VERSION: u32 = 1u32; 12122 } 12123 #[derive(Clone)] 12124 pub struct NvComputeShaderDerivativesFn {} 12125 unsafe impl Send for NvComputeShaderDerivativesFn {} 12126 unsafe impl Sync for NvComputeShaderDerivativesFn {} 12127 impl NvComputeShaderDerivativesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12128 pub fn load<F>(mut _f: F) -> Self 12129 where 12130 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12131 { 12132 Self {} 12133 } 12134 } 12135 #[doc = "Generated from 'VK_NV_compute_shader_derivatives'"] 12136 impl StructureType { 12137 pub const PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: Self = Self(1_000_201_000); 12138 } 12139 impl NvMeshShaderFn { 12140 #[inline] name() -> &'static ::std::ffi::CStr12141 pub const fn name() -> &'static ::std::ffi::CStr { 12142 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_mesh_shader\0") } 12143 } 12144 pub const SPEC_VERSION: u32 = 1u32; 12145 } 12146 #[allow(non_camel_case_types)] 12147 pub type PFN_vkCmdDrawMeshTasksNV = 12148 unsafe extern "system" fn(command_buffer: CommandBuffer, task_count: u32, first_task: u32); 12149 #[allow(non_camel_case_types)] 12150 pub type PFN_vkCmdDrawMeshTasksIndirectNV = unsafe extern "system" fn( 12151 command_buffer: CommandBuffer, 12152 buffer: Buffer, 12153 offset: DeviceSize, 12154 draw_count: u32, 12155 stride: u32, 12156 ); 12157 #[allow(non_camel_case_types)] 12158 pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = unsafe extern "system" fn( 12159 command_buffer: CommandBuffer, 12160 buffer: Buffer, 12161 offset: DeviceSize, 12162 count_buffer: Buffer, 12163 count_buffer_offset: DeviceSize, 12164 max_draw_count: u32, 12165 stride: u32, 12166 ); 12167 #[derive(Clone)] 12168 pub struct NvMeshShaderFn { 12169 pub cmd_draw_mesh_tasks_nv: PFN_vkCmdDrawMeshTasksNV, 12170 pub cmd_draw_mesh_tasks_indirect_nv: PFN_vkCmdDrawMeshTasksIndirectNV, 12171 pub cmd_draw_mesh_tasks_indirect_count_nv: PFN_vkCmdDrawMeshTasksIndirectCountNV, 12172 } 12173 unsafe impl Send for NvMeshShaderFn {} 12174 unsafe impl Sync for NvMeshShaderFn {} 12175 impl NvMeshShaderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12176 pub fn load<F>(mut _f: F) -> Self 12177 where 12178 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12179 { 12180 Self { 12181 cmd_draw_mesh_tasks_nv: unsafe { 12182 unsafe extern "system" fn cmd_draw_mesh_tasks_nv( 12183 _command_buffer: CommandBuffer, 12184 _task_count: u32, 12185 _first_task: u32, 12186 ) { 12187 panic!(concat!( 12188 "Unable to load ", 12189 stringify!(cmd_draw_mesh_tasks_nv) 12190 )) 12191 } 12192 let cname = 12193 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMeshTasksNV\0"); 12194 let val = _f(cname); 12195 if val.is_null() { 12196 cmd_draw_mesh_tasks_nv 12197 } else { 12198 ::std::mem::transmute(val) 12199 } 12200 }, 12201 cmd_draw_mesh_tasks_indirect_nv: unsafe { 12202 unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_nv( 12203 _command_buffer: CommandBuffer, 12204 _buffer: Buffer, 12205 _offset: DeviceSize, 12206 _draw_count: u32, 12207 _stride: u32, 12208 ) { 12209 panic!(concat!( 12210 "Unable to load ", 12211 stringify!(cmd_draw_mesh_tasks_indirect_nv) 12212 )) 12213 } 12214 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12215 b"vkCmdDrawMeshTasksIndirectNV\0", 12216 ); 12217 let val = _f(cname); 12218 if val.is_null() { 12219 cmd_draw_mesh_tasks_indirect_nv 12220 } else { 12221 ::std::mem::transmute(val) 12222 } 12223 }, 12224 cmd_draw_mesh_tasks_indirect_count_nv: unsafe { 12225 unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_count_nv( 12226 _command_buffer: CommandBuffer, 12227 _buffer: Buffer, 12228 _offset: DeviceSize, 12229 _count_buffer: Buffer, 12230 _count_buffer_offset: DeviceSize, 12231 _max_draw_count: u32, 12232 _stride: u32, 12233 ) { 12234 panic!(concat!( 12235 "Unable to load ", 12236 stringify!(cmd_draw_mesh_tasks_indirect_count_nv) 12237 )) 12238 } 12239 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12240 b"vkCmdDrawMeshTasksIndirectCountNV\0", 12241 ); 12242 let val = _f(cname); 12243 if val.is_null() { 12244 cmd_draw_mesh_tasks_indirect_count_nv 12245 } else { 12246 ::std::mem::transmute(val) 12247 } 12248 }, 12249 } 12250 } 12251 } 12252 #[doc = "Generated from 'VK_NV_mesh_shader'"] 12253 impl PipelineStageFlags { 12254 pub const TASK_SHADER_NV: Self = Self::TASK_SHADER_EXT; 12255 pub const MESH_SHADER_NV: Self = Self::MESH_SHADER_EXT; 12256 } 12257 #[doc = "Generated from 'VK_NV_mesh_shader'"] 12258 impl ShaderStageFlags { 12259 pub const TASK_NV: Self = Self::TASK_EXT; 12260 pub const MESH_NV: Self = Self::MESH_EXT; 12261 } 12262 #[doc = "Generated from 'VK_NV_mesh_shader'"] 12263 impl StructureType { 12264 pub const PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: Self = Self(1_000_202_000); 12265 pub const PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: Self = Self(1_000_202_001); 12266 } 12267 impl NvFragmentShaderBarycentricFn { 12268 #[inline] name() -> &'static ::std::ffi::CStr12269 pub const fn name() -> &'static ::std::ffi::CStr { 12270 unsafe { 12271 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_fragment_shader_barycentric\0") 12272 } 12273 } 12274 pub const SPEC_VERSION: u32 = 1u32; 12275 } 12276 #[derive(Clone)] 12277 pub struct NvFragmentShaderBarycentricFn {} 12278 unsafe impl Send for NvFragmentShaderBarycentricFn {} 12279 unsafe impl Sync for NvFragmentShaderBarycentricFn {} 12280 impl NvFragmentShaderBarycentricFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12281 pub fn load<F>(mut _f: F) -> Self 12282 where 12283 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12284 { 12285 Self {} 12286 } 12287 } 12288 #[doc = "Generated from 'VK_NV_fragment_shader_barycentric'"] 12289 impl StructureType { 12290 pub const PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: Self = 12291 Self::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR; 12292 } 12293 impl NvShaderImageFootprintFn { 12294 #[inline] name() -> &'static ::std::ffi::CStr12295 pub const fn name() -> &'static ::std::ffi::CStr { 12296 unsafe { 12297 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_shader_image_footprint\0") 12298 } 12299 } 12300 pub const SPEC_VERSION: u32 = 2u32; 12301 } 12302 #[derive(Clone)] 12303 pub struct NvShaderImageFootprintFn {} 12304 unsafe impl Send for NvShaderImageFootprintFn {} 12305 unsafe impl Sync for NvShaderImageFootprintFn {} 12306 impl NvShaderImageFootprintFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12307 pub fn load<F>(mut _f: F) -> Self 12308 where 12309 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12310 { 12311 Self {} 12312 } 12313 } 12314 #[doc = "Generated from 'VK_NV_shader_image_footprint'"] 12315 impl StructureType { 12316 pub const PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: Self = Self(1_000_204_000); 12317 } 12318 impl NvScissorExclusiveFn { 12319 #[inline] name() -> &'static ::std::ffi::CStr12320 pub const fn name() -> &'static ::std::ffi::CStr { 12321 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_scissor_exclusive\0") } 12322 } 12323 pub const SPEC_VERSION: u32 = 2u32; 12324 } 12325 #[allow(non_camel_case_types)] 12326 pub type PFN_vkCmdSetExclusiveScissorEnableNV = unsafe extern "system" fn( 12327 command_buffer: CommandBuffer, 12328 first_exclusive_scissor: u32, 12329 exclusive_scissor_count: u32, 12330 p_exclusive_scissor_enables: *const Bool32, 12331 ); 12332 #[allow(non_camel_case_types)] 12333 pub type PFN_vkCmdSetExclusiveScissorNV = unsafe extern "system" fn( 12334 command_buffer: CommandBuffer, 12335 first_exclusive_scissor: u32, 12336 exclusive_scissor_count: u32, 12337 p_exclusive_scissors: *const Rect2D, 12338 ); 12339 #[derive(Clone)] 12340 pub struct NvScissorExclusiveFn { 12341 pub cmd_set_exclusive_scissor_enable_nv: PFN_vkCmdSetExclusiveScissorEnableNV, 12342 pub cmd_set_exclusive_scissor_nv: PFN_vkCmdSetExclusiveScissorNV, 12343 } 12344 unsafe impl Send for NvScissorExclusiveFn {} 12345 unsafe impl Sync for NvScissorExclusiveFn {} 12346 impl NvScissorExclusiveFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12347 pub fn load<F>(mut _f: F) -> Self 12348 where 12349 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12350 { 12351 Self { 12352 cmd_set_exclusive_scissor_enable_nv: unsafe { 12353 unsafe extern "system" fn cmd_set_exclusive_scissor_enable_nv( 12354 _command_buffer: CommandBuffer, 12355 _first_exclusive_scissor: u32, 12356 _exclusive_scissor_count: u32, 12357 _p_exclusive_scissor_enables: *const Bool32, 12358 ) { 12359 panic!(concat!( 12360 "Unable to load ", 12361 stringify!(cmd_set_exclusive_scissor_enable_nv) 12362 )) 12363 } 12364 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12365 b"vkCmdSetExclusiveScissorEnableNV\0", 12366 ); 12367 let val = _f(cname); 12368 if val.is_null() { 12369 cmd_set_exclusive_scissor_enable_nv 12370 } else { 12371 ::std::mem::transmute(val) 12372 } 12373 }, 12374 cmd_set_exclusive_scissor_nv: unsafe { 12375 unsafe extern "system" fn cmd_set_exclusive_scissor_nv( 12376 _command_buffer: CommandBuffer, 12377 _first_exclusive_scissor: u32, 12378 _exclusive_scissor_count: u32, 12379 _p_exclusive_scissors: *const Rect2D, 12380 ) { 12381 panic!(concat!( 12382 "Unable to load ", 12383 stringify!(cmd_set_exclusive_scissor_nv) 12384 )) 12385 } 12386 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12387 b"vkCmdSetExclusiveScissorNV\0", 12388 ); 12389 let val = _f(cname); 12390 if val.is_null() { 12391 cmd_set_exclusive_scissor_nv 12392 } else { 12393 ::std::mem::transmute(val) 12394 } 12395 }, 12396 } 12397 } 12398 } 12399 #[doc = "Generated from 'VK_NV_scissor_exclusive'"] 12400 impl DynamicState { 12401 pub const EXCLUSIVE_SCISSOR_ENABLE_NV: Self = Self(1_000_205_000); 12402 pub const EXCLUSIVE_SCISSOR_NV: Self = Self(1_000_205_001); 12403 } 12404 #[doc = "Generated from 'VK_NV_scissor_exclusive'"] 12405 impl StructureType { 12406 pub const PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: Self = Self(1_000_205_000); 12407 pub const PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: Self = Self(1_000_205_002); 12408 } 12409 impl NvDeviceDiagnosticCheckpointsFn { 12410 #[inline] name() -> &'static ::std::ffi::CStr12411 pub const fn name() -> &'static ::std::ffi::CStr { 12412 unsafe { 12413 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12414 b"VK_NV_device_diagnostic_checkpoints\0", 12415 ) 12416 } 12417 } 12418 pub const SPEC_VERSION: u32 = 2u32; 12419 } 12420 #[allow(non_camel_case_types)] 12421 pub type PFN_vkCmdSetCheckpointNV = 12422 unsafe extern "system" fn(command_buffer: CommandBuffer, p_checkpoint_marker: *const c_void); 12423 #[allow(non_camel_case_types)] 12424 pub type PFN_vkGetQueueCheckpointDataNV = unsafe extern "system" fn( 12425 queue: Queue, 12426 p_checkpoint_data_count: *mut u32, 12427 p_checkpoint_data: *mut CheckpointDataNV, 12428 ); 12429 #[derive(Clone)] 12430 pub struct NvDeviceDiagnosticCheckpointsFn { 12431 pub cmd_set_checkpoint_nv: PFN_vkCmdSetCheckpointNV, 12432 pub get_queue_checkpoint_data_nv: PFN_vkGetQueueCheckpointDataNV, 12433 } 12434 unsafe impl Send for NvDeviceDiagnosticCheckpointsFn {} 12435 unsafe impl Sync for NvDeviceDiagnosticCheckpointsFn {} 12436 impl NvDeviceDiagnosticCheckpointsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12437 pub fn load<F>(mut _f: F) -> Self 12438 where 12439 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12440 { 12441 Self { 12442 cmd_set_checkpoint_nv: unsafe { 12443 unsafe extern "system" fn cmd_set_checkpoint_nv( 12444 _command_buffer: CommandBuffer, 12445 _p_checkpoint_marker: *const c_void, 12446 ) { 12447 panic!(concat!( 12448 "Unable to load ", 12449 stringify!(cmd_set_checkpoint_nv) 12450 )) 12451 } 12452 let cname = 12453 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetCheckpointNV\0"); 12454 let val = _f(cname); 12455 if val.is_null() { 12456 cmd_set_checkpoint_nv 12457 } else { 12458 ::std::mem::transmute(val) 12459 } 12460 }, 12461 get_queue_checkpoint_data_nv: unsafe { 12462 unsafe extern "system" fn get_queue_checkpoint_data_nv( 12463 _queue: Queue, 12464 _p_checkpoint_data_count: *mut u32, 12465 _p_checkpoint_data: *mut CheckpointDataNV, 12466 ) { 12467 panic!(concat!( 12468 "Unable to load ", 12469 stringify!(get_queue_checkpoint_data_nv) 12470 )) 12471 } 12472 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12473 b"vkGetQueueCheckpointDataNV\0", 12474 ); 12475 let val = _f(cname); 12476 if val.is_null() { 12477 get_queue_checkpoint_data_nv 12478 } else { 12479 ::std::mem::transmute(val) 12480 } 12481 }, 12482 } 12483 } 12484 } 12485 #[doc = "Generated from 'VK_NV_device_diagnostic_checkpoints'"] 12486 impl StructureType { 12487 pub const CHECKPOINT_DATA_NV: Self = Self(1_000_206_000); 12488 pub const QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: Self = Self(1_000_206_001); 12489 } 12490 impl KhrTimelineSemaphoreFn { 12491 #[inline] name() -> &'static ::std::ffi::CStr12492 pub const fn name() -> &'static ::std::ffi::CStr { 12493 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_timeline_semaphore\0") } 12494 } 12495 pub const SPEC_VERSION: u32 = 2u32; 12496 } 12497 #[allow(non_camel_case_types)] 12498 pub type PFN_vkGetSemaphoreCounterValue = 12499 unsafe extern "system" fn(device: Device, semaphore: Semaphore, p_value: *mut u64) -> Result; 12500 #[allow(non_camel_case_types)] 12501 pub type PFN_vkWaitSemaphores = unsafe extern "system" fn( 12502 device: Device, 12503 p_wait_info: *const SemaphoreWaitInfo, 12504 timeout: u64, 12505 ) -> Result; 12506 #[allow(non_camel_case_types)] 12507 pub type PFN_vkSignalSemaphore = 12508 unsafe extern "system" fn(device: Device, p_signal_info: *const SemaphoreSignalInfo) -> Result; 12509 #[derive(Clone)] 12510 pub struct KhrTimelineSemaphoreFn { 12511 pub get_semaphore_counter_value_khr: PFN_vkGetSemaphoreCounterValue, 12512 pub wait_semaphores_khr: PFN_vkWaitSemaphores, 12513 pub signal_semaphore_khr: PFN_vkSignalSemaphore, 12514 } 12515 unsafe impl Send for KhrTimelineSemaphoreFn {} 12516 unsafe impl Sync for KhrTimelineSemaphoreFn {} 12517 impl KhrTimelineSemaphoreFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12518 pub fn load<F>(mut _f: F) -> Self 12519 where 12520 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12521 { 12522 Self { 12523 get_semaphore_counter_value_khr: unsafe { 12524 unsafe extern "system" fn get_semaphore_counter_value_khr( 12525 _device: Device, 12526 _semaphore: Semaphore, 12527 _p_value: *mut u64, 12528 ) -> Result { 12529 panic!(concat!( 12530 "Unable to load ", 12531 stringify!(get_semaphore_counter_value_khr) 12532 )) 12533 } 12534 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12535 b"vkGetSemaphoreCounterValueKHR\0", 12536 ); 12537 let val = _f(cname); 12538 if val.is_null() { 12539 get_semaphore_counter_value_khr 12540 } else { 12541 ::std::mem::transmute(val) 12542 } 12543 }, 12544 wait_semaphores_khr: unsafe { 12545 unsafe extern "system" fn wait_semaphores_khr( 12546 _device: Device, 12547 _p_wait_info: *const SemaphoreWaitInfo, 12548 _timeout: u64, 12549 ) -> Result { 12550 panic!(concat!("Unable to load ", stringify!(wait_semaphores_khr))) 12551 } 12552 let cname = 12553 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkWaitSemaphoresKHR\0"); 12554 let val = _f(cname); 12555 if val.is_null() { 12556 wait_semaphores_khr 12557 } else { 12558 ::std::mem::transmute(val) 12559 } 12560 }, 12561 signal_semaphore_khr: unsafe { 12562 unsafe extern "system" fn signal_semaphore_khr( 12563 _device: Device, 12564 _p_signal_info: *const SemaphoreSignalInfo, 12565 ) -> Result { 12566 panic!(concat!("Unable to load ", stringify!(signal_semaphore_khr))) 12567 } 12568 let cname = 12569 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSignalSemaphoreKHR\0"); 12570 let val = _f(cname); 12571 if val.is_null() { 12572 signal_semaphore_khr 12573 } else { 12574 ::std::mem::transmute(val) 12575 } 12576 }, 12577 } 12578 } 12579 } 12580 #[doc = "Generated from 'VK_KHR_timeline_semaphore'"] 12581 impl SemaphoreType { 12582 pub const BINARY_KHR: Self = Self::BINARY; 12583 pub const TIMELINE_KHR: Self = Self::TIMELINE; 12584 } 12585 #[doc = "Generated from 'VK_KHR_timeline_semaphore'"] 12586 impl SemaphoreWaitFlags { 12587 pub const ANY_KHR: Self = Self::ANY; 12588 } 12589 #[doc = "Generated from 'VK_KHR_timeline_semaphore'"] 12590 impl StructureType { 12591 pub const PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR: Self = 12592 Self::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES; 12593 pub const PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR: Self = 12594 Self::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES; 12595 pub const SEMAPHORE_TYPE_CREATE_INFO_KHR: Self = Self::SEMAPHORE_TYPE_CREATE_INFO; 12596 pub const TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR: Self = Self::TIMELINE_SEMAPHORE_SUBMIT_INFO; 12597 pub const SEMAPHORE_WAIT_INFO_KHR: Self = Self::SEMAPHORE_WAIT_INFO; 12598 pub const SEMAPHORE_SIGNAL_INFO_KHR: Self = Self::SEMAPHORE_SIGNAL_INFO; 12599 } 12600 impl KhrExtension209Fn { 12601 #[inline] name() -> &'static ::std::ffi::CStr12602 pub const fn name() -> &'static ::std::ffi::CStr { 12603 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_209\0") } 12604 } 12605 pub const SPEC_VERSION: u32 = 0u32; 12606 } 12607 #[derive(Clone)] 12608 pub struct KhrExtension209Fn {} 12609 unsafe impl Send for KhrExtension209Fn {} 12610 unsafe impl Sync for KhrExtension209Fn {} 12611 impl KhrExtension209Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12612 pub fn load<F>(mut _f: F) -> Self 12613 where 12614 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12615 { 12616 Self {} 12617 } 12618 } 12619 impl IntelShaderIntegerFunctions2Fn { 12620 #[inline] name() -> &'static ::std::ffi::CStr12621 pub const fn name() -> &'static ::std::ffi::CStr { 12622 unsafe { 12623 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_INTEL_shader_integer_functions2\0") 12624 } 12625 } 12626 pub const SPEC_VERSION: u32 = 1u32; 12627 } 12628 #[derive(Clone)] 12629 pub struct IntelShaderIntegerFunctions2Fn {} 12630 unsafe impl Send for IntelShaderIntegerFunctions2Fn {} 12631 unsafe impl Sync for IntelShaderIntegerFunctions2Fn {} 12632 impl IntelShaderIntegerFunctions2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12633 pub fn load<F>(mut _f: F) -> Self 12634 where 12635 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12636 { 12637 Self {} 12638 } 12639 } 12640 #[doc = "Generated from 'VK_INTEL_shader_integer_functions2'"] 12641 impl StructureType { 12642 pub const PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: Self = Self(1_000_209_000); 12643 } 12644 impl IntelPerformanceQueryFn { 12645 #[inline] name() -> &'static ::std::ffi::CStr12646 pub const fn name() -> &'static ::std::ffi::CStr { 12647 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_INTEL_performance_query\0") } 12648 } 12649 pub const SPEC_VERSION: u32 = 2u32; 12650 } 12651 #[allow(non_camel_case_types)] 12652 pub type PFN_vkInitializePerformanceApiINTEL = unsafe extern "system" fn( 12653 device: Device, 12654 p_initialize_info: *const InitializePerformanceApiInfoINTEL, 12655 ) -> Result; 12656 #[allow(non_camel_case_types)] 12657 pub type PFN_vkUninitializePerformanceApiINTEL = unsafe extern "system" fn(device: Device); 12658 #[allow(non_camel_case_types)] 12659 pub type PFN_vkCmdSetPerformanceMarkerINTEL = unsafe extern "system" fn( 12660 command_buffer: CommandBuffer, 12661 p_marker_info: *const PerformanceMarkerInfoINTEL, 12662 ) -> Result; 12663 #[allow(non_camel_case_types)] 12664 pub type PFN_vkCmdSetPerformanceStreamMarkerINTEL = unsafe extern "system" fn( 12665 command_buffer: CommandBuffer, 12666 p_marker_info: *const PerformanceStreamMarkerInfoINTEL, 12667 ) -> Result; 12668 #[allow(non_camel_case_types)] 12669 pub type PFN_vkCmdSetPerformanceOverrideINTEL = unsafe extern "system" fn( 12670 command_buffer: CommandBuffer, 12671 p_override_info: *const PerformanceOverrideInfoINTEL, 12672 ) -> Result; 12673 #[allow(non_camel_case_types)] 12674 pub type PFN_vkAcquirePerformanceConfigurationINTEL = unsafe extern "system" fn( 12675 device: Device, 12676 p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, 12677 p_configuration: *mut PerformanceConfigurationINTEL, 12678 ) -> Result; 12679 #[allow(non_camel_case_types)] 12680 pub type PFN_vkReleasePerformanceConfigurationINTEL = unsafe extern "system" fn( 12681 device: Device, 12682 configuration: PerformanceConfigurationINTEL, 12683 ) -> Result; 12684 #[allow(non_camel_case_types)] 12685 pub type PFN_vkQueueSetPerformanceConfigurationINTEL = 12686 unsafe extern "system" fn(queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result; 12687 #[allow(non_camel_case_types)] 12688 pub type PFN_vkGetPerformanceParameterINTEL = unsafe extern "system" fn( 12689 device: Device, 12690 parameter: PerformanceParameterTypeINTEL, 12691 p_value: *mut PerformanceValueINTEL, 12692 ) -> Result; 12693 #[derive(Clone)] 12694 pub struct IntelPerformanceQueryFn { 12695 pub initialize_performance_api_intel: PFN_vkInitializePerformanceApiINTEL, 12696 pub uninitialize_performance_api_intel: PFN_vkUninitializePerformanceApiINTEL, 12697 pub cmd_set_performance_marker_intel: PFN_vkCmdSetPerformanceMarkerINTEL, 12698 pub cmd_set_performance_stream_marker_intel: PFN_vkCmdSetPerformanceStreamMarkerINTEL, 12699 pub cmd_set_performance_override_intel: PFN_vkCmdSetPerformanceOverrideINTEL, 12700 pub acquire_performance_configuration_intel: PFN_vkAcquirePerformanceConfigurationINTEL, 12701 pub release_performance_configuration_intel: PFN_vkReleasePerformanceConfigurationINTEL, 12702 pub queue_set_performance_configuration_intel: PFN_vkQueueSetPerformanceConfigurationINTEL, 12703 pub get_performance_parameter_intel: PFN_vkGetPerformanceParameterINTEL, 12704 } 12705 unsafe impl Send for IntelPerformanceQueryFn {} 12706 unsafe impl Sync for IntelPerformanceQueryFn {} 12707 impl IntelPerformanceQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12708 pub fn load<F>(mut _f: F) -> Self 12709 where 12710 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12711 { 12712 Self { 12713 initialize_performance_api_intel: unsafe { 12714 unsafe extern "system" fn initialize_performance_api_intel( 12715 _device: Device, 12716 _p_initialize_info: *const InitializePerformanceApiInfoINTEL, 12717 ) -> Result { 12718 panic!(concat!( 12719 "Unable to load ", 12720 stringify!(initialize_performance_api_intel) 12721 )) 12722 } 12723 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12724 b"vkInitializePerformanceApiINTEL\0", 12725 ); 12726 let val = _f(cname); 12727 if val.is_null() { 12728 initialize_performance_api_intel 12729 } else { 12730 ::std::mem::transmute(val) 12731 } 12732 }, 12733 uninitialize_performance_api_intel: unsafe { 12734 unsafe extern "system" fn uninitialize_performance_api_intel(_device: Device) { 12735 panic!(concat!( 12736 "Unable to load ", 12737 stringify!(uninitialize_performance_api_intel) 12738 )) 12739 } 12740 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12741 b"vkUninitializePerformanceApiINTEL\0", 12742 ); 12743 let val = _f(cname); 12744 if val.is_null() { 12745 uninitialize_performance_api_intel 12746 } else { 12747 ::std::mem::transmute(val) 12748 } 12749 }, 12750 cmd_set_performance_marker_intel: unsafe { 12751 unsafe extern "system" fn cmd_set_performance_marker_intel( 12752 _command_buffer: CommandBuffer, 12753 _p_marker_info: *const PerformanceMarkerInfoINTEL, 12754 ) -> Result { 12755 panic!(concat!( 12756 "Unable to load ", 12757 stringify!(cmd_set_performance_marker_intel) 12758 )) 12759 } 12760 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12761 b"vkCmdSetPerformanceMarkerINTEL\0", 12762 ); 12763 let val = _f(cname); 12764 if val.is_null() { 12765 cmd_set_performance_marker_intel 12766 } else { 12767 ::std::mem::transmute(val) 12768 } 12769 }, 12770 cmd_set_performance_stream_marker_intel: unsafe { 12771 unsafe extern "system" fn cmd_set_performance_stream_marker_intel( 12772 _command_buffer: CommandBuffer, 12773 _p_marker_info: *const PerformanceStreamMarkerInfoINTEL, 12774 ) -> Result { 12775 panic!(concat!( 12776 "Unable to load ", 12777 stringify!(cmd_set_performance_stream_marker_intel) 12778 )) 12779 } 12780 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12781 b"vkCmdSetPerformanceStreamMarkerINTEL\0", 12782 ); 12783 let val = _f(cname); 12784 if val.is_null() { 12785 cmd_set_performance_stream_marker_intel 12786 } else { 12787 ::std::mem::transmute(val) 12788 } 12789 }, 12790 cmd_set_performance_override_intel: unsafe { 12791 unsafe extern "system" fn cmd_set_performance_override_intel( 12792 _command_buffer: CommandBuffer, 12793 _p_override_info: *const PerformanceOverrideInfoINTEL, 12794 ) -> Result { 12795 panic!(concat!( 12796 "Unable to load ", 12797 stringify!(cmd_set_performance_override_intel) 12798 )) 12799 } 12800 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12801 b"vkCmdSetPerformanceOverrideINTEL\0", 12802 ); 12803 let val = _f(cname); 12804 if val.is_null() { 12805 cmd_set_performance_override_intel 12806 } else { 12807 ::std::mem::transmute(val) 12808 } 12809 }, 12810 acquire_performance_configuration_intel: unsafe { 12811 unsafe extern "system" fn acquire_performance_configuration_intel( 12812 _device: Device, 12813 _p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, 12814 _p_configuration: *mut PerformanceConfigurationINTEL, 12815 ) -> Result { 12816 panic!(concat!( 12817 "Unable to load ", 12818 stringify!(acquire_performance_configuration_intel) 12819 )) 12820 } 12821 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12822 b"vkAcquirePerformanceConfigurationINTEL\0", 12823 ); 12824 let val = _f(cname); 12825 if val.is_null() { 12826 acquire_performance_configuration_intel 12827 } else { 12828 ::std::mem::transmute(val) 12829 } 12830 }, 12831 release_performance_configuration_intel: unsafe { 12832 unsafe extern "system" fn release_performance_configuration_intel( 12833 _device: Device, 12834 _configuration: PerformanceConfigurationINTEL, 12835 ) -> Result { 12836 panic!(concat!( 12837 "Unable to load ", 12838 stringify!(release_performance_configuration_intel) 12839 )) 12840 } 12841 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12842 b"vkReleasePerformanceConfigurationINTEL\0", 12843 ); 12844 let val = _f(cname); 12845 if val.is_null() { 12846 release_performance_configuration_intel 12847 } else { 12848 ::std::mem::transmute(val) 12849 } 12850 }, 12851 queue_set_performance_configuration_intel: unsafe { 12852 unsafe extern "system" fn queue_set_performance_configuration_intel( 12853 _queue: Queue, 12854 _configuration: PerformanceConfigurationINTEL, 12855 ) -> Result { 12856 panic!(concat!( 12857 "Unable to load ", 12858 stringify!(queue_set_performance_configuration_intel) 12859 )) 12860 } 12861 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12862 b"vkQueueSetPerformanceConfigurationINTEL\0", 12863 ); 12864 let val = _f(cname); 12865 if val.is_null() { 12866 queue_set_performance_configuration_intel 12867 } else { 12868 ::std::mem::transmute(val) 12869 } 12870 }, 12871 get_performance_parameter_intel: unsafe { 12872 unsafe extern "system" fn get_performance_parameter_intel( 12873 _device: Device, 12874 _parameter: PerformanceParameterTypeINTEL, 12875 _p_value: *mut PerformanceValueINTEL, 12876 ) -> Result { 12877 panic!(concat!( 12878 "Unable to load ", 12879 stringify!(get_performance_parameter_intel) 12880 )) 12881 } 12882 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 12883 b"vkGetPerformanceParameterINTEL\0", 12884 ); 12885 let val = _f(cname); 12886 if val.is_null() { 12887 get_performance_parameter_intel 12888 } else { 12889 ::std::mem::transmute(val) 12890 } 12891 }, 12892 } 12893 } 12894 } 12895 #[doc = "Generated from 'VK_INTEL_performance_query'"] 12896 impl ObjectType { 12897 pub const PERFORMANCE_CONFIGURATION_INTEL: Self = Self(1_000_210_000); 12898 } 12899 #[doc = "Generated from 'VK_INTEL_performance_query'"] 12900 impl QueryType { 12901 pub const PERFORMANCE_QUERY_INTEL: Self = Self(1_000_210_000); 12902 } 12903 #[doc = "Generated from 'VK_INTEL_performance_query'"] 12904 impl StructureType { 12905 pub const QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: Self = Self(1_000_210_000); 12906 pub const INITIALIZE_PERFORMANCE_API_INFO_INTEL: Self = Self(1_000_210_001); 12907 pub const PERFORMANCE_MARKER_INFO_INTEL: Self = Self(1_000_210_002); 12908 pub const PERFORMANCE_STREAM_MARKER_INFO_INTEL: Self = Self(1_000_210_003); 12909 pub const PERFORMANCE_OVERRIDE_INFO_INTEL: Self = Self(1_000_210_004); 12910 pub const PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: Self = Self(1_000_210_005); 12911 } 12912 impl KhrVulkanMemoryModelFn { 12913 #[inline] name() -> &'static ::std::ffi::CStr12914 pub const fn name() -> &'static ::std::ffi::CStr { 12915 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_vulkan_memory_model\0") } 12916 } 12917 pub const SPEC_VERSION: u32 = 3u32; 12918 } 12919 #[derive(Clone)] 12920 pub struct KhrVulkanMemoryModelFn {} 12921 unsafe impl Send for KhrVulkanMemoryModelFn {} 12922 unsafe impl Sync for KhrVulkanMemoryModelFn {} 12923 impl KhrVulkanMemoryModelFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12924 pub fn load<F>(mut _f: F) -> Self 12925 where 12926 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12927 { 12928 Self {} 12929 } 12930 } 12931 #[doc = "Generated from 'VK_KHR_vulkan_memory_model'"] 12932 impl StructureType { 12933 pub const PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: Self = 12934 Self::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES; 12935 } 12936 impl ExtPciBusInfoFn { 12937 #[inline] name() -> &'static ::std::ffi::CStr12938 pub const fn name() -> &'static ::std::ffi::CStr { 12939 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pci_bus_info\0") } 12940 } 12941 pub const SPEC_VERSION: u32 = 2u32; 12942 } 12943 #[derive(Clone)] 12944 pub struct ExtPciBusInfoFn {} 12945 unsafe impl Send for ExtPciBusInfoFn {} 12946 unsafe impl Sync for ExtPciBusInfoFn {} 12947 impl ExtPciBusInfoFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12948 pub fn load<F>(mut _f: F) -> Self 12949 where 12950 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12951 { 12952 Self {} 12953 } 12954 } 12955 #[doc = "Generated from 'VK_EXT_pci_bus_info'"] 12956 impl StructureType { 12957 pub const PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: Self = Self(1_000_212_000); 12958 } 12959 impl AmdDisplayNativeHdrFn { 12960 #[inline] name() -> &'static ::std::ffi::CStr12961 pub const fn name() -> &'static ::std::ffi::CStr { 12962 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_display_native_hdr\0") } 12963 } 12964 pub const SPEC_VERSION: u32 = 1u32; 12965 } 12966 #[allow(non_camel_case_types)] 12967 pub type PFN_vkSetLocalDimmingAMD = unsafe extern "system" fn( 12968 device: Device, 12969 swap_chain: SwapchainKHR, 12970 local_dimming_enable: Bool32, 12971 ); 12972 #[derive(Clone)] 12973 pub struct AmdDisplayNativeHdrFn { 12974 pub set_local_dimming_amd: PFN_vkSetLocalDimmingAMD, 12975 } 12976 unsafe impl Send for AmdDisplayNativeHdrFn {} 12977 unsafe impl Sync for AmdDisplayNativeHdrFn {} 12978 impl AmdDisplayNativeHdrFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,12979 pub fn load<F>(mut _f: F) -> Self 12980 where 12981 F: FnMut(&::std::ffi::CStr) -> *const c_void, 12982 { 12983 Self { 12984 set_local_dimming_amd: unsafe { 12985 unsafe extern "system" fn set_local_dimming_amd( 12986 _device: Device, 12987 _swap_chain: SwapchainKHR, 12988 _local_dimming_enable: Bool32, 12989 ) { 12990 panic!(concat!( 12991 "Unable to load ", 12992 stringify!(set_local_dimming_amd) 12993 )) 12994 } 12995 let cname = 12996 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSetLocalDimmingAMD\0"); 12997 let val = _f(cname); 12998 if val.is_null() { 12999 set_local_dimming_amd 13000 } else { 13001 ::std::mem::transmute(val) 13002 } 13003 }, 13004 } 13005 } 13006 } 13007 #[doc = "Generated from 'VK_AMD_display_native_hdr'"] 13008 impl ColorSpaceKHR { 13009 pub const DISPLAY_NATIVE_AMD: Self = Self(1_000_213_000); 13010 } 13011 #[doc = "Generated from 'VK_AMD_display_native_hdr'"] 13012 impl StructureType { 13013 pub const DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: Self = Self(1_000_213_000); 13014 pub const SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: Self = Self(1_000_213_001); 13015 } 13016 impl FuchsiaImagepipeSurfaceFn { 13017 #[inline] name() -> &'static ::std::ffi::CStr13018 pub const fn name() -> &'static ::std::ffi::CStr { 13019 unsafe { 13020 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_imagepipe_surface\0") 13021 } 13022 } 13023 pub const SPEC_VERSION: u32 = 1u32; 13024 } 13025 #[allow(non_camel_case_types)] 13026 pub type PFN_vkCreateImagePipeSurfaceFUCHSIA = unsafe extern "system" fn( 13027 instance: Instance, 13028 p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, 13029 p_allocator: *const AllocationCallbacks, 13030 p_surface: *mut SurfaceKHR, 13031 ) -> Result; 13032 #[derive(Clone)] 13033 pub struct FuchsiaImagepipeSurfaceFn { 13034 pub create_image_pipe_surface_fuchsia: PFN_vkCreateImagePipeSurfaceFUCHSIA, 13035 } 13036 unsafe impl Send for FuchsiaImagepipeSurfaceFn {} 13037 unsafe impl Sync for FuchsiaImagepipeSurfaceFn {} 13038 impl FuchsiaImagepipeSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13039 pub fn load<F>(mut _f: F) -> Self 13040 where 13041 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13042 { 13043 Self { 13044 create_image_pipe_surface_fuchsia: unsafe { 13045 unsafe extern "system" fn create_image_pipe_surface_fuchsia( 13046 _instance: Instance, 13047 _p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, 13048 _p_allocator: *const AllocationCallbacks, 13049 _p_surface: *mut SurfaceKHR, 13050 ) -> Result { 13051 panic!(concat!( 13052 "Unable to load ", 13053 stringify!(create_image_pipe_surface_fuchsia) 13054 )) 13055 } 13056 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13057 b"vkCreateImagePipeSurfaceFUCHSIA\0", 13058 ); 13059 let val = _f(cname); 13060 if val.is_null() { 13061 create_image_pipe_surface_fuchsia 13062 } else { 13063 ::std::mem::transmute(val) 13064 } 13065 }, 13066 } 13067 } 13068 } 13069 #[doc = "Generated from 'VK_FUCHSIA_imagepipe_surface'"] 13070 impl StructureType { 13071 pub const IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: Self = Self(1_000_214_000); 13072 } 13073 impl KhrShaderTerminateInvocationFn { 13074 #[inline] name() -> &'static ::std::ffi::CStr13075 pub const fn name() -> &'static ::std::ffi::CStr { 13076 unsafe { 13077 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_terminate_invocation\0") 13078 } 13079 } 13080 pub const SPEC_VERSION: u32 = 1u32; 13081 } 13082 #[derive(Clone)] 13083 pub struct KhrShaderTerminateInvocationFn {} 13084 unsafe impl Send for KhrShaderTerminateInvocationFn {} 13085 unsafe impl Sync for KhrShaderTerminateInvocationFn {} 13086 impl KhrShaderTerminateInvocationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13087 pub fn load<F>(mut _f: F) -> Self 13088 where 13089 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13090 { 13091 Self {} 13092 } 13093 } 13094 #[doc = "Generated from 'VK_KHR_shader_terminate_invocation'"] 13095 impl StructureType { 13096 pub const PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: Self = 13097 Self::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES; 13098 } 13099 impl GoogleExtension217Fn { 13100 #[inline] name() -> &'static ::std::ffi::CStr13101 pub const fn name() -> &'static ::std::ffi::CStr { 13102 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_217\0") } 13103 } 13104 pub const SPEC_VERSION: u32 = 0u32; 13105 } 13106 #[derive(Clone)] 13107 pub struct GoogleExtension217Fn {} 13108 unsafe impl Send for GoogleExtension217Fn {} 13109 unsafe impl Sync for GoogleExtension217Fn {} 13110 impl GoogleExtension217Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13111 pub fn load<F>(mut _f: F) -> Self 13112 where 13113 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13114 { 13115 Self {} 13116 } 13117 } 13118 impl ExtMetalSurfaceFn { 13119 #[inline] name() -> &'static ::std::ffi::CStr13120 pub const fn name() -> &'static ::std::ffi::CStr { 13121 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_metal_surface\0") } 13122 } 13123 pub const SPEC_VERSION: u32 = 1u32; 13124 } 13125 #[allow(non_camel_case_types)] 13126 pub type PFN_vkCreateMetalSurfaceEXT = unsafe extern "system" fn( 13127 instance: Instance, 13128 p_create_info: *const MetalSurfaceCreateInfoEXT, 13129 p_allocator: *const AllocationCallbacks, 13130 p_surface: *mut SurfaceKHR, 13131 ) -> Result; 13132 #[derive(Clone)] 13133 pub struct ExtMetalSurfaceFn { 13134 pub create_metal_surface_ext: PFN_vkCreateMetalSurfaceEXT, 13135 } 13136 unsafe impl Send for ExtMetalSurfaceFn {} 13137 unsafe impl Sync for ExtMetalSurfaceFn {} 13138 impl ExtMetalSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13139 pub fn load<F>(mut _f: F) -> Self 13140 where 13141 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13142 { 13143 Self { 13144 create_metal_surface_ext: unsafe { 13145 unsafe extern "system" fn create_metal_surface_ext( 13146 _instance: Instance, 13147 _p_create_info: *const MetalSurfaceCreateInfoEXT, 13148 _p_allocator: *const AllocationCallbacks, 13149 _p_surface: *mut SurfaceKHR, 13150 ) -> Result { 13151 panic!(concat!( 13152 "Unable to load ", 13153 stringify!(create_metal_surface_ext) 13154 )) 13155 } 13156 let cname = 13157 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateMetalSurfaceEXT\0"); 13158 let val = _f(cname); 13159 if val.is_null() { 13160 create_metal_surface_ext 13161 } else { 13162 ::std::mem::transmute(val) 13163 } 13164 }, 13165 } 13166 } 13167 } 13168 #[doc = "Generated from 'VK_EXT_metal_surface'"] 13169 impl StructureType { 13170 pub const METAL_SURFACE_CREATE_INFO_EXT: Self = Self(1_000_217_000); 13171 } 13172 impl ExtFragmentDensityMapFn { 13173 #[inline] name() -> &'static ::std::ffi::CStr13174 pub const fn name() -> &'static ::std::ffi::CStr { 13175 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_fragment_density_map\0") } 13176 } 13177 pub const SPEC_VERSION: u32 = 2u32; 13178 } 13179 #[derive(Clone)] 13180 pub struct ExtFragmentDensityMapFn {} 13181 unsafe impl Send for ExtFragmentDensityMapFn {} 13182 unsafe impl Sync for ExtFragmentDensityMapFn {} 13183 impl ExtFragmentDensityMapFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13184 pub fn load<F>(mut _f: F) -> Self 13185 where 13186 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13187 { 13188 Self {} 13189 } 13190 } 13191 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13192 impl AccessFlags { 13193 pub const FRAGMENT_DENSITY_MAP_READ_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 13194 } 13195 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13196 impl FormatFeatureFlags { 13197 pub const FRAGMENT_DENSITY_MAP_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 13198 } 13199 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13200 impl FormatFeatureFlags2 { 13201 pub const FRAGMENT_DENSITY_MAP_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 13202 } 13203 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13204 impl ImageCreateFlags { 13205 pub const SUBSAMPLED_EXT: Self = Self(0b100_0000_0000_0000); 13206 } 13207 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13208 impl ImageLayout { 13209 pub const FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: Self = Self(1_000_218_000); 13210 } 13211 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13212 impl ImageUsageFlags { 13213 pub const FRAGMENT_DENSITY_MAP_EXT: Self = Self(0b10_0000_0000); 13214 } 13215 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13216 impl ImageViewCreateFlags { 13217 pub const FRAGMENT_DENSITY_MAP_DYNAMIC_EXT: Self = Self(0b1); 13218 } 13219 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13220 impl PipelineStageFlags { 13221 pub const FRAGMENT_DENSITY_PROCESS_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); 13222 } 13223 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13224 impl SamplerCreateFlags { 13225 pub const SUBSAMPLED_EXT: Self = Self(0b1); 13226 pub const SUBSAMPLED_COARSE_RECONSTRUCTION_EXT: Self = Self(0b10); 13227 } 13228 #[doc = "Generated from 'VK_EXT_fragment_density_map'"] 13229 impl StructureType { 13230 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: Self = Self(1_000_218_000); 13231 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: Self = Self(1_000_218_001); 13232 pub const RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: Self = Self(1_000_218_002); 13233 } 13234 impl ExtExtension220Fn { 13235 #[inline] name() -> &'static ::std::ffi::CStr13236 pub const fn name() -> &'static ::std::ffi::CStr { 13237 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_220\0") } 13238 } 13239 pub const SPEC_VERSION: u32 = 0u32; 13240 } 13241 #[derive(Clone)] 13242 pub struct ExtExtension220Fn {} 13243 unsafe impl Send for ExtExtension220Fn {} 13244 unsafe impl Sync for ExtExtension220Fn {} 13245 impl ExtExtension220Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13246 pub fn load<F>(mut _f: F) -> Self 13247 where 13248 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13249 { 13250 Self {} 13251 } 13252 } 13253 impl KhrExtension221Fn { 13254 #[inline] name() -> &'static ::std::ffi::CStr13255 pub const fn name() -> &'static ::std::ffi::CStr { 13256 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_221\0") } 13257 } 13258 pub const SPEC_VERSION: u32 = 0u32; 13259 } 13260 #[derive(Clone)] 13261 pub struct KhrExtension221Fn {} 13262 unsafe impl Send for KhrExtension221Fn {} 13263 unsafe impl Sync for KhrExtension221Fn {} 13264 impl KhrExtension221Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13265 pub fn load<F>(mut _f: F) -> Self 13266 where 13267 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13268 { 13269 Self {} 13270 } 13271 } 13272 #[doc = "Generated from 'VK_KHR_extension_221'"] 13273 impl RenderPassCreateFlags { 13274 pub const RESERVED_0_KHR: Self = Self(0b1); 13275 } 13276 impl ExtScalarBlockLayoutFn { 13277 #[inline] name() -> &'static ::std::ffi::CStr13278 pub const fn name() -> &'static ::std::ffi::CStr { 13279 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_scalar_block_layout\0") } 13280 } 13281 pub const SPEC_VERSION: u32 = 1u32; 13282 } 13283 #[derive(Clone)] 13284 pub struct ExtScalarBlockLayoutFn {} 13285 unsafe impl Send for ExtScalarBlockLayoutFn {} 13286 unsafe impl Sync for ExtScalarBlockLayoutFn {} 13287 impl ExtScalarBlockLayoutFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13288 pub fn load<F>(mut _f: F) -> Self 13289 where 13290 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13291 { 13292 Self {} 13293 } 13294 } 13295 #[doc = "Generated from 'VK_EXT_scalar_block_layout'"] 13296 impl StructureType { 13297 pub const PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: Self = 13298 Self::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES; 13299 } 13300 impl ExtExtension223Fn { 13301 #[inline] name() -> &'static ::std::ffi::CStr13302 pub const fn name() -> &'static ::std::ffi::CStr { 13303 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_223\0") } 13304 } 13305 pub const SPEC_VERSION: u32 = 0u32; 13306 } 13307 #[derive(Clone)] 13308 pub struct ExtExtension223Fn {} 13309 unsafe impl Send for ExtExtension223Fn {} 13310 unsafe impl Sync for ExtExtension223Fn {} 13311 impl ExtExtension223Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13312 pub fn load<F>(mut _f: F) -> Self 13313 where 13314 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13315 { 13316 Self {} 13317 } 13318 } 13319 impl GoogleHlslFunctionality1Fn { 13320 #[inline] name() -> &'static ::std::ffi::CStr13321 pub const fn name() -> &'static ::std::ffi::CStr { 13322 unsafe { 13323 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_hlsl_functionality1\0") 13324 } 13325 } 13326 pub const SPEC_VERSION: u32 = 1u32; 13327 } 13328 #[derive(Clone)] 13329 pub struct GoogleHlslFunctionality1Fn {} 13330 unsafe impl Send for GoogleHlslFunctionality1Fn {} 13331 unsafe impl Sync for GoogleHlslFunctionality1Fn {} 13332 impl GoogleHlslFunctionality1Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13333 pub fn load<F>(mut _f: F) -> Self 13334 where 13335 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13336 { 13337 Self {} 13338 } 13339 } 13340 impl GoogleDecorateStringFn { 13341 #[inline] name() -> &'static ::std::ffi::CStr13342 pub const fn name() -> &'static ::std::ffi::CStr { 13343 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_decorate_string\0") } 13344 } 13345 pub const SPEC_VERSION: u32 = 1u32; 13346 } 13347 #[derive(Clone)] 13348 pub struct GoogleDecorateStringFn {} 13349 unsafe impl Send for GoogleDecorateStringFn {} 13350 unsafe impl Sync for GoogleDecorateStringFn {} 13351 impl GoogleDecorateStringFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13352 pub fn load<F>(mut _f: F) -> Self 13353 where 13354 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13355 { 13356 Self {} 13357 } 13358 } 13359 impl ExtSubgroupSizeControlFn { 13360 #[inline] name() -> &'static ::std::ffi::CStr13361 pub const fn name() -> &'static ::std::ffi::CStr { 13362 unsafe { 13363 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_subgroup_size_control\0") 13364 } 13365 } 13366 pub const SPEC_VERSION: u32 = 2u32; 13367 } 13368 #[derive(Clone)] 13369 pub struct ExtSubgroupSizeControlFn {} 13370 unsafe impl Send for ExtSubgroupSizeControlFn {} 13371 unsafe impl Sync for ExtSubgroupSizeControlFn {} 13372 impl ExtSubgroupSizeControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13373 pub fn load<F>(mut _f: F) -> Self 13374 where 13375 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13376 { 13377 Self {} 13378 } 13379 } 13380 #[doc = "Generated from 'VK_EXT_subgroup_size_control'"] 13381 impl PipelineShaderStageCreateFlags { 13382 pub const ALLOW_VARYING_SUBGROUP_SIZE_EXT: Self = Self::ALLOW_VARYING_SUBGROUP_SIZE; 13383 pub const REQUIRE_FULL_SUBGROUPS_EXT: Self = Self::REQUIRE_FULL_SUBGROUPS; 13384 } 13385 #[doc = "Generated from 'VK_EXT_subgroup_size_control'"] 13386 impl StructureType { 13387 pub const PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: Self = 13388 Self::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES; 13389 pub const PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: Self = 13390 Self::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO; 13391 pub const PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: Self = 13392 Self::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES; 13393 } 13394 impl KhrFragmentShadingRateFn { 13395 #[inline] name() -> &'static ::std::ffi::CStr13396 pub const fn name() -> &'static ::std::ffi::CStr { 13397 unsafe { 13398 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_fragment_shading_rate\0") 13399 } 13400 } 13401 pub const SPEC_VERSION: u32 = 2u32; 13402 } 13403 #[allow(non_camel_case_types)] 13404 pub type PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR = unsafe extern "system" fn( 13405 physical_device: PhysicalDevice, 13406 p_fragment_shading_rate_count: *mut u32, 13407 p_fragment_shading_rates: *mut PhysicalDeviceFragmentShadingRateKHR, 13408 ) -> Result; 13409 #[allow(non_camel_case_types)] 13410 pub type PFN_vkCmdSetFragmentShadingRateKHR = unsafe extern "system" fn( 13411 command_buffer: CommandBuffer, 13412 p_fragment_size: *const Extent2D, 13413 combiner_ops: *const [FragmentShadingRateCombinerOpKHR; 2usize], 13414 ); 13415 #[derive(Clone)] 13416 pub struct KhrFragmentShadingRateFn { 13417 pub get_physical_device_fragment_shading_rates_khr: 13418 PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR, 13419 pub cmd_set_fragment_shading_rate_khr: PFN_vkCmdSetFragmentShadingRateKHR, 13420 } 13421 unsafe impl Send for KhrFragmentShadingRateFn {} 13422 unsafe impl Sync for KhrFragmentShadingRateFn {} 13423 impl KhrFragmentShadingRateFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13424 pub fn load<F>(mut _f: F) -> Self 13425 where 13426 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13427 { 13428 Self { 13429 get_physical_device_fragment_shading_rates_khr: unsafe { 13430 unsafe extern "system" fn get_physical_device_fragment_shading_rates_khr( 13431 _physical_device: PhysicalDevice, 13432 _p_fragment_shading_rate_count: *mut u32, 13433 _p_fragment_shading_rates: *mut PhysicalDeviceFragmentShadingRateKHR, 13434 ) -> Result { 13435 panic!(concat!( 13436 "Unable to load ", 13437 stringify!(get_physical_device_fragment_shading_rates_khr) 13438 )) 13439 } 13440 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13441 b"vkGetPhysicalDeviceFragmentShadingRatesKHR\0", 13442 ); 13443 let val = _f(cname); 13444 if val.is_null() { 13445 get_physical_device_fragment_shading_rates_khr 13446 } else { 13447 ::std::mem::transmute(val) 13448 } 13449 }, 13450 cmd_set_fragment_shading_rate_khr: unsafe { 13451 unsafe extern "system" fn cmd_set_fragment_shading_rate_khr( 13452 _command_buffer: CommandBuffer, 13453 _p_fragment_size: *const Extent2D, 13454 _combiner_ops: *const [FragmentShadingRateCombinerOpKHR; 2usize], 13455 ) { 13456 panic!(concat!( 13457 "Unable to load ", 13458 stringify!(cmd_set_fragment_shading_rate_khr) 13459 )) 13460 } 13461 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13462 b"vkCmdSetFragmentShadingRateKHR\0", 13463 ); 13464 let val = _f(cname); 13465 if val.is_null() { 13466 cmd_set_fragment_shading_rate_khr 13467 } else { 13468 ::std::mem::transmute(val) 13469 } 13470 }, 13471 } 13472 } 13473 } 13474 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13475 impl AccessFlags { 13476 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR: Self = 13477 Self(0b1000_0000_0000_0000_0000_0000); 13478 } 13479 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13480 impl DynamicState { 13481 pub const FRAGMENT_SHADING_RATE_KHR: Self = Self(1_000_226_000); 13482 } 13483 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13484 impl FormatFeatureFlags { 13485 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = 13486 Self(0b100_0000_0000_0000_0000_0000_0000_0000); 13487 } 13488 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13489 impl FormatFeatureFlags2 { 13490 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = 13491 Self(0b100_0000_0000_0000_0000_0000_0000_0000); 13492 } 13493 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13494 impl ImageLayout { 13495 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: Self = Self(1_000_164_003); 13496 } 13497 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13498 impl ImageUsageFlags { 13499 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = Self(0b1_0000_0000); 13500 } 13501 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13502 impl PipelineStageFlags { 13503 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = Self(0b100_0000_0000_0000_0000_0000); 13504 } 13505 #[doc = "Generated from 'VK_KHR_fragment_shading_rate'"] 13506 impl StructureType { 13507 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: Self = Self(1_000_226_000); 13508 pub const PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: Self = Self(1_000_226_001); 13509 pub const PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: Self = Self(1_000_226_002); 13510 pub const PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: Self = Self(1_000_226_003); 13511 pub const PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: Self = Self(1_000_226_004); 13512 } 13513 impl AmdShaderCoreProperties2Fn { 13514 #[inline] name() -> &'static ::std::ffi::CStr13515 pub const fn name() -> &'static ::std::ffi::CStr { 13516 unsafe { 13517 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_shader_core_properties2\0") 13518 } 13519 } 13520 pub const SPEC_VERSION: u32 = 1u32; 13521 } 13522 #[derive(Clone)] 13523 pub struct AmdShaderCoreProperties2Fn {} 13524 unsafe impl Send for AmdShaderCoreProperties2Fn {} 13525 unsafe impl Sync for AmdShaderCoreProperties2Fn {} 13526 impl AmdShaderCoreProperties2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13527 pub fn load<F>(mut _f: F) -> Self 13528 where 13529 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13530 { 13531 Self {} 13532 } 13533 } 13534 #[doc = "Generated from 'VK_AMD_shader_core_properties2'"] 13535 impl StructureType { 13536 pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: Self = Self(1_000_227_000); 13537 } 13538 impl AmdExtension229Fn { 13539 #[inline] name() -> &'static ::std::ffi::CStr13540 pub const fn name() -> &'static ::std::ffi::CStr { 13541 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_229\0") } 13542 } 13543 pub const SPEC_VERSION: u32 = 0u32; 13544 } 13545 #[derive(Clone)] 13546 pub struct AmdExtension229Fn {} 13547 unsafe impl Send for AmdExtension229Fn {} 13548 unsafe impl Sync for AmdExtension229Fn {} 13549 impl AmdExtension229Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13550 pub fn load<F>(mut _f: F) -> Self 13551 where 13552 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13553 { 13554 Self {} 13555 } 13556 } 13557 impl AmdDeviceCoherentMemoryFn { 13558 #[inline] name() -> &'static ::std::ffi::CStr13559 pub const fn name() -> &'static ::std::ffi::CStr { 13560 unsafe { 13561 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_device_coherent_memory\0") 13562 } 13563 } 13564 pub const SPEC_VERSION: u32 = 1u32; 13565 } 13566 #[derive(Clone)] 13567 pub struct AmdDeviceCoherentMemoryFn {} 13568 unsafe impl Send for AmdDeviceCoherentMemoryFn {} 13569 unsafe impl Sync for AmdDeviceCoherentMemoryFn {} 13570 impl AmdDeviceCoherentMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13571 pub fn load<F>(mut _f: F) -> Self 13572 where 13573 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13574 { 13575 Self {} 13576 } 13577 } 13578 #[doc = "Generated from 'VK_AMD_device_coherent_memory'"] 13579 impl MemoryPropertyFlags { 13580 pub const DEVICE_COHERENT_AMD: Self = Self(0b100_0000); 13581 pub const DEVICE_UNCACHED_AMD: Self = Self(0b1000_0000); 13582 } 13583 #[doc = "Generated from 'VK_AMD_device_coherent_memory'"] 13584 impl StructureType { 13585 pub const PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: Self = Self(1_000_229_000); 13586 } 13587 impl AmdExtension231Fn { 13588 #[inline] name() -> &'static ::std::ffi::CStr13589 pub const fn name() -> &'static ::std::ffi::CStr { 13590 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_231\0") } 13591 } 13592 pub const SPEC_VERSION: u32 = 0u32; 13593 } 13594 #[derive(Clone)] 13595 pub struct AmdExtension231Fn {} 13596 unsafe impl Send for AmdExtension231Fn {} 13597 unsafe impl Sync for AmdExtension231Fn {} 13598 impl AmdExtension231Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13599 pub fn load<F>(mut _f: F) -> Self 13600 where 13601 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13602 { 13603 Self {} 13604 } 13605 } 13606 impl AmdExtension232Fn { 13607 #[inline] name() -> &'static ::std::ffi::CStr13608 pub const fn name() -> &'static ::std::ffi::CStr { 13609 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_232\0") } 13610 } 13611 pub const SPEC_VERSION: u32 = 0u32; 13612 } 13613 #[derive(Clone)] 13614 pub struct AmdExtension232Fn {} 13615 unsafe impl Send for AmdExtension232Fn {} 13616 unsafe impl Sync for AmdExtension232Fn {} 13617 impl AmdExtension232Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13618 pub fn load<F>(mut _f: F) -> Self 13619 where 13620 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13621 { 13622 Self {} 13623 } 13624 } 13625 impl AmdExtension233Fn { 13626 #[inline] name() -> &'static ::std::ffi::CStr13627 pub const fn name() -> &'static ::std::ffi::CStr { 13628 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_233\0") } 13629 } 13630 pub const SPEC_VERSION: u32 = 0u32; 13631 } 13632 #[derive(Clone)] 13633 pub struct AmdExtension233Fn {} 13634 unsafe impl Send for AmdExtension233Fn {} 13635 unsafe impl Sync for AmdExtension233Fn {} 13636 impl AmdExtension233Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13637 pub fn load<F>(mut _f: F) -> Self 13638 where 13639 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13640 { 13641 Self {} 13642 } 13643 } 13644 impl AmdExtension234Fn { 13645 #[inline] name() -> &'static ::std::ffi::CStr13646 pub const fn name() -> &'static ::std::ffi::CStr { 13647 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_234\0") } 13648 } 13649 pub const SPEC_VERSION: u32 = 0u32; 13650 } 13651 #[derive(Clone)] 13652 pub struct AmdExtension234Fn {} 13653 unsafe impl Send for AmdExtension234Fn {} 13654 unsafe impl Sync for AmdExtension234Fn {} 13655 impl AmdExtension234Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13656 pub fn load<F>(mut _f: F) -> Self 13657 where 13658 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13659 { 13660 Self {} 13661 } 13662 } 13663 impl ExtShaderImageAtomicInt64Fn { 13664 #[inline] name() -> &'static ::std::ffi::CStr13665 pub const fn name() -> &'static ::std::ffi::CStr { 13666 unsafe { 13667 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_image_atomic_int64\0") 13668 } 13669 } 13670 pub const SPEC_VERSION: u32 = 1u32; 13671 } 13672 #[derive(Clone)] 13673 pub struct ExtShaderImageAtomicInt64Fn {} 13674 unsafe impl Send for ExtShaderImageAtomicInt64Fn {} 13675 unsafe impl Sync for ExtShaderImageAtomicInt64Fn {} 13676 impl ExtShaderImageAtomicInt64Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13677 pub fn load<F>(mut _f: F) -> Self 13678 where 13679 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13680 { 13681 Self {} 13682 } 13683 } 13684 #[doc = "Generated from 'VK_EXT_shader_image_atomic_int64'"] 13685 impl StructureType { 13686 pub const PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: Self = Self(1_000_234_000); 13687 } 13688 impl AmdExtension236Fn { 13689 #[inline] name() -> &'static ::std::ffi::CStr13690 pub const fn name() -> &'static ::std::ffi::CStr { 13691 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_236\0") } 13692 } 13693 pub const SPEC_VERSION: u32 = 0u32; 13694 } 13695 #[derive(Clone)] 13696 pub struct AmdExtension236Fn {} 13697 unsafe impl Send for AmdExtension236Fn {} 13698 unsafe impl Sync for AmdExtension236Fn {} 13699 impl AmdExtension236Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13700 pub fn load<F>(mut _f: F) -> Self 13701 where 13702 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13703 { 13704 Self {} 13705 } 13706 } 13707 impl KhrSpirv14Fn { 13708 #[inline] name() -> &'static ::std::ffi::CStr13709 pub const fn name() -> &'static ::std::ffi::CStr { 13710 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_spirv_1_4\0") } 13711 } 13712 pub const SPEC_VERSION: u32 = 1u32; 13713 } 13714 #[derive(Clone)] 13715 pub struct KhrSpirv14Fn {} 13716 unsafe impl Send for KhrSpirv14Fn {} 13717 unsafe impl Sync for KhrSpirv14Fn {} 13718 impl KhrSpirv14Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13719 pub fn load<F>(mut _f: F) -> Self 13720 where 13721 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13722 { 13723 Self {} 13724 } 13725 } 13726 impl ExtMemoryBudgetFn { 13727 #[inline] name() -> &'static ::std::ffi::CStr13728 pub const fn name() -> &'static ::std::ffi::CStr { 13729 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_memory_budget\0") } 13730 } 13731 pub const SPEC_VERSION: u32 = 1u32; 13732 } 13733 #[derive(Clone)] 13734 pub struct ExtMemoryBudgetFn {} 13735 unsafe impl Send for ExtMemoryBudgetFn {} 13736 unsafe impl Sync for ExtMemoryBudgetFn {} 13737 impl ExtMemoryBudgetFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13738 pub fn load<F>(mut _f: F) -> Self 13739 where 13740 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13741 { 13742 Self {} 13743 } 13744 } 13745 #[doc = "Generated from 'VK_EXT_memory_budget'"] 13746 impl StructureType { 13747 pub const PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: Self = Self(1_000_237_000); 13748 } 13749 impl ExtMemoryPriorityFn { 13750 #[inline] name() -> &'static ::std::ffi::CStr13751 pub const fn name() -> &'static ::std::ffi::CStr { 13752 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_memory_priority\0") } 13753 } 13754 pub const SPEC_VERSION: u32 = 1u32; 13755 } 13756 #[derive(Clone)] 13757 pub struct ExtMemoryPriorityFn {} 13758 unsafe impl Send for ExtMemoryPriorityFn {} 13759 unsafe impl Sync for ExtMemoryPriorityFn {} 13760 impl ExtMemoryPriorityFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13761 pub fn load<F>(mut _f: F) -> Self 13762 where 13763 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13764 { 13765 Self {} 13766 } 13767 } 13768 #[doc = "Generated from 'VK_EXT_memory_priority'"] 13769 impl StructureType { 13770 pub const PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: Self = Self(1_000_238_000); 13771 pub const MEMORY_PRIORITY_ALLOCATE_INFO_EXT: Self = Self(1_000_238_001); 13772 } 13773 impl KhrSurfaceProtectedCapabilitiesFn { 13774 #[inline] name() -> &'static ::std::ffi::CStr13775 pub const fn name() -> &'static ::std::ffi::CStr { 13776 unsafe { 13777 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13778 b"VK_KHR_surface_protected_capabilities\0", 13779 ) 13780 } 13781 } 13782 pub const SPEC_VERSION: u32 = 1u32; 13783 } 13784 #[derive(Clone)] 13785 pub struct KhrSurfaceProtectedCapabilitiesFn {} 13786 unsafe impl Send for KhrSurfaceProtectedCapabilitiesFn {} 13787 unsafe impl Sync for KhrSurfaceProtectedCapabilitiesFn {} 13788 impl KhrSurfaceProtectedCapabilitiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13789 pub fn load<F>(mut _f: F) -> Self 13790 where 13791 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13792 { 13793 Self {} 13794 } 13795 } 13796 #[doc = "Generated from 'VK_KHR_surface_protected_capabilities'"] 13797 impl StructureType { 13798 pub const SURFACE_PROTECTED_CAPABILITIES_KHR: Self = Self(1_000_239_000); 13799 } 13800 impl NvDedicatedAllocationImageAliasingFn { 13801 #[inline] name() -> &'static ::std::ffi::CStr13802 pub const fn name() -> &'static ::std::ffi::CStr { 13803 unsafe { 13804 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13805 b"VK_NV_dedicated_allocation_image_aliasing\0", 13806 ) 13807 } 13808 } 13809 pub const SPEC_VERSION: u32 = 1u32; 13810 } 13811 #[derive(Clone)] 13812 pub struct NvDedicatedAllocationImageAliasingFn {} 13813 unsafe impl Send for NvDedicatedAllocationImageAliasingFn {} 13814 unsafe impl Sync for NvDedicatedAllocationImageAliasingFn {} 13815 impl NvDedicatedAllocationImageAliasingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13816 pub fn load<F>(mut _f: F) -> Self 13817 where 13818 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13819 { 13820 Self {} 13821 } 13822 } 13823 #[doc = "Generated from 'VK_NV_dedicated_allocation_image_aliasing'"] 13824 impl StructureType { 13825 pub const PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: Self = 13826 Self(1_000_240_000); 13827 } 13828 impl KhrSeparateDepthStencilLayoutsFn { 13829 #[inline] name() -> &'static ::std::ffi::CStr13830 pub const fn name() -> &'static ::std::ffi::CStr { 13831 unsafe { 13832 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13833 b"VK_KHR_separate_depth_stencil_layouts\0", 13834 ) 13835 } 13836 } 13837 pub const SPEC_VERSION: u32 = 1u32; 13838 } 13839 #[derive(Clone)] 13840 pub struct KhrSeparateDepthStencilLayoutsFn {} 13841 unsafe impl Send for KhrSeparateDepthStencilLayoutsFn {} 13842 unsafe impl Sync for KhrSeparateDepthStencilLayoutsFn {} 13843 impl KhrSeparateDepthStencilLayoutsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13844 pub fn load<F>(mut _f: F) -> Self 13845 where 13846 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13847 { 13848 Self {} 13849 } 13850 } 13851 #[doc = "Generated from 'VK_KHR_separate_depth_stencil_layouts'"] 13852 impl ImageLayout { 13853 pub const DEPTH_ATTACHMENT_OPTIMAL_KHR: Self = Self::DEPTH_ATTACHMENT_OPTIMAL; 13854 pub const DEPTH_READ_ONLY_OPTIMAL_KHR: Self = Self::DEPTH_READ_ONLY_OPTIMAL; 13855 pub const STENCIL_ATTACHMENT_OPTIMAL_KHR: Self = Self::STENCIL_ATTACHMENT_OPTIMAL; 13856 pub const STENCIL_READ_ONLY_OPTIMAL_KHR: Self = Self::STENCIL_READ_ONLY_OPTIMAL; 13857 } 13858 #[doc = "Generated from 'VK_KHR_separate_depth_stencil_layouts'"] 13859 impl StructureType { 13860 pub const PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR: Self = 13861 Self::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES; 13862 pub const ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR: Self = 13863 Self::ATTACHMENT_REFERENCE_STENCIL_LAYOUT; 13864 pub const ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR: Self = 13865 Self::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT; 13866 } 13867 impl IntelExtension243Fn { 13868 #[inline] name() -> &'static ::std::ffi::CStr13869 pub const fn name() -> &'static ::std::ffi::CStr { 13870 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_INTEL_extension_243\0") } 13871 } 13872 pub const SPEC_VERSION: u32 = 0u32; 13873 } 13874 #[derive(Clone)] 13875 pub struct IntelExtension243Fn {} 13876 unsafe impl Send for IntelExtension243Fn {} 13877 unsafe impl Sync for IntelExtension243Fn {} 13878 impl IntelExtension243Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13879 pub fn load<F>(mut _f: F) -> Self 13880 where 13881 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13882 { 13883 Self {} 13884 } 13885 } 13886 #[doc = "Generated from 'VK_INTEL_extension_243'"] 13887 impl AccessFlags2 { 13888 pub const RESERVED_46_EXT: Self = 13889 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 13890 } 13891 impl MesaExtension244Fn { 13892 #[inline] name() -> &'static ::std::ffi::CStr13893 pub const fn name() -> &'static ::std::ffi::CStr { 13894 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MESA_extension_244\0") } 13895 } 13896 pub const SPEC_VERSION: u32 = 0u32; 13897 } 13898 #[derive(Clone)] 13899 pub struct MesaExtension244Fn {} 13900 unsafe impl Send for MesaExtension244Fn {} 13901 unsafe impl Sync for MesaExtension244Fn {} 13902 impl MesaExtension244Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13903 pub fn load<F>(mut _f: F) -> Self 13904 where 13905 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13906 { 13907 Self {} 13908 } 13909 } 13910 impl ExtBufferDeviceAddressFn { 13911 #[inline] name() -> &'static ::std::ffi::CStr13912 pub const fn name() -> &'static ::std::ffi::CStr { 13913 unsafe { 13914 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_buffer_device_address\0") 13915 } 13916 } 13917 pub const SPEC_VERSION: u32 = 2u32; 13918 } 13919 #[allow(non_camel_case_types)] 13920 pub type PFN_vkGetBufferDeviceAddress = unsafe extern "system" fn( 13921 device: Device, 13922 p_info: *const BufferDeviceAddressInfo, 13923 ) -> DeviceAddress; 13924 #[derive(Clone)] 13925 pub struct ExtBufferDeviceAddressFn { 13926 pub get_buffer_device_address_ext: PFN_vkGetBufferDeviceAddress, 13927 } 13928 unsafe impl Send for ExtBufferDeviceAddressFn {} 13929 unsafe impl Sync for ExtBufferDeviceAddressFn {} 13930 impl ExtBufferDeviceAddressFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13931 pub fn load<F>(mut _f: F) -> Self 13932 where 13933 F: FnMut(&::std::ffi::CStr) -> *const c_void, 13934 { 13935 Self { 13936 get_buffer_device_address_ext: unsafe { 13937 unsafe extern "system" fn get_buffer_device_address_ext( 13938 _device: Device, 13939 _p_info: *const BufferDeviceAddressInfo, 13940 ) -> DeviceAddress { 13941 panic!(concat!( 13942 "Unable to load ", 13943 stringify!(get_buffer_device_address_ext) 13944 )) 13945 } 13946 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 13947 b"vkGetBufferDeviceAddressEXT\0", 13948 ); 13949 let val = _f(cname); 13950 if val.is_null() { 13951 get_buffer_device_address_ext 13952 } else { 13953 ::std::mem::transmute(val) 13954 } 13955 }, 13956 } 13957 } 13958 } 13959 #[doc = "Generated from 'VK_EXT_buffer_device_address'"] 13960 impl BufferCreateFlags { 13961 pub const DEVICE_ADDRESS_CAPTURE_REPLAY_EXT: Self = Self::DEVICE_ADDRESS_CAPTURE_REPLAY; 13962 } 13963 #[doc = "Generated from 'VK_EXT_buffer_device_address'"] 13964 impl BufferUsageFlags { 13965 pub const SHADER_DEVICE_ADDRESS_EXT: Self = Self::SHADER_DEVICE_ADDRESS; 13966 } 13967 #[doc = "Generated from 'VK_EXT_buffer_device_address'"] 13968 impl Result { 13969 pub const ERROR_INVALID_DEVICE_ADDRESS_EXT: Self = Self::ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS; 13970 } 13971 #[doc = "Generated from 'VK_EXT_buffer_device_address'"] 13972 impl StructureType { 13973 pub const PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: Self = Self(1_000_244_000); 13974 pub const PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT: Self = 13975 Self::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT; 13976 pub const BUFFER_DEVICE_ADDRESS_INFO_EXT: Self = Self::BUFFER_DEVICE_ADDRESS_INFO; 13977 pub const BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: Self = Self(1_000_244_002); 13978 } 13979 impl ExtToolingInfoFn { 13980 #[inline] name() -> &'static ::std::ffi::CStr13981 pub const fn name() -> &'static ::std::ffi::CStr { 13982 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_tooling_info\0") } 13983 } 13984 pub const SPEC_VERSION: u32 = 1u32; 13985 } 13986 #[allow(non_camel_case_types)] 13987 pub type PFN_vkGetPhysicalDeviceToolProperties = unsafe extern "system" fn( 13988 physical_device: PhysicalDevice, 13989 p_tool_count: *mut u32, 13990 p_tool_properties: *mut PhysicalDeviceToolProperties, 13991 ) -> Result; 13992 #[derive(Clone)] 13993 pub struct ExtToolingInfoFn { 13994 pub get_physical_device_tool_properties_ext: PFN_vkGetPhysicalDeviceToolProperties, 13995 } 13996 unsafe impl Send for ExtToolingInfoFn {} 13997 unsafe impl Sync for ExtToolingInfoFn {} 13998 impl ExtToolingInfoFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,13999 pub fn load<F>(mut _f: F) -> Self 14000 where 14001 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14002 { 14003 Self { 14004 get_physical_device_tool_properties_ext: unsafe { 14005 unsafe extern "system" fn get_physical_device_tool_properties_ext( 14006 _physical_device: PhysicalDevice, 14007 _p_tool_count: *mut u32, 14008 _p_tool_properties: *mut PhysicalDeviceToolProperties, 14009 ) -> Result { 14010 panic!(concat!( 14011 "Unable to load ", 14012 stringify!(get_physical_device_tool_properties_ext) 14013 )) 14014 } 14015 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14016 b"vkGetPhysicalDeviceToolPropertiesEXT\0", 14017 ); 14018 let val = _f(cname); 14019 if val.is_null() { 14020 get_physical_device_tool_properties_ext 14021 } else { 14022 ::std::mem::transmute(val) 14023 } 14024 }, 14025 } 14026 } 14027 } 14028 #[doc = "Generated from 'VK_EXT_tooling_info'"] 14029 impl StructureType { 14030 pub const PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT: Self = Self::PHYSICAL_DEVICE_TOOL_PROPERTIES; 14031 } 14032 #[doc = "Generated from 'VK_EXT_tooling_info'"] 14033 impl ToolPurposeFlags { 14034 pub const DEBUG_REPORTING_EXT: Self = Self(0b10_0000); 14035 pub const DEBUG_MARKERS_EXT: Self = Self(0b100_0000); 14036 } 14037 impl ExtSeparateStencilUsageFn { 14038 #[inline] name() -> &'static ::std::ffi::CStr14039 pub const fn name() -> &'static ::std::ffi::CStr { 14040 unsafe { 14041 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_separate_stencil_usage\0") 14042 } 14043 } 14044 pub const SPEC_VERSION: u32 = 1u32; 14045 } 14046 #[derive(Clone)] 14047 pub struct ExtSeparateStencilUsageFn {} 14048 unsafe impl Send for ExtSeparateStencilUsageFn {} 14049 unsafe impl Sync for ExtSeparateStencilUsageFn {} 14050 impl ExtSeparateStencilUsageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14051 pub fn load<F>(mut _f: F) -> Self 14052 where 14053 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14054 { 14055 Self {} 14056 } 14057 } 14058 #[doc = "Generated from 'VK_EXT_separate_stencil_usage'"] 14059 impl StructureType { 14060 pub const IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: Self = Self::IMAGE_STENCIL_USAGE_CREATE_INFO; 14061 } 14062 impl ExtValidationFeaturesFn { 14063 #[inline] name() -> &'static ::std::ffi::CStr14064 pub const fn name() -> &'static ::std::ffi::CStr { 14065 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_validation_features\0") } 14066 } 14067 pub const SPEC_VERSION: u32 = 5u32; 14068 } 14069 #[derive(Clone)] 14070 pub struct ExtValidationFeaturesFn {} 14071 unsafe impl Send for ExtValidationFeaturesFn {} 14072 unsafe impl Sync for ExtValidationFeaturesFn {} 14073 impl ExtValidationFeaturesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14074 pub fn load<F>(mut _f: F) -> Self 14075 where 14076 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14077 { 14078 Self {} 14079 } 14080 } 14081 #[doc = "Generated from 'VK_EXT_validation_features'"] 14082 impl StructureType { 14083 pub const VALIDATION_FEATURES_EXT: Self = Self(1_000_247_000); 14084 } 14085 impl KhrPresentWaitFn { 14086 #[inline] name() -> &'static ::std::ffi::CStr14087 pub const fn name() -> &'static ::std::ffi::CStr { 14088 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_present_wait\0") } 14089 } 14090 pub const SPEC_VERSION: u32 = 1u32; 14091 } 14092 #[allow(non_camel_case_types)] 14093 pub type PFN_vkWaitForPresentKHR = unsafe extern "system" fn( 14094 device: Device, 14095 swapchain: SwapchainKHR, 14096 present_id: u64, 14097 timeout: u64, 14098 ) -> Result; 14099 #[derive(Clone)] 14100 pub struct KhrPresentWaitFn { 14101 pub wait_for_present_khr: PFN_vkWaitForPresentKHR, 14102 } 14103 unsafe impl Send for KhrPresentWaitFn {} 14104 unsafe impl Sync for KhrPresentWaitFn {} 14105 impl KhrPresentWaitFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14106 pub fn load<F>(mut _f: F) -> Self 14107 where 14108 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14109 { 14110 Self { 14111 wait_for_present_khr: unsafe { 14112 unsafe extern "system" fn wait_for_present_khr( 14113 _device: Device, 14114 _swapchain: SwapchainKHR, 14115 _present_id: u64, 14116 _timeout: u64, 14117 ) -> Result { 14118 panic!(concat!("Unable to load ", stringify!(wait_for_present_khr))) 14119 } 14120 let cname = 14121 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkWaitForPresentKHR\0"); 14122 let val = _f(cname); 14123 if val.is_null() { 14124 wait_for_present_khr 14125 } else { 14126 ::std::mem::transmute(val) 14127 } 14128 }, 14129 } 14130 } 14131 } 14132 #[doc = "Generated from 'VK_KHR_present_wait'"] 14133 impl StructureType { 14134 pub const PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: Self = Self(1_000_248_000); 14135 } 14136 impl NvCooperativeMatrixFn { 14137 #[inline] name() -> &'static ::std::ffi::CStr14138 pub const fn name() -> &'static ::std::ffi::CStr { 14139 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_cooperative_matrix\0") } 14140 } 14141 pub const SPEC_VERSION: u32 = 1u32; 14142 } 14143 #[allow(non_camel_case_types)] 14144 pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = unsafe extern "system" fn( 14145 physical_device: PhysicalDevice, 14146 p_property_count: *mut u32, 14147 p_properties: *mut CooperativeMatrixPropertiesNV, 14148 ) 14149 -> Result; 14150 #[derive(Clone)] 14151 pub struct NvCooperativeMatrixFn { 14152 pub get_physical_device_cooperative_matrix_properties_nv: 14153 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, 14154 } 14155 unsafe impl Send for NvCooperativeMatrixFn {} 14156 unsafe impl Sync for NvCooperativeMatrixFn {} 14157 impl NvCooperativeMatrixFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14158 pub fn load<F>(mut _f: F) -> Self 14159 where 14160 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14161 { 14162 Self { 14163 get_physical_device_cooperative_matrix_properties_nv: unsafe { 14164 unsafe extern "system" fn get_physical_device_cooperative_matrix_properties_nv( 14165 _physical_device: PhysicalDevice, 14166 _p_property_count: *mut u32, 14167 _p_properties: *mut CooperativeMatrixPropertiesNV, 14168 ) -> Result { 14169 panic!(concat!( 14170 "Unable to load ", 14171 stringify!(get_physical_device_cooperative_matrix_properties_nv) 14172 )) 14173 } 14174 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14175 b"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV\0", 14176 ); 14177 let val = _f(cname); 14178 if val.is_null() { 14179 get_physical_device_cooperative_matrix_properties_nv 14180 } else { 14181 ::std::mem::transmute(val) 14182 } 14183 }, 14184 } 14185 } 14186 } 14187 #[doc = "Generated from 'VK_NV_cooperative_matrix'"] 14188 impl StructureType { 14189 pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: Self = Self(1_000_249_000); 14190 pub const COOPERATIVE_MATRIX_PROPERTIES_NV: Self = Self(1_000_249_001); 14191 pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: Self = Self(1_000_249_002); 14192 } 14193 impl NvCoverageReductionModeFn { 14194 #[inline] name() -> &'static ::std::ffi::CStr14195 pub const fn name() -> &'static ::std::ffi::CStr { 14196 unsafe { 14197 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_coverage_reduction_mode\0") 14198 } 14199 } 14200 pub const SPEC_VERSION: u32 = 1u32; 14201 } 14202 #[allow(non_camel_case_types)] 14203 pub type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 14204 unsafe extern "system" fn( 14205 physical_device: PhysicalDevice, 14206 p_combination_count: *mut u32, 14207 p_combinations: *mut FramebufferMixedSamplesCombinationNV, 14208 ) -> Result; 14209 #[derive(Clone)] 14210 pub struct NvCoverageReductionModeFn { 14211 pub get_physical_device_supported_framebuffer_mixed_samples_combinations_nv: 14212 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, 14213 } 14214 unsafe impl Send for NvCoverageReductionModeFn {} 14215 unsafe impl Sync for NvCoverageReductionModeFn {} 14216 impl NvCoverageReductionModeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14217 pub fn load<F>(mut _f: F) -> Self 14218 where 14219 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14220 { 14221 Self { 14222 get_physical_device_supported_framebuffer_mixed_samples_combinations_nv: unsafe { 14223 unsafe extern "system" fn get_physical_device_supported_framebuffer_mixed_samples_combinations_nv( 14224 _physical_device: PhysicalDevice, 14225 _p_combination_count: *mut u32, 14226 _p_combinations: *mut FramebufferMixedSamplesCombinationNV, 14227 ) -> Result { 14228 panic!(concat!( 14229 "Unable to load ", 14230 stringify!( 14231 get_physical_device_supported_framebuffer_mixed_samples_combinations_nv 14232 ) 14233 )) 14234 } 14235 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14236 b"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV\0", 14237 ); 14238 let val = _f(cname); 14239 if val.is_null() { 14240 get_physical_device_supported_framebuffer_mixed_samples_combinations_nv 14241 } else { 14242 ::std::mem::transmute(val) 14243 } 14244 }, 14245 } 14246 } 14247 } 14248 #[doc = "Generated from 'VK_NV_coverage_reduction_mode'"] 14249 impl StructureType { 14250 pub const PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: Self = Self(1_000_250_000); 14251 pub const PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: Self = Self(1_000_250_001); 14252 pub const FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: Self = Self(1_000_250_002); 14253 } 14254 impl ExtFragmentShaderInterlockFn { 14255 #[inline] name() -> &'static ::std::ffi::CStr14256 pub const fn name() -> &'static ::std::ffi::CStr { 14257 unsafe { 14258 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_fragment_shader_interlock\0") 14259 } 14260 } 14261 pub const SPEC_VERSION: u32 = 1u32; 14262 } 14263 #[derive(Clone)] 14264 pub struct ExtFragmentShaderInterlockFn {} 14265 unsafe impl Send for ExtFragmentShaderInterlockFn {} 14266 unsafe impl Sync for ExtFragmentShaderInterlockFn {} 14267 impl ExtFragmentShaderInterlockFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14268 pub fn load<F>(mut _f: F) -> Self 14269 where 14270 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14271 { 14272 Self {} 14273 } 14274 } 14275 #[doc = "Generated from 'VK_EXT_fragment_shader_interlock'"] 14276 impl StructureType { 14277 pub const PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: Self = Self(1_000_251_000); 14278 } 14279 impl ExtYcbcrImageArraysFn { 14280 #[inline] name() -> &'static ::std::ffi::CStr14281 pub const fn name() -> &'static ::std::ffi::CStr { 14282 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_ycbcr_image_arrays\0") } 14283 } 14284 pub const SPEC_VERSION: u32 = 1u32; 14285 } 14286 #[derive(Clone)] 14287 pub struct ExtYcbcrImageArraysFn {} 14288 unsafe impl Send for ExtYcbcrImageArraysFn {} 14289 unsafe impl Sync for ExtYcbcrImageArraysFn {} 14290 impl ExtYcbcrImageArraysFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14291 pub fn load<F>(mut _f: F) -> Self 14292 where 14293 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14294 { 14295 Self {} 14296 } 14297 } 14298 #[doc = "Generated from 'VK_EXT_ycbcr_image_arrays'"] 14299 impl StructureType { 14300 pub const PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: Self = Self(1_000_252_000); 14301 } 14302 impl KhrUniformBufferStandardLayoutFn { 14303 #[inline] name() -> &'static ::std::ffi::CStr14304 pub const fn name() -> &'static ::std::ffi::CStr { 14305 unsafe { 14306 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14307 b"VK_KHR_uniform_buffer_standard_layout\0", 14308 ) 14309 } 14310 } 14311 pub const SPEC_VERSION: u32 = 1u32; 14312 } 14313 #[derive(Clone)] 14314 pub struct KhrUniformBufferStandardLayoutFn {} 14315 unsafe impl Send for KhrUniformBufferStandardLayoutFn {} 14316 unsafe impl Sync for KhrUniformBufferStandardLayoutFn {} 14317 impl KhrUniformBufferStandardLayoutFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14318 pub fn load<F>(mut _f: F) -> Self 14319 where 14320 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14321 { 14322 Self {} 14323 } 14324 } 14325 #[doc = "Generated from 'VK_KHR_uniform_buffer_standard_layout'"] 14326 impl StructureType { 14327 pub const PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: Self = 14328 Self::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES; 14329 } 14330 impl ExtProvokingVertexFn { 14331 #[inline] name() -> &'static ::std::ffi::CStr14332 pub const fn name() -> &'static ::std::ffi::CStr { 14333 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_provoking_vertex\0") } 14334 } 14335 pub const SPEC_VERSION: u32 = 1u32; 14336 } 14337 #[derive(Clone)] 14338 pub struct ExtProvokingVertexFn {} 14339 unsafe impl Send for ExtProvokingVertexFn {} 14340 unsafe impl Sync for ExtProvokingVertexFn {} 14341 impl ExtProvokingVertexFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14342 pub fn load<F>(mut _f: F) -> Self 14343 where 14344 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14345 { 14346 Self {} 14347 } 14348 } 14349 #[doc = "Generated from 'VK_EXT_provoking_vertex'"] 14350 impl StructureType { 14351 pub const PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: Self = Self(1_000_254_000); 14352 pub const PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: Self = 14353 Self(1_000_254_001); 14354 pub const PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: Self = Self(1_000_254_002); 14355 } 14356 impl ExtFullScreenExclusiveFn { 14357 #[inline] name() -> &'static ::std::ffi::CStr14358 pub const fn name() -> &'static ::std::ffi::CStr { 14359 unsafe { 14360 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_full_screen_exclusive\0") 14361 } 14362 } 14363 pub const SPEC_VERSION: u32 = 4u32; 14364 } 14365 #[allow(non_camel_case_types)] 14366 pub type PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT = unsafe extern "system" fn( 14367 physical_device: PhysicalDevice, 14368 p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 14369 p_present_mode_count: *mut u32, 14370 p_present_modes: *mut PresentModeKHR, 14371 ) -> Result; 14372 #[allow(non_camel_case_types)] 14373 pub type PFN_vkAcquireFullScreenExclusiveModeEXT = 14374 unsafe extern "system" fn(device: Device, swapchain: SwapchainKHR) -> Result; 14375 #[allow(non_camel_case_types)] 14376 pub type PFN_vkReleaseFullScreenExclusiveModeEXT = 14377 unsafe extern "system" fn(device: Device, swapchain: SwapchainKHR) -> Result; 14378 #[allow(non_camel_case_types)] 14379 pub type PFN_vkGetDeviceGroupSurfacePresentModes2EXT = unsafe extern "system" fn( 14380 device: Device, 14381 p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 14382 p_modes: *mut DeviceGroupPresentModeFlagsKHR, 14383 ) -> Result; 14384 #[derive(Clone)] 14385 pub struct ExtFullScreenExclusiveFn { 14386 pub get_physical_device_surface_present_modes2_ext: 14387 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT, 14388 pub acquire_full_screen_exclusive_mode_ext: PFN_vkAcquireFullScreenExclusiveModeEXT, 14389 pub release_full_screen_exclusive_mode_ext: PFN_vkReleaseFullScreenExclusiveModeEXT, 14390 pub get_device_group_surface_present_modes2_ext: PFN_vkGetDeviceGroupSurfacePresentModes2EXT, 14391 } 14392 unsafe impl Send for ExtFullScreenExclusiveFn {} 14393 unsafe impl Sync for ExtFullScreenExclusiveFn {} 14394 impl ExtFullScreenExclusiveFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14395 pub fn load<F>(mut _f: F) -> Self 14396 where 14397 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14398 { 14399 Self { 14400 get_physical_device_surface_present_modes2_ext: unsafe { 14401 unsafe extern "system" fn get_physical_device_surface_present_modes2_ext( 14402 _physical_device: PhysicalDevice, 14403 _p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 14404 _p_present_mode_count: *mut u32, 14405 _p_present_modes: *mut PresentModeKHR, 14406 ) -> Result { 14407 panic!(concat!( 14408 "Unable to load ", 14409 stringify!(get_physical_device_surface_present_modes2_ext) 14410 )) 14411 } 14412 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14413 b"vkGetPhysicalDeviceSurfacePresentModes2EXT\0", 14414 ); 14415 let val = _f(cname); 14416 if val.is_null() { 14417 get_physical_device_surface_present_modes2_ext 14418 } else { 14419 ::std::mem::transmute(val) 14420 } 14421 }, 14422 acquire_full_screen_exclusive_mode_ext: unsafe { 14423 unsafe extern "system" fn acquire_full_screen_exclusive_mode_ext( 14424 _device: Device, 14425 _swapchain: SwapchainKHR, 14426 ) -> Result { 14427 panic!(concat!( 14428 "Unable to load ", 14429 stringify!(acquire_full_screen_exclusive_mode_ext) 14430 )) 14431 } 14432 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14433 b"vkAcquireFullScreenExclusiveModeEXT\0", 14434 ); 14435 let val = _f(cname); 14436 if val.is_null() { 14437 acquire_full_screen_exclusive_mode_ext 14438 } else { 14439 ::std::mem::transmute(val) 14440 } 14441 }, 14442 release_full_screen_exclusive_mode_ext: unsafe { 14443 unsafe extern "system" fn release_full_screen_exclusive_mode_ext( 14444 _device: Device, 14445 _swapchain: SwapchainKHR, 14446 ) -> Result { 14447 panic!(concat!( 14448 "Unable to load ", 14449 stringify!(release_full_screen_exclusive_mode_ext) 14450 )) 14451 } 14452 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14453 b"vkReleaseFullScreenExclusiveModeEXT\0", 14454 ); 14455 let val = _f(cname); 14456 if val.is_null() { 14457 release_full_screen_exclusive_mode_ext 14458 } else { 14459 ::std::mem::transmute(val) 14460 } 14461 }, 14462 get_device_group_surface_present_modes2_ext: unsafe { 14463 unsafe extern "system" fn get_device_group_surface_present_modes2_ext( 14464 _device: Device, 14465 _p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, 14466 _p_modes: *mut DeviceGroupPresentModeFlagsKHR, 14467 ) -> Result { 14468 panic!(concat!( 14469 "Unable to load ", 14470 stringify!(get_device_group_surface_present_modes2_ext) 14471 )) 14472 } 14473 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14474 b"vkGetDeviceGroupSurfacePresentModes2EXT\0", 14475 ); 14476 let val = _f(cname); 14477 if val.is_null() { 14478 get_device_group_surface_present_modes2_ext 14479 } else { 14480 ::std::mem::transmute(val) 14481 } 14482 }, 14483 } 14484 } 14485 } 14486 #[doc = "Generated from 'VK_EXT_full_screen_exclusive'"] 14487 impl Result { 14488 pub const ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: Self = Self(-1_000_255_000); 14489 } 14490 #[doc = "Generated from 'VK_EXT_full_screen_exclusive'"] 14491 impl StructureType { 14492 pub const SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: Self = Self(1_000_255_000); 14493 pub const SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: Self = Self(1_000_255_002); 14494 pub const SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: Self = Self(1_000_255_001); 14495 } 14496 impl ExtHeadlessSurfaceFn { 14497 #[inline] name() -> &'static ::std::ffi::CStr14498 pub const fn name() -> &'static ::std::ffi::CStr { 14499 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_headless_surface\0") } 14500 } 14501 pub const SPEC_VERSION: u32 = 1u32; 14502 } 14503 #[allow(non_camel_case_types)] 14504 pub type PFN_vkCreateHeadlessSurfaceEXT = unsafe extern "system" fn( 14505 instance: Instance, 14506 p_create_info: *const HeadlessSurfaceCreateInfoEXT, 14507 p_allocator: *const AllocationCallbacks, 14508 p_surface: *mut SurfaceKHR, 14509 ) -> Result; 14510 #[derive(Clone)] 14511 pub struct ExtHeadlessSurfaceFn { 14512 pub create_headless_surface_ext: PFN_vkCreateHeadlessSurfaceEXT, 14513 } 14514 unsafe impl Send for ExtHeadlessSurfaceFn {} 14515 unsafe impl Sync for ExtHeadlessSurfaceFn {} 14516 impl ExtHeadlessSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14517 pub fn load<F>(mut _f: F) -> Self 14518 where 14519 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14520 { 14521 Self { 14522 create_headless_surface_ext: unsafe { 14523 unsafe extern "system" fn create_headless_surface_ext( 14524 _instance: Instance, 14525 _p_create_info: *const HeadlessSurfaceCreateInfoEXT, 14526 _p_allocator: *const AllocationCallbacks, 14527 _p_surface: *mut SurfaceKHR, 14528 ) -> Result { 14529 panic!(concat!( 14530 "Unable to load ", 14531 stringify!(create_headless_surface_ext) 14532 )) 14533 } 14534 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14535 b"vkCreateHeadlessSurfaceEXT\0", 14536 ); 14537 let val = _f(cname); 14538 if val.is_null() { 14539 create_headless_surface_ext 14540 } else { 14541 ::std::mem::transmute(val) 14542 } 14543 }, 14544 } 14545 } 14546 } 14547 #[doc = "Generated from 'VK_EXT_headless_surface'"] 14548 impl StructureType { 14549 pub const HEADLESS_SURFACE_CREATE_INFO_EXT: Self = Self(1_000_256_000); 14550 } 14551 impl KhrBufferDeviceAddressFn { 14552 #[inline] name() -> &'static ::std::ffi::CStr14553 pub const fn name() -> &'static ::std::ffi::CStr { 14554 unsafe { 14555 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_buffer_device_address\0") 14556 } 14557 } 14558 pub const SPEC_VERSION: u32 = 1u32; 14559 } 14560 #[allow(non_camel_case_types)] 14561 pub type PFN_vkGetBufferOpaqueCaptureAddress = 14562 unsafe extern "system" fn(device: Device, p_info: *const BufferDeviceAddressInfo) -> u64; 14563 #[allow(non_camel_case_types)] 14564 pub type PFN_vkGetDeviceMemoryOpaqueCaptureAddress = unsafe extern "system" fn( 14565 device: Device, 14566 p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, 14567 ) -> u64; 14568 #[derive(Clone)] 14569 pub struct KhrBufferDeviceAddressFn { 14570 pub get_buffer_device_address_khr: crate::vk::PFN_vkGetBufferDeviceAddress, 14571 pub get_buffer_opaque_capture_address_khr: PFN_vkGetBufferOpaqueCaptureAddress, 14572 pub get_device_memory_opaque_capture_address_khr: PFN_vkGetDeviceMemoryOpaqueCaptureAddress, 14573 } 14574 unsafe impl Send for KhrBufferDeviceAddressFn {} 14575 unsafe impl Sync for KhrBufferDeviceAddressFn {} 14576 impl KhrBufferDeviceAddressFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14577 pub fn load<F>(mut _f: F) -> Self 14578 where 14579 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14580 { 14581 Self { 14582 get_buffer_device_address_khr: unsafe { 14583 unsafe extern "system" fn get_buffer_device_address_khr( 14584 _device: Device, 14585 _p_info: *const BufferDeviceAddressInfo, 14586 ) -> DeviceAddress { 14587 panic!(concat!( 14588 "Unable to load ", 14589 stringify!(get_buffer_device_address_khr) 14590 )) 14591 } 14592 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14593 b"vkGetBufferDeviceAddressKHR\0", 14594 ); 14595 let val = _f(cname); 14596 if val.is_null() { 14597 get_buffer_device_address_khr 14598 } else { 14599 ::std::mem::transmute(val) 14600 } 14601 }, 14602 get_buffer_opaque_capture_address_khr: unsafe { 14603 unsafe extern "system" fn get_buffer_opaque_capture_address_khr( 14604 _device: Device, 14605 _p_info: *const BufferDeviceAddressInfo, 14606 ) -> u64 { 14607 panic!(concat!( 14608 "Unable to load ", 14609 stringify!(get_buffer_opaque_capture_address_khr) 14610 )) 14611 } 14612 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14613 b"vkGetBufferOpaqueCaptureAddressKHR\0", 14614 ); 14615 let val = _f(cname); 14616 if val.is_null() { 14617 get_buffer_opaque_capture_address_khr 14618 } else { 14619 ::std::mem::transmute(val) 14620 } 14621 }, 14622 get_device_memory_opaque_capture_address_khr: unsafe { 14623 unsafe extern "system" fn get_device_memory_opaque_capture_address_khr( 14624 _device: Device, 14625 _p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, 14626 ) -> u64 { 14627 panic!(concat!( 14628 "Unable to load ", 14629 stringify!(get_device_memory_opaque_capture_address_khr) 14630 )) 14631 } 14632 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 14633 b"vkGetDeviceMemoryOpaqueCaptureAddressKHR\0", 14634 ); 14635 let val = _f(cname); 14636 if val.is_null() { 14637 get_device_memory_opaque_capture_address_khr 14638 } else { 14639 ::std::mem::transmute(val) 14640 } 14641 }, 14642 } 14643 } 14644 } 14645 #[doc = "Generated from 'VK_KHR_buffer_device_address'"] 14646 impl BufferCreateFlags { 14647 pub const DEVICE_ADDRESS_CAPTURE_REPLAY_KHR: Self = Self::DEVICE_ADDRESS_CAPTURE_REPLAY; 14648 } 14649 #[doc = "Generated from 'VK_KHR_buffer_device_address'"] 14650 impl BufferUsageFlags { 14651 pub const SHADER_DEVICE_ADDRESS_KHR: Self = Self::SHADER_DEVICE_ADDRESS; 14652 } 14653 #[doc = "Generated from 'VK_KHR_buffer_device_address'"] 14654 impl MemoryAllocateFlags { 14655 pub const DEVICE_ADDRESS_KHR: Self = Self::DEVICE_ADDRESS; 14656 pub const DEVICE_ADDRESS_CAPTURE_REPLAY_KHR: Self = Self::DEVICE_ADDRESS_CAPTURE_REPLAY; 14657 } 14658 #[doc = "Generated from 'VK_KHR_buffer_device_address'"] 14659 impl Result { 14660 pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR: Self = 14661 Self::ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS; 14662 } 14663 #[doc = "Generated from 'VK_KHR_buffer_device_address'"] 14664 impl StructureType { 14665 pub const PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR: Self = 14666 Self::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES; 14667 pub const BUFFER_DEVICE_ADDRESS_INFO_KHR: Self = Self::BUFFER_DEVICE_ADDRESS_INFO; 14668 pub const BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR: Self = 14669 Self::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO; 14670 pub const MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR: Self = 14671 Self::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO; 14672 pub const DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR: Self = 14673 Self::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO; 14674 } 14675 impl ExtExtension259Fn { 14676 #[inline] name() -> &'static ::std::ffi::CStr14677 pub const fn name() -> &'static ::std::ffi::CStr { 14678 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_259\0") } 14679 } 14680 pub const SPEC_VERSION: u32 = 0u32; 14681 } 14682 #[derive(Clone)] 14683 pub struct ExtExtension259Fn {} 14684 unsafe impl Send for ExtExtension259Fn {} 14685 unsafe impl Sync for ExtExtension259Fn {} 14686 impl ExtExtension259Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14687 pub fn load<F>(mut _f: F) -> Self 14688 where 14689 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14690 { 14691 Self {} 14692 } 14693 } 14694 #[doc = "Generated from 'VK_EXT_extension_259'"] 14695 impl FormatFeatureFlags2 { 14696 pub const RESERVED_44_EXT: Self = 14697 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 14698 pub const RESERVED_45_EXT: Self = 14699 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 14700 } 14701 #[doc = "Generated from 'VK_EXT_extension_259'"] 14702 impl ImageCreateFlags { 14703 pub const RESERVED_19_EXT: Self = Self(0b1000_0000_0000_0000_0000); 14704 } 14705 #[doc = "Generated from 'VK_EXT_extension_259'"] 14706 impl QueueFlags { 14707 pub const RESERVED_9_EXT: Self = Self(0b10_0000_0000); 14708 } 14709 impl ExtLineRasterizationFn { 14710 #[inline] name() -> &'static ::std::ffi::CStr14711 pub const fn name() -> &'static ::std::ffi::CStr { 14712 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_line_rasterization\0") } 14713 } 14714 pub const SPEC_VERSION: u32 = 1u32; 14715 } 14716 #[allow(non_camel_case_types)] 14717 pub type PFN_vkCmdSetLineStippleEXT = unsafe extern "system" fn( 14718 command_buffer: CommandBuffer, 14719 line_stipple_factor: u32, 14720 line_stipple_pattern: u16, 14721 ); 14722 #[derive(Clone)] 14723 pub struct ExtLineRasterizationFn { 14724 pub cmd_set_line_stipple_ext: PFN_vkCmdSetLineStippleEXT, 14725 } 14726 unsafe impl Send for ExtLineRasterizationFn {} 14727 unsafe impl Sync for ExtLineRasterizationFn {} 14728 impl ExtLineRasterizationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14729 pub fn load<F>(mut _f: F) -> Self 14730 where 14731 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14732 { 14733 Self { 14734 cmd_set_line_stipple_ext: unsafe { 14735 unsafe extern "system" fn cmd_set_line_stipple_ext( 14736 _command_buffer: CommandBuffer, 14737 _line_stipple_factor: u32, 14738 _line_stipple_pattern: u16, 14739 ) { 14740 panic!(concat!( 14741 "Unable to load ", 14742 stringify!(cmd_set_line_stipple_ext) 14743 )) 14744 } 14745 let cname = 14746 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLineStippleEXT\0"); 14747 let val = _f(cname); 14748 if val.is_null() { 14749 cmd_set_line_stipple_ext 14750 } else { 14751 ::std::mem::transmute(val) 14752 } 14753 }, 14754 } 14755 } 14756 } 14757 #[doc = "Generated from 'VK_EXT_line_rasterization'"] 14758 impl DynamicState { 14759 pub const LINE_STIPPLE_EXT: Self = Self(1_000_259_000); 14760 } 14761 #[doc = "Generated from 'VK_EXT_line_rasterization'"] 14762 impl StructureType { 14763 pub const PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: Self = Self(1_000_259_000); 14764 pub const PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: Self = Self(1_000_259_001); 14765 pub const PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: Self = Self(1_000_259_002); 14766 } 14767 impl ExtShaderAtomicFloatFn { 14768 #[inline] name() -> &'static ::std::ffi::CStr14769 pub const fn name() -> &'static ::std::ffi::CStr { 14770 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_atomic_float\0") } 14771 } 14772 pub const SPEC_VERSION: u32 = 1u32; 14773 } 14774 #[derive(Clone)] 14775 pub struct ExtShaderAtomicFloatFn {} 14776 unsafe impl Send for ExtShaderAtomicFloatFn {} 14777 unsafe impl Sync for ExtShaderAtomicFloatFn {} 14778 impl ExtShaderAtomicFloatFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14779 pub fn load<F>(mut _f: F) -> Self 14780 where 14781 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14782 { 14783 Self {} 14784 } 14785 } 14786 #[doc = "Generated from 'VK_EXT_shader_atomic_float'"] 14787 impl StructureType { 14788 pub const PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: Self = Self(1_000_260_000); 14789 } 14790 impl ExtHostQueryResetFn { 14791 #[inline] name() -> &'static ::std::ffi::CStr14792 pub const fn name() -> &'static ::std::ffi::CStr { 14793 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_host_query_reset\0") } 14794 } 14795 pub const SPEC_VERSION: u32 = 1u32; 14796 } 14797 #[allow(non_camel_case_types)] 14798 pub type PFN_vkResetQueryPool = unsafe extern "system" fn( 14799 device: Device, 14800 query_pool: QueryPool, 14801 first_query: u32, 14802 query_count: u32, 14803 ); 14804 #[derive(Clone)] 14805 pub struct ExtHostQueryResetFn { 14806 pub reset_query_pool_ext: PFN_vkResetQueryPool, 14807 } 14808 unsafe impl Send for ExtHostQueryResetFn {} 14809 unsafe impl Sync for ExtHostQueryResetFn {} 14810 impl ExtHostQueryResetFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14811 pub fn load<F>(mut _f: F) -> Self 14812 where 14813 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14814 { 14815 Self { 14816 reset_query_pool_ext: unsafe { 14817 unsafe extern "system" fn reset_query_pool_ext( 14818 _device: Device, 14819 _query_pool: QueryPool, 14820 _first_query: u32, 14821 _query_count: u32, 14822 ) { 14823 panic!(concat!("Unable to load ", stringify!(reset_query_pool_ext))) 14824 } 14825 let cname = 14826 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkResetQueryPoolEXT\0"); 14827 let val = _f(cname); 14828 if val.is_null() { 14829 reset_query_pool_ext 14830 } else { 14831 ::std::mem::transmute(val) 14832 } 14833 }, 14834 } 14835 } 14836 } 14837 #[doc = "Generated from 'VK_EXT_host_query_reset'"] 14838 impl StructureType { 14839 pub const PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: Self = 14840 Self::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES; 14841 } 14842 impl GgpExtension263Fn { 14843 #[inline] name() -> &'static ::std::ffi::CStr14844 pub const fn name() -> &'static ::std::ffi::CStr { 14845 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_263\0") } 14846 } 14847 pub const SPEC_VERSION: u32 = 0u32; 14848 } 14849 #[derive(Clone)] 14850 pub struct GgpExtension263Fn {} 14851 unsafe impl Send for GgpExtension263Fn {} 14852 unsafe impl Sync for GgpExtension263Fn {} 14853 impl GgpExtension263Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14854 pub fn load<F>(mut _f: F) -> Self 14855 where 14856 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14857 { 14858 Self {} 14859 } 14860 } 14861 impl BrcmExtension264Fn { 14862 #[inline] name() -> &'static ::std::ffi::CStr14863 pub const fn name() -> &'static ::std::ffi::CStr { 14864 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_BRCM_extension_264\0") } 14865 } 14866 pub const SPEC_VERSION: u32 = 0u32; 14867 } 14868 #[derive(Clone)] 14869 pub struct BrcmExtension264Fn {} 14870 unsafe impl Send for BrcmExtension264Fn {} 14871 unsafe impl Sync for BrcmExtension264Fn {} 14872 impl BrcmExtension264Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14873 pub fn load<F>(mut _f: F) -> Self 14874 where 14875 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14876 { 14877 Self {} 14878 } 14879 } 14880 impl BrcmExtension265Fn { 14881 #[inline] name() -> &'static ::std::ffi::CStr14882 pub const fn name() -> &'static ::std::ffi::CStr { 14883 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_BRCM_extension_265\0") } 14884 } 14885 pub const SPEC_VERSION: u32 = 0u32; 14886 } 14887 #[derive(Clone)] 14888 pub struct BrcmExtension265Fn {} 14889 unsafe impl Send for BrcmExtension265Fn {} 14890 unsafe impl Sync for BrcmExtension265Fn {} 14891 impl BrcmExtension265Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14892 pub fn load<F>(mut _f: F) -> Self 14893 where 14894 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14895 { 14896 Self {} 14897 } 14898 } 14899 impl ExtIndexTypeUint8Fn { 14900 #[inline] name() -> &'static ::std::ffi::CStr14901 pub const fn name() -> &'static ::std::ffi::CStr { 14902 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_index_type_uint8\0") } 14903 } 14904 pub const SPEC_VERSION: u32 = 1u32; 14905 } 14906 #[derive(Clone)] 14907 pub struct ExtIndexTypeUint8Fn {} 14908 unsafe impl Send for ExtIndexTypeUint8Fn {} 14909 unsafe impl Sync for ExtIndexTypeUint8Fn {} 14910 impl ExtIndexTypeUint8Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14911 pub fn load<F>(mut _f: F) -> Self 14912 where 14913 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14914 { 14915 Self {} 14916 } 14917 } 14918 #[doc = "Generated from 'VK_EXT_index_type_uint8'"] 14919 impl IndexType { 14920 pub const UINT8_EXT: Self = Self(1_000_265_000); 14921 } 14922 #[doc = "Generated from 'VK_EXT_index_type_uint8'"] 14923 impl StructureType { 14924 pub const PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: Self = Self(1_000_265_000); 14925 } 14926 impl ExtExtension267Fn { 14927 #[inline] name() -> &'static ::std::ffi::CStr14928 pub const fn name() -> &'static ::std::ffi::CStr { 14929 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_267\0") } 14930 } 14931 pub const SPEC_VERSION: u32 = 0u32; 14932 } 14933 #[derive(Clone)] 14934 pub struct ExtExtension267Fn {} 14935 unsafe impl Send for ExtExtension267Fn {} 14936 unsafe impl Sync for ExtExtension267Fn {} 14937 impl ExtExtension267Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,14938 pub fn load<F>(mut _f: F) -> Self 14939 where 14940 F: FnMut(&::std::ffi::CStr) -> *const c_void, 14941 { 14942 Self {} 14943 } 14944 } 14945 impl ExtExtendedDynamicStateFn { 14946 #[inline] name() -> &'static ::std::ffi::CStr14947 pub const fn name() -> &'static ::std::ffi::CStr { 14948 unsafe { 14949 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extended_dynamic_state\0") 14950 } 14951 } 14952 pub const SPEC_VERSION: u32 = 1u32; 14953 } 14954 #[allow(non_camel_case_types)] 14955 pub type PFN_vkCmdSetCullMode = 14956 unsafe extern "system" fn(command_buffer: CommandBuffer, cull_mode: CullModeFlags); 14957 #[allow(non_camel_case_types)] 14958 pub type PFN_vkCmdSetFrontFace = 14959 unsafe extern "system" fn(command_buffer: CommandBuffer, front_face: FrontFace); 14960 #[allow(non_camel_case_types)] 14961 pub type PFN_vkCmdSetPrimitiveTopology = 14962 unsafe extern "system" fn(command_buffer: CommandBuffer, primitive_topology: PrimitiveTopology); 14963 #[allow(non_camel_case_types)] 14964 pub type PFN_vkCmdSetViewportWithCount = unsafe extern "system" fn( 14965 command_buffer: CommandBuffer, 14966 viewport_count: u32, 14967 p_viewports: *const Viewport, 14968 ); 14969 #[allow(non_camel_case_types)] 14970 pub type PFN_vkCmdSetScissorWithCount = unsafe extern "system" fn( 14971 command_buffer: CommandBuffer, 14972 scissor_count: u32, 14973 p_scissors: *const Rect2D, 14974 ); 14975 #[allow(non_camel_case_types)] 14976 pub type PFN_vkCmdBindVertexBuffers2 = unsafe extern "system" fn( 14977 command_buffer: CommandBuffer, 14978 first_binding: u32, 14979 binding_count: u32, 14980 p_buffers: *const Buffer, 14981 p_offsets: *const DeviceSize, 14982 p_sizes: *const DeviceSize, 14983 p_strides: *const DeviceSize, 14984 ); 14985 #[allow(non_camel_case_types)] 14986 pub type PFN_vkCmdSetDepthTestEnable = 14987 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_test_enable: Bool32); 14988 #[allow(non_camel_case_types)] 14989 pub type PFN_vkCmdSetDepthWriteEnable = 14990 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_write_enable: Bool32); 14991 #[allow(non_camel_case_types)] 14992 pub type PFN_vkCmdSetDepthCompareOp = 14993 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_compare_op: CompareOp); 14994 #[allow(non_camel_case_types)] 14995 pub type PFN_vkCmdSetDepthBoundsTestEnable = 14996 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_bounds_test_enable: Bool32); 14997 #[allow(non_camel_case_types)] 14998 pub type PFN_vkCmdSetStencilTestEnable = 14999 unsafe extern "system" fn(command_buffer: CommandBuffer, stencil_test_enable: Bool32); 15000 #[allow(non_camel_case_types)] 15001 pub type PFN_vkCmdSetStencilOp = unsafe extern "system" fn( 15002 command_buffer: CommandBuffer, 15003 face_mask: StencilFaceFlags, 15004 fail_op: StencilOp, 15005 pass_op: StencilOp, 15006 depth_fail_op: StencilOp, 15007 compare_op: CompareOp, 15008 ); 15009 #[derive(Clone)] 15010 pub struct ExtExtendedDynamicStateFn { 15011 pub cmd_set_cull_mode_ext: PFN_vkCmdSetCullMode, 15012 pub cmd_set_front_face_ext: PFN_vkCmdSetFrontFace, 15013 pub cmd_set_primitive_topology_ext: PFN_vkCmdSetPrimitiveTopology, 15014 pub cmd_set_viewport_with_count_ext: PFN_vkCmdSetViewportWithCount, 15015 pub cmd_set_scissor_with_count_ext: PFN_vkCmdSetScissorWithCount, 15016 pub cmd_bind_vertex_buffers2_ext: PFN_vkCmdBindVertexBuffers2, 15017 pub cmd_set_depth_test_enable_ext: PFN_vkCmdSetDepthTestEnable, 15018 pub cmd_set_depth_write_enable_ext: PFN_vkCmdSetDepthWriteEnable, 15019 pub cmd_set_depth_compare_op_ext: PFN_vkCmdSetDepthCompareOp, 15020 pub cmd_set_depth_bounds_test_enable_ext: PFN_vkCmdSetDepthBoundsTestEnable, 15021 pub cmd_set_stencil_test_enable_ext: PFN_vkCmdSetStencilTestEnable, 15022 pub cmd_set_stencil_op_ext: PFN_vkCmdSetStencilOp, 15023 } 15024 unsafe impl Send for ExtExtendedDynamicStateFn {} 15025 unsafe impl Sync for ExtExtendedDynamicStateFn {} 15026 impl ExtExtendedDynamicStateFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15027 pub fn load<F>(mut _f: F) -> Self 15028 where 15029 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15030 { 15031 Self { 15032 cmd_set_cull_mode_ext: unsafe { 15033 unsafe extern "system" fn cmd_set_cull_mode_ext( 15034 _command_buffer: CommandBuffer, 15035 _cull_mode: CullModeFlags, 15036 ) { 15037 panic!(concat!( 15038 "Unable to load ", 15039 stringify!(cmd_set_cull_mode_ext) 15040 )) 15041 } 15042 let cname = 15043 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetCullModeEXT\0"); 15044 let val = _f(cname); 15045 if val.is_null() { 15046 cmd_set_cull_mode_ext 15047 } else { 15048 ::std::mem::transmute(val) 15049 } 15050 }, 15051 cmd_set_front_face_ext: unsafe { 15052 unsafe extern "system" fn cmd_set_front_face_ext( 15053 _command_buffer: CommandBuffer, 15054 _front_face: FrontFace, 15055 ) { 15056 panic!(concat!( 15057 "Unable to load ", 15058 stringify!(cmd_set_front_face_ext) 15059 )) 15060 } 15061 let cname = 15062 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetFrontFaceEXT\0"); 15063 let val = _f(cname); 15064 if val.is_null() { 15065 cmd_set_front_face_ext 15066 } else { 15067 ::std::mem::transmute(val) 15068 } 15069 }, 15070 cmd_set_primitive_topology_ext: unsafe { 15071 unsafe extern "system" fn cmd_set_primitive_topology_ext( 15072 _command_buffer: CommandBuffer, 15073 _primitive_topology: PrimitiveTopology, 15074 ) { 15075 panic!(concat!( 15076 "Unable to load ", 15077 stringify!(cmd_set_primitive_topology_ext) 15078 )) 15079 } 15080 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15081 b"vkCmdSetPrimitiveTopologyEXT\0", 15082 ); 15083 let val = _f(cname); 15084 if val.is_null() { 15085 cmd_set_primitive_topology_ext 15086 } else { 15087 ::std::mem::transmute(val) 15088 } 15089 }, 15090 cmd_set_viewport_with_count_ext: unsafe { 15091 unsafe extern "system" fn cmd_set_viewport_with_count_ext( 15092 _command_buffer: CommandBuffer, 15093 _viewport_count: u32, 15094 _p_viewports: *const Viewport, 15095 ) { 15096 panic!(concat!( 15097 "Unable to load ", 15098 stringify!(cmd_set_viewport_with_count_ext) 15099 )) 15100 } 15101 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15102 b"vkCmdSetViewportWithCountEXT\0", 15103 ); 15104 let val = _f(cname); 15105 if val.is_null() { 15106 cmd_set_viewport_with_count_ext 15107 } else { 15108 ::std::mem::transmute(val) 15109 } 15110 }, 15111 cmd_set_scissor_with_count_ext: unsafe { 15112 unsafe extern "system" fn cmd_set_scissor_with_count_ext( 15113 _command_buffer: CommandBuffer, 15114 _scissor_count: u32, 15115 _p_scissors: *const Rect2D, 15116 ) { 15117 panic!(concat!( 15118 "Unable to load ", 15119 stringify!(cmd_set_scissor_with_count_ext) 15120 )) 15121 } 15122 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15123 b"vkCmdSetScissorWithCountEXT\0", 15124 ); 15125 let val = _f(cname); 15126 if val.is_null() { 15127 cmd_set_scissor_with_count_ext 15128 } else { 15129 ::std::mem::transmute(val) 15130 } 15131 }, 15132 cmd_bind_vertex_buffers2_ext: unsafe { 15133 unsafe extern "system" fn cmd_bind_vertex_buffers2_ext( 15134 _command_buffer: CommandBuffer, 15135 _first_binding: u32, 15136 _binding_count: u32, 15137 _p_buffers: *const Buffer, 15138 _p_offsets: *const DeviceSize, 15139 _p_sizes: *const DeviceSize, 15140 _p_strides: *const DeviceSize, 15141 ) { 15142 panic!(concat!( 15143 "Unable to load ", 15144 stringify!(cmd_bind_vertex_buffers2_ext) 15145 )) 15146 } 15147 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15148 b"vkCmdBindVertexBuffers2EXT\0", 15149 ); 15150 let val = _f(cname); 15151 if val.is_null() { 15152 cmd_bind_vertex_buffers2_ext 15153 } else { 15154 ::std::mem::transmute(val) 15155 } 15156 }, 15157 cmd_set_depth_test_enable_ext: unsafe { 15158 unsafe extern "system" fn cmd_set_depth_test_enable_ext( 15159 _command_buffer: CommandBuffer, 15160 _depth_test_enable: Bool32, 15161 ) { 15162 panic!(concat!( 15163 "Unable to load ", 15164 stringify!(cmd_set_depth_test_enable_ext) 15165 )) 15166 } 15167 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15168 b"vkCmdSetDepthTestEnableEXT\0", 15169 ); 15170 let val = _f(cname); 15171 if val.is_null() { 15172 cmd_set_depth_test_enable_ext 15173 } else { 15174 ::std::mem::transmute(val) 15175 } 15176 }, 15177 cmd_set_depth_write_enable_ext: unsafe { 15178 unsafe extern "system" fn cmd_set_depth_write_enable_ext( 15179 _command_buffer: CommandBuffer, 15180 _depth_write_enable: Bool32, 15181 ) { 15182 panic!(concat!( 15183 "Unable to load ", 15184 stringify!(cmd_set_depth_write_enable_ext) 15185 )) 15186 } 15187 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15188 b"vkCmdSetDepthWriteEnableEXT\0", 15189 ); 15190 let val = _f(cname); 15191 if val.is_null() { 15192 cmd_set_depth_write_enable_ext 15193 } else { 15194 ::std::mem::transmute(val) 15195 } 15196 }, 15197 cmd_set_depth_compare_op_ext: unsafe { 15198 unsafe extern "system" fn cmd_set_depth_compare_op_ext( 15199 _command_buffer: CommandBuffer, 15200 _depth_compare_op: CompareOp, 15201 ) { 15202 panic!(concat!( 15203 "Unable to load ", 15204 stringify!(cmd_set_depth_compare_op_ext) 15205 )) 15206 } 15207 let cname = 15208 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthCompareOpEXT\0"); 15209 let val = _f(cname); 15210 if val.is_null() { 15211 cmd_set_depth_compare_op_ext 15212 } else { 15213 ::std::mem::transmute(val) 15214 } 15215 }, 15216 cmd_set_depth_bounds_test_enable_ext: unsafe { 15217 unsafe extern "system" fn cmd_set_depth_bounds_test_enable_ext( 15218 _command_buffer: CommandBuffer, 15219 _depth_bounds_test_enable: Bool32, 15220 ) { 15221 panic!(concat!( 15222 "Unable to load ", 15223 stringify!(cmd_set_depth_bounds_test_enable_ext) 15224 )) 15225 } 15226 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15227 b"vkCmdSetDepthBoundsTestEnableEXT\0", 15228 ); 15229 let val = _f(cname); 15230 if val.is_null() { 15231 cmd_set_depth_bounds_test_enable_ext 15232 } else { 15233 ::std::mem::transmute(val) 15234 } 15235 }, 15236 cmd_set_stencil_test_enable_ext: unsafe { 15237 unsafe extern "system" fn cmd_set_stencil_test_enable_ext( 15238 _command_buffer: CommandBuffer, 15239 _stencil_test_enable: Bool32, 15240 ) { 15241 panic!(concat!( 15242 "Unable to load ", 15243 stringify!(cmd_set_stencil_test_enable_ext) 15244 )) 15245 } 15246 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15247 b"vkCmdSetStencilTestEnableEXT\0", 15248 ); 15249 let val = _f(cname); 15250 if val.is_null() { 15251 cmd_set_stencil_test_enable_ext 15252 } else { 15253 ::std::mem::transmute(val) 15254 } 15255 }, 15256 cmd_set_stencil_op_ext: unsafe { 15257 unsafe extern "system" fn cmd_set_stencil_op_ext( 15258 _command_buffer: CommandBuffer, 15259 _face_mask: StencilFaceFlags, 15260 _fail_op: StencilOp, 15261 _pass_op: StencilOp, 15262 _depth_fail_op: StencilOp, 15263 _compare_op: CompareOp, 15264 ) { 15265 panic!(concat!( 15266 "Unable to load ", 15267 stringify!(cmd_set_stencil_op_ext) 15268 )) 15269 } 15270 let cname = 15271 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilOpEXT\0"); 15272 let val = _f(cname); 15273 if val.is_null() { 15274 cmd_set_stencil_op_ext 15275 } else { 15276 ::std::mem::transmute(val) 15277 } 15278 }, 15279 } 15280 } 15281 } 15282 #[doc = "Generated from 'VK_EXT_extended_dynamic_state'"] 15283 impl DynamicState { 15284 pub const CULL_MODE_EXT: Self = Self::CULL_MODE; 15285 pub const FRONT_FACE_EXT: Self = Self::FRONT_FACE; 15286 pub const PRIMITIVE_TOPOLOGY_EXT: Self = Self::PRIMITIVE_TOPOLOGY; 15287 pub const VIEWPORT_WITH_COUNT_EXT: Self = Self::VIEWPORT_WITH_COUNT; 15288 pub const SCISSOR_WITH_COUNT_EXT: Self = Self::SCISSOR_WITH_COUNT; 15289 pub const VERTEX_INPUT_BINDING_STRIDE_EXT: Self = Self::VERTEX_INPUT_BINDING_STRIDE; 15290 pub const DEPTH_TEST_ENABLE_EXT: Self = Self::DEPTH_TEST_ENABLE; 15291 pub const DEPTH_WRITE_ENABLE_EXT: Self = Self::DEPTH_WRITE_ENABLE; 15292 pub const DEPTH_COMPARE_OP_EXT: Self = Self::DEPTH_COMPARE_OP; 15293 pub const DEPTH_BOUNDS_TEST_ENABLE_EXT: Self = Self::DEPTH_BOUNDS_TEST_ENABLE; 15294 pub const STENCIL_TEST_ENABLE_EXT: Self = Self::STENCIL_TEST_ENABLE; 15295 pub const STENCIL_OP_EXT: Self = Self::STENCIL_OP; 15296 } 15297 #[doc = "Generated from 'VK_EXT_extended_dynamic_state'"] 15298 impl StructureType { 15299 #[doc = "Not promoted to 1.3"] 15300 pub const PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: Self = Self(1_000_267_000); 15301 } 15302 impl KhrDeferredHostOperationsFn { 15303 #[inline] name() -> &'static ::std::ffi::CStr15304 pub const fn name() -> &'static ::std::ffi::CStr { 15305 unsafe { 15306 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_deferred_host_operations\0") 15307 } 15308 } 15309 pub const SPEC_VERSION: u32 = 4u32; 15310 } 15311 #[allow(non_camel_case_types)] 15312 pub type PFN_vkCreateDeferredOperationKHR = unsafe extern "system" fn( 15313 device: Device, 15314 p_allocator: *const AllocationCallbacks, 15315 p_deferred_operation: *mut DeferredOperationKHR, 15316 ) -> Result; 15317 #[allow(non_camel_case_types)] 15318 pub type PFN_vkDestroyDeferredOperationKHR = unsafe extern "system" fn( 15319 device: Device, 15320 operation: DeferredOperationKHR, 15321 p_allocator: *const AllocationCallbacks, 15322 ); 15323 #[allow(non_camel_case_types)] 15324 pub type PFN_vkGetDeferredOperationMaxConcurrencyKHR = 15325 unsafe extern "system" fn(device: Device, operation: DeferredOperationKHR) -> u32; 15326 #[allow(non_camel_case_types)] 15327 pub type PFN_vkGetDeferredOperationResultKHR = 15328 unsafe extern "system" fn(device: Device, operation: DeferredOperationKHR) -> Result; 15329 #[allow(non_camel_case_types)] 15330 pub type PFN_vkDeferredOperationJoinKHR = 15331 unsafe extern "system" fn(device: Device, operation: DeferredOperationKHR) -> Result; 15332 #[derive(Clone)] 15333 pub struct KhrDeferredHostOperationsFn { 15334 pub create_deferred_operation_khr: PFN_vkCreateDeferredOperationKHR, 15335 pub destroy_deferred_operation_khr: PFN_vkDestroyDeferredOperationKHR, 15336 pub get_deferred_operation_max_concurrency_khr: PFN_vkGetDeferredOperationMaxConcurrencyKHR, 15337 pub get_deferred_operation_result_khr: PFN_vkGetDeferredOperationResultKHR, 15338 pub deferred_operation_join_khr: PFN_vkDeferredOperationJoinKHR, 15339 } 15340 unsafe impl Send for KhrDeferredHostOperationsFn {} 15341 unsafe impl Sync for KhrDeferredHostOperationsFn {} 15342 impl KhrDeferredHostOperationsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15343 pub fn load<F>(mut _f: F) -> Self 15344 where 15345 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15346 { 15347 Self { 15348 create_deferred_operation_khr: unsafe { 15349 unsafe extern "system" fn create_deferred_operation_khr( 15350 _device: Device, 15351 _p_allocator: *const AllocationCallbacks, 15352 _p_deferred_operation: *mut DeferredOperationKHR, 15353 ) -> Result { 15354 panic!(concat!( 15355 "Unable to load ", 15356 stringify!(create_deferred_operation_khr) 15357 )) 15358 } 15359 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15360 b"vkCreateDeferredOperationKHR\0", 15361 ); 15362 let val = _f(cname); 15363 if val.is_null() { 15364 create_deferred_operation_khr 15365 } else { 15366 ::std::mem::transmute(val) 15367 } 15368 }, 15369 destroy_deferred_operation_khr: unsafe { 15370 unsafe extern "system" fn destroy_deferred_operation_khr( 15371 _device: Device, 15372 _operation: DeferredOperationKHR, 15373 _p_allocator: *const AllocationCallbacks, 15374 ) { 15375 panic!(concat!( 15376 "Unable to load ", 15377 stringify!(destroy_deferred_operation_khr) 15378 )) 15379 } 15380 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15381 b"vkDestroyDeferredOperationKHR\0", 15382 ); 15383 let val = _f(cname); 15384 if val.is_null() { 15385 destroy_deferred_operation_khr 15386 } else { 15387 ::std::mem::transmute(val) 15388 } 15389 }, 15390 get_deferred_operation_max_concurrency_khr: unsafe { 15391 unsafe extern "system" fn get_deferred_operation_max_concurrency_khr( 15392 _device: Device, 15393 _operation: DeferredOperationKHR, 15394 ) -> u32 { 15395 panic!(concat!( 15396 "Unable to load ", 15397 stringify!(get_deferred_operation_max_concurrency_khr) 15398 )) 15399 } 15400 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15401 b"vkGetDeferredOperationMaxConcurrencyKHR\0", 15402 ); 15403 let val = _f(cname); 15404 if val.is_null() { 15405 get_deferred_operation_max_concurrency_khr 15406 } else { 15407 ::std::mem::transmute(val) 15408 } 15409 }, 15410 get_deferred_operation_result_khr: unsafe { 15411 unsafe extern "system" fn get_deferred_operation_result_khr( 15412 _device: Device, 15413 _operation: DeferredOperationKHR, 15414 ) -> Result { 15415 panic!(concat!( 15416 "Unable to load ", 15417 stringify!(get_deferred_operation_result_khr) 15418 )) 15419 } 15420 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15421 b"vkGetDeferredOperationResultKHR\0", 15422 ); 15423 let val = _f(cname); 15424 if val.is_null() { 15425 get_deferred_operation_result_khr 15426 } else { 15427 ::std::mem::transmute(val) 15428 } 15429 }, 15430 deferred_operation_join_khr: unsafe { 15431 unsafe extern "system" fn deferred_operation_join_khr( 15432 _device: Device, 15433 _operation: DeferredOperationKHR, 15434 ) -> Result { 15435 panic!(concat!( 15436 "Unable to load ", 15437 stringify!(deferred_operation_join_khr) 15438 )) 15439 } 15440 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15441 b"vkDeferredOperationJoinKHR\0", 15442 ); 15443 let val = _f(cname); 15444 if val.is_null() { 15445 deferred_operation_join_khr 15446 } else { 15447 ::std::mem::transmute(val) 15448 } 15449 }, 15450 } 15451 } 15452 } 15453 #[doc = "Generated from 'VK_KHR_deferred_host_operations'"] 15454 impl ObjectType { 15455 pub const DEFERRED_OPERATION_KHR: Self = Self(1_000_268_000); 15456 } 15457 #[doc = "Generated from 'VK_KHR_deferred_host_operations'"] 15458 impl Result { 15459 pub const THREAD_IDLE_KHR: Self = Self(1_000_268_000); 15460 pub const THREAD_DONE_KHR: Self = Self(1_000_268_001); 15461 pub const OPERATION_DEFERRED_KHR: Self = Self(1_000_268_002); 15462 pub const OPERATION_NOT_DEFERRED_KHR: Self = Self(1_000_268_003); 15463 } 15464 impl KhrPipelineExecutablePropertiesFn { 15465 #[inline] name() -> &'static ::std::ffi::CStr15466 pub const fn name() -> &'static ::std::ffi::CStr { 15467 unsafe { 15468 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15469 b"VK_KHR_pipeline_executable_properties\0", 15470 ) 15471 } 15472 } 15473 pub const SPEC_VERSION: u32 = 1u32; 15474 } 15475 #[allow(non_camel_case_types)] 15476 pub type PFN_vkGetPipelineExecutablePropertiesKHR = unsafe extern "system" fn( 15477 device: Device, 15478 p_pipeline_info: *const PipelineInfoKHR, 15479 p_executable_count: *mut u32, 15480 p_properties: *mut PipelineExecutablePropertiesKHR, 15481 ) -> Result; 15482 #[allow(non_camel_case_types)] 15483 pub type PFN_vkGetPipelineExecutableStatisticsKHR = unsafe extern "system" fn( 15484 device: Device, 15485 p_executable_info: *const PipelineExecutableInfoKHR, 15486 p_statistic_count: *mut u32, 15487 p_statistics: *mut PipelineExecutableStatisticKHR, 15488 ) -> Result; 15489 #[allow(non_camel_case_types)] 15490 pub type PFN_vkGetPipelineExecutableInternalRepresentationsKHR = 15491 unsafe extern "system" fn( 15492 device: Device, 15493 p_executable_info: *const PipelineExecutableInfoKHR, 15494 p_internal_representation_count: *mut u32, 15495 p_internal_representations: *mut PipelineExecutableInternalRepresentationKHR, 15496 ) -> Result; 15497 #[derive(Clone)] 15498 pub struct KhrPipelineExecutablePropertiesFn { 15499 pub get_pipeline_executable_properties_khr: PFN_vkGetPipelineExecutablePropertiesKHR, 15500 pub get_pipeline_executable_statistics_khr: PFN_vkGetPipelineExecutableStatisticsKHR, 15501 pub get_pipeline_executable_internal_representations_khr: 15502 PFN_vkGetPipelineExecutableInternalRepresentationsKHR, 15503 } 15504 unsafe impl Send for KhrPipelineExecutablePropertiesFn {} 15505 unsafe impl Sync for KhrPipelineExecutablePropertiesFn {} 15506 impl KhrPipelineExecutablePropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15507 pub fn load<F>(mut _f: F) -> Self 15508 where 15509 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15510 { 15511 Self { 15512 get_pipeline_executable_properties_khr: unsafe { 15513 unsafe extern "system" fn get_pipeline_executable_properties_khr( 15514 _device: Device, 15515 _p_pipeline_info: *const PipelineInfoKHR, 15516 _p_executable_count: *mut u32, 15517 _p_properties: *mut PipelineExecutablePropertiesKHR, 15518 ) -> Result { 15519 panic!(concat!( 15520 "Unable to load ", 15521 stringify!(get_pipeline_executable_properties_khr) 15522 )) 15523 } 15524 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15525 b"vkGetPipelineExecutablePropertiesKHR\0", 15526 ); 15527 let val = _f(cname); 15528 if val.is_null() { 15529 get_pipeline_executable_properties_khr 15530 } else { 15531 ::std::mem::transmute(val) 15532 } 15533 }, 15534 get_pipeline_executable_statistics_khr: unsafe { 15535 unsafe extern "system" fn get_pipeline_executable_statistics_khr( 15536 _device: Device, 15537 _p_executable_info: *const PipelineExecutableInfoKHR, 15538 _p_statistic_count: *mut u32, 15539 _p_statistics: *mut PipelineExecutableStatisticKHR, 15540 ) -> Result { 15541 panic!(concat!( 15542 "Unable to load ", 15543 stringify!(get_pipeline_executable_statistics_khr) 15544 )) 15545 } 15546 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15547 b"vkGetPipelineExecutableStatisticsKHR\0", 15548 ); 15549 let val = _f(cname); 15550 if val.is_null() { 15551 get_pipeline_executable_statistics_khr 15552 } else { 15553 ::std::mem::transmute(val) 15554 } 15555 }, 15556 get_pipeline_executable_internal_representations_khr: unsafe { 15557 unsafe extern "system" fn get_pipeline_executable_internal_representations_khr( 15558 _device: Device, 15559 _p_executable_info: *const PipelineExecutableInfoKHR, 15560 _p_internal_representation_count: *mut u32, 15561 _p_internal_representations: *mut PipelineExecutableInternalRepresentationKHR, 15562 ) -> Result { 15563 panic!(concat!( 15564 "Unable to load ", 15565 stringify!(get_pipeline_executable_internal_representations_khr) 15566 )) 15567 } 15568 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15569 b"vkGetPipelineExecutableInternalRepresentationsKHR\0", 15570 ); 15571 let val = _f(cname); 15572 if val.is_null() { 15573 get_pipeline_executable_internal_representations_khr 15574 } else { 15575 ::std::mem::transmute(val) 15576 } 15577 }, 15578 } 15579 } 15580 } 15581 #[doc = "Generated from 'VK_KHR_pipeline_executable_properties'"] 15582 impl PipelineCreateFlags { 15583 pub const CAPTURE_STATISTICS_KHR: Self = Self(0b100_0000); 15584 pub const CAPTURE_INTERNAL_REPRESENTATIONS_KHR: Self = Self(0b1000_0000); 15585 } 15586 #[doc = "Generated from 'VK_KHR_pipeline_executable_properties'"] 15587 impl StructureType { 15588 pub const PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: Self = 15589 Self(1_000_269_000); 15590 pub const PIPELINE_INFO_KHR: Self = Self(1_000_269_001); 15591 pub const PIPELINE_EXECUTABLE_PROPERTIES_KHR: Self = Self(1_000_269_002); 15592 pub const PIPELINE_EXECUTABLE_INFO_KHR: Self = Self(1_000_269_003); 15593 pub const PIPELINE_EXECUTABLE_STATISTIC_KHR: Self = Self(1_000_269_004); 15594 pub const PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: Self = Self(1_000_269_005); 15595 } 15596 impl IntelExtension271Fn { 15597 #[inline] name() -> &'static ::std::ffi::CStr15598 pub const fn name() -> &'static ::std::ffi::CStr { 15599 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_INTEL_extension_271\0") } 15600 } 15601 pub const SPEC_VERSION: u32 = 0u32; 15602 } 15603 #[derive(Clone)] 15604 pub struct IntelExtension271Fn {} 15605 unsafe impl Send for IntelExtension271Fn {} 15606 unsafe impl Sync for IntelExtension271Fn {} 15607 impl IntelExtension271Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15608 pub fn load<F>(mut _f: F) -> Self 15609 where 15610 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15611 { 15612 Self {} 15613 } 15614 } 15615 #[doc = "Generated from 'VK_INTEL_extension_271'"] 15616 impl FormatFeatureFlags2 { 15617 pub const RESERVED_46_EXT: Self = 15618 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 15619 } 15620 #[doc = "Generated from 'VK_INTEL_extension_271'"] 15621 impl ImageUsageFlags { 15622 pub const RESERVED_22_EXT: Self = Self(0b100_0000_0000_0000_0000_0000); 15623 } 15624 impl KhrMapMemory2Fn { 15625 #[inline] name() -> &'static ::std::ffi::CStr15626 pub const fn name() -> &'static ::std::ffi::CStr { 15627 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_map_memory2\0") } 15628 } 15629 pub const SPEC_VERSION: u32 = 1u32; 15630 } 15631 #[allow(non_camel_case_types)] 15632 pub type PFN_vkMapMemory2KHR = unsafe extern "system" fn( 15633 device: Device, 15634 p_memory_map_info: *const MemoryMapInfoKHR, 15635 pp_data: *mut *mut c_void, 15636 ) -> Result; 15637 #[allow(non_camel_case_types)] 15638 pub type PFN_vkUnmapMemory2KHR = unsafe extern "system" fn( 15639 device: Device, 15640 p_memory_unmap_info: *const MemoryUnmapInfoKHR, 15641 ) -> Result; 15642 #[derive(Clone)] 15643 pub struct KhrMapMemory2Fn { 15644 pub map_memory2_khr: PFN_vkMapMemory2KHR, 15645 pub unmap_memory2_khr: PFN_vkUnmapMemory2KHR, 15646 } 15647 unsafe impl Send for KhrMapMemory2Fn {} 15648 unsafe impl Sync for KhrMapMemory2Fn {} 15649 impl KhrMapMemory2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15650 pub fn load<F>(mut _f: F) -> Self 15651 where 15652 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15653 { 15654 Self { 15655 map_memory2_khr: unsafe { 15656 unsafe extern "system" fn map_memory2_khr( 15657 _device: Device, 15658 _p_memory_map_info: *const MemoryMapInfoKHR, 15659 _pp_data: *mut *mut c_void, 15660 ) -> Result { 15661 panic!(concat!("Unable to load ", stringify!(map_memory2_khr))) 15662 } 15663 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkMapMemory2KHR\0"); 15664 let val = _f(cname); 15665 if val.is_null() { 15666 map_memory2_khr 15667 } else { 15668 ::std::mem::transmute(val) 15669 } 15670 }, 15671 unmap_memory2_khr: unsafe { 15672 unsafe extern "system" fn unmap_memory2_khr( 15673 _device: Device, 15674 _p_memory_unmap_info: *const MemoryUnmapInfoKHR, 15675 ) -> Result { 15676 panic!(concat!("Unable to load ", stringify!(unmap_memory2_khr))) 15677 } 15678 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkUnmapMemory2KHR\0"); 15679 let val = _f(cname); 15680 if val.is_null() { 15681 unmap_memory2_khr 15682 } else { 15683 ::std::mem::transmute(val) 15684 } 15685 }, 15686 } 15687 } 15688 } 15689 #[doc = "Generated from 'VK_KHR_map_memory2'"] 15690 impl StructureType { 15691 pub const MEMORY_MAP_INFO_KHR: Self = Self(1_000_271_000); 15692 pub const MEMORY_UNMAP_INFO_KHR: Self = Self(1_000_271_001); 15693 } 15694 impl IntelExtension273Fn { 15695 #[inline] name() -> &'static ::std::ffi::CStr15696 pub const fn name() -> &'static ::std::ffi::CStr { 15697 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_INTEL_extension_273\0") } 15698 } 15699 pub const SPEC_VERSION: u32 = 0u32; 15700 } 15701 #[derive(Clone)] 15702 pub struct IntelExtension273Fn {} 15703 unsafe impl Send for IntelExtension273Fn {} 15704 unsafe impl Sync for IntelExtension273Fn {} 15705 impl IntelExtension273Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15706 pub fn load<F>(mut _f: F) -> Self 15707 where 15708 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15709 { 15710 Self {} 15711 } 15712 } 15713 impl ExtShaderAtomicFloat2Fn { 15714 #[inline] name() -> &'static ::std::ffi::CStr15715 pub const fn name() -> &'static ::std::ffi::CStr { 15716 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_atomic_float2\0") } 15717 } 15718 pub const SPEC_VERSION: u32 = 1u32; 15719 } 15720 #[derive(Clone)] 15721 pub struct ExtShaderAtomicFloat2Fn {} 15722 unsafe impl Send for ExtShaderAtomicFloat2Fn {} 15723 unsafe impl Sync for ExtShaderAtomicFloat2Fn {} 15724 impl ExtShaderAtomicFloat2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15725 pub fn load<F>(mut _f: F) -> Self 15726 where 15727 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15728 { 15729 Self {} 15730 } 15731 } 15732 #[doc = "Generated from 'VK_EXT_shader_atomic_float2'"] 15733 impl StructureType { 15734 pub const PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: Self = Self(1_000_273_000); 15735 } 15736 impl ExtSurfaceMaintenance1Fn { 15737 #[inline] name() -> &'static ::std::ffi::CStr15738 pub const fn name() -> &'static ::std::ffi::CStr { 15739 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_surface_maintenance1\0") } 15740 } 15741 pub const SPEC_VERSION: u32 = 1u32; 15742 } 15743 #[derive(Clone)] 15744 pub struct ExtSurfaceMaintenance1Fn {} 15745 unsafe impl Send for ExtSurfaceMaintenance1Fn {} 15746 unsafe impl Sync for ExtSurfaceMaintenance1Fn {} 15747 impl ExtSurfaceMaintenance1Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15748 pub fn load<F>(mut _f: F) -> Self 15749 where 15750 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15751 { 15752 Self {} 15753 } 15754 } 15755 #[doc = "Generated from 'VK_EXT_surface_maintenance1'"] 15756 impl StructureType { 15757 pub const SURFACE_PRESENT_MODE_EXT: Self = Self(1_000_274_000); 15758 pub const SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: Self = Self(1_000_274_001); 15759 pub const SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: Self = Self(1_000_274_002); 15760 } 15761 impl ExtSwapchainMaintenance1Fn { 15762 #[inline] name() -> &'static ::std::ffi::CStr15763 pub const fn name() -> &'static ::std::ffi::CStr { 15764 unsafe { 15765 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_swapchain_maintenance1\0") 15766 } 15767 } 15768 pub const SPEC_VERSION: u32 = 1u32; 15769 } 15770 #[allow(non_camel_case_types)] 15771 pub type PFN_vkReleaseSwapchainImagesEXT = unsafe extern "system" fn( 15772 device: Device, 15773 p_release_info: *const ReleaseSwapchainImagesInfoEXT, 15774 ) -> Result; 15775 #[derive(Clone)] 15776 pub struct ExtSwapchainMaintenance1Fn { 15777 pub release_swapchain_images_ext: PFN_vkReleaseSwapchainImagesEXT, 15778 } 15779 unsafe impl Send for ExtSwapchainMaintenance1Fn {} 15780 unsafe impl Sync for ExtSwapchainMaintenance1Fn {} 15781 impl ExtSwapchainMaintenance1Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15782 pub fn load<F>(mut _f: F) -> Self 15783 where 15784 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15785 { 15786 Self { 15787 release_swapchain_images_ext: unsafe { 15788 unsafe extern "system" fn release_swapchain_images_ext( 15789 _device: Device, 15790 _p_release_info: *const ReleaseSwapchainImagesInfoEXT, 15791 ) -> Result { 15792 panic!(concat!( 15793 "Unable to load ", 15794 stringify!(release_swapchain_images_ext) 15795 )) 15796 } 15797 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15798 b"vkReleaseSwapchainImagesEXT\0", 15799 ); 15800 let val = _f(cname); 15801 if val.is_null() { 15802 release_swapchain_images_ext 15803 } else { 15804 ::std::mem::transmute(val) 15805 } 15806 }, 15807 } 15808 } 15809 } 15810 #[doc = "Generated from 'VK_EXT_swapchain_maintenance1'"] 15811 impl StructureType { 15812 pub const PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: Self = Self(1_000_275_000); 15813 pub const SWAPCHAIN_PRESENT_FENCE_INFO_EXT: Self = Self(1_000_275_001); 15814 pub const SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: Self = Self(1_000_275_002); 15815 pub const SWAPCHAIN_PRESENT_MODE_INFO_EXT: Self = Self(1_000_275_003); 15816 pub const SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: Self = Self(1_000_275_004); 15817 pub const RELEASE_SWAPCHAIN_IMAGES_INFO_EXT: Self = Self(1_000_275_005); 15818 } 15819 #[doc = "Generated from 'VK_EXT_swapchain_maintenance1'"] 15820 impl SwapchainCreateFlagsKHR { 15821 pub const DEFERRED_MEMORY_ALLOCATION_EXT: Self = Self(0b1000); 15822 } 15823 impl ExtShaderDemoteToHelperInvocationFn { 15824 #[inline] name() -> &'static ::std::ffi::CStr15825 pub const fn name() -> &'static ::std::ffi::CStr { 15826 unsafe { 15827 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15828 b"VK_EXT_shader_demote_to_helper_invocation\0", 15829 ) 15830 } 15831 } 15832 pub const SPEC_VERSION: u32 = 1u32; 15833 } 15834 #[derive(Clone)] 15835 pub struct ExtShaderDemoteToHelperInvocationFn {} 15836 unsafe impl Send for ExtShaderDemoteToHelperInvocationFn {} 15837 unsafe impl Sync for ExtShaderDemoteToHelperInvocationFn {} 15838 impl ExtShaderDemoteToHelperInvocationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15839 pub fn load<F>(mut _f: F) -> Self 15840 where 15841 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15842 { 15843 Self {} 15844 } 15845 } 15846 #[doc = "Generated from 'VK_EXT_shader_demote_to_helper_invocation'"] 15847 impl StructureType { 15848 pub const PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: Self = 15849 Self::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES; 15850 } 15851 impl NvDeviceGeneratedCommandsFn { 15852 #[inline] name() -> &'static ::std::ffi::CStr15853 pub const fn name() -> &'static ::std::ffi::CStr { 15854 unsafe { 15855 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_device_generated_commands\0") 15856 } 15857 } 15858 pub const SPEC_VERSION: u32 = 3u32; 15859 } 15860 #[allow(non_camel_case_types)] 15861 pub type PFN_vkGetGeneratedCommandsMemoryRequirementsNV = unsafe extern "system" fn( 15862 device: Device, 15863 p_info: *const GeneratedCommandsMemoryRequirementsInfoNV, 15864 p_memory_requirements: *mut MemoryRequirements2, 15865 ); 15866 #[allow(non_camel_case_types)] 15867 pub type PFN_vkCmdPreprocessGeneratedCommandsNV = unsafe extern "system" fn( 15868 command_buffer: CommandBuffer, 15869 p_generated_commands_info: *const GeneratedCommandsInfoNV, 15870 ); 15871 #[allow(non_camel_case_types)] 15872 pub type PFN_vkCmdExecuteGeneratedCommandsNV = unsafe extern "system" fn( 15873 command_buffer: CommandBuffer, 15874 is_preprocessed: Bool32, 15875 p_generated_commands_info: *const GeneratedCommandsInfoNV, 15876 ); 15877 #[allow(non_camel_case_types)] 15878 pub type PFN_vkCmdBindPipelineShaderGroupNV = unsafe extern "system" fn( 15879 command_buffer: CommandBuffer, 15880 pipeline_bind_point: PipelineBindPoint, 15881 pipeline: Pipeline, 15882 group_index: u32, 15883 ); 15884 #[allow(non_camel_case_types)] 15885 pub type PFN_vkCreateIndirectCommandsLayoutNV = unsafe extern "system" fn( 15886 device: Device, 15887 p_create_info: *const IndirectCommandsLayoutCreateInfoNV, 15888 p_allocator: *const AllocationCallbacks, 15889 p_indirect_commands_layout: *mut IndirectCommandsLayoutNV, 15890 ) -> Result; 15891 #[allow(non_camel_case_types)] 15892 pub type PFN_vkDestroyIndirectCommandsLayoutNV = unsafe extern "system" fn( 15893 device: Device, 15894 indirect_commands_layout: IndirectCommandsLayoutNV, 15895 p_allocator: *const AllocationCallbacks, 15896 ); 15897 #[derive(Clone)] 15898 pub struct NvDeviceGeneratedCommandsFn { 15899 pub get_generated_commands_memory_requirements_nv: 15900 PFN_vkGetGeneratedCommandsMemoryRequirementsNV, 15901 pub cmd_preprocess_generated_commands_nv: PFN_vkCmdPreprocessGeneratedCommandsNV, 15902 pub cmd_execute_generated_commands_nv: PFN_vkCmdExecuteGeneratedCommandsNV, 15903 pub cmd_bind_pipeline_shader_group_nv: PFN_vkCmdBindPipelineShaderGroupNV, 15904 pub create_indirect_commands_layout_nv: PFN_vkCreateIndirectCommandsLayoutNV, 15905 pub destroy_indirect_commands_layout_nv: PFN_vkDestroyIndirectCommandsLayoutNV, 15906 } 15907 unsafe impl Send for NvDeviceGeneratedCommandsFn {} 15908 unsafe impl Sync for NvDeviceGeneratedCommandsFn {} 15909 impl NvDeviceGeneratedCommandsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,15910 pub fn load<F>(mut _f: F) -> Self 15911 where 15912 F: FnMut(&::std::ffi::CStr) -> *const c_void, 15913 { 15914 Self { 15915 get_generated_commands_memory_requirements_nv: unsafe { 15916 unsafe extern "system" fn get_generated_commands_memory_requirements_nv( 15917 _device: Device, 15918 _p_info: *const GeneratedCommandsMemoryRequirementsInfoNV, 15919 _p_memory_requirements: *mut MemoryRequirements2, 15920 ) { 15921 panic!(concat!( 15922 "Unable to load ", 15923 stringify!(get_generated_commands_memory_requirements_nv) 15924 )) 15925 } 15926 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15927 b"vkGetGeneratedCommandsMemoryRequirementsNV\0", 15928 ); 15929 let val = _f(cname); 15930 if val.is_null() { 15931 get_generated_commands_memory_requirements_nv 15932 } else { 15933 ::std::mem::transmute(val) 15934 } 15935 }, 15936 cmd_preprocess_generated_commands_nv: unsafe { 15937 unsafe extern "system" fn cmd_preprocess_generated_commands_nv( 15938 _command_buffer: CommandBuffer, 15939 _p_generated_commands_info: *const GeneratedCommandsInfoNV, 15940 ) { 15941 panic!(concat!( 15942 "Unable to load ", 15943 stringify!(cmd_preprocess_generated_commands_nv) 15944 )) 15945 } 15946 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15947 b"vkCmdPreprocessGeneratedCommandsNV\0", 15948 ); 15949 let val = _f(cname); 15950 if val.is_null() { 15951 cmd_preprocess_generated_commands_nv 15952 } else { 15953 ::std::mem::transmute(val) 15954 } 15955 }, 15956 cmd_execute_generated_commands_nv: unsafe { 15957 unsafe extern "system" fn cmd_execute_generated_commands_nv( 15958 _command_buffer: CommandBuffer, 15959 _is_preprocessed: Bool32, 15960 _p_generated_commands_info: *const GeneratedCommandsInfoNV, 15961 ) { 15962 panic!(concat!( 15963 "Unable to load ", 15964 stringify!(cmd_execute_generated_commands_nv) 15965 )) 15966 } 15967 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15968 b"vkCmdExecuteGeneratedCommandsNV\0", 15969 ); 15970 let val = _f(cname); 15971 if val.is_null() { 15972 cmd_execute_generated_commands_nv 15973 } else { 15974 ::std::mem::transmute(val) 15975 } 15976 }, 15977 cmd_bind_pipeline_shader_group_nv: unsafe { 15978 unsafe extern "system" fn cmd_bind_pipeline_shader_group_nv( 15979 _command_buffer: CommandBuffer, 15980 _pipeline_bind_point: PipelineBindPoint, 15981 _pipeline: Pipeline, 15982 _group_index: u32, 15983 ) { 15984 panic!(concat!( 15985 "Unable to load ", 15986 stringify!(cmd_bind_pipeline_shader_group_nv) 15987 )) 15988 } 15989 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 15990 b"vkCmdBindPipelineShaderGroupNV\0", 15991 ); 15992 let val = _f(cname); 15993 if val.is_null() { 15994 cmd_bind_pipeline_shader_group_nv 15995 } else { 15996 ::std::mem::transmute(val) 15997 } 15998 }, 15999 create_indirect_commands_layout_nv: unsafe { 16000 unsafe extern "system" fn create_indirect_commands_layout_nv( 16001 _device: Device, 16002 _p_create_info: *const IndirectCommandsLayoutCreateInfoNV, 16003 _p_allocator: *const AllocationCallbacks, 16004 _p_indirect_commands_layout: *mut IndirectCommandsLayoutNV, 16005 ) -> Result { 16006 panic!(concat!( 16007 "Unable to load ", 16008 stringify!(create_indirect_commands_layout_nv) 16009 )) 16010 } 16011 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 16012 b"vkCreateIndirectCommandsLayoutNV\0", 16013 ); 16014 let val = _f(cname); 16015 if val.is_null() { 16016 create_indirect_commands_layout_nv 16017 } else { 16018 ::std::mem::transmute(val) 16019 } 16020 }, 16021 destroy_indirect_commands_layout_nv: unsafe { 16022 unsafe extern "system" fn destroy_indirect_commands_layout_nv( 16023 _device: Device, 16024 _indirect_commands_layout: IndirectCommandsLayoutNV, 16025 _p_allocator: *const AllocationCallbacks, 16026 ) { 16027 panic!(concat!( 16028 "Unable to load ", 16029 stringify!(destroy_indirect_commands_layout_nv) 16030 )) 16031 } 16032 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 16033 b"vkDestroyIndirectCommandsLayoutNV\0", 16034 ); 16035 let val = _f(cname); 16036 if val.is_null() { 16037 destroy_indirect_commands_layout_nv 16038 } else { 16039 ::std::mem::transmute(val) 16040 } 16041 }, 16042 } 16043 } 16044 } 16045 #[doc = "Generated from 'VK_NV_device_generated_commands'"] 16046 impl AccessFlags { 16047 pub const COMMAND_PREPROCESS_READ_NV: Self = Self(0b10_0000_0000_0000_0000); 16048 pub const COMMAND_PREPROCESS_WRITE_NV: Self = Self(0b100_0000_0000_0000_0000); 16049 } 16050 #[doc = "Generated from 'VK_NV_device_generated_commands'"] 16051 impl ObjectType { 16052 pub const INDIRECT_COMMANDS_LAYOUT_NV: Self = Self(1_000_277_000); 16053 } 16054 #[doc = "Generated from 'VK_NV_device_generated_commands'"] 16055 impl PipelineCreateFlags { 16056 pub const INDIRECT_BINDABLE_NV: Self = Self(0b100_0000_0000_0000_0000); 16057 } 16058 #[doc = "Generated from 'VK_NV_device_generated_commands'"] 16059 impl PipelineStageFlags { 16060 pub const COMMAND_PREPROCESS_NV: Self = Self(0b10_0000_0000_0000_0000); 16061 } 16062 #[doc = "Generated from 'VK_NV_device_generated_commands'"] 16063 impl StructureType { 16064 pub const PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: Self = Self(1_000_277_000); 16065 pub const GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: Self = Self(1_000_277_001); 16066 pub const GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: Self = Self(1_000_277_002); 16067 pub const INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: Self = Self(1_000_277_003); 16068 pub const INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: Self = Self(1_000_277_004); 16069 pub const GENERATED_COMMANDS_INFO_NV: Self = Self(1_000_277_005); 16070 pub const GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: Self = Self(1_000_277_006); 16071 pub const PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: Self = Self(1_000_277_007); 16072 } 16073 impl NvInheritedViewportScissorFn { 16074 #[inline] name() -> &'static ::std::ffi::CStr16075 pub const fn name() -> &'static ::std::ffi::CStr { 16076 unsafe { 16077 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_inherited_viewport_scissor\0") 16078 } 16079 } 16080 pub const SPEC_VERSION: u32 = 1u32; 16081 } 16082 #[derive(Clone)] 16083 pub struct NvInheritedViewportScissorFn {} 16084 unsafe impl Send for NvInheritedViewportScissorFn {} 16085 unsafe impl Sync for NvInheritedViewportScissorFn {} 16086 impl NvInheritedViewportScissorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16087 pub fn load<F>(mut _f: F) -> Self 16088 where 16089 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16090 { 16091 Self {} 16092 } 16093 } 16094 #[doc = "Generated from 'VK_NV_inherited_viewport_scissor'"] 16095 impl StructureType { 16096 pub const PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: Self = Self(1_000_278_000); 16097 pub const COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: Self = Self(1_000_278_001); 16098 } 16099 impl KhrExtension280Fn { 16100 #[inline] name() -> &'static ::std::ffi::CStr16101 pub const fn name() -> &'static ::std::ffi::CStr { 16102 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_280\0") } 16103 } 16104 pub const SPEC_VERSION: u32 = 0u32; 16105 } 16106 #[derive(Clone)] 16107 pub struct KhrExtension280Fn {} 16108 unsafe impl Send for KhrExtension280Fn {} 16109 unsafe impl Sync for KhrExtension280Fn {} 16110 impl KhrExtension280Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16111 pub fn load<F>(mut _f: F) -> Self 16112 where 16113 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16114 { 16115 Self {} 16116 } 16117 } 16118 impl KhrShaderIntegerDotProductFn { 16119 #[inline] name() -> &'static ::std::ffi::CStr16120 pub const fn name() -> &'static ::std::ffi::CStr { 16121 unsafe { 16122 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_integer_dot_product\0") 16123 } 16124 } 16125 pub const SPEC_VERSION: u32 = 1u32; 16126 } 16127 #[derive(Clone)] 16128 pub struct KhrShaderIntegerDotProductFn {} 16129 unsafe impl Send for KhrShaderIntegerDotProductFn {} 16130 unsafe impl Sync for KhrShaderIntegerDotProductFn {} 16131 impl KhrShaderIntegerDotProductFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16132 pub fn load<F>(mut _f: F) -> Self 16133 where 16134 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16135 { 16136 Self {} 16137 } 16138 } 16139 #[doc = "Generated from 'VK_KHR_shader_integer_dot_product'"] 16140 impl StructureType { 16141 pub const PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: Self = 16142 Self::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; 16143 pub const PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: Self = 16144 Self::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES; 16145 } 16146 impl ExtTexelBufferAlignmentFn { 16147 #[inline] name() -> &'static ::std::ffi::CStr16148 pub const fn name() -> &'static ::std::ffi::CStr { 16149 unsafe { 16150 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_texel_buffer_alignment\0") 16151 } 16152 } 16153 pub const SPEC_VERSION: u32 = 1u32; 16154 } 16155 #[derive(Clone)] 16156 pub struct ExtTexelBufferAlignmentFn {} 16157 unsafe impl Send for ExtTexelBufferAlignmentFn {} 16158 unsafe impl Sync for ExtTexelBufferAlignmentFn {} 16159 impl ExtTexelBufferAlignmentFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16160 pub fn load<F>(mut _f: F) -> Self 16161 where 16162 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16163 { 16164 Self {} 16165 } 16166 } 16167 #[doc = "Generated from 'VK_EXT_texel_buffer_alignment'"] 16168 impl StructureType { 16169 #[doc = "Not promoted to 1.3"] 16170 pub const PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: Self = Self(1_000_281_000); 16171 pub const PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: Self = 16172 Self::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES; 16173 } 16174 impl QcomRenderPassTransformFn { 16175 #[inline] name() -> &'static ::std::ffi::CStr16176 pub const fn name() -> &'static ::std::ffi::CStr { 16177 unsafe { 16178 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_render_pass_transform\0") 16179 } 16180 } 16181 pub const SPEC_VERSION: u32 = 3u32; 16182 } 16183 #[derive(Clone)] 16184 pub struct QcomRenderPassTransformFn {} 16185 unsafe impl Send for QcomRenderPassTransformFn {} 16186 unsafe impl Sync for QcomRenderPassTransformFn {} 16187 impl QcomRenderPassTransformFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16188 pub fn load<F>(mut _f: F) -> Self 16189 where 16190 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16191 { 16192 Self {} 16193 } 16194 } 16195 #[doc = "Generated from 'VK_QCOM_render_pass_transform'"] 16196 impl RenderPassCreateFlags { 16197 pub const TRANSFORM_QCOM: Self = Self(0b10); 16198 } 16199 #[doc = "Generated from 'VK_QCOM_render_pass_transform'"] 16200 impl StructureType { 16201 pub const COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: Self = 16202 Self(1_000_282_000); 16203 pub const RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: Self = Self(1_000_282_001); 16204 } 16205 impl ExtExtension284Fn { 16206 #[inline] name() -> &'static ::std::ffi::CStr16207 pub const fn name() -> &'static ::std::ffi::CStr { 16208 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_284\0") } 16209 } 16210 pub const SPEC_VERSION: u32 = 0u32; 16211 } 16212 #[derive(Clone)] 16213 pub struct ExtExtension284Fn {} 16214 unsafe impl Send for ExtExtension284Fn {} 16215 unsafe impl Sync for ExtExtension284Fn {} 16216 impl ExtExtension284Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16217 pub fn load<F>(mut _f: F) -> Self 16218 where 16219 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16220 { 16221 Self {} 16222 } 16223 } 16224 impl ExtDeviceMemoryReportFn { 16225 #[inline] name() -> &'static ::std::ffi::CStr16226 pub const fn name() -> &'static ::std::ffi::CStr { 16227 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_device_memory_report\0") } 16228 } 16229 pub const SPEC_VERSION: u32 = 2u32; 16230 } 16231 #[derive(Clone)] 16232 pub struct ExtDeviceMemoryReportFn {} 16233 unsafe impl Send for ExtDeviceMemoryReportFn {} 16234 unsafe impl Sync for ExtDeviceMemoryReportFn {} 16235 impl ExtDeviceMemoryReportFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16236 pub fn load<F>(mut _f: F) -> Self 16237 where 16238 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16239 { 16240 Self {} 16241 } 16242 } 16243 #[doc = "Generated from 'VK_EXT_device_memory_report'"] 16244 impl StructureType { 16245 pub const PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: Self = Self(1_000_284_000); 16246 pub const DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: Self = Self(1_000_284_001); 16247 pub const DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: Self = Self(1_000_284_002); 16248 } 16249 impl ExtAcquireDrmDisplayFn { 16250 #[inline] name() -> &'static ::std::ffi::CStr16251 pub const fn name() -> &'static ::std::ffi::CStr { 16252 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_acquire_drm_display\0") } 16253 } 16254 pub const SPEC_VERSION: u32 = 1u32; 16255 } 16256 #[allow(non_camel_case_types)] 16257 pub type PFN_vkAcquireDrmDisplayEXT = unsafe extern "system" fn( 16258 physical_device: PhysicalDevice, 16259 drm_fd: i32, 16260 display: DisplayKHR, 16261 ) -> Result; 16262 #[allow(non_camel_case_types)] 16263 pub type PFN_vkGetDrmDisplayEXT = unsafe extern "system" fn( 16264 physical_device: PhysicalDevice, 16265 drm_fd: i32, 16266 connector_id: u32, 16267 display: *mut DisplayKHR, 16268 ) -> Result; 16269 #[derive(Clone)] 16270 pub struct ExtAcquireDrmDisplayFn { 16271 pub acquire_drm_display_ext: PFN_vkAcquireDrmDisplayEXT, 16272 pub get_drm_display_ext: PFN_vkGetDrmDisplayEXT, 16273 } 16274 unsafe impl Send for ExtAcquireDrmDisplayFn {} 16275 unsafe impl Sync for ExtAcquireDrmDisplayFn {} 16276 impl ExtAcquireDrmDisplayFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16277 pub fn load<F>(mut _f: F) -> Self 16278 where 16279 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16280 { 16281 Self { 16282 acquire_drm_display_ext: unsafe { 16283 unsafe extern "system" fn acquire_drm_display_ext( 16284 _physical_device: PhysicalDevice, 16285 _drm_fd: i32, 16286 _display: DisplayKHR, 16287 ) -> Result { 16288 panic!(concat!( 16289 "Unable to load ", 16290 stringify!(acquire_drm_display_ext) 16291 )) 16292 } 16293 let cname = 16294 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireDrmDisplayEXT\0"); 16295 let val = _f(cname); 16296 if val.is_null() { 16297 acquire_drm_display_ext 16298 } else { 16299 ::std::mem::transmute(val) 16300 } 16301 }, 16302 get_drm_display_ext: unsafe { 16303 unsafe extern "system" fn get_drm_display_ext( 16304 _physical_device: PhysicalDevice, 16305 _drm_fd: i32, 16306 _connector_id: u32, 16307 _display: *mut DisplayKHR, 16308 ) -> Result { 16309 panic!(concat!("Unable to load ", stringify!(get_drm_display_ext))) 16310 } 16311 let cname = 16312 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDrmDisplayEXT\0"); 16313 let val = _f(cname); 16314 if val.is_null() { 16315 get_drm_display_ext 16316 } else { 16317 ::std::mem::transmute(val) 16318 } 16319 }, 16320 } 16321 } 16322 } 16323 impl ExtRobustness2Fn { 16324 #[inline] name() -> &'static ::std::ffi::CStr16325 pub const fn name() -> &'static ::std::ffi::CStr { 16326 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_robustness2\0") } 16327 } 16328 pub const SPEC_VERSION: u32 = 1u32; 16329 } 16330 #[derive(Clone)] 16331 pub struct ExtRobustness2Fn {} 16332 unsafe impl Send for ExtRobustness2Fn {} 16333 unsafe impl Sync for ExtRobustness2Fn {} 16334 impl ExtRobustness2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16335 pub fn load<F>(mut _f: F) -> Self 16336 where 16337 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16338 { 16339 Self {} 16340 } 16341 } 16342 #[doc = "Generated from 'VK_EXT_robustness2'"] 16343 impl StructureType { 16344 pub const PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: Self = Self(1_000_286_000); 16345 pub const PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: Self = Self(1_000_286_001); 16346 } 16347 impl ExtCustomBorderColorFn { 16348 #[inline] name() -> &'static ::std::ffi::CStr16349 pub const fn name() -> &'static ::std::ffi::CStr { 16350 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_custom_border_color\0") } 16351 } 16352 pub const SPEC_VERSION: u32 = 12u32; 16353 } 16354 #[derive(Clone)] 16355 pub struct ExtCustomBorderColorFn {} 16356 unsafe impl Send for ExtCustomBorderColorFn {} 16357 unsafe impl Sync for ExtCustomBorderColorFn {} 16358 impl ExtCustomBorderColorFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16359 pub fn load<F>(mut _f: F) -> Self 16360 where 16361 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16362 { 16363 Self {} 16364 } 16365 } 16366 #[doc = "Generated from 'VK_EXT_custom_border_color'"] 16367 impl BorderColor { 16368 pub const FLOAT_CUSTOM_EXT: Self = Self(1_000_287_003); 16369 pub const INT_CUSTOM_EXT: Self = Self(1_000_287_004); 16370 } 16371 #[doc = "Generated from 'VK_EXT_custom_border_color'"] 16372 impl StructureType { 16373 pub const SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: Self = Self(1_000_287_000); 16374 pub const PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: Self = Self(1_000_287_001); 16375 pub const PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: Self = Self(1_000_287_002); 16376 } 16377 impl ExtExtension289Fn { 16378 #[inline] name() -> &'static ::std::ffi::CStr16379 pub const fn name() -> &'static ::std::ffi::CStr { 16380 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_289\0") } 16381 } 16382 pub const SPEC_VERSION: u32 = 0u32; 16383 } 16384 #[derive(Clone)] 16385 pub struct ExtExtension289Fn {} 16386 unsafe impl Send for ExtExtension289Fn {} 16387 unsafe impl Sync for ExtExtension289Fn {} 16388 impl ExtExtension289Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16389 pub fn load<F>(mut _f: F) -> Self 16390 where 16391 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16392 { 16393 Self {} 16394 } 16395 } 16396 #[doc = "Generated from 'VK_EXT_extension_289'"] 16397 impl Format { 16398 pub const ASTC_3X3X3_UNORM_BLOCK_EXT: Self = Self(1_000_288_000); 16399 pub const ASTC_3X3X3_SRGB_BLOCK_EXT: Self = Self(1_000_288_001); 16400 pub const ASTC_3X3X3_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_002); 16401 pub const ASTC_4X3X3_UNORM_BLOCK_EXT: Self = Self(1_000_288_003); 16402 pub const ASTC_4X3X3_SRGB_BLOCK_EXT: Self = Self(1_000_288_004); 16403 pub const ASTC_4X3X3_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_005); 16404 pub const ASTC_4X4X3_UNORM_BLOCK_EXT: Self = Self(1_000_288_006); 16405 pub const ASTC_4X4X3_SRGB_BLOCK_EXT: Self = Self(1_000_288_007); 16406 pub const ASTC_4X4X3_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_008); 16407 pub const ASTC_4X4X4_UNORM_BLOCK_EXT: Self = Self(1_000_288_009); 16408 pub const ASTC_4X4X4_SRGB_BLOCK_EXT: Self = Self(1_000_288_010); 16409 pub const ASTC_4X4X4_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_011); 16410 pub const ASTC_5X4X4_UNORM_BLOCK_EXT: Self = Self(1_000_288_012); 16411 pub const ASTC_5X4X4_SRGB_BLOCK_EXT: Self = Self(1_000_288_013); 16412 pub const ASTC_5X4X4_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_014); 16413 pub const ASTC_5X5X4_UNORM_BLOCK_EXT: Self = Self(1_000_288_015); 16414 pub const ASTC_5X5X4_SRGB_BLOCK_EXT: Self = Self(1_000_288_016); 16415 pub const ASTC_5X5X4_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_017); 16416 pub const ASTC_5X5X5_UNORM_BLOCK_EXT: Self = Self(1_000_288_018); 16417 pub const ASTC_5X5X5_SRGB_BLOCK_EXT: Self = Self(1_000_288_019); 16418 pub const ASTC_5X5X5_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_020); 16419 pub const ASTC_6X5X5_UNORM_BLOCK_EXT: Self = Self(1_000_288_021); 16420 pub const ASTC_6X5X5_SRGB_BLOCK_EXT: Self = Self(1_000_288_022); 16421 pub const ASTC_6X5X5_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_023); 16422 pub const ASTC_6X6X5_UNORM_BLOCK_EXT: Self = Self(1_000_288_024); 16423 pub const ASTC_6X6X5_SRGB_BLOCK_EXT: Self = Self(1_000_288_025); 16424 pub const ASTC_6X6X5_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_026); 16425 pub const ASTC_6X6X6_UNORM_BLOCK_EXT: Self = Self(1_000_288_027); 16426 pub const ASTC_6X6X6_SRGB_BLOCK_EXT: Self = Self(1_000_288_028); 16427 pub const ASTC_6X6X6_SFLOAT_BLOCK_EXT: Self = Self(1_000_288_029); 16428 } 16429 impl GoogleUserTypeFn { 16430 #[inline] name() -> &'static ::std::ffi::CStr16431 pub const fn name() -> &'static ::std::ffi::CStr { 16432 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_user_type\0") } 16433 } 16434 pub const SPEC_VERSION: u32 = 1u32; 16435 } 16436 #[derive(Clone)] 16437 pub struct GoogleUserTypeFn {} 16438 unsafe impl Send for GoogleUserTypeFn {} 16439 unsafe impl Sync for GoogleUserTypeFn {} 16440 impl GoogleUserTypeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16441 pub fn load<F>(mut _f: F) -> Self 16442 where 16443 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16444 { 16445 Self {} 16446 } 16447 } 16448 impl KhrPipelineLibraryFn { 16449 #[inline] name() -> &'static ::std::ffi::CStr16450 pub const fn name() -> &'static ::std::ffi::CStr { 16451 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_pipeline_library\0") } 16452 } 16453 pub const SPEC_VERSION: u32 = 1u32; 16454 } 16455 #[derive(Clone)] 16456 pub struct KhrPipelineLibraryFn {} 16457 unsafe impl Send for KhrPipelineLibraryFn {} 16458 unsafe impl Sync for KhrPipelineLibraryFn {} 16459 impl KhrPipelineLibraryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16460 pub fn load<F>(mut _f: F) -> Self 16461 where 16462 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16463 { 16464 Self {} 16465 } 16466 } 16467 #[doc = "Generated from 'VK_KHR_pipeline_library'"] 16468 impl PipelineCreateFlags { 16469 pub const LIBRARY_KHR: Self = Self(0b1000_0000_0000); 16470 } 16471 #[doc = "Generated from 'VK_KHR_pipeline_library'"] 16472 impl StructureType { 16473 pub const PIPELINE_LIBRARY_CREATE_INFO_KHR: Self = Self(1_000_290_000); 16474 } 16475 impl NvExtension292Fn { 16476 #[inline] name() -> &'static ::std::ffi::CStr16477 pub const fn name() -> &'static ::std::ffi::CStr { 16478 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_292\0") } 16479 } 16480 pub const SPEC_VERSION: u32 = 0u32; 16481 } 16482 #[derive(Clone)] 16483 pub struct NvExtension292Fn {} 16484 unsafe impl Send for NvExtension292Fn {} 16485 unsafe impl Sync for NvExtension292Fn {} 16486 impl NvExtension292Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16487 pub fn load<F>(mut _f: F) -> Self 16488 where 16489 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16490 { 16491 Self {} 16492 } 16493 } 16494 impl NvPresentBarrierFn { 16495 #[inline] name() -> &'static ::std::ffi::CStr16496 pub const fn name() -> &'static ::std::ffi::CStr { 16497 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_present_barrier\0") } 16498 } 16499 pub const SPEC_VERSION: u32 = 1u32; 16500 } 16501 #[derive(Clone)] 16502 pub struct NvPresentBarrierFn {} 16503 unsafe impl Send for NvPresentBarrierFn {} 16504 unsafe impl Sync for NvPresentBarrierFn {} 16505 impl NvPresentBarrierFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16506 pub fn load<F>(mut _f: F) -> Self 16507 where 16508 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16509 { 16510 Self {} 16511 } 16512 } 16513 #[doc = "Generated from 'VK_NV_present_barrier'"] 16514 impl StructureType { 16515 pub const PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: Self = Self(1_000_292_000); 16516 pub const SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: Self = Self(1_000_292_001); 16517 pub const SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: Self = Self(1_000_292_002); 16518 } 16519 impl KhrShaderNonSemanticInfoFn { 16520 #[inline] name() -> &'static ::std::ffi::CStr16521 pub const fn name() -> &'static ::std::ffi::CStr { 16522 unsafe { 16523 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_shader_non_semantic_info\0") 16524 } 16525 } 16526 pub const SPEC_VERSION: u32 = 1u32; 16527 } 16528 #[derive(Clone)] 16529 pub struct KhrShaderNonSemanticInfoFn {} 16530 unsafe impl Send for KhrShaderNonSemanticInfoFn {} 16531 unsafe impl Sync for KhrShaderNonSemanticInfoFn {} 16532 impl KhrShaderNonSemanticInfoFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16533 pub fn load<F>(mut _f: F) -> Self 16534 where 16535 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16536 { 16537 Self {} 16538 } 16539 } 16540 impl KhrPresentIdFn { 16541 #[inline] name() -> &'static ::std::ffi::CStr16542 pub const fn name() -> &'static ::std::ffi::CStr { 16543 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_present_id\0") } 16544 } 16545 pub const SPEC_VERSION: u32 = 1u32; 16546 } 16547 #[derive(Clone)] 16548 pub struct KhrPresentIdFn {} 16549 unsafe impl Send for KhrPresentIdFn {} 16550 unsafe impl Sync for KhrPresentIdFn {} 16551 impl KhrPresentIdFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16552 pub fn load<F>(mut _f: F) -> Self 16553 where 16554 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16555 { 16556 Self {} 16557 } 16558 } 16559 #[doc = "Generated from 'VK_KHR_present_id'"] 16560 impl StructureType { 16561 pub const PRESENT_ID_KHR: Self = Self(1_000_294_000); 16562 pub const PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: Self = Self(1_000_294_001); 16563 } 16564 impl ExtPrivateDataFn { 16565 #[inline] name() -> &'static ::std::ffi::CStr16566 pub const fn name() -> &'static ::std::ffi::CStr { 16567 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_private_data\0") } 16568 } 16569 pub const SPEC_VERSION: u32 = 1u32; 16570 } 16571 #[allow(non_camel_case_types)] 16572 pub type PFN_vkCreatePrivateDataSlot = unsafe extern "system" fn( 16573 device: Device, 16574 p_create_info: *const PrivateDataSlotCreateInfo, 16575 p_allocator: *const AllocationCallbacks, 16576 p_private_data_slot: *mut PrivateDataSlot, 16577 ) -> Result; 16578 #[allow(non_camel_case_types)] 16579 pub type PFN_vkDestroyPrivateDataSlot = unsafe extern "system" fn( 16580 device: Device, 16581 private_data_slot: PrivateDataSlot, 16582 p_allocator: *const AllocationCallbacks, 16583 ); 16584 #[allow(non_camel_case_types)] 16585 pub type PFN_vkSetPrivateData = unsafe extern "system" fn( 16586 device: Device, 16587 object_type: ObjectType, 16588 object_handle: u64, 16589 private_data_slot: PrivateDataSlot, 16590 data: u64, 16591 ) -> Result; 16592 #[allow(non_camel_case_types)] 16593 pub type PFN_vkGetPrivateData = unsafe extern "system" fn( 16594 device: Device, 16595 object_type: ObjectType, 16596 object_handle: u64, 16597 private_data_slot: PrivateDataSlot, 16598 p_data: *mut u64, 16599 ); 16600 #[derive(Clone)] 16601 pub struct ExtPrivateDataFn { 16602 pub create_private_data_slot_ext: PFN_vkCreatePrivateDataSlot, 16603 pub destroy_private_data_slot_ext: PFN_vkDestroyPrivateDataSlot, 16604 pub set_private_data_ext: PFN_vkSetPrivateData, 16605 pub get_private_data_ext: PFN_vkGetPrivateData, 16606 } 16607 unsafe impl Send for ExtPrivateDataFn {} 16608 unsafe impl Sync for ExtPrivateDataFn {} 16609 impl ExtPrivateDataFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16610 pub fn load<F>(mut _f: F) -> Self 16611 where 16612 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16613 { 16614 Self { 16615 create_private_data_slot_ext: unsafe { 16616 unsafe extern "system" fn create_private_data_slot_ext( 16617 _device: Device, 16618 _p_create_info: *const PrivateDataSlotCreateInfo, 16619 _p_allocator: *const AllocationCallbacks, 16620 _p_private_data_slot: *mut PrivateDataSlot, 16621 ) -> Result { 16622 panic!(concat!( 16623 "Unable to load ", 16624 stringify!(create_private_data_slot_ext) 16625 )) 16626 } 16627 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 16628 b"vkCreatePrivateDataSlotEXT\0", 16629 ); 16630 let val = _f(cname); 16631 if val.is_null() { 16632 create_private_data_slot_ext 16633 } else { 16634 ::std::mem::transmute(val) 16635 } 16636 }, 16637 destroy_private_data_slot_ext: unsafe { 16638 unsafe extern "system" fn destroy_private_data_slot_ext( 16639 _device: Device, 16640 _private_data_slot: PrivateDataSlot, 16641 _p_allocator: *const AllocationCallbacks, 16642 ) { 16643 panic!(concat!( 16644 "Unable to load ", 16645 stringify!(destroy_private_data_slot_ext) 16646 )) 16647 } 16648 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 16649 b"vkDestroyPrivateDataSlotEXT\0", 16650 ); 16651 let val = _f(cname); 16652 if val.is_null() { 16653 destroy_private_data_slot_ext 16654 } else { 16655 ::std::mem::transmute(val) 16656 } 16657 }, 16658 set_private_data_ext: unsafe { 16659 unsafe extern "system" fn set_private_data_ext( 16660 _device: Device, 16661 _object_type: ObjectType, 16662 _object_handle: u64, 16663 _private_data_slot: PrivateDataSlot, 16664 _data: u64, 16665 ) -> Result { 16666 panic!(concat!("Unable to load ", stringify!(set_private_data_ext))) 16667 } 16668 let cname = 16669 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkSetPrivateDataEXT\0"); 16670 let val = _f(cname); 16671 if val.is_null() { 16672 set_private_data_ext 16673 } else { 16674 ::std::mem::transmute(val) 16675 } 16676 }, 16677 get_private_data_ext: unsafe { 16678 unsafe extern "system" fn get_private_data_ext( 16679 _device: Device, 16680 _object_type: ObjectType, 16681 _object_handle: u64, 16682 _private_data_slot: PrivateDataSlot, 16683 _p_data: *mut u64, 16684 ) { 16685 panic!(concat!("Unable to load ", stringify!(get_private_data_ext))) 16686 } 16687 let cname = 16688 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetPrivateDataEXT\0"); 16689 let val = _f(cname); 16690 if val.is_null() { 16691 get_private_data_ext 16692 } else { 16693 ::std::mem::transmute(val) 16694 } 16695 }, 16696 } 16697 } 16698 } 16699 #[doc = "Generated from 'VK_EXT_private_data'"] 16700 impl ObjectType { 16701 pub const PRIVATE_DATA_SLOT_EXT: Self = Self::PRIVATE_DATA_SLOT; 16702 } 16703 #[doc = "Generated from 'VK_EXT_private_data'"] 16704 impl StructureType { 16705 pub const PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: Self = 16706 Self::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES; 16707 pub const DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: Self = Self::DEVICE_PRIVATE_DATA_CREATE_INFO; 16708 pub const PRIVATE_DATA_SLOT_CREATE_INFO_EXT: Self = Self::PRIVATE_DATA_SLOT_CREATE_INFO; 16709 } 16710 impl KhrExtension297Fn { 16711 #[inline] name() -> &'static ::std::ffi::CStr16712 pub const fn name() -> &'static ::std::ffi::CStr { 16713 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_297\0") } 16714 } 16715 pub const SPEC_VERSION: u32 = 0u32; 16716 } 16717 #[derive(Clone)] 16718 pub struct KhrExtension297Fn {} 16719 unsafe impl Send for KhrExtension297Fn {} 16720 unsafe impl Sync for KhrExtension297Fn {} 16721 impl KhrExtension297Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16722 pub fn load<F>(mut _f: F) -> Self 16723 where 16724 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16725 { 16726 Self {} 16727 } 16728 } 16729 #[doc = "Generated from 'VK_KHR_extension_297'"] 16730 impl PipelineShaderStageCreateFlags { 16731 pub const RESERVED_3_KHR: Self = Self(0b1000); 16732 } 16733 impl ExtPipelineCreationCacheControlFn { 16734 #[inline] name() -> &'static ::std::ffi::CStr16735 pub const fn name() -> &'static ::std::ffi::CStr { 16736 unsafe { 16737 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 16738 b"VK_EXT_pipeline_creation_cache_control\0", 16739 ) 16740 } 16741 } 16742 pub const SPEC_VERSION: u32 = 3u32; 16743 } 16744 #[derive(Clone)] 16745 pub struct ExtPipelineCreationCacheControlFn {} 16746 unsafe impl Send for ExtPipelineCreationCacheControlFn {} 16747 unsafe impl Sync for ExtPipelineCreationCacheControlFn {} 16748 impl ExtPipelineCreationCacheControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16749 pub fn load<F>(mut _f: F) -> Self 16750 where 16751 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16752 { 16753 Self {} 16754 } 16755 } 16756 #[doc = "Generated from 'VK_EXT_pipeline_creation_cache_control'"] 16757 impl PipelineCacheCreateFlags { 16758 pub const EXTERNALLY_SYNCHRONIZED_EXT: Self = Self::EXTERNALLY_SYNCHRONIZED; 16759 } 16760 #[doc = "Generated from 'VK_EXT_pipeline_creation_cache_control'"] 16761 impl PipelineCreateFlags { 16762 pub const FAIL_ON_PIPELINE_COMPILE_REQUIRED_EXT: Self = Self::FAIL_ON_PIPELINE_COMPILE_REQUIRED; 16763 pub const EARLY_RETURN_ON_FAILURE_EXT: Self = Self::EARLY_RETURN_ON_FAILURE; 16764 } 16765 #[doc = "Generated from 'VK_EXT_pipeline_creation_cache_control'"] 16766 impl Result { 16767 pub const PIPELINE_COMPILE_REQUIRED_EXT: Self = Self::PIPELINE_COMPILE_REQUIRED; 16768 pub const ERROR_PIPELINE_COMPILE_REQUIRED_EXT: Self = Self::PIPELINE_COMPILE_REQUIRED; 16769 } 16770 #[doc = "Generated from 'VK_EXT_pipeline_creation_cache_control'"] 16771 impl StructureType { 16772 pub const PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: Self = 16773 Self::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES; 16774 } 16775 impl KhrExtension299Fn { 16776 #[inline] name() -> &'static ::std::ffi::CStr16777 pub const fn name() -> &'static ::std::ffi::CStr { 16778 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_299\0") } 16779 } 16780 pub const SPEC_VERSION: u32 = 0u32; 16781 } 16782 #[derive(Clone)] 16783 pub struct KhrExtension299Fn {} 16784 unsafe impl Send for KhrExtension299Fn {} 16785 unsafe impl Sync for KhrExtension299Fn {} 16786 impl KhrExtension299Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16787 pub fn load<F>(mut _f: F) -> Self 16788 where 16789 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16790 { 16791 Self {} 16792 } 16793 } 16794 impl KhrVideoEncodeQueueFn { 16795 #[inline] name() -> &'static ::std::ffi::CStr16796 pub const fn name() -> &'static ::std::ffi::CStr { 16797 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_encode_queue\0") } 16798 } 16799 pub const SPEC_VERSION: u32 = 8u32; 16800 } 16801 #[allow(non_camel_case_types)] 16802 pub type PFN_vkCmdEncodeVideoKHR = unsafe extern "system" fn( 16803 command_buffer: CommandBuffer, 16804 p_encode_info: *const VideoEncodeInfoKHR, 16805 ); 16806 #[derive(Clone)] 16807 pub struct KhrVideoEncodeQueueFn { 16808 pub cmd_encode_video_khr: PFN_vkCmdEncodeVideoKHR, 16809 } 16810 unsafe impl Send for KhrVideoEncodeQueueFn {} 16811 unsafe impl Sync for KhrVideoEncodeQueueFn {} 16812 impl KhrVideoEncodeQueueFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16813 pub fn load<F>(mut _f: F) -> Self 16814 where 16815 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16816 { 16817 Self { 16818 cmd_encode_video_khr: unsafe { 16819 unsafe extern "system" fn cmd_encode_video_khr( 16820 _command_buffer: CommandBuffer, 16821 _p_encode_info: *const VideoEncodeInfoKHR, 16822 ) { 16823 panic!(concat!("Unable to load ", stringify!(cmd_encode_video_khr))) 16824 } 16825 let cname = 16826 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdEncodeVideoKHR\0"); 16827 let val = _f(cname); 16828 if val.is_null() { 16829 cmd_encode_video_khr 16830 } else { 16831 ::std::mem::transmute(val) 16832 } 16833 }, 16834 } 16835 } 16836 } 16837 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16838 impl AccessFlags2 { 16839 pub const VIDEO_ENCODE_READ_KHR: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000); 16840 pub const VIDEO_ENCODE_WRITE_KHR: Self = 16841 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000); 16842 } 16843 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16844 impl BufferUsageFlags { 16845 pub const VIDEO_ENCODE_DST_KHR: Self = Self(0b1000_0000_0000_0000); 16846 pub const VIDEO_ENCODE_SRC_KHR: Self = Self(0b1_0000_0000_0000_0000); 16847 } 16848 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16849 impl FormatFeatureFlags { 16850 pub const VIDEO_ENCODE_INPUT_KHR: Self = Self(0b1000_0000_0000_0000_0000_0000_0000); 16851 pub const VIDEO_ENCODE_DPB_KHR: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000); 16852 } 16853 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16854 impl FormatFeatureFlags2 { 16855 pub const VIDEO_ENCODE_INPUT_KHR: Self = Self(0b1000_0000_0000_0000_0000_0000_0000); 16856 pub const VIDEO_ENCODE_DPB_KHR: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000); 16857 } 16858 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16859 impl ImageLayout { 16860 pub const VIDEO_ENCODE_DST_KHR: Self = Self(1_000_299_000); 16861 pub const VIDEO_ENCODE_SRC_KHR: Self = Self(1_000_299_001); 16862 pub const VIDEO_ENCODE_DPB_KHR: Self = Self(1_000_299_002); 16863 } 16864 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16865 impl ImageUsageFlags { 16866 pub const VIDEO_ENCODE_DST_KHR: Self = Self(0b10_0000_0000_0000); 16867 pub const VIDEO_ENCODE_SRC_KHR: Self = Self(0b100_0000_0000_0000); 16868 pub const VIDEO_ENCODE_DPB_KHR: Self = Self(0b1000_0000_0000_0000); 16869 } 16870 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16871 impl PipelineStageFlags2 { 16872 pub const VIDEO_ENCODE_KHR: Self = Self(0b1000_0000_0000_0000_0000_0000_0000); 16873 } 16874 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16875 impl QueryType { 16876 pub const VIDEO_ENCODE_FEEDBACK_KHR: Self = Self(1_000_299_000); 16877 } 16878 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16879 impl QueueFlags { 16880 pub const VIDEO_ENCODE_KHR: Self = Self(0b100_0000); 16881 } 16882 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16883 impl Result { 16884 pub const ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR: Self = Self(-1_000_299_000); 16885 } 16886 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16887 impl StructureType { 16888 pub const VIDEO_ENCODE_INFO_KHR: Self = Self(1_000_299_000); 16889 pub const VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: Self = Self(1_000_299_001); 16890 pub const VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: Self = Self(1_000_299_002); 16891 pub const VIDEO_ENCODE_CAPABILITIES_KHR: Self = Self(1_000_299_003); 16892 pub const VIDEO_ENCODE_USAGE_INFO_KHR: Self = Self(1_000_299_004); 16893 pub const QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: Self = Self(1_000_299_005); 16894 } 16895 #[doc = "Generated from 'VK_KHR_video_encode_queue'"] 16896 impl VideoCodingControlFlagsKHR { 16897 pub const ENCODE_RATE_CONTROL: Self = Self(0b10); 16898 pub const ENCODE_RATE_CONTROL_LAYER: Self = Self(0b100); 16899 } 16900 impl NvDeviceDiagnosticsConfigFn { 16901 #[inline] name() -> &'static ::std::ffi::CStr16902 pub const fn name() -> &'static ::std::ffi::CStr { 16903 unsafe { 16904 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_device_diagnostics_config\0") 16905 } 16906 } 16907 pub const SPEC_VERSION: u32 = 2u32; 16908 } 16909 #[derive(Clone)] 16910 pub struct NvDeviceDiagnosticsConfigFn {} 16911 unsafe impl Send for NvDeviceDiagnosticsConfigFn {} 16912 unsafe impl Sync for NvDeviceDiagnosticsConfigFn {} 16913 impl NvDeviceDiagnosticsConfigFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16914 pub fn load<F>(mut _f: F) -> Self 16915 where 16916 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16917 { 16918 Self {} 16919 } 16920 } 16921 #[doc = "Generated from 'VK_NV_device_diagnostics_config'"] 16922 impl StructureType { 16923 pub const PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: Self = Self(1_000_300_000); 16924 pub const DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: Self = Self(1_000_300_001); 16925 } 16926 impl QcomRenderPassStoreOpsFn { 16927 #[inline] name() -> &'static ::std::ffi::CStr16928 pub const fn name() -> &'static ::std::ffi::CStr { 16929 unsafe { 16930 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_render_pass_store_ops\0") 16931 } 16932 } 16933 pub const SPEC_VERSION: u32 = 2u32; 16934 } 16935 #[derive(Clone)] 16936 pub struct QcomRenderPassStoreOpsFn {} 16937 unsafe impl Send for QcomRenderPassStoreOpsFn {} 16938 unsafe impl Sync for QcomRenderPassStoreOpsFn {} 16939 impl QcomRenderPassStoreOpsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16940 pub fn load<F>(mut _f: F) -> Self 16941 where 16942 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16943 { 16944 Self {} 16945 } 16946 } 16947 #[doc = "Generated from 'VK_QCOM_render_pass_store_ops'"] 16948 impl AttachmentStoreOp { 16949 pub const NONE_QCOM: Self = Self::NONE; 16950 } 16951 impl QcomExtension303Fn { 16952 #[inline] name() -> &'static ::std::ffi::CStr16953 pub const fn name() -> &'static ::std::ffi::CStr { 16954 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_303\0") } 16955 } 16956 pub const SPEC_VERSION: u32 = 0u32; 16957 } 16958 #[derive(Clone)] 16959 pub struct QcomExtension303Fn {} 16960 unsafe impl Send for QcomExtension303Fn {} 16961 unsafe impl Sync for QcomExtension303Fn {} 16962 impl QcomExtension303Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16963 pub fn load<F>(mut _f: F) -> Self 16964 where 16965 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16966 { 16967 Self {} 16968 } 16969 } 16970 impl QcomExtension304Fn { 16971 #[inline] name() -> &'static ::std::ffi::CStr16972 pub const fn name() -> &'static ::std::ffi::CStr { 16973 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_304\0") } 16974 } 16975 pub const SPEC_VERSION: u32 = 0u32; 16976 } 16977 #[derive(Clone)] 16978 pub struct QcomExtension304Fn {} 16979 unsafe impl Send for QcomExtension304Fn {} 16980 unsafe impl Sync for QcomExtension304Fn {} 16981 impl QcomExtension304Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,16982 pub fn load<F>(mut _f: F) -> Self 16983 where 16984 F: FnMut(&::std::ffi::CStr) -> *const c_void, 16985 { 16986 Self {} 16987 } 16988 } 16989 impl QcomExtension305Fn { 16990 #[inline] name() -> &'static ::std::ffi::CStr16991 pub const fn name() -> &'static ::std::ffi::CStr { 16992 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_305\0") } 16993 } 16994 pub const SPEC_VERSION: u32 = 0u32; 16995 } 16996 #[derive(Clone)] 16997 pub struct QcomExtension305Fn {} 16998 unsafe impl Send for QcomExtension305Fn {} 16999 unsafe impl Sync for QcomExtension305Fn {} 17000 impl QcomExtension305Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17001 pub fn load<F>(mut _f: F) -> Self 17002 where 17003 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17004 { 17005 Self {} 17006 } 17007 } 17008 impl QcomExtension306Fn { 17009 #[inline] name() -> &'static ::std::ffi::CStr17010 pub const fn name() -> &'static ::std::ffi::CStr { 17011 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_306\0") } 17012 } 17013 pub const SPEC_VERSION: u32 = 0u32; 17014 } 17015 #[derive(Clone)] 17016 pub struct QcomExtension306Fn {} 17017 unsafe impl Send for QcomExtension306Fn {} 17018 unsafe impl Sync for QcomExtension306Fn {} 17019 impl QcomExtension306Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17020 pub fn load<F>(mut _f: F) -> Self 17021 where 17022 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17023 { 17024 Self {} 17025 } 17026 } 17027 impl QcomExtension307Fn { 17028 #[inline] name() -> &'static ::std::ffi::CStr17029 pub const fn name() -> &'static ::std::ffi::CStr { 17030 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_307\0") } 17031 } 17032 pub const SPEC_VERSION: u32 = 0u32; 17033 } 17034 #[derive(Clone)] 17035 pub struct QcomExtension307Fn {} 17036 unsafe impl Send for QcomExtension307Fn {} 17037 unsafe impl Sync for QcomExtension307Fn {} 17038 impl QcomExtension307Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17039 pub fn load<F>(mut _f: F) -> Self 17040 where 17041 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17042 { 17043 Self {} 17044 } 17045 } 17046 impl NvExtension308Fn { 17047 #[inline] name() -> &'static ::std::ffi::CStr17048 pub const fn name() -> &'static ::std::ffi::CStr { 17049 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_308\0") } 17050 } 17051 pub const SPEC_VERSION: u32 = 0u32; 17052 } 17053 #[derive(Clone)] 17054 pub struct NvExtension308Fn {} 17055 unsafe impl Send for NvExtension308Fn {} 17056 unsafe impl Sync for NvExtension308Fn {} 17057 impl NvExtension308Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17058 pub fn load<F>(mut _f: F) -> Self 17059 where 17060 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17061 { 17062 Self {} 17063 } 17064 } 17065 impl QcomExtension310Fn { 17066 #[inline] name() -> &'static ::std::ffi::CStr17067 pub const fn name() -> &'static ::std::ffi::CStr { 17068 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_310\0") } 17069 } 17070 pub const SPEC_VERSION: u32 = 0u32; 17071 } 17072 #[derive(Clone)] 17073 pub struct QcomExtension310Fn {} 17074 unsafe impl Send for QcomExtension310Fn {} 17075 unsafe impl Sync for QcomExtension310Fn {} 17076 impl QcomExtension310Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17077 pub fn load<F>(mut _f: F) -> Self 17078 where 17079 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17080 { 17081 Self {} 17082 } 17083 } 17084 #[doc = "Generated from 'VK_QCOM_extension_310'"] 17085 impl StructureType { 17086 pub const RESERVED_QCOM: Self = Self(1_000_309_000); 17087 } 17088 impl NvLowLatencyFn { 17089 #[inline] name() -> &'static ::std::ffi::CStr17090 pub const fn name() -> &'static ::std::ffi::CStr { 17091 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_low_latency\0") } 17092 } 17093 pub const SPEC_VERSION: u32 = 1u32; 17094 } 17095 #[derive(Clone)] 17096 pub struct NvLowLatencyFn {} 17097 unsafe impl Send for NvLowLatencyFn {} 17098 unsafe impl Sync for NvLowLatencyFn {} 17099 impl NvLowLatencyFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17100 pub fn load<F>(mut _f: F) -> Self 17101 where 17102 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17103 { 17104 Self {} 17105 } 17106 } 17107 #[doc = "Generated from 'VK_NV_low_latency'"] 17108 impl StructureType { 17109 pub const QUERY_LOW_LATENCY_SUPPORT_NV: Self = Self(1_000_310_000); 17110 } 17111 impl ExtMetalObjectsFn { 17112 #[inline] name() -> &'static ::std::ffi::CStr17113 pub const fn name() -> &'static ::std::ffi::CStr { 17114 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_metal_objects\0") } 17115 } 17116 pub const SPEC_VERSION: u32 = 1u32; 17117 } 17118 #[allow(non_camel_case_types)] 17119 pub type PFN_vkExportMetalObjectsEXT = 17120 unsafe extern "system" fn(device: Device, p_metal_objects_info: *mut ExportMetalObjectsInfoEXT); 17121 #[derive(Clone)] 17122 pub struct ExtMetalObjectsFn { 17123 pub export_metal_objects_ext: PFN_vkExportMetalObjectsEXT, 17124 } 17125 unsafe impl Send for ExtMetalObjectsFn {} 17126 unsafe impl Sync for ExtMetalObjectsFn {} 17127 impl ExtMetalObjectsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17128 pub fn load<F>(mut _f: F) -> Self 17129 where 17130 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17131 { 17132 Self { 17133 export_metal_objects_ext: unsafe { 17134 unsafe extern "system" fn export_metal_objects_ext( 17135 _device: Device, 17136 _p_metal_objects_info: *mut ExportMetalObjectsInfoEXT, 17137 ) { 17138 panic!(concat!( 17139 "Unable to load ", 17140 stringify!(export_metal_objects_ext) 17141 )) 17142 } 17143 let cname = 17144 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkExportMetalObjectsEXT\0"); 17145 let val = _f(cname); 17146 if val.is_null() { 17147 export_metal_objects_ext 17148 } else { 17149 ::std::mem::transmute(val) 17150 } 17151 }, 17152 } 17153 } 17154 } 17155 #[doc = "Generated from 'VK_EXT_metal_objects'"] 17156 impl StructureType { 17157 pub const EXPORT_METAL_OBJECT_CREATE_INFO_EXT: Self = Self(1_000_311_000); 17158 pub const EXPORT_METAL_OBJECTS_INFO_EXT: Self = Self(1_000_311_001); 17159 pub const EXPORT_METAL_DEVICE_INFO_EXT: Self = Self(1_000_311_002); 17160 pub const EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: Self = Self(1_000_311_003); 17161 pub const EXPORT_METAL_BUFFER_INFO_EXT: Self = Self(1_000_311_004); 17162 pub const IMPORT_METAL_BUFFER_INFO_EXT: Self = Self(1_000_311_005); 17163 pub const EXPORT_METAL_TEXTURE_INFO_EXT: Self = Self(1_000_311_006); 17164 pub const IMPORT_METAL_TEXTURE_INFO_EXT: Self = Self(1_000_311_007); 17165 pub const EXPORT_METAL_IO_SURFACE_INFO_EXT: Self = Self(1_000_311_008); 17166 pub const IMPORT_METAL_IO_SURFACE_INFO_EXT: Self = Self(1_000_311_009); 17167 pub const EXPORT_METAL_SHARED_EVENT_INFO_EXT: Self = Self(1_000_311_010); 17168 pub const IMPORT_METAL_SHARED_EVENT_INFO_EXT: Self = Self(1_000_311_011); 17169 } 17170 impl ExtExtension313Fn { 17171 #[inline] name() -> &'static ::std::ffi::CStr17172 pub const fn name() -> &'static ::std::ffi::CStr { 17173 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_313\0") } 17174 } 17175 pub const SPEC_VERSION: u32 = 0u32; 17176 } 17177 #[derive(Clone)] 17178 pub struct ExtExtension313Fn {} 17179 unsafe impl Send for ExtExtension313Fn {} 17180 unsafe impl Sync for ExtExtension313Fn {} 17181 impl ExtExtension313Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17182 pub fn load<F>(mut _f: F) -> Self 17183 where 17184 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17185 { 17186 Self {} 17187 } 17188 } 17189 impl AmdExtension314Fn { 17190 #[inline] name() -> &'static ::std::ffi::CStr17191 pub const fn name() -> &'static ::std::ffi::CStr { 17192 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_314\0") } 17193 } 17194 pub const SPEC_VERSION: u32 = 0u32; 17195 } 17196 #[derive(Clone)] 17197 pub struct AmdExtension314Fn {} 17198 unsafe impl Send for AmdExtension314Fn {} 17199 unsafe impl Sync for AmdExtension314Fn {} 17200 impl AmdExtension314Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17201 pub fn load<F>(mut _f: F) -> Self 17202 where 17203 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17204 { 17205 Self {} 17206 } 17207 } 17208 impl KhrSynchronization2Fn { 17209 #[inline] name() -> &'static ::std::ffi::CStr17210 pub const fn name() -> &'static ::std::ffi::CStr { 17211 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_synchronization2\0") } 17212 } 17213 pub const SPEC_VERSION: u32 = 1u32; 17214 } 17215 #[allow(non_camel_case_types)] 17216 pub type PFN_vkCmdSetEvent2 = unsafe extern "system" fn( 17217 command_buffer: CommandBuffer, 17218 event: Event, 17219 p_dependency_info: *const DependencyInfo, 17220 ); 17221 #[allow(non_camel_case_types)] 17222 pub type PFN_vkCmdResetEvent2 = unsafe extern "system" fn( 17223 command_buffer: CommandBuffer, 17224 event: Event, 17225 stage_mask: PipelineStageFlags2, 17226 ); 17227 #[allow(non_camel_case_types)] 17228 pub type PFN_vkCmdWaitEvents2 = unsafe extern "system" fn( 17229 command_buffer: CommandBuffer, 17230 event_count: u32, 17231 p_events: *const Event, 17232 p_dependency_infos: *const DependencyInfo, 17233 ); 17234 #[allow(non_camel_case_types)] 17235 pub type PFN_vkCmdPipelineBarrier2 = unsafe extern "system" fn( 17236 command_buffer: CommandBuffer, 17237 p_dependency_info: *const DependencyInfo, 17238 ); 17239 #[allow(non_camel_case_types)] 17240 pub type PFN_vkCmdWriteTimestamp2 = unsafe extern "system" fn( 17241 command_buffer: CommandBuffer, 17242 stage: PipelineStageFlags2, 17243 query_pool: QueryPool, 17244 query: u32, 17245 ); 17246 #[allow(non_camel_case_types)] 17247 pub type PFN_vkQueueSubmit2 = unsafe extern "system" fn( 17248 queue: Queue, 17249 submit_count: u32, 17250 p_submits: *const SubmitInfo2, 17251 fence: Fence, 17252 ) -> Result; 17253 #[allow(non_camel_case_types)] 17254 pub type PFN_vkCmdWriteBufferMarker2AMD = unsafe extern "system" fn( 17255 command_buffer: CommandBuffer, 17256 stage: PipelineStageFlags2, 17257 dst_buffer: Buffer, 17258 dst_offset: DeviceSize, 17259 marker: u32, 17260 ); 17261 #[allow(non_camel_case_types)] 17262 pub type PFN_vkGetQueueCheckpointData2NV = unsafe extern "system" fn( 17263 queue: Queue, 17264 p_checkpoint_data_count: *mut u32, 17265 p_checkpoint_data: *mut CheckpointData2NV, 17266 ); 17267 #[derive(Clone)] 17268 pub struct KhrSynchronization2Fn { 17269 pub cmd_set_event2_khr: PFN_vkCmdSetEvent2, 17270 pub cmd_reset_event2_khr: PFN_vkCmdResetEvent2, 17271 pub cmd_wait_events2_khr: PFN_vkCmdWaitEvents2, 17272 pub cmd_pipeline_barrier2_khr: PFN_vkCmdPipelineBarrier2, 17273 pub cmd_write_timestamp2_khr: PFN_vkCmdWriteTimestamp2, 17274 pub queue_submit2_khr: PFN_vkQueueSubmit2, 17275 pub cmd_write_buffer_marker2_amd: PFN_vkCmdWriteBufferMarker2AMD, 17276 pub get_queue_checkpoint_data2_nv: PFN_vkGetQueueCheckpointData2NV, 17277 } 17278 unsafe impl Send for KhrSynchronization2Fn {} 17279 unsafe impl Sync for KhrSynchronization2Fn {} 17280 impl KhrSynchronization2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17281 pub fn load<F>(mut _f: F) -> Self 17282 where 17283 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17284 { 17285 Self { 17286 cmd_set_event2_khr: unsafe { 17287 unsafe extern "system" fn cmd_set_event2_khr( 17288 _command_buffer: CommandBuffer, 17289 _event: Event, 17290 _p_dependency_info: *const DependencyInfo, 17291 ) { 17292 panic!(concat!("Unable to load ", stringify!(cmd_set_event2_khr))) 17293 } 17294 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetEvent2KHR\0"); 17295 let val = _f(cname); 17296 if val.is_null() { 17297 cmd_set_event2_khr 17298 } else { 17299 ::std::mem::transmute(val) 17300 } 17301 }, 17302 cmd_reset_event2_khr: unsafe { 17303 unsafe extern "system" fn cmd_reset_event2_khr( 17304 _command_buffer: CommandBuffer, 17305 _event: Event, 17306 _stage_mask: PipelineStageFlags2, 17307 ) { 17308 panic!(concat!("Unable to load ", stringify!(cmd_reset_event2_khr))) 17309 } 17310 let cname = 17311 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResetEvent2KHR\0"); 17312 let val = _f(cname); 17313 if val.is_null() { 17314 cmd_reset_event2_khr 17315 } else { 17316 ::std::mem::transmute(val) 17317 } 17318 }, 17319 cmd_wait_events2_khr: unsafe { 17320 unsafe extern "system" fn cmd_wait_events2_khr( 17321 _command_buffer: CommandBuffer, 17322 _event_count: u32, 17323 _p_events: *const Event, 17324 _p_dependency_infos: *const DependencyInfo, 17325 ) { 17326 panic!(concat!("Unable to load ", stringify!(cmd_wait_events2_khr))) 17327 } 17328 let cname = 17329 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWaitEvents2KHR\0"); 17330 let val = _f(cname); 17331 if val.is_null() { 17332 cmd_wait_events2_khr 17333 } else { 17334 ::std::mem::transmute(val) 17335 } 17336 }, 17337 cmd_pipeline_barrier2_khr: unsafe { 17338 unsafe extern "system" fn cmd_pipeline_barrier2_khr( 17339 _command_buffer: CommandBuffer, 17340 _p_dependency_info: *const DependencyInfo, 17341 ) { 17342 panic!(concat!( 17343 "Unable to load ", 17344 stringify!(cmd_pipeline_barrier2_khr) 17345 )) 17346 } 17347 let cname = 17348 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdPipelineBarrier2KHR\0"); 17349 let val = _f(cname); 17350 if val.is_null() { 17351 cmd_pipeline_barrier2_khr 17352 } else { 17353 ::std::mem::transmute(val) 17354 } 17355 }, 17356 cmd_write_timestamp2_khr: unsafe { 17357 unsafe extern "system" fn cmd_write_timestamp2_khr( 17358 _command_buffer: CommandBuffer, 17359 _stage: PipelineStageFlags2, 17360 _query_pool: QueryPool, 17361 _query: u32, 17362 ) { 17363 panic!(concat!( 17364 "Unable to load ", 17365 stringify!(cmd_write_timestamp2_khr) 17366 )) 17367 } 17368 let cname = 17369 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdWriteTimestamp2KHR\0"); 17370 let val = _f(cname); 17371 if val.is_null() { 17372 cmd_write_timestamp2_khr 17373 } else { 17374 ::std::mem::transmute(val) 17375 } 17376 }, 17377 queue_submit2_khr: unsafe { 17378 unsafe extern "system" fn queue_submit2_khr( 17379 _queue: Queue, 17380 _submit_count: u32, 17381 _p_submits: *const SubmitInfo2, 17382 _fence: Fence, 17383 ) -> Result { 17384 panic!(concat!("Unable to load ", stringify!(queue_submit2_khr))) 17385 } 17386 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkQueueSubmit2KHR\0"); 17387 let val = _f(cname); 17388 if val.is_null() { 17389 queue_submit2_khr 17390 } else { 17391 ::std::mem::transmute(val) 17392 } 17393 }, 17394 cmd_write_buffer_marker2_amd: unsafe { 17395 unsafe extern "system" fn cmd_write_buffer_marker2_amd( 17396 _command_buffer: CommandBuffer, 17397 _stage: PipelineStageFlags2, 17398 _dst_buffer: Buffer, 17399 _dst_offset: DeviceSize, 17400 _marker: u32, 17401 ) { 17402 panic!(concat!( 17403 "Unable to load ", 17404 stringify!(cmd_write_buffer_marker2_amd) 17405 )) 17406 } 17407 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17408 b"vkCmdWriteBufferMarker2AMD\0", 17409 ); 17410 let val = _f(cname); 17411 if val.is_null() { 17412 cmd_write_buffer_marker2_amd 17413 } else { 17414 ::std::mem::transmute(val) 17415 } 17416 }, 17417 get_queue_checkpoint_data2_nv: unsafe { 17418 unsafe extern "system" fn get_queue_checkpoint_data2_nv( 17419 _queue: Queue, 17420 _p_checkpoint_data_count: *mut u32, 17421 _p_checkpoint_data: *mut CheckpointData2NV, 17422 ) { 17423 panic!(concat!( 17424 "Unable to load ", 17425 stringify!(get_queue_checkpoint_data2_nv) 17426 )) 17427 } 17428 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17429 b"vkGetQueueCheckpointData2NV\0", 17430 ); 17431 let val = _f(cname); 17432 if val.is_null() { 17433 get_queue_checkpoint_data2_nv 17434 } else { 17435 ::std::mem::transmute(val) 17436 } 17437 }, 17438 } 17439 } 17440 } 17441 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17442 impl AccessFlags { 17443 pub const NONE_KHR: Self = Self::NONE; 17444 } 17445 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17446 impl AccessFlags2 { 17447 pub const TRANSFORM_FEEDBACK_WRITE_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 17448 pub const TRANSFORM_FEEDBACK_COUNTER_READ_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000); 17449 pub const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT: Self = 17450 Self(0b1000_0000_0000_0000_0000_0000_0000); 17451 #[doc = "read access flag for reading conditional rendering predicate"] 17452 pub const CONDITIONAL_RENDERING_READ_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); 17453 pub const COMMAND_PREPROCESS_READ_NV: Self = Self(0b10_0000_0000_0000_0000); 17454 pub const COMMAND_PREPROCESS_WRITE_NV: Self = Self(0b100_0000_0000_0000_0000); 17455 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR: Self = 17456 Self(0b1000_0000_0000_0000_0000_0000); 17457 pub const SHADING_RATE_IMAGE_READ_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR; 17458 pub const ACCELERATION_STRUCTURE_READ_KHR: Self = Self(0b10_0000_0000_0000_0000_0000); 17459 pub const ACCELERATION_STRUCTURE_WRITE_KHR: Self = Self(0b100_0000_0000_0000_0000_0000); 17460 pub const ACCELERATION_STRUCTURE_READ_NV: Self = Self::ACCELERATION_STRUCTURE_READ_KHR; 17461 pub const ACCELERATION_STRUCTURE_WRITE_NV: Self = Self::ACCELERATION_STRUCTURE_WRITE_KHR; 17462 pub const FRAGMENT_DENSITY_MAP_READ_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 17463 pub const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT: Self = Self(0b1000_0000_0000_0000_0000); 17464 } 17465 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17466 impl EventCreateFlags { 17467 pub const DEVICE_ONLY_KHR: Self = Self::DEVICE_ONLY; 17468 } 17469 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17470 impl ImageLayout { 17471 pub const READ_ONLY_OPTIMAL_KHR: Self = Self::READ_ONLY_OPTIMAL; 17472 pub const ATTACHMENT_OPTIMAL_KHR: Self = Self::ATTACHMENT_OPTIMAL; 17473 } 17474 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17475 impl PipelineStageFlags { 17476 pub const NONE_KHR: Self = Self::NONE; 17477 } 17478 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17479 impl PipelineStageFlags2 { 17480 pub const TRANSFORM_FEEDBACK_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 17481 #[doc = "A pipeline stage for conditional rendering predicate fetch"] 17482 pub const CONDITIONAL_RENDERING_EXT: Self = Self(0b100_0000_0000_0000_0000); 17483 pub const COMMAND_PREPROCESS_NV: Self = Self(0b10_0000_0000_0000_0000); 17484 pub const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR: Self = Self(0b100_0000_0000_0000_0000_0000); 17485 pub const SHADING_RATE_IMAGE_NV: Self = Self::FRAGMENT_SHADING_RATE_ATTACHMENT_KHR; 17486 pub const ACCELERATION_STRUCTURE_BUILD_KHR: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 17487 pub const RAY_TRACING_SHADER_KHR: Self = Self(0b10_0000_0000_0000_0000_0000); 17488 pub const RAY_TRACING_SHADER_NV: Self = Self::RAY_TRACING_SHADER_KHR; 17489 pub const ACCELERATION_STRUCTURE_BUILD_NV: Self = Self::ACCELERATION_STRUCTURE_BUILD_KHR; 17490 pub const FRAGMENT_DENSITY_PROCESS_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); 17491 pub const TASK_SHADER_NV: Self = Self::TASK_SHADER_EXT; 17492 pub const MESH_SHADER_NV: Self = Self::MESH_SHADER_EXT; 17493 pub const TASK_SHADER_EXT: Self = Self(0b1000_0000_0000_0000_0000); 17494 pub const MESH_SHADER_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); 17495 } 17496 #[doc = "Generated from 'VK_KHR_synchronization2'"] 17497 impl StructureType { 17498 pub const MEMORY_BARRIER_2_KHR: Self = Self::MEMORY_BARRIER_2; 17499 pub const BUFFER_MEMORY_BARRIER_2_KHR: Self = Self::BUFFER_MEMORY_BARRIER_2; 17500 pub const IMAGE_MEMORY_BARRIER_2_KHR: Self = Self::IMAGE_MEMORY_BARRIER_2; 17501 pub const DEPENDENCY_INFO_KHR: Self = Self::DEPENDENCY_INFO; 17502 pub const SUBMIT_INFO_2_KHR: Self = Self::SUBMIT_INFO_2; 17503 pub const SEMAPHORE_SUBMIT_INFO_KHR: Self = Self::SEMAPHORE_SUBMIT_INFO; 17504 pub const COMMAND_BUFFER_SUBMIT_INFO_KHR: Self = Self::COMMAND_BUFFER_SUBMIT_INFO; 17505 pub const PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: Self = 17506 Self::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES; 17507 pub const QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: Self = Self(1_000_314_008); 17508 pub const CHECKPOINT_DATA_2_NV: Self = Self(1_000_314_009); 17509 } 17510 impl AmdExtension316Fn { 17511 #[inline] name() -> &'static ::std::ffi::CStr17512 pub const fn name() -> &'static ::std::ffi::CStr { 17513 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_316\0") } 17514 } 17515 pub const SPEC_VERSION: u32 = 0u32; 17516 } 17517 #[derive(Clone)] 17518 pub struct AmdExtension316Fn {} 17519 unsafe impl Send for AmdExtension316Fn {} 17520 unsafe impl Sync for AmdExtension316Fn {} 17521 impl AmdExtension316Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17522 pub fn load<F>(mut _f: F) -> Self 17523 where 17524 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17525 { 17526 Self {} 17527 } 17528 } 17529 impl ExtDescriptorBufferFn { 17530 #[inline] name() -> &'static ::std::ffi::CStr17531 pub const fn name() -> &'static ::std::ffi::CStr { 17532 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_descriptor_buffer\0") } 17533 } 17534 pub const SPEC_VERSION: u32 = 1u32; 17535 } 17536 #[allow(non_camel_case_types)] 17537 pub type PFN_vkGetDescriptorSetLayoutSizeEXT = unsafe extern "system" fn( 17538 device: Device, 17539 layout: DescriptorSetLayout, 17540 p_layout_size_in_bytes: *mut DeviceSize, 17541 ); 17542 #[allow(non_camel_case_types)] 17543 pub type PFN_vkGetDescriptorSetLayoutBindingOffsetEXT = unsafe extern "system" fn( 17544 device: Device, 17545 layout: DescriptorSetLayout, 17546 binding: u32, 17547 p_offset: *mut DeviceSize, 17548 ); 17549 #[allow(non_camel_case_types)] 17550 pub type PFN_vkGetDescriptorEXT = unsafe extern "system" fn( 17551 device: Device, 17552 p_descriptor_info: *const DescriptorGetInfoEXT, 17553 data_size: usize, 17554 p_descriptor: *mut c_void, 17555 ); 17556 #[allow(non_camel_case_types)] 17557 pub type PFN_vkCmdBindDescriptorBuffersEXT = unsafe extern "system" fn( 17558 command_buffer: CommandBuffer, 17559 buffer_count: u32, 17560 p_binding_infos: *const DescriptorBufferBindingInfoEXT, 17561 ); 17562 #[allow(non_camel_case_types)] 17563 pub type PFN_vkCmdSetDescriptorBufferOffsetsEXT = unsafe extern "system" fn( 17564 command_buffer: CommandBuffer, 17565 pipeline_bind_point: PipelineBindPoint, 17566 layout: PipelineLayout, 17567 first_set: u32, 17568 set_count: u32, 17569 p_buffer_indices: *const u32, 17570 p_offsets: *const DeviceSize, 17571 ); 17572 #[allow(non_camel_case_types)] 17573 pub type PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT = unsafe extern "system" fn( 17574 command_buffer: CommandBuffer, 17575 pipeline_bind_point: PipelineBindPoint, 17576 layout: PipelineLayout, 17577 set: u32, 17578 ); 17579 #[allow(non_camel_case_types)] 17580 pub type PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT = unsafe extern "system" fn( 17581 device: Device, 17582 p_info: *const BufferCaptureDescriptorDataInfoEXT, 17583 p_data: *mut c_void, 17584 ) -> Result; 17585 #[allow(non_camel_case_types)] 17586 pub type PFN_vkGetImageOpaqueCaptureDescriptorDataEXT = unsafe extern "system" fn( 17587 device: Device, 17588 p_info: *const ImageCaptureDescriptorDataInfoEXT, 17589 p_data: *mut c_void, 17590 ) -> Result; 17591 #[allow(non_camel_case_types)] 17592 pub type PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT = unsafe extern "system" fn( 17593 device: Device, 17594 p_info: *const ImageViewCaptureDescriptorDataInfoEXT, 17595 p_data: *mut c_void, 17596 ) -> Result; 17597 #[allow(non_camel_case_types)] 17598 pub type PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT = unsafe extern "system" fn( 17599 device: Device, 17600 p_info: *const SamplerCaptureDescriptorDataInfoEXT, 17601 p_data: *mut c_void, 17602 ) -> Result; 17603 #[allow(non_camel_case_types)] 17604 pub type PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 17605 unsafe extern "system" fn( 17606 device: Device, 17607 p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT, 17608 p_data: *mut c_void, 17609 ) -> Result; 17610 #[derive(Clone)] 17611 pub struct ExtDescriptorBufferFn { 17612 pub get_descriptor_set_layout_size_ext: PFN_vkGetDescriptorSetLayoutSizeEXT, 17613 pub get_descriptor_set_layout_binding_offset_ext: PFN_vkGetDescriptorSetLayoutBindingOffsetEXT, 17614 pub get_descriptor_ext: PFN_vkGetDescriptorEXT, 17615 pub cmd_bind_descriptor_buffers_ext: PFN_vkCmdBindDescriptorBuffersEXT, 17616 pub cmd_set_descriptor_buffer_offsets_ext: PFN_vkCmdSetDescriptorBufferOffsetsEXT, 17617 pub cmd_bind_descriptor_buffer_embedded_samplers_ext: 17618 PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT, 17619 pub get_buffer_opaque_capture_descriptor_data_ext: 17620 PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT, 17621 pub get_image_opaque_capture_descriptor_data_ext: PFN_vkGetImageOpaqueCaptureDescriptorDataEXT, 17622 pub get_image_view_opaque_capture_descriptor_data_ext: 17623 PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT, 17624 pub get_sampler_opaque_capture_descriptor_data_ext: 17625 PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT, 17626 pub get_acceleration_structure_opaque_capture_descriptor_data_ext: 17627 PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, 17628 } 17629 unsafe impl Send for ExtDescriptorBufferFn {} 17630 unsafe impl Sync for ExtDescriptorBufferFn {} 17631 impl ExtDescriptorBufferFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17632 pub fn load<F>(mut _f: F) -> Self 17633 where 17634 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17635 { 17636 Self { 17637 get_descriptor_set_layout_size_ext: unsafe { 17638 unsafe extern "system" fn get_descriptor_set_layout_size_ext( 17639 _device: Device, 17640 _layout: DescriptorSetLayout, 17641 _p_layout_size_in_bytes: *mut DeviceSize, 17642 ) { 17643 panic!(concat!( 17644 "Unable to load ", 17645 stringify!(get_descriptor_set_layout_size_ext) 17646 )) 17647 } 17648 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17649 b"vkGetDescriptorSetLayoutSizeEXT\0", 17650 ); 17651 let val = _f(cname); 17652 if val.is_null() { 17653 get_descriptor_set_layout_size_ext 17654 } else { 17655 ::std::mem::transmute(val) 17656 } 17657 }, 17658 get_descriptor_set_layout_binding_offset_ext: unsafe { 17659 unsafe extern "system" fn get_descriptor_set_layout_binding_offset_ext( 17660 _device: Device, 17661 _layout: DescriptorSetLayout, 17662 _binding: u32, 17663 _p_offset: *mut DeviceSize, 17664 ) { 17665 panic!(concat!( 17666 "Unable to load ", 17667 stringify!(get_descriptor_set_layout_binding_offset_ext) 17668 )) 17669 } 17670 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17671 b"vkGetDescriptorSetLayoutBindingOffsetEXT\0", 17672 ); 17673 let val = _f(cname); 17674 if val.is_null() { 17675 get_descriptor_set_layout_binding_offset_ext 17676 } else { 17677 ::std::mem::transmute(val) 17678 } 17679 }, 17680 get_descriptor_ext: unsafe { 17681 unsafe extern "system" fn get_descriptor_ext( 17682 _device: Device, 17683 _p_descriptor_info: *const DescriptorGetInfoEXT, 17684 _data_size: usize, 17685 _p_descriptor: *mut c_void, 17686 ) { 17687 panic!(concat!("Unable to load ", stringify!(get_descriptor_ext))) 17688 } 17689 let cname = 17690 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDescriptorEXT\0"); 17691 let val = _f(cname); 17692 if val.is_null() { 17693 get_descriptor_ext 17694 } else { 17695 ::std::mem::transmute(val) 17696 } 17697 }, 17698 cmd_bind_descriptor_buffers_ext: unsafe { 17699 unsafe extern "system" fn cmd_bind_descriptor_buffers_ext( 17700 _command_buffer: CommandBuffer, 17701 _buffer_count: u32, 17702 _p_binding_infos: *const DescriptorBufferBindingInfoEXT, 17703 ) { 17704 panic!(concat!( 17705 "Unable to load ", 17706 stringify!(cmd_bind_descriptor_buffers_ext) 17707 )) 17708 } 17709 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17710 b"vkCmdBindDescriptorBuffersEXT\0", 17711 ); 17712 let val = _f(cname); 17713 if val.is_null() { 17714 cmd_bind_descriptor_buffers_ext 17715 } else { 17716 ::std::mem::transmute(val) 17717 } 17718 }, 17719 cmd_set_descriptor_buffer_offsets_ext: unsafe { 17720 unsafe extern "system" fn cmd_set_descriptor_buffer_offsets_ext( 17721 _command_buffer: CommandBuffer, 17722 _pipeline_bind_point: PipelineBindPoint, 17723 _layout: PipelineLayout, 17724 _first_set: u32, 17725 _set_count: u32, 17726 _p_buffer_indices: *const u32, 17727 _p_offsets: *const DeviceSize, 17728 ) { 17729 panic!(concat!( 17730 "Unable to load ", 17731 stringify!(cmd_set_descriptor_buffer_offsets_ext) 17732 )) 17733 } 17734 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17735 b"vkCmdSetDescriptorBufferOffsetsEXT\0", 17736 ); 17737 let val = _f(cname); 17738 if val.is_null() { 17739 cmd_set_descriptor_buffer_offsets_ext 17740 } else { 17741 ::std::mem::transmute(val) 17742 } 17743 }, 17744 cmd_bind_descriptor_buffer_embedded_samplers_ext: unsafe { 17745 unsafe extern "system" fn cmd_bind_descriptor_buffer_embedded_samplers_ext( 17746 _command_buffer: CommandBuffer, 17747 _pipeline_bind_point: PipelineBindPoint, 17748 _layout: PipelineLayout, 17749 _set: u32, 17750 ) { 17751 panic!(concat!( 17752 "Unable to load ", 17753 stringify!(cmd_bind_descriptor_buffer_embedded_samplers_ext) 17754 )) 17755 } 17756 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17757 b"vkCmdBindDescriptorBufferEmbeddedSamplersEXT\0", 17758 ); 17759 let val = _f(cname); 17760 if val.is_null() { 17761 cmd_bind_descriptor_buffer_embedded_samplers_ext 17762 } else { 17763 ::std::mem::transmute(val) 17764 } 17765 }, 17766 get_buffer_opaque_capture_descriptor_data_ext: unsafe { 17767 unsafe extern "system" fn get_buffer_opaque_capture_descriptor_data_ext( 17768 _device: Device, 17769 _p_info: *const BufferCaptureDescriptorDataInfoEXT, 17770 _p_data: *mut c_void, 17771 ) -> Result { 17772 panic!(concat!( 17773 "Unable to load ", 17774 stringify!(get_buffer_opaque_capture_descriptor_data_ext) 17775 )) 17776 } 17777 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17778 b"vkGetBufferOpaqueCaptureDescriptorDataEXT\0", 17779 ); 17780 let val = _f(cname); 17781 if val.is_null() { 17782 get_buffer_opaque_capture_descriptor_data_ext 17783 } else { 17784 ::std::mem::transmute(val) 17785 } 17786 }, 17787 get_image_opaque_capture_descriptor_data_ext: unsafe { 17788 unsafe extern "system" fn get_image_opaque_capture_descriptor_data_ext( 17789 _device: Device, 17790 _p_info: *const ImageCaptureDescriptorDataInfoEXT, 17791 _p_data: *mut c_void, 17792 ) -> Result { 17793 panic!(concat!( 17794 "Unable to load ", 17795 stringify!(get_image_opaque_capture_descriptor_data_ext) 17796 )) 17797 } 17798 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17799 b"vkGetImageOpaqueCaptureDescriptorDataEXT\0", 17800 ); 17801 let val = _f(cname); 17802 if val.is_null() { 17803 get_image_opaque_capture_descriptor_data_ext 17804 } else { 17805 ::std::mem::transmute(val) 17806 } 17807 }, 17808 get_image_view_opaque_capture_descriptor_data_ext: unsafe { 17809 unsafe extern "system" fn get_image_view_opaque_capture_descriptor_data_ext( 17810 _device: Device, 17811 _p_info: *const ImageViewCaptureDescriptorDataInfoEXT, 17812 _p_data: *mut c_void, 17813 ) -> Result { 17814 panic!(concat!( 17815 "Unable to load ", 17816 stringify!(get_image_view_opaque_capture_descriptor_data_ext) 17817 )) 17818 } 17819 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17820 b"vkGetImageViewOpaqueCaptureDescriptorDataEXT\0", 17821 ); 17822 let val = _f(cname); 17823 if val.is_null() { 17824 get_image_view_opaque_capture_descriptor_data_ext 17825 } else { 17826 ::std::mem::transmute(val) 17827 } 17828 }, 17829 get_sampler_opaque_capture_descriptor_data_ext: unsafe { 17830 unsafe extern "system" fn get_sampler_opaque_capture_descriptor_data_ext( 17831 _device: Device, 17832 _p_info: *const SamplerCaptureDescriptorDataInfoEXT, 17833 _p_data: *mut c_void, 17834 ) -> Result { 17835 panic!(concat!( 17836 "Unable to load ", 17837 stringify!(get_sampler_opaque_capture_descriptor_data_ext) 17838 )) 17839 } 17840 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17841 b"vkGetSamplerOpaqueCaptureDescriptorDataEXT\0", 17842 ); 17843 let val = _f(cname); 17844 if val.is_null() { 17845 get_sampler_opaque_capture_descriptor_data_ext 17846 } else { 17847 ::std::mem::transmute(val) 17848 } 17849 }, 17850 get_acceleration_structure_opaque_capture_descriptor_data_ext: unsafe { 17851 unsafe extern "system" fn get_acceleration_structure_opaque_capture_descriptor_data_ext( 17852 _device: Device, 17853 _p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT, 17854 _p_data: *mut c_void, 17855 ) -> Result { 17856 panic!(concat!( 17857 "Unable to load ", 17858 stringify!(get_acceleration_structure_opaque_capture_descriptor_data_ext) 17859 )) 17860 } 17861 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 17862 b"vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT\0", 17863 ); 17864 let val = _f(cname); 17865 if val.is_null() { 17866 get_acceleration_structure_opaque_capture_descriptor_data_ext 17867 } else { 17868 ::std::mem::transmute(val) 17869 } 17870 }, 17871 } 17872 } 17873 } 17874 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17875 impl AccelerationStructureCreateFlagsKHR { 17876 pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT: Self = Self(0b1000); 17877 } 17878 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17879 impl AccessFlags2 { 17880 pub const DESCRIPTOR_BUFFER_READ_EXT: Self = 17881 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 17882 } 17883 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17884 impl BufferCreateFlags { 17885 pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT: Self = Self(0b10_0000); 17886 } 17887 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17888 impl BufferUsageFlags { 17889 pub const SAMPLER_DESCRIPTOR_BUFFER_EXT: Self = Self(0b10_0000_0000_0000_0000_0000); 17890 pub const RESOURCE_DESCRIPTOR_BUFFER_EXT: Self = Self(0b100_0000_0000_0000_0000_0000); 17891 pub const PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT: Self = 17892 Self(0b100_0000_0000_0000_0000_0000_0000); 17893 } 17894 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17895 impl DescriptorSetLayoutCreateFlags { 17896 pub const DESCRIPTOR_BUFFER_EXT: Self = Self(0b1_0000); 17897 pub const EMBEDDED_IMMUTABLE_SAMPLERS_EXT: Self = Self(0b10_0000); 17898 } 17899 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17900 impl ImageCreateFlags { 17901 pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT: Self = Self(0b1_0000_0000_0000_0000); 17902 } 17903 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17904 impl ImageViewCreateFlags { 17905 pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT: Self = Self(0b100); 17906 } 17907 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17908 impl PipelineCreateFlags { 17909 pub const DESCRIPTOR_BUFFER_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000); 17910 } 17911 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17912 impl SamplerCreateFlags { 17913 pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT: Self = Self(0b1000); 17914 } 17915 #[doc = "Generated from 'VK_EXT_descriptor_buffer'"] 17916 impl StructureType { 17917 pub const PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: Self = Self(1_000_316_000); 17918 pub const PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: Self = 17919 Self(1_000_316_001); 17920 pub const PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: Self = Self(1_000_316_002); 17921 pub const DESCRIPTOR_ADDRESS_INFO_EXT: Self = Self(1_000_316_003); 17922 pub const DESCRIPTOR_GET_INFO_EXT: Self = Self(1_000_316_004); 17923 pub const BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1_000_316_005); 17924 pub const IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1_000_316_006); 17925 pub const IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1_000_316_007); 17926 pub const SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1_000_316_008); 17927 pub const OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: Self = Self(1_000_316_010); 17928 pub const DESCRIPTOR_BUFFER_BINDING_INFO_EXT: Self = Self(1_000_316_011); 17929 pub const DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: Self = 17930 Self(1_000_316_012); 17931 pub const ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1_000_316_009); 17932 } 17933 impl AmdExtension318Fn { 17934 #[inline] name() -> &'static ::std::ffi::CStr17935 pub const fn name() -> &'static ::std::ffi::CStr { 17936 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_318\0") } 17937 } 17938 pub const SPEC_VERSION: u32 = 0u32; 17939 } 17940 #[derive(Clone)] 17941 pub struct AmdExtension318Fn {} 17942 unsafe impl Send for AmdExtension318Fn {} 17943 unsafe impl Sync for AmdExtension318Fn {} 17944 impl AmdExtension318Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17945 pub fn load<F>(mut _f: F) -> Self 17946 where 17947 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17948 { 17949 Self {} 17950 } 17951 } 17952 impl AmdExtension319Fn { 17953 #[inline] name() -> &'static ::std::ffi::CStr17954 pub const fn name() -> &'static ::std::ffi::CStr { 17955 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_319\0") } 17956 } 17957 pub const SPEC_VERSION: u32 = 0u32; 17958 } 17959 #[derive(Clone)] 17960 pub struct AmdExtension319Fn {} 17961 unsafe impl Send for AmdExtension319Fn {} 17962 unsafe impl Sync for AmdExtension319Fn {} 17963 impl AmdExtension319Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17964 pub fn load<F>(mut _f: F) -> Self 17965 where 17966 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17967 { 17968 Self {} 17969 } 17970 } 17971 #[doc = "Generated from 'VK_AMD_extension_319'"] 17972 impl DescriptorSetLayoutCreateFlags { 17973 pub const RESERVED_3_AMD: Self = Self(0b1000); 17974 } 17975 #[doc = "Generated from 'VK_AMD_extension_319'"] 17976 impl PipelineLayoutCreateFlags { 17977 pub const RESERVED_0_AMD: Self = Self(0b1); 17978 } 17979 impl AmdExtension320Fn { 17980 #[inline] name() -> &'static ::std::ffi::CStr17981 pub const fn name() -> &'static ::std::ffi::CStr { 17982 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_320\0") } 17983 } 17984 pub const SPEC_VERSION: u32 = 0u32; 17985 } 17986 #[derive(Clone)] 17987 pub struct AmdExtension320Fn {} 17988 unsafe impl Send for AmdExtension320Fn {} 17989 unsafe impl Sync for AmdExtension320Fn {} 17990 impl AmdExtension320Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,17991 pub fn load<F>(mut _f: F) -> Self 17992 where 17993 F: FnMut(&::std::ffi::CStr) -> *const c_void, 17994 { 17995 Self {} 17996 } 17997 } 17998 impl ExtGraphicsPipelineLibraryFn { 17999 #[inline] name() -> &'static ::std::ffi::CStr18000 pub const fn name() -> &'static ::std::ffi::CStr { 18001 unsafe { 18002 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_graphics_pipeline_library\0") 18003 } 18004 } 18005 pub const SPEC_VERSION: u32 = 1u32; 18006 } 18007 #[derive(Clone)] 18008 pub struct ExtGraphicsPipelineLibraryFn {} 18009 unsafe impl Send for ExtGraphicsPipelineLibraryFn {} 18010 unsafe impl Sync for ExtGraphicsPipelineLibraryFn {} 18011 impl ExtGraphicsPipelineLibraryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18012 pub fn load<F>(mut _f: F) -> Self 18013 where 18014 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18015 { 18016 Self {} 18017 } 18018 } 18019 #[doc = "Generated from 'VK_EXT_graphics_pipeline_library'"] 18020 impl PipelineCreateFlags { 18021 pub const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); 18022 pub const LINK_TIME_OPTIMIZATION_EXT: Self = Self(0b100_0000_0000); 18023 } 18024 #[doc = "Generated from 'VK_EXT_graphics_pipeline_library'"] 18025 impl PipelineLayoutCreateFlags { 18026 pub const INDEPENDENT_SETS_EXT: Self = Self(0b10); 18027 } 18028 #[doc = "Generated from 'VK_EXT_graphics_pipeline_library'"] 18029 impl StructureType { 18030 pub const PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: Self = Self(1_000_320_000); 18031 pub const PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: Self = Self(1_000_320_001); 18032 pub const GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: Self = Self(1_000_320_002); 18033 } 18034 impl AmdShaderEarlyAndLateFragmentTestsFn { 18035 #[inline] name() -> &'static ::std::ffi::CStr18036 pub const fn name() -> &'static ::std::ffi::CStr { 18037 unsafe { 18038 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18039 b"VK_AMD_shader_early_and_late_fragment_tests\0", 18040 ) 18041 } 18042 } 18043 pub const SPEC_VERSION: u32 = 1u32; 18044 } 18045 #[derive(Clone)] 18046 pub struct AmdShaderEarlyAndLateFragmentTestsFn {} 18047 unsafe impl Send for AmdShaderEarlyAndLateFragmentTestsFn {} 18048 unsafe impl Sync for AmdShaderEarlyAndLateFragmentTestsFn {} 18049 impl AmdShaderEarlyAndLateFragmentTestsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18050 pub fn load<F>(mut _f: F) -> Self 18051 where 18052 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18053 { 18054 Self {} 18055 } 18056 } 18057 #[doc = "Generated from 'VK_AMD_shader_early_and_late_fragment_tests'"] 18058 impl StructureType { 18059 pub const PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: Self = 18060 Self(1_000_321_000); 18061 } 18062 impl KhrFragmentShaderBarycentricFn { 18063 #[inline] name() -> &'static ::std::ffi::CStr18064 pub const fn name() -> &'static ::std::ffi::CStr { 18065 unsafe { 18066 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_fragment_shader_barycentric\0") 18067 } 18068 } 18069 pub const SPEC_VERSION: u32 = 1u32; 18070 } 18071 #[derive(Clone)] 18072 pub struct KhrFragmentShaderBarycentricFn {} 18073 unsafe impl Send for KhrFragmentShaderBarycentricFn {} 18074 unsafe impl Sync for KhrFragmentShaderBarycentricFn {} 18075 impl KhrFragmentShaderBarycentricFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18076 pub fn load<F>(mut _f: F) -> Self 18077 where 18078 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18079 { 18080 Self {} 18081 } 18082 } 18083 #[doc = "Generated from 'VK_KHR_fragment_shader_barycentric'"] 18084 impl StructureType { 18085 pub const PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: Self = Self(1_000_203_000); 18086 pub const PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: Self = 18087 Self(1_000_322_000); 18088 } 18089 impl KhrShaderSubgroupUniformControlFlowFn { 18090 #[inline] name() -> &'static ::std::ffi::CStr18091 pub const fn name() -> &'static ::std::ffi::CStr { 18092 unsafe { 18093 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18094 b"VK_KHR_shader_subgroup_uniform_control_flow\0", 18095 ) 18096 } 18097 } 18098 pub const SPEC_VERSION: u32 = 1u32; 18099 } 18100 #[derive(Clone)] 18101 pub struct KhrShaderSubgroupUniformControlFlowFn {} 18102 unsafe impl Send for KhrShaderSubgroupUniformControlFlowFn {} 18103 unsafe impl Sync for KhrShaderSubgroupUniformControlFlowFn {} 18104 impl KhrShaderSubgroupUniformControlFlowFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18105 pub fn load<F>(mut _f: F) -> Self 18106 where 18107 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18108 { 18109 Self {} 18110 } 18111 } 18112 #[doc = "Generated from 'VK_KHR_shader_subgroup_uniform_control_flow'"] 18113 impl StructureType { 18114 pub const PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: Self = 18115 Self(1_000_323_000); 18116 } 18117 impl KhrExtension325Fn { 18118 #[inline] name() -> &'static ::std::ffi::CStr18119 pub const fn name() -> &'static ::std::ffi::CStr { 18120 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_325\0") } 18121 } 18122 pub const SPEC_VERSION: u32 = 0u32; 18123 } 18124 #[derive(Clone)] 18125 pub struct KhrExtension325Fn {} 18126 unsafe impl Send for KhrExtension325Fn {} 18127 unsafe impl Sync for KhrExtension325Fn {} 18128 impl KhrExtension325Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18129 pub fn load<F>(mut _f: F) -> Self 18130 where 18131 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18132 { 18133 Self {} 18134 } 18135 } 18136 impl KhrZeroInitializeWorkgroupMemoryFn { 18137 #[inline] name() -> &'static ::std::ffi::CStr18138 pub const fn name() -> &'static ::std::ffi::CStr { 18139 unsafe { 18140 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18141 b"VK_KHR_zero_initialize_workgroup_memory\0", 18142 ) 18143 } 18144 } 18145 pub const SPEC_VERSION: u32 = 1u32; 18146 } 18147 #[derive(Clone)] 18148 pub struct KhrZeroInitializeWorkgroupMemoryFn {} 18149 unsafe impl Send for KhrZeroInitializeWorkgroupMemoryFn {} 18150 unsafe impl Sync for KhrZeroInitializeWorkgroupMemoryFn {} 18151 impl KhrZeroInitializeWorkgroupMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18152 pub fn load<F>(mut _f: F) -> Self 18153 where 18154 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18155 { 18156 Self {} 18157 } 18158 } 18159 #[doc = "Generated from 'VK_KHR_zero_initialize_workgroup_memory'"] 18160 impl StructureType { 18161 pub const PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: Self = 18162 Self::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES; 18163 } 18164 impl NvFragmentShadingRateEnumsFn { 18165 #[inline] name() -> &'static ::std::ffi::CStr18166 pub const fn name() -> &'static ::std::ffi::CStr { 18167 unsafe { 18168 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_fragment_shading_rate_enums\0") 18169 } 18170 } 18171 pub const SPEC_VERSION: u32 = 1u32; 18172 } 18173 #[allow(non_camel_case_types)] 18174 pub type PFN_vkCmdSetFragmentShadingRateEnumNV = unsafe extern "system" fn( 18175 command_buffer: CommandBuffer, 18176 shading_rate: FragmentShadingRateNV, 18177 combiner_ops: *const [FragmentShadingRateCombinerOpKHR; 2usize], 18178 ); 18179 #[derive(Clone)] 18180 pub struct NvFragmentShadingRateEnumsFn { 18181 pub cmd_set_fragment_shading_rate_enum_nv: PFN_vkCmdSetFragmentShadingRateEnumNV, 18182 } 18183 unsafe impl Send for NvFragmentShadingRateEnumsFn {} 18184 unsafe impl Sync for NvFragmentShadingRateEnumsFn {} 18185 impl NvFragmentShadingRateEnumsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18186 pub fn load<F>(mut _f: F) -> Self 18187 where 18188 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18189 { 18190 Self { 18191 cmd_set_fragment_shading_rate_enum_nv: unsafe { 18192 unsafe extern "system" fn cmd_set_fragment_shading_rate_enum_nv( 18193 _command_buffer: CommandBuffer, 18194 _shading_rate: FragmentShadingRateNV, 18195 _combiner_ops: *const [FragmentShadingRateCombinerOpKHR; 2usize], 18196 ) { 18197 panic!(concat!( 18198 "Unable to load ", 18199 stringify!(cmd_set_fragment_shading_rate_enum_nv) 18200 )) 18201 } 18202 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18203 b"vkCmdSetFragmentShadingRateEnumNV\0", 18204 ); 18205 let val = _f(cname); 18206 if val.is_null() { 18207 cmd_set_fragment_shading_rate_enum_nv 18208 } else { 18209 ::std::mem::transmute(val) 18210 } 18211 }, 18212 } 18213 } 18214 } 18215 #[doc = "Generated from 'VK_NV_fragment_shading_rate_enums'"] 18216 impl StructureType { 18217 pub const PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: Self = Self(1_000_326_000); 18218 pub const PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: Self = Self(1_000_326_001); 18219 pub const PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: Self = Self(1_000_326_002); 18220 } 18221 impl NvRayTracingMotionBlurFn { 18222 #[inline] name() -> &'static ::std::ffi::CStr18223 pub const fn name() -> &'static ::std::ffi::CStr { 18224 unsafe { 18225 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_ray_tracing_motion_blur\0") 18226 } 18227 } 18228 pub const SPEC_VERSION: u32 = 1u32; 18229 } 18230 #[derive(Clone)] 18231 pub struct NvRayTracingMotionBlurFn {} 18232 unsafe impl Send for NvRayTracingMotionBlurFn {} 18233 unsafe impl Sync for NvRayTracingMotionBlurFn {} 18234 impl NvRayTracingMotionBlurFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18235 pub fn load<F>(mut _f: F) -> Self 18236 where 18237 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18238 { 18239 Self {} 18240 } 18241 } 18242 #[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"] 18243 impl AccelerationStructureCreateFlagsKHR { 18244 pub const MOTION_NV: Self = Self(0b100); 18245 } 18246 #[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"] 18247 impl BuildAccelerationStructureFlagsKHR { 18248 pub const MOTION_NV: Self = Self(0b10_0000); 18249 } 18250 #[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"] 18251 impl PipelineCreateFlags { 18252 pub const RAY_TRACING_ALLOW_MOTION_NV: Self = Self(0b1_0000_0000_0000_0000_0000); 18253 } 18254 #[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"] 18255 impl StructureType { 18256 pub const ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: Self = Self(1_000_327_000); 18257 pub const PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: Self = Self(1_000_327_001); 18258 pub const ACCELERATION_STRUCTURE_MOTION_INFO_NV: Self = Self(1_000_327_002); 18259 } 18260 impl ExtMeshShaderFn { 18261 #[inline] name() -> &'static ::std::ffi::CStr18262 pub const fn name() -> &'static ::std::ffi::CStr { 18263 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_mesh_shader\0") } 18264 } 18265 pub const SPEC_VERSION: u32 = 1u32; 18266 } 18267 #[allow(non_camel_case_types)] 18268 pub type PFN_vkCmdDrawMeshTasksEXT = unsafe extern "system" fn( 18269 command_buffer: CommandBuffer, 18270 group_count_x: u32, 18271 group_count_y: u32, 18272 group_count_z: u32, 18273 ); 18274 #[allow(non_camel_case_types)] 18275 pub type PFN_vkCmdDrawMeshTasksIndirectEXT = unsafe extern "system" fn( 18276 command_buffer: CommandBuffer, 18277 buffer: Buffer, 18278 offset: DeviceSize, 18279 draw_count: u32, 18280 stride: u32, 18281 ); 18282 #[allow(non_camel_case_types)] 18283 pub type PFN_vkCmdDrawMeshTasksIndirectCountEXT = unsafe extern "system" fn( 18284 command_buffer: CommandBuffer, 18285 buffer: Buffer, 18286 offset: DeviceSize, 18287 count_buffer: Buffer, 18288 count_buffer_offset: DeviceSize, 18289 max_draw_count: u32, 18290 stride: u32, 18291 ); 18292 #[derive(Clone)] 18293 pub struct ExtMeshShaderFn { 18294 pub cmd_draw_mesh_tasks_ext: PFN_vkCmdDrawMeshTasksEXT, 18295 pub cmd_draw_mesh_tasks_indirect_ext: PFN_vkCmdDrawMeshTasksIndirectEXT, 18296 pub cmd_draw_mesh_tasks_indirect_count_ext: PFN_vkCmdDrawMeshTasksIndirectCountEXT, 18297 } 18298 unsafe impl Send for ExtMeshShaderFn {} 18299 unsafe impl Sync for ExtMeshShaderFn {} 18300 impl ExtMeshShaderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18301 pub fn load<F>(mut _f: F) -> Self 18302 where 18303 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18304 { 18305 Self { 18306 cmd_draw_mesh_tasks_ext: unsafe { 18307 unsafe extern "system" fn cmd_draw_mesh_tasks_ext( 18308 _command_buffer: CommandBuffer, 18309 _group_count_x: u32, 18310 _group_count_y: u32, 18311 _group_count_z: u32, 18312 ) { 18313 panic!(concat!( 18314 "Unable to load ", 18315 stringify!(cmd_draw_mesh_tasks_ext) 18316 )) 18317 } 18318 let cname = 18319 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMeshTasksEXT\0"); 18320 let val = _f(cname); 18321 if val.is_null() { 18322 cmd_draw_mesh_tasks_ext 18323 } else { 18324 ::std::mem::transmute(val) 18325 } 18326 }, 18327 cmd_draw_mesh_tasks_indirect_ext: unsafe { 18328 unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_ext( 18329 _command_buffer: CommandBuffer, 18330 _buffer: Buffer, 18331 _offset: DeviceSize, 18332 _draw_count: u32, 18333 _stride: u32, 18334 ) { 18335 panic!(concat!( 18336 "Unable to load ", 18337 stringify!(cmd_draw_mesh_tasks_indirect_ext) 18338 )) 18339 } 18340 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18341 b"vkCmdDrawMeshTasksIndirectEXT\0", 18342 ); 18343 let val = _f(cname); 18344 if val.is_null() { 18345 cmd_draw_mesh_tasks_indirect_ext 18346 } else { 18347 ::std::mem::transmute(val) 18348 } 18349 }, 18350 cmd_draw_mesh_tasks_indirect_count_ext: unsafe { 18351 unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_count_ext( 18352 _command_buffer: CommandBuffer, 18353 _buffer: Buffer, 18354 _offset: DeviceSize, 18355 _count_buffer: Buffer, 18356 _count_buffer_offset: DeviceSize, 18357 _max_draw_count: u32, 18358 _stride: u32, 18359 ) { 18360 panic!(concat!( 18361 "Unable to load ", 18362 stringify!(cmd_draw_mesh_tasks_indirect_count_ext) 18363 )) 18364 } 18365 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18366 b"vkCmdDrawMeshTasksIndirectCountEXT\0", 18367 ); 18368 let val = _f(cname); 18369 if val.is_null() { 18370 cmd_draw_mesh_tasks_indirect_count_ext 18371 } else { 18372 ::std::mem::transmute(val) 18373 } 18374 }, 18375 } 18376 } 18377 } 18378 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18379 impl IndirectCommandsTokenTypeNV { 18380 pub const DRAW_MESH_TASKS: Self = Self(1_000_328_000); 18381 } 18382 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18383 impl PipelineStageFlags { 18384 pub const TASK_SHADER_EXT: Self = Self(0b1000_0000_0000_0000_0000); 18385 pub const MESH_SHADER_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); 18386 } 18387 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18388 impl QueryPipelineStatisticFlags { 18389 pub const TASK_SHADER_INVOCATIONS_EXT: Self = Self(0b1000_0000_0000); 18390 pub const MESH_SHADER_INVOCATIONS_EXT: Self = Self(0b1_0000_0000_0000); 18391 } 18392 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18393 impl QueryType { 18394 pub const MESH_PRIMITIVES_GENERATED_EXT: Self = Self(1_000_328_000); 18395 } 18396 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18397 impl ShaderStageFlags { 18398 pub const TASK_EXT: Self = Self(0b100_0000); 18399 pub const MESH_EXT: Self = Self(0b1000_0000); 18400 } 18401 #[doc = "Generated from 'VK_EXT_mesh_shader'"] 18402 impl StructureType { 18403 pub const PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: Self = Self(1_000_328_000); 18404 pub const PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: Self = Self(1_000_328_001); 18405 } 18406 impl NvExtension330Fn { 18407 #[inline] name() -> &'static ::std::ffi::CStr18408 pub const fn name() -> &'static ::std::ffi::CStr { 18409 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_330\0") } 18410 } 18411 pub const SPEC_VERSION: u32 = 0u32; 18412 } 18413 #[derive(Clone)] 18414 pub struct NvExtension330Fn {} 18415 unsafe impl Send for NvExtension330Fn {} 18416 unsafe impl Sync for NvExtension330Fn {} 18417 impl NvExtension330Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18418 pub fn load<F>(mut _f: F) -> Self 18419 where 18420 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18421 { 18422 Self {} 18423 } 18424 } 18425 impl ExtYcbcr2plane444FormatsFn { 18426 #[inline] name() -> &'static ::std::ffi::CStr18427 pub const fn name() -> &'static ::std::ffi::CStr { 18428 unsafe { 18429 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_ycbcr_2plane_444_formats\0") 18430 } 18431 } 18432 pub const SPEC_VERSION: u32 = 1u32; 18433 } 18434 #[derive(Clone)] 18435 pub struct ExtYcbcr2plane444FormatsFn {} 18436 unsafe impl Send for ExtYcbcr2plane444FormatsFn {} 18437 unsafe impl Sync for ExtYcbcr2plane444FormatsFn {} 18438 impl ExtYcbcr2plane444FormatsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18439 pub fn load<F>(mut _f: F) -> Self 18440 where 18441 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18442 { 18443 Self {} 18444 } 18445 } 18446 #[doc = "Generated from 'VK_EXT_ycbcr_2plane_444_formats'"] 18447 impl Format { 18448 pub const G8_B8R8_2PLANE_444_UNORM_EXT: Self = Self::G8_B8R8_2PLANE_444_UNORM; 18449 pub const G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT: Self = 18450 Self::G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16; 18451 pub const G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT: Self = 18452 Self::G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16; 18453 pub const G16_B16R16_2PLANE_444_UNORM_EXT: Self = Self::G16_B16R16_2PLANE_444_UNORM; 18454 } 18455 #[doc = "Generated from 'VK_EXT_ycbcr_2plane_444_formats'"] 18456 impl StructureType { 18457 pub const PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: Self = Self(1_000_330_000); 18458 } 18459 impl NvExtension332Fn { 18460 #[inline] name() -> &'static ::std::ffi::CStr18461 pub const fn name() -> &'static ::std::ffi::CStr { 18462 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_332\0") } 18463 } 18464 pub const SPEC_VERSION: u32 = 0u32; 18465 } 18466 #[derive(Clone)] 18467 pub struct NvExtension332Fn {} 18468 unsafe impl Send for NvExtension332Fn {} 18469 unsafe impl Sync for NvExtension332Fn {} 18470 impl NvExtension332Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18471 pub fn load<F>(mut _f: F) -> Self 18472 where 18473 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18474 { 18475 Self {} 18476 } 18477 } 18478 impl ExtFragmentDensityMap2Fn { 18479 #[inline] name() -> &'static ::std::ffi::CStr18480 pub const fn name() -> &'static ::std::ffi::CStr { 18481 unsafe { 18482 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_fragment_density_map2\0") 18483 } 18484 } 18485 pub const SPEC_VERSION: u32 = 1u32; 18486 } 18487 #[derive(Clone)] 18488 pub struct ExtFragmentDensityMap2Fn {} 18489 unsafe impl Send for ExtFragmentDensityMap2Fn {} 18490 unsafe impl Sync for ExtFragmentDensityMap2Fn {} 18491 impl ExtFragmentDensityMap2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18492 pub fn load<F>(mut _f: F) -> Self 18493 where 18494 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18495 { 18496 Self {} 18497 } 18498 } 18499 #[doc = "Generated from 'VK_EXT_fragment_density_map2'"] 18500 impl ImageViewCreateFlags { 18501 pub const FRAGMENT_DENSITY_MAP_DEFERRED_EXT: Self = Self(0b10); 18502 } 18503 #[doc = "Generated from 'VK_EXT_fragment_density_map2'"] 18504 impl StructureType { 18505 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: Self = Self(1_000_332_000); 18506 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: Self = Self(1_000_332_001); 18507 } 18508 impl QcomRotatedCopyCommandsFn { 18509 #[inline] name() -> &'static ::std::ffi::CStr18510 pub const fn name() -> &'static ::std::ffi::CStr { 18511 unsafe { 18512 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_rotated_copy_commands\0") 18513 } 18514 } 18515 pub const SPEC_VERSION: u32 = 1u32; 18516 } 18517 #[derive(Clone)] 18518 pub struct QcomRotatedCopyCommandsFn {} 18519 unsafe impl Send for QcomRotatedCopyCommandsFn {} 18520 unsafe impl Sync for QcomRotatedCopyCommandsFn {} 18521 impl QcomRotatedCopyCommandsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18522 pub fn load<F>(mut _f: F) -> Self 18523 where 18524 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18525 { 18526 Self {} 18527 } 18528 } 18529 #[doc = "Generated from 'VK_QCOM_rotated_copy_commands'"] 18530 impl StructureType { 18531 pub const COPY_COMMAND_TRANSFORM_INFO_QCOM: Self = Self(1_000_333_000); 18532 } 18533 impl KhrExtension335Fn { 18534 #[inline] name() -> &'static ::std::ffi::CStr18535 pub const fn name() -> &'static ::std::ffi::CStr { 18536 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_335\0") } 18537 } 18538 pub const SPEC_VERSION: u32 = 0u32; 18539 } 18540 #[derive(Clone)] 18541 pub struct KhrExtension335Fn {} 18542 unsafe impl Send for KhrExtension335Fn {} 18543 unsafe impl Sync for KhrExtension335Fn {} 18544 impl KhrExtension335Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18545 pub fn load<F>(mut _f: F) -> Self 18546 where 18547 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18548 { 18549 Self {} 18550 } 18551 } 18552 impl ExtImageRobustnessFn { 18553 #[inline] name() -> &'static ::std::ffi::CStr18554 pub const fn name() -> &'static ::std::ffi::CStr { 18555 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_robustness\0") } 18556 } 18557 pub const SPEC_VERSION: u32 = 1u32; 18558 } 18559 #[derive(Clone)] 18560 pub struct ExtImageRobustnessFn {} 18561 unsafe impl Send for ExtImageRobustnessFn {} 18562 unsafe impl Sync for ExtImageRobustnessFn {} 18563 impl ExtImageRobustnessFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18564 pub fn load<F>(mut _f: F) -> Self 18565 where 18566 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18567 { 18568 Self {} 18569 } 18570 } 18571 #[doc = "Generated from 'VK_EXT_image_robustness'"] 18572 impl StructureType { 18573 pub const PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: Self = 18574 Self::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES; 18575 } 18576 impl KhrWorkgroupMemoryExplicitLayoutFn { 18577 #[inline] name() -> &'static ::std::ffi::CStr18578 pub const fn name() -> &'static ::std::ffi::CStr { 18579 unsafe { 18580 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18581 b"VK_KHR_workgroup_memory_explicit_layout\0", 18582 ) 18583 } 18584 } 18585 pub const SPEC_VERSION: u32 = 1u32; 18586 } 18587 #[derive(Clone)] 18588 pub struct KhrWorkgroupMemoryExplicitLayoutFn {} 18589 unsafe impl Send for KhrWorkgroupMemoryExplicitLayoutFn {} 18590 unsafe impl Sync for KhrWorkgroupMemoryExplicitLayoutFn {} 18591 impl KhrWorkgroupMemoryExplicitLayoutFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18592 pub fn load<F>(mut _f: F) -> Self 18593 where 18594 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18595 { 18596 Self {} 18597 } 18598 } 18599 #[doc = "Generated from 'VK_KHR_workgroup_memory_explicit_layout'"] 18600 impl StructureType { 18601 pub const PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: Self = 18602 Self(1_000_336_000); 18603 } 18604 impl KhrCopyCommands2Fn { 18605 #[inline] name() -> &'static ::std::ffi::CStr18606 pub const fn name() -> &'static ::std::ffi::CStr { 18607 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_copy_commands2\0") } 18608 } 18609 pub const SPEC_VERSION: u32 = 1u32; 18610 } 18611 #[allow(non_camel_case_types)] 18612 pub type PFN_vkCmdCopyBuffer2 = unsafe extern "system" fn( 18613 command_buffer: CommandBuffer, 18614 p_copy_buffer_info: *const CopyBufferInfo2, 18615 ); 18616 #[allow(non_camel_case_types)] 18617 pub type PFN_vkCmdCopyImage2 = unsafe extern "system" fn( 18618 command_buffer: CommandBuffer, 18619 p_copy_image_info: *const CopyImageInfo2, 18620 ); 18621 #[allow(non_camel_case_types)] 18622 pub type PFN_vkCmdCopyBufferToImage2 = unsafe extern "system" fn( 18623 command_buffer: CommandBuffer, 18624 p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, 18625 ); 18626 #[allow(non_camel_case_types)] 18627 pub type PFN_vkCmdCopyImageToBuffer2 = unsafe extern "system" fn( 18628 command_buffer: CommandBuffer, 18629 p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, 18630 ); 18631 #[allow(non_camel_case_types)] 18632 pub type PFN_vkCmdBlitImage2 = unsafe extern "system" fn( 18633 command_buffer: CommandBuffer, 18634 p_blit_image_info: *const BlitImageInfo2, 18635 ); 18636 #[allow(non_camel_case_types)] 18637 pub type PFN_vkCmdResolveImage2 = unsafe extern "system" fn( 18638 command_buffer: CommandBuffer, 18639 p_resolve_image_info: *const ResolveImageInfo2, 18640 ); 18641 #[derive(Clone)] 18642 pub struct KhrCopyCommands2Fn { 18643 pub cmd_copy_buffer2_khr: PFN_vkCmdCopyBuffer2, 18644 pub cmd_copy_image2_khr: PFN_vkCmdCopyImage2, 18645 pub cmd_copy_buffer_to_image2_khr: PFN_vkCmdCopyBufferToImage2, 18646 pub cmd_copy_image_to_buffer2_khr: PFN_vkCmdCopyImageToBuffer2, 18647 pub cmd_blit_image2_khr: PFN_vkCmdBlitImage2, 18648 pub cmd_resolve_image2_khr: PFN_vkCmdResolveImage2, 18649 } 18650 unsafe impl Send for KhrCopyCommands2Fn {} 18651 unsafe impl Sync for KhrCopyCommands2Fn {} 18652 impl KhrCopyCommands2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18653 pub fn load<F>(mut _f: F) -> Self 18654 where 18655 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18656 { 18657 Self { 18658 cmd_copy_buffer2_khr: unsafe { 18659 unsafe extern "system" fn cmd_copy_buffer2_khr( 18660 _command_buffer: CommandBuffer, 18661 _p_copy_buffer_info: *const CopyBufferInfo2, 18662 ) { 18663 panic!(concat!("Unable to load ", stringify!(cmd_copy_buffer2_khr))) 18664 } 18665 let cname = 18666 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyBuffer2KHR\0"); 18667 let val = _f(cname); 18668 if val.is_null() { 18669 cmd_copy_buffer2_khr 18670 } else { 18671 ::std::mem::transmute(val) 18672 } 18673 }, 18674 cmd_copy_image2_khr: unsafe { 18675 unsafe extern "system" fn cmd_copy_image2_khr( 18676 _command_buffer: CommandBuffer, 18677 _p_copy_image_info: *const CopyImageInfo2, 18678 ) { 18679 panic!(concat!("Unable to load ", stringify!(cmd_copy_image2_khr))) 18680 } 18681 let cname = 18682 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyImage2KHR\0"); 18683 let val = _f(cname); 18684 if val.is_null() { 18685 cmd_copy_image2_khr 18686 } else { 18687 ::std::mem::transmute(val) 18688 } 18689 }, 18690 cmd_copy_buffer_to_image2_khr: unsafe { 18691 unsafe extern "system" fn cmd_copy_buffer_to_image2_khr( 18692 _command_buffer: CommandBuffer, 18693 _p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, 18694 ) { 18695 panic!(concat!( 18696 "Unable to load ", 18697 stringify!(cmd_copy_buffer_to_image2_khr) 18698 )) 18699 } 18700 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18701 b"vkCmdCopyBufferToImage2KHR\0", 18702 ); 18703 let val = _f(cname); 18704 if val.is_null() { 18705 cmd_copy_buffer_to_image2_khr 18706 } else { 18707 ::std::mem::transmute(val) 18708 } 18709 }, 18710 cmd_copy_image_to_buffer2_khr: unsafe { 18711 unsafe extern "system" fn cmd_copy_image_to_buffer2_khr( 18712 _command_buffer: CommandBuffer, 18713 _p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, 18714 ) { 18715 panic!(concat!( 18716 "Unable to load ", 18717 stringify!(cmd_copy_image_to_buffer2_khr) 18718 )) 18719 } 18720 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18721 b"vkCmdCopyImageToBuffer2KHR\0", 18722 ); 18723 let val = _f(cname); 18724 if val.is_null() { 18725 cmd_copy_image_to_buffer2_khr 18726 } else { 18727 ::std::mem::transmute(val) 18728 } 18729 }, 18730 cmd_blit_image2_khr: unsafe { 18731 unsafe extern "system" fn cmd_blit_image2_khr( 18732 _command_buffer: CommandBuffer, 18733 _p_blit_image_info: *const BlitImageInfo2, 18734 ) { 18735 panic!(concat!("Unable to load ", stringify!(cmd_blit_image2_khr))) 18736 } 18737 let cname = 18738 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBlitImage2KHR\0"); 18739 let val = _f(cname); 18740 if val.is_null() { 18741 cmd_blit_image2_khr 18742 } else { 18743 ::std::mem::transmute(val) 18744 } 18745 }, 18746 cmd_resolve_image2_khr: unsafe { 18747 unsafe extern "system" fn cmd_resolve_image2_khr( 18748 _command_buffer: CommandBuffer, 18749 _p_resolve_image_info: *const ResolveImageInfo2, 18750 ) { 18751 panic!(concat!( 18752 "Unable to load ", 18753 stringify!(cmd_resolve_image2_khr) 18754 )) 18755 } 18756 let cname = 18757 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdResolveImage2KHR\0"); 18758 let val = _f(cname); 18759 if val.is_null() { 18760 cmd_resolve_image2_khr 18761 } else { 18762 ::std::mem::transmute(val) 18763 } 18764 }, 18765 } 18766 } 18767 } 18768 #[doc = "Generated from 'VK_KHR_copy_commands2'"] 18769 impl StructureType { 18770 pub const COPY_BUFFER_INFO_2_KHR: Self = Self::COPY_BUFFER_INFO_2; 18771 pub const COPY_IMAGE_INFO_2_KHR: Self = Self::COPY_IMAGE_INFO_2; 18772 pub const COPY_BUFFER_TO_IMAGE_INFO_2_KHR: Self = Self::COPY_BUFFER_TO_IMAGE_INFO_2; 18773 pub const COPY_IMAGE_TO_BUFFER_INFO_2_KHR: Self = Self::COPY_IMAGE_TO_BUFFER_INFO_2; 18774 pub const BLIT_IMAGE_INFO_2_KHR: Self = Self::BLIT_IMAGE_INFO_2; 18775 pub const RESOLVE_IMAGE_INFO_2_KHR: Self = Self::RESOLVE_IMAGE_INFO_2; 18776 pub const BUFFER_COPY_2_KHR: Self = Self::BUFFER_COPY_2; 18777 pub const IMAGE_COPY_2_KHR: Self = Self::IMAGE_COPY_2; 18778 pub const IMAGE_BLIT_2_KHR: Self = Self::IMAGE_BLIT_2; 18779 pub const BUFFER_IMAGE_COPY_2_KHR: Self = Self::BUFFER_IMAGE_COPY_2; 18780 pub const IMAGE_RESOLVE_2_KHR: Self = Self::IMAGE_RESOLVE_2; 18781 } 18782 impl ExtImageCompressionControlFn { 18783 #[inline] name() -> &'static ::std::ffi::CStr18784 pub const fn name() -> &'static ::std::ffi::CStr { 18785 unsafe { 18786 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_compression_control\0") 18787 } 18788 } 18789 pub const SPEC_VERSION: u32 = 1u32; 18790 } 18791 #[allow(non_camel_case_types)] 18792 pub type PFN_vkGetImageSubresourceLayout2EXT = unsafe extern "system" fn( 18793 device: Device, 18794 image: Image, 18795 p_subresource: *const ImageSubresource2EXT, 18796 p_layout: *mut SubresourceLayout2EXT, 18797 ); 18798 #[derive(Clone)] 18799 pub struct ExtImageCompressionControlFn { 18800 pub get_image_subresource_layout2_ext: PFN_vkGetImageSubresourceLayout2EXT, 18801 } 18802 unsafe impl Send for ExtImageCompressionControlFn {} 18803 unsafe impl Sync for ExtImageCompressionControlFn {} 18804 impl ExtImageCompressionControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18805 pub fn load<F>(mut _f: F) -> Self 18806 where 18807 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18808 { 18809 Self { 18810 get_image_subresource_layout2_ext: unsafe { 18811 unsafe extern "system" fn get_image_subresource_layout2_ext( 18812 _device: Device, 18813 _image: Image, 18814 _p_subresource: *const ImageSubresource2EXT, 18815 _p_layout: *mut SubresourceLayout2EXT, 18816 ) { 18817 panic!(concat!( 18818 "Unable to load ", 18819 stringify!(get_image_subresource_layout2_ext) 18820 )) 18821 } 18822 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18823 b"vkGetImageSubresourceLayout2EXT\0", 18824 ); 18825 let val = _f(cname); 18826 if val.is_null() { 18827 get_image_subresource_layout2_ext 18828 } else { 18829 ::std::mem::transmute(val) 18830 } 18831 }, 18832 } 18833 } 18834 } 18835 #[doc = "Generated from 'VK_EXT_image_compression_control'"] 18836 impl Result { 18837 pub const ERROR_COMPRESSION_EXHAUSTED_EXT: Self = Self(-1_000_338_000); 18838 } 18839 #[doc = "Generated from 'VK_EXT_image_compression_control'"] 18840 impl StructureType { 18841 pub const PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: Self = Self(1_000_338_000); 18842 pub const IMAGE_COMPRESSION_CONTROL_EXT: Self = Self(1_000_338_001); 18843 pub const SUBRESOURCE_LAYOUT_2_EXT: Self = Self(1_000_338_002); 18844 pub const IMAGE_SUBRESOURCE_2_EXT: Self = Self(1_000_338_003); 18845 pub const IMAGE_COMPRESSION_PROPERTIES_EXT: Self = Self(1_000_338_004); 18846 } 18847 impl ExtAttachmentFeedbackLoopLayoutFn { 18848 #[inline] name() -> &'static ::std::ffi::CStr18849 pub const fn name() -> &'static ::std::ffi::CStr { 18850 unsafe { 18851 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18852 b"VK_EXT_attachment_feedback_loop_layout\0", 18853 ) 18854 } 18855 } 18856 pub const SPEC_VERSION: u32 = 2u32; 18857 } 18858 #[derive(Clone)] 18859 pub struct ExtAttachmentFeedbackLoopLayoutFn {} 18860 unsafe impl Send for ExtAttachmentFeedbackLoopLayoutFn {} 18861 unsafe impl Sync for ExtAttachmentFeedbackLoopLayoutFn {} 18862 impl ExtAttachmentFeedbackLoopLayoutFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18863 pub fn load<F>(mut _f: F) -> Self 18864 where 18865 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18866 { 18867 Self {} 18868 } 18869 } 18870 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] 18871 impl DependencyFlags { 18872 #[doc = "Dependency may be a feedback loop"] 18873 pub const FEEDBACK_LOOP_EXT: Self = Self(0b1000); 18874 } 18875 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] 18876 impl ImageLayout { 18877 pub const ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT: Self = Self(1_000_339_000); 18878 } 18879 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] 18880 impl ImageUsageFlags { 18881 pub const ATTACHMENT_FEEDBACK_LOOP_EXT: Self = Self(0b1000_0000_0000_0000_0000); 18882 } 18883 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] 18884 impl PipelineCreateFlags { 18885 pub const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000); 18886 pub const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT: Self = 18887 Self(0b100_0000_0000_0000_0000_0000_0000); 18888 } 18889 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] 18890 impl StructureType { 18891 pub const PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: Self = 18892 Self(1_000_339_000); 18893 } 18894 impl Ext4444FormatsFn { 18895 #[inline] name() -> &'static ::std::ffi::CStr18896 pub const fn name() -> &'static ::std::ffi::CStr { 18897 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_4444_formats\0") } 18898 } 18899 pub const SPEC_VERSION: u32 = 1u32; 18900 } 18901 #[derive(Clone)] 18902 pub struct Ext4444FormatsFn {} 18903 unsafe impl Send for Ext4444FormatsFn {} 18904 unsafe impl Sync for Ext4444FormatsFn {} 18905 impl Ext4444FormatsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18906 pub fn load<F>(mut _f: F) -> Self 18907 where 18908 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18909 { 18910 Self {} 18911 } 18912 } 18913 #[doc = "Generated from 'VK_EXT_4444_formats'"] 18914 impl Format { 18915 pub const A4R4G4B4_UNORM_PACK16_EXT: Self = Self::A4R4G4B4_UNORM_PACK16; 18916 pub const A4B4G4R4_UNORM_PACK16_EXT: Self = Self::A4B4G4R4_UNORM_PACK16; 18917 } 18918 #[doc = "Generated from 'VK_EXT_4444_formats'"] 18919 impl StructureType { 18920 pub const PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: Self = Self(1_000_340_000); 18921 } 18922 impl ExtDeviceFaultFn { 18923 #[inline] name() -> &'static ::std::ffi::CStr18924 pub const fn name() -> &'static ::std::ffi::CStr { 18925 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_device_fault\0") } 18926 } 18927 pub const SPEC_VERSION: u32 = 2u32; 18928 } 18929 #[allow(non_camel_case_types)] 18930 pub type PFN_vkGetDeviceFaultInfoEXT = unsafe extern "system" fn( 18931 device: Device, 18932 p_fault_counts: *mut DeviceFaultCountsEXT, 18933 p_fault_info: *mut DeviceFaultInfoEXT, 18934 ) -> Result; 18935 #[derive(Clone)] 18936 pub struct ExtDeviceFaultFn { 18937 pub get_device_fault_info_ext: PFN_vkGetDeviceFaultInfoEXT, 18938 } 18939 unsafe impl Send for ExtDeviceFaultFn {} 18940 unsafe impl Sync for ExtDeviceFaultFn {} 18941 impl ExtDeviceFaultFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18942 pub fn load<F>(mut _f: F) -> Self 18943 where 18944 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18945 { 18946 Self { 18947 get_device_fault_info_ext: unsafe { 18948 unsafe extern "system" fn get_device_fault_info_ext( 18949 _device: Device, 18950 _p_fault_counts: *mut DeviceFaultCountsEXT, 18951 _p_fault_info: *mut DeviceFaultInfoEXT, 18952 ) -> Result { 18953 panic!(concat!( 18954 "Unable to load ", 18955 stringify!(get_device_fault_info_ext) 18956 )) 18957 } 18958 let cname = 18959 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDeviceFaultInfoEXT\0"); 18960 let val = _f(cname); 18961 if val.is_null() { 18962 get_device_fault_info_ext 18963 } else { 18964 ::std::mem::transmute(val) 18965 } 18966 }, 18967 } 18968 } 18969 } 18970 #[doc = "Generated from 'VK_EXT_device_fault'"] 18971 impl StructureType { 18972 pub const PHYSICAL_DEVICE_FAULT_FEATURES_EXT: Self = Self(1_000_341_000); 18973 pub const DEVICE_FAULT_COUNTS_EXT: Self = Self(1_000_341_001); 18974 pub const DEVICE_FAULT_INFO_EXT: Self = Self(1_000_341_002); 18975 } 18976 impl ArmRasterizationOrderAttachmentAccessFn { 18977 #[inline] name() -> &'static ::std::ffi::CStr18978 pub const fn name() -> &'static ::std::ffi::CStr { 18979 unsafe { 18980 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 18981 b"VK_ARM_rasterization_order_attachment_access\0", 18982 ) 18983 } 18984 } 18985 pub const SPEC_VERSION: u32 = 1u32; 18986 } 18987 #[derive(Clone)] 18988 pub struct ArmRasterizationOrderAttachmentAccessFn {} 18989 unsafe impl Send for ArmRasterizationOrderAttachmentAccessFn {} 18990 unsafe impl Sync for ArmRasterizationOrderAttachmentAccessFn {} 18991 impl ArmRasterizationOrderAttachmentAccessFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,18992 pub fn load<F>(mut _f: F) -> Self 18993 where 18994 F: FnMut(&::std::ffi::CStr) -> *const c_void, 18995 { 18996 Self {} 18997 } 18998 } 18999 #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] 19000 impl PipelineColorBlendStateCreateFlags { 19001 pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM: Self = 19002 Self::RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT; 19003 } 19004 #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] 19005 impl PipelineDepthStencilStateCreateFlags { 19006 pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = 19007 Self::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT; 19008 pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = 19009 Self::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT; 19010 } 19011 #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] 19012 impl StructureType { 19013 pub const PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: Self = 19014 Self::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT; 19015 } 19016 #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] 19017 impl SubpassDescriptionFlags { 19018 pub const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM: Self = 19019 Self::RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT; 19020 pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = 19021 Self::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT; 19022 pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = 19023 Self::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT; 19024 } 19025 impl ArmExtension344Fn { 19026 #[inline] name() -> &'static ::std::ffi::CStr19027 pub const fn name() -> &'static ::std::ffi::CStr { 19028 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_extension_344\0") } 19029 } 19030 pub const SPEC_VERSION: u32 = 0u32; 19031 } 19032 #[derive(Clone)] 19033 pub struct ArmExtension344Fn {} 19034 unsafe impl Send for ArmExtension344Fn {} 19035 unsafe impl Sync for ArmExtension344Fn {} 19036 impl ArmExtension344Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19037 pub fn load<F>(mut _f: F) -> Self 19038 where 19039 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19040 { 19041 Self {} 19042 } 19043 } 19044 impl ExtRgba10x6FormatsFn { 19045 #[inline] name() -> &'static ::std::ffi::CStr19046 pub const fn name() -> &'static ::std::ffi::CStr { 19047 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_rgba10x6_formats\0") } 19048 } 19049 pub const SPEC_VERSION: u32 = 1u32; 19050 } 19051 #[derive(Clone)] 19052 pub struct ExtRgba10x6FormatsFn {} 19053 unsafe impl Send for ExtRgba10x6FormatsFn {} 19054 unsafe impl Sync for ExtRgba10x6FormatsFn {} 19055 impl ExtRgba10x6FormatsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19056 pub fn load<F>(mut _f: F) -> Self 19057 where 19058 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19059 { 19060 Self {} 19061 } 19062 } 19063 #[doc = "Generated from 'VK_EXT_rgba10x6_formats'"] 19064 impl StructureType { 19065 pub const PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: Self = Self(1_000_344_000); 19066 } 19067 impl NvAcquireWinrtDisplayFn { 19068 #[inline] name() -> &'static ::std::ffi::CStr19069 pub const fn name() -> &'static ::std::ffi::CStr { 19070 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_acquire_winrt_display\0") } 19071 } 19072 pub const SPEC_VERSION: u32 = 1u32; 19073 } 19074 #[allow(non_camel_case_types)] 19075 pub type PFN_vkAcquireWinrtDisplayNV = 19076 unsafe extern "system" fn(physical_device: PhysicalDevice, display: DisplayKHR) -> Result; 19077 #[allow(non_camel_case_types)] 19078 pub type PFN_vkGetWinrtDisplayNV = unsafe extern "system" fn( 19079 physical_device: PhysicalDevice, 19080 device_relative_id: u32, 19081 p_display: *mut DisplayKHR, 19082 ) -> Result; 19083 #[derive(Clone)] 19084 pub struct NvAcquireWinrtDisplayFn { 19085 pub acquire_winrt_display_nv: PFN_vkAcquireWinrtDisplayNV, 19086 pub get_winrt_display_nv: PFN_vkGetWinrtDisplayNV, 19087 } 19088 unsafe impl Send for NvAcquireWinrtDisplayFn {} 19089 unsafe impl Sync for NvAcquireWinrtDisplayFn {} 19090 impl NvAcquireWinrtDisplayFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19091 pub fn load<F>(mut _f: F) -> Self 19092 where 19093 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19094 { 19095 Self { 19096 acquire_winrt_display_nv: unsafe { 19097 unsafe extern "system" fn acquire_winrt_display_nv( 19098 _physical_device: PhysicalDevice, 19099 _display: DisplayKHR, 19100 ) -> Result { 19101 panic!(concat!( 19102 "Unable to load ", 19103 stringify!(acquire_winrt_display_nv) 19104 )) 19105 } 19106 let cname = 19107 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireWinrtDisplayNV\0"); 19108 let val = _f(cname); 19109 if val.is_null() { 19110 acquire_winrt_display_nv 19111 } else { 19112 ::std::mem::transmute(val) 19113 } 19114 }, 19115 get_winrt_display_nv: unsafe { 19116 unsafe extern "system" fn get_winrt_display_nv( 19117 _physical_device: PhysicalDevice, 19118 _device_relative_id: u32, 19119 _p_display: *mut DisplayKHR, 19120 ) -> Result { 19121 panic!(concat!("Unable to load ", stringify!(get_winrt_display_nv))) 19122 } 19123 let cname = 19124 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetWinrtDisplayNV\0"); 19125 let val = _f(cname); 19126 if val.is_null() { 19127 get_winrt_display_nv 19128 } else { 19129 ::std::mem::transmute(val) 19130 } 19131 }, 19132 } 19133 } 19134 } 19135 impl ExtDirectfbSurfaceFn { 19136 #[inline] name() -> &'static ::std::ffi::CStr19137 pub const fn name() -> &'static ::std::ffi::CStr { 19138 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_directfb_surface\0") } 19139 } 19140 pub const SPEC_VERSION: u32 = 1u32; 19141 } 19142 #[allow(non_camel_case_types)] 19143 pub type PFN_vkCreateDirectFBSurfaceEXT = unsafe extern "system" fn( 19144 instance: Instance, 19145 p_create_info: *const DirectFBSurfaceCreateInfoEXT, 19146 p_allocator: *const AllocationCallbacks, 19147 p_surface: *mut SurfaceKHR, 19148 ) -> Result; 19149 #[allow(non_camel_case_types)] 19150 pub type PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 19151 unsafe extern "system" fn( 19152 physical_device: PhysicalDevice, 19153 queue_family_index: u32, 19154 dfb: *mut IDirectFB, 19155 ) -> Bool32; 19156 #[derive(Clone)] 19157 pub struct ExtDirectfbSurfaceFn { 19158 pub create_direct_fb_surface_ext: PFN_vkCreateDirectFBSurfaceEXT, 19159 pub get_physical_device_direct_fb_presentation_support_ext: 19160 PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT, 19161 } 19162 unsafe impl Send for ExtDirectfbSurfaceFn {} 19163 unsafe impl Sync for ExtDirectfbSurfaceFn {} 19164 impl ExtDirectfbSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19165 pub fn load<F>(mut _f: F) -> Self 19166 where 19167 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19168 { 19169 Self { 19170 create_direct_fb_surface_ext: unsafe { 19171 unsafe extern "system" fn create_direct_fb_surface_ext( 19172 _instance: Instance, 19173 _p_create_info: *const DirectFBSurfaceCreateInfoEXT, 19174 _p_allocator: *const AllocationCallbacks, 19175 _p_surface: *mut SurfaceKHR, 19176 ) -> Result { 19177 panic!(concat!( 19178 "Unable to load ", 19179 stringify!(create_direct_fb_surface_ext) 19180 )) 19181 } 19182 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19183 b"vkCreateDirectFBSurfaceEXT\0", 19184 ); 19185 let val = _f(cname); 19186 if val.is_null() { 19187 create_direct_fb_surface_ext 19188 } else { 19189 ::std::mem::transmute(val) 19190 } 19191 }, 19192 get_physical_device_direct_fb_presentation_support_ext: unsafe { 19193 unsafe extern "system" fn get_physical_device_direct_fb_presentation_support_ext( 19194 _physical_device: PhysicalDevice, 19195 _queue_family_index: u32, 19196 _dfb: *mut IDirectFB, 19197 ) -> Bool32 { 19198 panic!(concat!( 19199 "Unable to load ", 19200 stringify!(get_physical_device_direct_fb_presentation_support_ext) 19201 )) 19202 } 19203 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19204 b"vkGetPhysicalDeviceDirectFBPresentationSupportEXT\0", 19205 ); 19206 let val = _f(cname); 19207 if val.is_null() { 19208 get_physical_device_direct_fb_presentation_support_ext 19209 } else { 19210 ::std::mem::transmute(val) 19211 } 19212 }, 19213 } 19214 } 19215 } 19216 #[doc = "Generated from 'VK_EXT_directfb_surface'"] 19217 impl StructureType { 19218 pub const DIRECTFB_SURFACE_CREATE_INFO_EXT: Self = Self(1_000_346_000); 19219 } 19220 impl KhrExtension350Fn { 19221 #[inline] name() -> &'static ::std::ffi::CStr19222 pub const fn name() -> &'static ::std::ffi::CStr { 19223 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_350\0") } 19224 } 19225 pub const SPEC_VERSION: u32 = 0u32; 19226 } 19227 #[derive(Clone)] 19228 pub struct KhrExtension350Fn {} 19229 unsafe impl Send for KhrExtension350Fn {} 19230 unsafe impl Sync for KhrExtension350Fn {} 19231 impl KhrExtension350Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19232 pub fn load<F>(mut _f: F) -> Self 19233 where 19234 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19235 { 19236 Self {} 19237 } 19238 } 19239 impl NvExtension351Fn { 19240 #[inline] name() -> &'static ::std::ffi::CStr19241 pub const fn name() -> &'static ::std::ffi::CStr { 19242 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_351\0") } 19243 } 19244 pub const SPEC_VERSION: u32 = 0u32; 19245 } 19246 #[derive(Clone)] 19247 pub struct NvExtension351Fn {} 19248 unsafe impl Send for NvExtension351Fn {} 19249 unsafe impl Sync for NvExtension351Fn {} 19250 impl NvExtension351Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19251 pub fn load<F>(mut _f: F) -> Self 19252 where 19253 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19254 { 19255 Self {} 19256 } 19257 } 19258 impl ValveMutableDescriptorTypeFn { 19259 #[inline] name() -> &'static ::std::ffi::CStr19260 pub const fn name() -> &'static ::std::ffi::CStr { 19261 unsafe { 19262 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_VALVE_mutable_descriptor_type\0") 19263 } 19264 } 19265 pub const SPEC_VERSION: u32 = 1u32; 19266 } 19267 #[derive(Clone)] 19268 pub struct ValveMutableDescriptorTypeFn {} 19269 unsafe impl Send for ValveMutableDescriptorTypeFn {} 19270 unsafe impl Sync for ValveMutableDescriptorTypeFn {} 19271 impl ValveMutableDescriptorTypeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19272 pub fn load<F>(mut _f: F) -> Self 19273 where 19274 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19275 { 19276 Self {} 19277 } 19278 } 19279 #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] 19280 impl DescriptorPoolCreateFlags { 19281 pub const HOST_ONLY_VALVE: Self = Self::HOST_ONLY_EXT; 19282 } 19283 #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] 19284 impl DescriptorSetLayoutCreateFlags { 19285 pub const HOST_ONLY_POOL_VALVE: Self = Self::HOST_ONLY_POOL_EXT; 19286 } 19287 #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] 19288 impl DescriptorType { 19289 pub const MUTABLE_VALVE: Self = Self::MUTABLE_EXT; 19290 } 19291 #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] 19292 impl StructureType { 19293 pub const PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: Self = 19294 Self::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT; 19295 pub const MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: Self = 19296 Self::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT; 19297 } 19298 impl ExtVertexInputDynamicStateFn { 19299 #[inline] name() -> &'static ::std::ffi::CStr19300 pub const fn name() -> &'static ::std::ffi::CStr { 19301 unsafe { 19302 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_vertex_input_dynamic_state\0") 19303 } 19304 } 19305 pub const SPEC_VERSION: u32 = 2u32; 19306 } 19307 #[allow(non_camel_case_types)] 19308 pub type PFN_vkCmdSetVertexInputEXT = unsafe extern "system" fn( 19309 command_buffer: CommandBuffer, 19310 vertex_binding_description_count: u32, 19311 p_vertex_binding_descriptions: *const VertexInputBindingDescription2EXT, 19312 vertex_attribute_description_count: u32, 19313 p_vertex_attribute_descriptions: *const VertexInputAttributeDescription2EXT, 19314 ); 19315 #[derive(Clone)] 19316 pub struct ExtVertexInputDynamicStateFn { 19317 pub cmd_set_vertex_input_ext: PFN_vkCmdSetVertexInputEXT, 19318 } 19319 unsafe impl Send for ExtVertexInputDynamicStateFn {} 19320 unsafe impl Sync for ExtVertexInputDynamicStateFn {} 19321 impl ExtVertexInputDynamicStateFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19322 pub fn load<F>(mut _f: F) -> Self 19323 where 19324 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19325 { 19326 Self { 19327 cmd_set_vertex_input_ext: unsafe { 19328 unsafe extern "system" fn cmd_set_vertex_input_ext( 19329 _command_buffer: CommandBuffer, 19330 _vertex_binding_description_count: u32, 19331 _p_vertex_binding_descriptions: *const VertexInputBindingDescription2EXT, 19332 _vertex_attribute_description_count: u32, 19333 _p_vertex_attribute_descriptions: *const VertexInputAttributeDescription2EXT, 19334 ) { 19335 panic!(concat!( 19336 "Unable to load ", 19337 stringify!(cmd_set_vertex_input_ext) 19338 )) 19339 } 19340 let cname = 19341 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetVertexInputEXT\0"); 19342 let val = _f(cname); 19343 if val.is_null() { 19344 cmd_set_vertex_input_ext 19345 } else { 19346 ::std::mem::transmute(val) 19347 } 19348 }, 19349 } 19350 } 19351 } 19352 #[doc = "Generated from 'VK_EXT_vertex_input_dynamic_state'"] 19353 impl DynamicState { 19354 pub const VERTEX_INPUT_EXT: Self = Self(1_000_352_000); 19355 } 19356 #[doc = "Generated from 'VK_EXT_vertex_input_dynamic_state'"] 19357 impl StructureType { 19358 pub const PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: Self = Self(1_000_352_000); 19359 pub const VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: Self = Self(1_000_352_001); 19360 pub const VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT: Self = Self(1_000_352_002); 19361 } 19362 impl ExtPhysicalDeviceDrmFn { 19363 #[inline] name() -> &'static ::std::ffi::CStr19364 pub const fn name() -> &'static ::std::ffi::CStr { 19365 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_physical_device_drm\0") } 19366 } 19367 pub const SPEC_VERSION: u32 = 1u32; 19368 } 19369 #[derive(Clone)] 19370 pub struct ExtPhysicalDeviceDrmFn {} 19371 unsafe impl Send for ExtPhysicalDeviceDrmFn {} 19372 unsafe impl Sync for ExtPhysicalDeviceDrmFn {} 19373 impl ExtPhysicalDeviceDrmFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19374 pub fn load<F>(mut _f: F) -> Self 19375 where 19376 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19377 { 19378 Self {} 19379 } 19380 } 19381 #[doc = "Generated from 'VK_EXT_physical_device_drm'"] 19382 impl StructureType { 19383 pub const PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: Self = Self(1_000_353_000); 19384 } 19385 impl ExtDeviceAddressBindingReportFn { 19386 #[inline] name() -> &'static ::std::ffi::CStr19387 pub const fn name() -> &'static ::std::ffi::CStr { 19388 unsafe { 19389 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19390 b"VK_EXT_device_address_binding_report\0", 19391 ) 19392 } 19393 } 19394 pub const SPEC_VERSION: u32 = 1u32; 19395 } 19396 #[derive(Clone)] 19397 pub struct ExtDeviceAddressBindingReportFn {} 19398 unsafe impl Send for ExtDeviceAddressBindingReportFn {} 19399 unsafe impl Sync for ExtDeviceAddressBindingReportFn {} 19400 impl ExtDeviceAddressBindingReportFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19401 pub fn load<F>(mut _f: F) -> Self 19402 where 19403 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19404 { 19405 Self {} 19406 } 19407 } 19408 #[doc = "Generated from 'VK_EXT_device_address_binding_report'"] 19409 impl DebugUtilsMessageTypeFlagsEXT { 19410 pub const DEVICE_ADDRESS_BINDING: Self = Self(0b1000); 19411 } 19412 #[doc = "Generated from 'VK_EXT_device_address_binding_report'"] 19413 impl StructureType { 19414 pub const PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: Self = Self(1_000_354_000); 19415 pub const DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: Self = Self(1_000_354_001); 19416 } 19417 impl ExtDepthClipControlFn { 19418 #[inline] name() -> &'static ::std::ffi::CStr19419 pub const fn name() -> &'static ::std::ffi::CStr { 19420 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_clip_control\0") } 19421 } 19422 pub const SPEC_VERSION: u32 = 1u32; 19423 } 19424 #[derive(Clone)] 19425 pub struct ExtDepthClipControlFn {} 19426 unsafe impl Send for ExtDepthClipControlFn {} 19427 unsafe impl Sync for ExtDepthClipControlFn {} 19428 impl ExtDepthClipControlFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19429 pub fn load<F>(mut _f: F) -> Self 19430 where 19431 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19432 { 19433 Self {} 19434 } 19435 } 19436 #[doc = "Generated from 'VK_EXT_depth_clip_control'"] 19437 impl StructureType { 19438 pub const PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: Self = Self(1_000_355_000); 19439 pub const PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: Self = Self(1_000_355_001); 19440 } 19441 impl ExtPrimitiveTopologyListRestartFn { 19442 #[inline] name() -> &'static ::std::ffi::CStr19443 pub const fn name() -> &'static ::std::ffi::CStr { 19444 unsafe { 19445 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19446 b"VK_EXT_primitive_topology_list_restart\0", 19447 ) 19448 } 19449 } 19450 pub const SPEC_VERSION: u32 = 1u32; 19451 } 19452 #[derive(Clone)] 19453 pub struct ExtPrimitiveTopologyListRestartFn {} 19454 unsafe impl Send for ExtPrimitiveTopologyListRestartFn {} 19455 unsafe impl Sync for ExtPrimitiveTopologyListRestartFn {} 19456 impl ExtPrimitiveTopologyListRestartFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19457 pub fn load<F>(mut _f: F) -> Self 19458 where 19459 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19460 { 19461 Self {} 19462 } 19463 } 19464 #[doc = "Generated from 'VK_EXT_primitive_topology_list_restart'"] 19465 impl StructureType { 19466 pub const PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: Self = 19467 Self(1_000_356_000); 19468 } 19469 impl KhrExtension358Fn { 19470 #[inline] name() -> &'static ::std::ffi::CStr19471 pub const fn name() -> &'static ::std::ffi::CStr { 19472 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_358\0") } 19473 } 19474 pub const SPEC_VERSION: u32 = 0u32; 19475 } 19476 #[derive(Clone)] 19477 pub struct KhrExtension358Fn {} 19478 unsafe impl Send for KhrExtension358Fn {} 19479 unsafe impl Sync for KhrExtension358Fn {} 19480 impl KhrExtension358Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19481 pub fn load<F>(mut _f: F) -> Self 19482 where 19483 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19484 { 19485 Self {} 19486 } 19487 } 19488 impl ExtExtension359Fn { 19489 #[inline] name() -> &'static ::std::ffi::CStr19490 pub const fn name() -> &'static ::std::ffi::CStr { 19491 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_359\0") } 19492 } 19493 pub const SPEC_VERSION: u32 = 0u32; 19494 } 19495 #[derive(Clone)] 19496 pub struct ExtExtension359Fn {} 19497 unsafe impl Send for ExtExtension359Fn {} 19498 unsafe impl Sync for ExtExtension359Fn {} 19499 impl ExtExtension359Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19500 pub fn load<F>(mut _f: F) -> Self 19501 where 19502 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19503 { 19504 Self {} 19505 } 19506 } 19507 impl ExtExtension360Fn { 19508 #[inline] name() -> &'static ::std::ffi::CStr19509 pub const fn name() -> &'static ::std::ffi::CStr { 19510 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_360\0") } 19511 } 19512 pub const SPEC_VERSION: u32 = 0u32; 19513 } 19514 #[derive(Clone)] 19515 pub struct ExtExtension360Fn {} 19516 unsafe impl Send for ExtExtension360Fn {} 19517 unsafe impl Sync for ExtExtension360Fn {} 19518 impl ExtExtension360Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19519 pub fn load<F>(mut _f: F) -> Self 19520 where 19521 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19522 { 19523 Self {} 19524 } 19525 } 19526 impl KhrFormatFeatureFlags2Fn { 19527 #[inline] name() -> &'static ::std::ffi::CStr19528 pub const fn name() -> &'static ::std::ffi::CStr { 19529 unsafe { 19530 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_format_feature_flags2\0") 19531 } 19532 } 19533 pub const SPEC_VERSION: u32 = 2u32; 19534 } 19535 #[derive(Clone)] 19536 pub struct KhrFormatFeatureFlags2Fn {} 19537 unsafe impl Send for KhrFormatFeatureFlags2Fn {} 19538 unsafe impl Sync for KhrFormatFeatureFlags2Fn {} 19539 impl KhrFormatFeatureFlags2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19540 pub fn load<F>(mut _f: F) -> Self 19541 where 19542 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19543 { 19544 Self {} 19545 } 19546 } 19547 #[doc = "Generated from 'VK_KHR_format_feature_flags2'"] 19548 impl StructureType { 19549 pub const FORMAT_PROPERTIES_3_KHR: Self = Self::FORMAT_PROPERTIES_3; 19550 } 19551 impl ExtExtension362Fn { 19552 #[inline] name() -> &'static ::std::ffi::CStr19553 pub const fn name() -> &'static ::std::ffi::CStr { 19554 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_362\0") } 19555 } 19556 pub const SPEC_VERSION: u32 = 0u32; 19557 } 19558 #[derive(Clone)] 19559 pub struct ExtExtension362Fn {} 19560 unsafe impl Send for ExtExtension362Fn {} 19561 unsafe impl Sync for ExtExtension362Fn {} 19562 impl ExtExtension362Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19563 pub fn load<F>(mut _f: F) -> Self 19564 where 19565 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19566 { 19567 Self {} 19568 } 19569 } 19570 impl ExtExtension363Fn { 19571 #[inline] name() -> &'static ::std::ffi::CStr19572 pub const fn name() -> &'static ::std::ffi::CStr { 19573 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_363\0") } 19574 } 19575 pub const SPEC_VERSION: u32 = 0u32; 19576 } 19577 #[derive(Clone)] 19578 pub struct ExtExtension363Fn {} 19579 unsafe impl Send for ExtExtension363Fn {} 19580 unsafe impl Sync for ExtExtension363Fn {} 19581 impl ExtExtension363Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19582 pub fn load<F>(mut _f: F) -> Self 19583 where 19584 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19585 { 19586 Self {} 19587 } 19588 } 19589 impl FuchsiaExtension364Fn { 19590 #[inline] name() -> &'static ::std::ffi::CStr19591 pub const fn name() -> &'static ::std::ffi::CStr { 19592 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_extension_364\0") } 19593 } 19594 pub const SPEC_VERSION: u32 = 0u32; 19595 } 19596 #[derive(Clone)] 19597 pub struct FuchsiaExtension364Fn {} 19598 unsafe impl Send for FuchsiaExtension364Fn {} 19599 unsafe impl Sync for FuchsiaExtension364Fn {} 19600 impl FuchsiaExtension364Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19601 pub fn load<F>(mut _f: F) -> Self 19602 where 19603 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19604 { 19605 Self {} 19606 } 19607 } 19608 impl FuchsiaExternalMemoryFn { 19609 #[inline] name() -> &'static ::std::ffi::CStr19610 pub const fn name() -> &'static ::std::ffi::CStr { 19611 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_external_memory\0") } 19612 } 19613 pub const SPEC_VERSION: u32 = 1u32; 19614 } 19615 #[allow(non_camel_case_types)] 19616 pub type PFN_vkGetMemoryZirconHandleFUCHSIA = unsafe extern "system" fn( 19617 device: Device, 19618 p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA, 19619 p_zircon_handle: *mut zx_handle_t, 19620 ) -> Result; 19621 #[allow(non_camel_case_types)] 19622 pub type PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA = unsafe extern "system" fn( 19623 device: Device, 19624 handle_type: ExternalMemoryHandleTypeFlags, 19625 zircon_handle: zx_handle_t, 19626 p_memory_zircon_handle_properties: *mut MemoryZirconHandlePropertiesFUCHSIA, 19627 ) -> Result; 19628 #[derive(Clone)] 19629 pub struct FuchsiaExternalMemoryFn { 19630 pub get_memory_zircon_handle_fuchsia: PFN_vkGetMemoryZirconHandleFUCHSIA, 19631 pub get_memory_zircon_handle_properties_fuchsia: PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA, 19632 } 19633 unsafe impl Send for FuchsiaExternalMemoryFn {} 19634 unsafe impl Sync for FuchsiaExternalMemoryFn {} 19635 impl FuchsiaExternalMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19636 pub fn load<F>(mut _f: F) -> Self 19637 where 19638 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19639 { 19640 Self { 19641 get_memory_zircon_handle_fuchsia: unsafe { 19642 unsafe extern "system" fn get_memory_zircon_handle_fuchsia( 19643 _device: Device, 19644 _p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA, 19645 _p_zircon_handle: *mut zx_handle_t, 19646 ) -> Result { 19647 panic!(concat!( 19648 "Unable to load ", 19649 stringify!(get_memory_zircon_handle_fuchsia) 19650 )) 19651 } 19652 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19653 b"vkGetMemoryZirconHandleFUCHSIA\0", 19654 ); 19655 let val = _f(cname); 19656 if val.is_null() { 19657 get_memory_zircon_handle_fuchsia 19658 } else { 19659 ::std::mem::transmute(val) 19660 } 19661 }, 19662 get_memory_zircon_handle_properties_fuchsia: unsafe { 19663 unsafe extern "system" fn get_memory_zircon_handle_properties_fuchsia( 19664 _device: Device, 19665 _handle_type: ExternalMemoryHandleTypeFlags, 19666 _zircon_handle: zx_handle_t, 19667 _p_memory_zircon_handle_properties: *mut MemoryZirconHandlePropertiesFUCHSIA, 19668 ) -> Result { 19669 panic!(concat!( 19670 "Unable to load ", 19671 stringify!(get_memory_zircon_handle_properties_fuchsia) 19672 )) 19673 } 19674 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19675 b"vkGetMemoryZirconHandlePropertiesFUCHSIA\0", 19676 ); 19677 let val = _f(cname); 19678 if val.is_null() { 19679 get_memory_zircon_handle_properties_fuchsia 19680 } else { 19681 ::std::mem::transmute(val) 19682 } 19683 }, 19684 } 19685 } 19686 } 19687 #[doc = "Generated from 'VK_FUCHSIA_external_memory'"] 19688 impl ExternalMemoryHandleTypeFlags { 19689 pub const ZIRCON_VMO_FUCHSIA: Self = Self(0b1000_0000_0000); 19690 } 19691 #[doc = "Generated from 'VK_FUCHSIA_external_memory'"] 19692 impl StructureType { 19693 pub const IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: Self = Self(1_000_364_000); 19694 pub const MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA: Self = Self(1_000_364_001); 19695 pub const MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA: Self = Self(1_000_364_002); 19696 } 19697 impl FuchsiaExternalSemaphoreFn { 19698 #[inline] name() -> &'static ::std::ffi::CStr19699 pub const fn name() -> &'static ::std::ffi::CStr { 19700 unsafe { 19701 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_external_semaphore\0") 19702 } 19703 } 19704 pub const SPEC_VERSION: u32 = 1u32; 19705 } 19706 #[allow(non_camel_case_types)] 19707 pub type PFN_vkImportSemaphoreZirconHandleFUCHSIA = unsafe extern "system" fn( 19708 device: Device, 19709 p_import_semaphore_zircon_handle_info: *const ImportSemaphoreZirconHandleInfoFUCHSIA, 19710 ) -> Result; 19711 #[allow(non_camel_case_types)] 19712 pub type PFN_vkGetSemaphoreZirconHandleFUCHSIA = unsafe extern "system" fn( 19713 device: Device, 19714 p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA, 19715 p_zircon_handle: *mut zx_handle_t, 19716 ) -> Result; 19717 #[derive(Clone)] 19718 pub struct FuchsiaExternalSemaphoreFn { 19719 pub import_semaphore_zircon_handle_fuchsia: PFN_vkImportSemaphoreZirconHandleFUCHSIA, 19720 pub get_semaphore_zircon_handle_fuchsia: PFN_vkGetSemaphoreZirconHandleFUCHSIA, 19721 } 19722 unsafe impl Send for FuchsiaExternalSemaphoreFn {} 19723 unsafe impl Sync for FuchsiaExternalSemaphoreFn {} 19724 impl FuchsiaExternalSemaphoreFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19725 pub fn load<F>(mut _f: F) -> Self 19726 where 19727 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19728 { 19729 Self { 19730 import_semaphore_zircon_handle_fuchsia: unsafe { 19731 unsafe extern "system" fn import_semaphore_zircon_handle_fuchsia( 19732 _device: Device, 19733 _p_import_semaphore_zircon_handle_info : * const ImportSemaphoreZirconHandleInfoFUCHSIA, 19734 ) -> Result { 19735 panic!(concat!( 19736 "Unable to load ", 19737 stringify!(import_semaphore_zircon_handle_fuchsia) 19738 )) 19739 } 19740 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19741 b"vkImportSemaphoreZirconHandleFUCHSIA\0", 19742 ); 19743 let val = _f(cname); 19744 if val.is_null() { 19745 import_semaphore_zircon_handle_fuchsia 19746 } else { 19747 ::std::mem::transmute(val) 19748 } 19749 }, 19750 get_semaphore_zircon_handle_fuchsia: unsafe { 19751 unsafe extern "system" fn get_semaphore_zircon_handle_fuchsia( 19752 _device: Device, 19753 _p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA, 19754 _p_zircon_handle: *mut zx_handle_t, 19755 ) -> Result { 19756 panic!(concat!( 19757 "Unable to load ", 19758 stringify!(get_semaphore_zircon_handle_fuchsia) 19759 )) 19760 } 19761 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19762 b"vkGetSemaphoreZirconHandleFUCHSIA\0", 19763 ); 19764 let val = _f(cname); 19765 if val.is_null() { 19766 get_semaphore_zircon_handle_fuchsia 19767 } else { 19768 ::std::mem::transmute(val) 19769 } 19770 }, 19771 } 19772 } 19773 } 19774 #[doc = "Generated from 'VK_FUCHSIA_external_semaphore'"] 19775 impl ExternalSemaphoreHandleTypeFlags { 19776 pub const ZIRCON_EVENT_FUCHSIA: Self = Self(0b1000_0000); 19777 } 19778 #[doc = "Generated from 'VK_FUCHSIA_external_semaphore'"] 19779 impl StructureType { 19780 pub const IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA: Self = Self(1_000_365_000); 19781 pub const SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA: Self = Self(1_000_365_001); 19782 } 19783 impl FuchsiaBufferCollectionFn { 19784 #[inline] name() -> &'static ::std::ffi::CStr19785 pub const fn name() -> &'static ::std::ffi::CStr { 19786 unsafe { 19787 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_buffer_collection\0") 19788 } 19789 } 19790 pub const SPEC_VERSION: u32 = 2u32; 19791 } 19792 #[allow(non_camel_case_types)] 19793 pub type PFN_vkCreateBufferCollectionFUCHSIA = unsafe extern "system" fn( 19794 device: Device, 19795 p_create_info: *const BufferCollectionCreateInfoFUCHSIA, 19796 p_allocator: *const AllocationCallbacks, 19797 p_collection: *mut BufferCollectionFUCHSIA, 19798 ) -> Result; 19799 #[allow(non_camel_case_types)] 19800 pub type PFN_vkSetBufferCollectionImageConstraintsFUCHSIA = unsafe extern "system" fn( 19801 device: Device, 19802 collection: BufferCollectionFUCHSIA, 19803 p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA, 19804 ) -> Result; 19805 #[allow(non_camel_case_types)] 19806 pub type PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA = unsafe extern "system" fn( 19807 device: Device, 19808 collection: BufferCollectionFUCHSIA, 19809 p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA, 19810 ) -> Result; 19811 #[allow(non_camel_case_types)] 19812 pub type PFN_vkDestroyBufferCollectionFUCHSIA = unsafe extern "system" fn( 19813 device: Device, 19814 collection: BufferCollectionFUCHSIA, 19815 p_allocator: *const AllocationCallbacks, 19816 ); 19817 #[allow(non_camel_case_types)] 19818 pub type PFN_vkGetBufferCollectionPropertiesFUCHSIA = unsafe extern "system" fn( 19819 device: Device, 19820 collection: BufferCollectionFUCHSIA, 19821 p_properties: *mut BufferCollectionPropertiesFUCHSIA, 19822 ) -> Result; 19823 #[derive(Clone)] 19824 pub struct FuchsiaBufferCollectionFn { 19825 pub create_buffer_collection_fuchsia: PFN_vkCreateBufferCollectionFUCHSIA, 19826 pub set_buffer_collection_image_constraints_fuchsia: 19827 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA, 19828 pub set_buffer_collection_buffer_constraints_fuchsia: 19829 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA, 19830 pub destroy_buffer_collection_fuchsia: PFN_vkDestroyBufferCollectionFUCHSIA, 19831 pub get_buffer_collection_properties_fuchsia: PFN_vkGetBufferCollectionPropertiesFUCHSIA, 19832 } 19833 unsafe impl Send for FuchsiaBufferCollectionFn {} 19834 unsafe impl Sync for FuchsiaBufferCollectionFn {} 19835 impl FuchsiaBufferCollectionFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19836 pub fn load<F>(mut _f: F) -> Self 19837 where 19838 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19839 { 19840 Self { 19841 create_buffer_collection_fuchsia: unsafe { 19842 unsafe extern "system" fn create_buffer_collection_fuchsia( 19843 _device: Device, 19844 _p_create_info: *const BufferCollectionCreateInfoFUCHSIA, 19845 _p_allocator: *const AllocationCallbacks, 19846 _p_collection: *mut BufferCollectionFUCHSIA, 19847 ) -> Result { 19848 panic!(concat!( 19849 "Unable to load ", 19850 stringify!(create_buffer_collection_fuchsia) 19851 )) 19852 } 19853 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19854 b"vkCreateBufferCollectionFUCHSIA\0", 19855 ); 19856 let val = _f(cname); 19857 if val.is_null() { 19858 create_buffer_collection_fuchsia 19859 } else { 19860 ::std::mem::transmute(val) 19861 } 19862 }, 19863 set_buffer_collection_image_constraints_fuchsia: unsafe { 19864 unsafe extern "system" fn set_buffer_collection_image_constraints_fuchsia( 19865 _device: Device, 19866 _collection: BufferCollectionFUCHSIA, 19867 _p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA, 19868 ) -> Result { 19869 panic!(concat!( 19870 "Unable to load ", 19871 stringify!(set_buffer_collection_image_constraints_fuchsia) 19872 )) 19873 } 19874 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19875 b"vkSetBufferCollectionImageConstraintsFUCHSIA\0", 19876 ); 19877 let val = _f(cname); 19878 if val.is_null() { 19879 set_buffer_collection_image_constraints_fuchsia 19880 } else { 19881 ::std::mem::transmute(val) 19882 } 19883 }, 19884 set_buffer_collection_buffer_constraints_fuchsia: unsafe { 19885 unsafe extern "system" fn set_buffer_collection_buffer_constraints_fuchsia( 19886 _device: Device, 19887 _collection: BufferCollectionFUCHSIA, 19888 _p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA, 19889 ) -> Result { 19890 panic!(concat!( 19891 "Unable to load ", 19892 stringify!(set_buffer_collection_buffer_constraints_fuchsia) 19893 )) 19894 } 19895 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19896 b"vkSetBufferCollectionBufferConstraintsFUCHSIA\0", 19897 ); 19898 let val = _f(cname); 19899 if val.is_null() { 19900 set_buffer_collection_buffer_constraints_fuchsia 19901 } else { 19902 ::std::mem::transmute(val) 19903 } 19904 }, 19905 destroy_buffer_collection_fuchsia: unsafe { 19906 unsafe extern "system" fn destroy_buffer_collection_fuchsia( 19907 _device: Device, 19908 _collection: BufferCollectionFUCHSIA, 19909 _p_allocator: *const AllocationCallbacks, 19910 ) { 19911 panic!(concat!( 19912 "Unable to load ", 19913 stringify!(destroy_buffer_collection_fuchsia) 19914 )) 19915 } 19916 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19917 b"vkDestroyBufferCollectionFUCHSIA\0", 19918 ); 19919 let val = _f(cname); 19920 if val.is_null() { 19921 destroy_buffer_collection_fuchsia 19922 } else { 19923 ::std::mem::transmute(val) 19924 } 19925 }, 19926 get_buffer_collection_properties_fuchsia: unsafe { 19927 unsafe extern "system" fn get_buffer_collection_properties_fuchsia( 19928 _device: Device, 19929 _collection: BufferCollectionFUCHSIA, 19930 _p_properties: *mut BufferCollectionPropertiesFUCHSIA, 19931 ) -> Result { 19932 panic!(concat!( 19933 "Unable to load ", 19934 stringify!(get_buffer_collection_properties_fuchsia) 19935 )) 19936 } 19937 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 19938 b"vkGetBufferCollectionPropertiesFUCHSIA\0", 19939 ); 19940 let val = _f(cname); 19941 if val.is_null() { 19942 get_buffer_collection_properties_fuchsia 19943 } else { 19944 ::std::mem::transmute(val) 19945 } 19946 }, 19947 } 19948 } 19949 } 19950 #[doc = "Generated from 'VK_FUCHSIA_buffer_collection'"] 19951 impl DebugReportObjectTypeEXT { 19952 pub const BUFFER_COLLECTION_FUCHSIA: Self = Self(1_000_366_000); 19953 } 19954 #[doc = "Generated from 'VK_FUCHSIA_buffer_collection'"] 19955 impl ObjectType { 19956 #[doc = "VkBufferCollectionFUCHSIA"] 19957 pub const BUFFER_COLLECTION_FUCHSIA: Self = Self(1_000_366_000); 19958 } 19959 #[doc = "Generated from 'VK_FUCHSIA_buffer_collection'"] 19960 impl StructureType { 19961 pub const BUFFER_COLLECTION_CREATE_INFO_FUCHSIA: Self = Self(1_000_366_000); 19962 pub const IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: Self = Self(1_000_366_001); 19963 pub const BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: Self = Self(1_000_366_002); 19964 pub const BUFFER_COLLECTION_PROPERTIES_FUCHSIA: Self = Self(1_000_366_003); 19965 pub const BUFFER_CONSTRAINTS_INFO_FUCHSIA: Self = Self(1_000_366_004); 19966 pub const BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: Self = Self(1_000_366_005); 19967 pub const IMAGE_CONSTRAINTS_INFO_FUCHSIA: Self = Self(1_000_366_006); 19968 pub const IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA: Self = Self(1_000_366_007); 19969 pub const SYSMEM_COLOR_SPACE_FUCHSIA: Self = Self(1_000_366_008); 19970 pub const BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA: Self = Self(1_000_366_009); 19971 } 19972 impl FuchsiaExtension368Fn { 19973 #[inline] name() -> &'static ::std::ffi::CStr19974 pub const fn name() -> &'static ::std::ffi::CStr { 19975 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FUCHSIA_extension_368\0") } 19976 } 19977 pub const SPEC_VERSION: u32 = 0u32; 19978 } 19979 #[derive(Clone)] 19980 pub struct FuchsiaExtension368Fn {} 19981 unsafe impl Send for FuchsiaExtension368Fn {} 19982 unsafe impl Sync for FuchsiaExtension368Fn {} 19983 impl FuchsiaExtension368Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,19984 pub fn load<F>(mut _f: F) -> Self 19985 where 19986 F: FnMut(&::std::ffi::CStr) -> *const c_void, 19987 { 19988 Self {} 19989 } 19990 } 19991 impl QcomExtension369Fn { 19992 #[inline] name() -> &'static ::std::ffi::CStr19993 pub const fn name() -> &'static ::std::ffi::CStr { 19994 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_369\0") } 19995 } 19996 pub const SPEC_VERSION: u32 = 0u32; 19997 } 19998 #[derive(Clone)] 19999 pub struct QcomExtension369Fn {} 20000 unsafe impl Send for QcomExtension369Fn {} 20001 unsafe impl Sync for QcomExtension369Fn {} 20002 impl QcomExtension369Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20003 pub fn load<F>(mut _f: F) -> Self 20004 where 20005 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20006 { 20007 Self {} 20008 } 20009 } 20010 #[doc = "Generated from 'VK_QCOM_extension_369'"] 20011 impl DescriptorBindingFlags { 20012 pub const RESERVED_4_QCOM: Self = Self(0b1_0000); 20013 } 20014 impl HuaweiSubpassShadingFn { 20015 #[inline] name() -> &'static ::std::ffi::CStr20016 pub const fn name() -> &'static ::std::ffi::CStr { 20017 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_subpass_shading\0") } 20018 } 20019 pub const SPEC_VERSION: u32 = 2u32; 20020 } 20021 #[allow(non_camel_case_types)] 20022 pub type PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = unsafe extern "system" fn( 20023 device: Device, 20024 renderpass: RenderPass, 20025 p_max_workgroup_size: *mut Extent2D, 20026 ) -> Result; 20027 #[allow(non_camel_case_types)] 20028 pub type PFN_vkCmdSubpassShadingHUAWEI = unsafe extern "system" fn(command_buffer: CommandBuffer); 20029 #[derive(Clone)] 20030 pub struct HuaweiSubpassShadingFn { 20031 pub get_device_subpass_shading_max_workgroup_size_huawei: 20032 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, 20033 pub cmd_subpass_shading_huawei: PFN_vkCmdSubpassShadingHUAWEI, 20034 } 20035 unsafe impl Send for HuaweiSubpassShadingFn {} 20036 unsafe impl Sync for HuaweiSubpassShadingFn {} 20037 impl HuaweiSubpassShadingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20038 pub fn load<F>(mut _f: F) -> Self 20039 where 20040 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20041 { 20042 Self { 20043 get_device_subpass_shading_max_workgroup_size_huawei: unsafe { 20044 unsafe extern "system" fn get_device_subpass_shading_max_workgroup_size_huawei( 20045 _device: Device, 20046 _renderpass: RenderPass, 20047 _p_max_workgroup_size: *mut Extent2D, 20048 ) -> Result { 20049 panic!(concat!( 20050 "Unable to load ", 20051 stringify!(get_device_subpass_shading_max_workgroup_size_huawei) 20052 )) 20053 } 20054 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20055 b"vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI\0", 20056 ); 20057 let val = _f(cname); 20058 if val.is_null() { 20059 get_device_subpass_shading_max_workgroup_size_huawei 20060 } else { 20061 ::std::mem::transmute(val) 20062 } 20063 }, 20064 cmd_subpass_shading_huawei: unsafe { 20065 unsafe extern "system" fn cmd_subpass_shading_huawei( 20066 _command_buffer: CommandBuffer, 20067 ) { 20068 panic!(concat!( 20069 "Unable to load ", 20070 stringify!(cmd_subpass_shading_huawei) 20071 )) 20072 } 20073 let cname = 20074 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSubpassShadingHUAWEI\0"); 20075 let val = _f(cname); 20076 if val.is_null() { 20077 cmd_subpass_shading_huawei 20078 } else { 20079 ::std::mem::transmute(val) 20080 } 20081 }, 20082 } 20083 } 20084 } 20085 #[doc = "Generated from 'VK_HUAWEI_subpass_shading'"] 20086 impl PipelineBindPoint { 20087 pub const SUBPASS_SHADING_HUAWEI: Self = Self(1_000_369_003); 20088 } 20089 #[doc = "Generated from 'VK_HUAWEI_subpass_shading'"] 20090 impl PipelineStageFlags2 { 20091 pub const SUBPASS_SHADING_HUAWEI: Self = 20092 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 20093 } 20094 #[doc = "Generated from 'VK_HUAWEI_subpass_shading'"] 20095 impl ShaderStageFlags { 20096 pub const SUBPASS_SHADING_HUAWEI: Self = Self(0b100_0000_0000_0000); 20097 } 20098 #[doc = "Generated from 'VK_HUAWEI_subpass_shading'"] 20099 impl StructureType { 20100 pub const SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: Self = Self(1_000_369_000); 20101 pub const PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: Self = Self(1_000_369_001); 20102 pub const PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: Self = Self(1_000_369_002); 20103 } 20104 impl HuaweiInvocationMaskFn { 20105 #[inline] name() -> &'static ::std::ffi::CStr20106 pub const fn name() -> &'static ::std::ffi::CStr { 20107 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_invocation_mask\0") } 20108 } 20109 pub const SPEC_VERSION: u32 = 1u32; 20110 } 20111 #[allow(non_camel_case_types)] 20112 pub type PFN_vkCmdBindInvocationMaskHUAWEI = unsafe extern "system" fn( 20113 command_buffer: CommandBuffer, 20114 image_view: ImageView, 20115 image_layout: ImageLayout, 20116 ); 20117 #[derive(Clone)] 20118 pub struct HuaweiInvocationMaskFn { 20119 pub cmd_bind_invocation_mask_huawei: PFN_vkCmdBindInvocationMaskHUAWEI, 20120 } 20121 unsafe impl Send for HuaweiInvocationMaskFn {} 20122 unsafe impl Sync for HuaweiInvocationMaskFn {} 20123 impl HuaweiInvocationMaskFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20124 pub fn load<F>(mut _f: F) -> Self 20125 where 20126 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20127 { 20128 Self { 20129 cmd_bind_invocation_mask_huawei: unsafe { 20130 unsafe extern "system" fn cmd_bind_invocation_mask_huawei( 20131 _command_buffer: CommandBuffer, 20132 _image_view: ImageView, 20133 _image_layout: ImageLayout, 20134 ) { 20135 panic!(concat!( 20136 "Unable to load ", 20137 stringify!(cmd_bind_invocation_mask_huawei) 20138 )) 20139 } 20140 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20141 b"vkCmdBindInvocationMaskHUAWEI\0", 20142 ); 20143 let val = _f(cname); 20144 if val.is_null() { 20145 cmd_bind_invocation_mask_huawei 20146 } else { 20147 ::std::mem::transmute(val) 20148 } 20149 }, 20150 } 20151 } 20152 } 20153 #[doc = "Generated from 'VK_HUAWEI_invocation_mask'"] 20154 impl AccessFlags2 { 20155 pub const INVOCATION_MASK_READ_HUAWEI: Self = 20156 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 20157 } 20158 #[doc = "Generated from 'VK_HUAWEI_invocation_mask'"] 20159 impl ImageUsageFlags { 20160 pub const INVOCATION_MASK_HUAWEI: Self = Self(0b100_0000_0000_0000_0000); 20161 } 20162 #[doc = "Generated from 'VK_HUAWEI_invocation_mask'"] 20163 impl PipelineStageFlags2 { 20164 pub const INVOCATION_MASK_HUAWEI: Self = 20165 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 20166 } 20167 #[doc = "Generated from 'VK_HUAWEI_invocation_mask'"] 20168 impl StructureType { 20169 pub const PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: Self = Self(1_000_370_000); 20170 } 20171 impl NvExternalMemoryRdmaFn { 20172 #[inline] name() -> &'static ::std::ffi::CStr20173 pub const fn name() -> &'static ::std::ffi::CStr { 20174 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_external_memory_rdma\0") } 20175 } 20176 pub const SPEC_VERSION: u32 = 1u32; 20177 } 20178 #[allow(non_camel_case_types)] 20179 pub type PFN_vkGetMemoryRemoteAddressNV = unsafe extern "system" fn( 20180 device: Device, 20181 p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV, 20182 p_address: *mut RemoteAddressNV, 20183 ) -> Result; 20184 #[derive(Clone)] 20185 pub struct NvExternalMemoryRdmaFn { 20186 pub get_memory_remote_address_nv: PFN_vkGetMemoryRemoteAddressNV, 20187 } 20188 unsafe impl Send for NvExternalMemoryRdmaFn {} 20189 unsafe impl Sync for NvExternalMemoryRdmaFn {} 20190 impl NvExternalMemoryRdmaFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20191 pub fn load<F>(mut _f: F) -> Self 20192 where 20193 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20194 { 20195 Self { 20196 get_memory_remote_address_nv: unsafe { 20197 unsafe extern "system" fn get_memory_remote_address_nv( 20198 _device: Device, 20199 _p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV, 20200 _p_address: *mut RemoteAddressNV, 20201 ) -> Result { 20202 panic!(concat!( 20203 "Unable to load ", 20204 stringify!(get_memory_remote_address_nv) 20205 )) 20206 } 20207 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20208 b"vkGetMemoryRemoteAddressNV\0", 20209 ); 20210 let val = _f(cname); 20211 if val.is_null() { 20212 get_memory_remote_address_nv 20213 } else { 20214 ::std::mem::transmute(val) 20215 } 20216 }, 20217 } 20218 } 20219 } 20220 #[doc = "Generated from 'VK_NV_external_memory_rdma'"] 20221 impl ExternalMemoryHandleTypeFlags { 20222 pub const RDMA_ADDRESS_NV: Self = Self(0b1_0000_0000_0000); 20223 } 20224 #[doc = "Generated from 'VK_NV_external_memory_rdma'"] 20225 impl MemoryPropertyFlags { 20226 pub const RDMA_CAPABLE_NV: Self = Self(0b1_0000_0000); 20227 } 20228 #[doc = "Generated from 'VK_NV_external_memory_rdma'"] 20229 impl StructureType { 20230 pub const MEMORY_GET_REMOTE_ADDRESS_INFO_NV: Self = Self(1_000_371_000); 20231 pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: Self = Self(1_000_371_001); 20232 } 20233 impl ExtPipelinePropertiesFn { 20234 #[inline] name() -> &'static ::std::ffi::CStr20235 pub const fn name() -> &'static ::std::ffi::CStr { 20236 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pipeline_properties\0") } 20237 } 20238 pub const SPEC_VERSION: u32 = 1u32; 20239 } 20240 #[allow(non_camel_case_types)] 20241 #[doc = "Implemented for all types that can be passed as argument to `pipeline_properties` in [`PFN_vkGetPipelinePropertiesEXT`]"] 20242 pub unsafe trait GetPipelinePropertiesEXTParamPipelineProperties {} 20243 unsafe impl GetPipelinePropertiesEXTParamPipelineProperties for PipelinePropertiesIdentifierEXT {} 20244 #[allow(non_camel_case_types)] 20245 pub type PFN_vkGetPipelinePropertiesEXT = unsafe extern "system" fn( 20246 device: Device, 20247 p_pipeline_info: *const PipelineInfoEXT, 20248 p_pipeline_properties: *mut BaseOutStructure, 20249 ) -> Result; 20250 #[derive(Clone)] 20251 pub struct ExtPipelinePropertiesFn { 20252 pub get_pipeline_properties_ext: PFN_vkGetPipelinePropertiesEXT, 20253 } 20254 unsafe impl Send for ExtPipelinePropertiesFn {} 20255 unsafe impl Sync for ExtPipelinePropertiesFn {} 20256 impl ExtPipelinePropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20257 pub fn load<F>(mut _f: F) -> Self 20258 where 20259 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20260 { 20261 Self { 20262 get_pipeline_properties_ext: unsafe { 20263 unsafe extern "system" fn get_pipeline_properties_ext( 20264 _device: Device, 20265 _p_pipeline_info: *const PipelineInfoEXT, 20266 _p_pipeline_properties: *mut BaseOutStructure, 20267 ) -> Result { 20268 panic!(concat!( 20269 "Unable to load ", 20270 stringify!(get_pipeline_properties_ext) 20271 )) 20272 } 20273 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20274 b"vkGetPipelinePropertiesEXT\0", 20275 ); 20276 let val = _f(cname); 20277 if val.is_null() { 20278 get_pipeline_properties_ext 20279 } else { 20280 ::std::mem::transmute(val) 20281 } 20282 }, 20283 } 20284 } 20285 } 20286 #[doc = "Generated from 'VK_EXT_pipeline_properties'"] 20287 impl StructureType { 20288 pub const PIPELINE_PROPERTIES_IDENTIFIER_EXT: Self = Self(1_000_372_000); 20289 pub const PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: Self = Self(1_000_372_001); 20290 pub const PIPELINE_INFO_EXT: Self = Self::PIPELINE_INFO_KHR; 20291 } 20292 impl ExtExtension376Fn { 20293 #[inline] name() -> &'static ::std::ffi::CStr20294 pub const fn name() -> &'static ::std::ffi::CStr { 20295 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_376\0") } 20296 } 20297 pub const SPEC_VERSION: u32 = 0u32; 20298 } 20299 #[derive(Clone)] 20300 pub struct ExtExtension376Fn {} 20301 unsafe impl Send for ExtExtension376Fn {} 20302 unsafe impl Sync for ExtExtension376Fn {} 20303 impl ExtExtension376Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20304 pub fn load<F>(mut _f: F) -> Self 20305 where 20306 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20307 { 20308 Self {} 20309 } 20310 } 20311 impl ExtMultisampledRenderToSingleSampledFn { 20312 #[inline] name() -> &'static ::std::ffi::CStr20313 pub const fn name() -> &'static ::std::ffi::CStr { 20314 unsafe { 20315 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20316 b"VK_EXT_multisampled_render_to_single_sampled\0", 20317 ) 20318 } 20319 } 20320 pub const SPEC_VERSION: u32 = 1u32; 20321 } 20322 #[derive(Clone)] 20323 pub struct ExtMultisampledRenderToSingleSampledFn {} 20324 unsafe impl Send for ExtMultisampledRenderToSingleSampledFn {} 20325 unsafe impl Sync for ExtMultisampledRenderToSingleSampledFn {} 20326 impl ExtMultisampledRenderToSingleSampledFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20327 pub fn load<F>(mut _f: F) -> Self 20328 where 20329 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20330 { 20331 Self {} 20332 } 20333 } 20334 #[doc = "Generated from 'VK_EXT_multisampled_render_to_single_sampled'"] 20335 impl ImageCreateFlags { 20336 pub const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT: Self = Self(0b100_0000_0000_0000_0000); 20337 } 20338 #[doc = "Generated from 'VK_EXT_multisampled_render_to_single_sampled'"] 20339 impl StructureType { 20340 pub const PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: Self = 20341 Self(1_000_376_000); 20342 pub const SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: Self = Self(1_000_376_001); 20343 pub const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: Self = Self(1_000_376_002); 20344 } 20345 impl ExtExtendedDynamicState2Fn { 20346 #[inline] name() -> &'static ::std::ffi::CStr20347 pub const fn name() -> &'static ::std::ffi::CStr { 20348 unsafe { 20349 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extended_dynamic_state2\0") 20350 } 20351 } 20352 pub const SPEC_VERSION: u32 = 1u32; 20353 } 20354 #[allow(non_camel_case_types)] 20355 pub type PFN_vkCmdSetPatchControlPointsEXT = 20356 unsafe extern "system" fn(command_buffer: CommandBuffer, patch_control_points: u32); 20357 #[allow(non_camel_case_types)] 20358 pub type PFN_vkCmdSetRasterizerDiscardEnable = 20359 unsafe extern "system" fn(command_buffer: CommandBuffer, rasterizer_discard_enable: Bool32); 20360 #[allow(non_camel_case_types)] 20361 pub type PFN_vkCmdSetDepthBiasEnable = 20362 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_bias_enable: Bool32); 20363 #[allow(non_camel_case_types)] 20364 pub type PFN_vkCmdSetLogicOpEXT = 20365 unsafe extern "system" fn(command_buffer: CommandBuffer, logic_op: LogicOp); 20366 #[allow(non_camel_case_types)] 20367 pub type PFN_vkCmdSetPrimitiveRestartEnable = 20368 unsafe extern "system" fn(command_buffer: CommandBuffer, primitive_restart_enable: Bool32); 20369 #[derive(Clone)] 20370 pub struct ExtExtendedDynamicState2Fn { 20371 pub cmd_set_patch_control_points_ext: PFN_vkCmdSetPatchControlPointsEXT, 20372 pub cmd_set_rasterizer_discard_enable_ext: PFN_vkCmdSetRasterizerDiscardEnable, 20373 pub cmd_set_depth_bias_enable_ext: PFN_vkCmdSetDepthBiasEnable, 20374 pub cmd_set_logic_op_ext: PFN_vkCmdSetLogicOpEXT, 20375 pub cmd_set_primitive_restart_enable_ext: PFN_vkCmdSetPrimitiveRestartEnable, 20376 } 20377 unsafe impl Send for ExtExtendedDynamicState2Fn {} 20378 unsafe impl Sync for ExtExtendedDynamicState2Fn {} 20379 impl ExtExtendedDynamicState2Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20380 pub fn load<F>(mut _f: F) -> Self 20381 where 20382 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20383 { 20384 Self { 20385 cmd_set_patch_control_points_ext: unsafe { 20386 unsafe extern "system" fn cmd_set_patch_control_points_ext( 20387 _command_buffer: CommandBuffer, 20388 _patch_control_points: u32, 20389 ) { 20390 panic!(concat!( 20391 "Unable to load ", 20392 stringify!(cmd_set_patch_control_points_ext) 20393 )) 20394 } 20395 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20396 b"vkCmdSetPatchControlPointsEXT\0", 20397 ); 20398 let val = _f(cname); 20399 if val.is_null() { 20400 cmd_set_patch_control_points_ext 20401 } else { 20402 ::std::mem::transmute(val) 20403 } 20404 }, 20405 cmd_set_rasterizer_discard_enable_ext: unsafe { 20406 unsafe extern "system" fn cmd_set_rasterizer_discard_enable_ext( 20407 _command_buffer: CommandBuffer, 20408 _rasterizer_discard_enable: Bool32, 20409 ) { 20410 panic!(concat!( 20411 "Unable to load ", 20412 stringify!(cmd_set_rasterizer_discard_enable_ext) 20413 )) 20414 } 20415 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20416 b"vkCmdSetRasterizerDiscardEnableEXT\0", 20417 ); 20418 let val = _f(cname); 20419 if val.is_null() { 20420 cmd_set_rasterizer_discard_enable_ext 20421 } else { 20422 ::std::mem::transmute(val) 20423 } 20424 }, 20425 cmd_set_depth_bias_enable_ext: unsafe { 20426 unsafe extern "system" fn cmd_set_depth_bias_enable_ext( 20427 _command_buffer: CommandBuffer, 20428 _depth_bias_enable: Bool32, 20429 ) { 20430 panic!(concat!( 20431 "Unable to load ", 20432 stringify!(cmd_set_depth_bias_enable_ext) 20433 )) 20434 } 20435 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20436 b"vkCmdSetDepthBiasEnableEXT\0", 20437 ); 20438 let val = _f(cname); 20439 if val.is_null() { 20440 cmd_set_depth_bias_enable_ext 20441 } else { 20442 ::std::mem::transmute(val) 20443 } 20444 }, 20445 cmd_set_logic_op_ext: unsafe { 20446 unsafe extern "system" fn cmd_set_logic_op_ext( 20447 _command_buffer: CommandBuffer, 20448 _logic_op: LogicOp, 20449 ) { 20450 panic!(concat!("Unable to load ", stringify!(cmd_set_logic_op_ext))) 20451 } 20452 let cname = 20453 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLogicOpEXT\0"); 20454 let val = _f(cname); 20455 if val.is_null() { 20456 cmd_set_logic_op_ext 20457 } else { 20458 ::std::mem::transmute(val) 20459 } 20460 }, 20461 cmd_set_primitive_restart_enable_ext: unsafe { 20462 unsafe extern "system" fn cmd_set_primitive_restart_enable_ext( 20463 _command_buffer: CommandBuffer, 20464 _primitive_restart_enable: Bool32, 20465 ) { 20466 panic!(concat!( 20467 "Unable to load ", 20468 stringify!(cmd_set_primitive_restart_enable_ext) 20469 )) 20470 } 20471 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20472 b"vkCmdSetPrimitiveRestartEnableEXT\0", 20473 ); 20474 let val = _f(cname); 20475 if val.is_null() { 20476 cmd_set_primitive_restart_enable_ext 20477 } else { 20478 ::std::mem::transmute(val) 20479 } 20480 }, 20481 } 20482 } 20483 } 20484 #[doc = "Generated from 'VK_EXT_extended_dynamic_state2'"] 20485 impl DynamicState { 20486 #[doc = "Not promoted to 1.3"] 20487 pub const PATCH_CONTROL_POINTS_EXT: Self = Self(1_000_377_000); 20488 pub const RASTERIZER_DISCARD_ENABLE_EXT: Self = Self::RASTERIZER_DISCARD_ENABLE; 20489 pub const DEPTH_BIAS_ENABLE_EXT: Self = Self::DEPTH_BIAS_ENABLE; 20490 #[doc = "Not promoted to 1.3"] 20491 pub const LOGIC_OP_EXT: Self = Self(1_000_377_003); 20492 pub const PRIMITIVE_RESTART_ENABLE_EXT: Self = Self::PRIMITIVE_RESTART_ENABLE; 20493 } 20494 #[doc = "Generated from 'VK_EXT_extended_dynamic_state2'"] 20495 impl StructureType { 20496 #[doc = "Not promoted to 1.3"] 20497 pub const PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: Self = Self(1_000_377_000); 20498 } 20499 impl QnxScreenSurfaceFn { 20500 #[inline] name() -> &'static ::std::ffi::CStr20501 pub const fn name() -> &'static ::std::ffi::CStr { 20502 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QNX_screen_surface\0") } 20503 } 20504 pub const SPEC_VERSION: u32 = 1u32; 20505 } 20506 #[allow(non_camel_case_types)] 20507 pub type PFN_vkCreateScreenSurfaceQNX = unsafe extern "system" fn( 20508 instance: Instance, 20509 p_create_info: *const ScreenSurfaceCreateInfoQNX, 20510 p_allocator: *const AllocationCallbacks, 20511 p_surface: *mut SurfaceKHR, 20512 ) -> Result; 20513 #[allow(non_camel_case_types)] 20514 pub type PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX = unsafe extern "system" fn( 20515 physical_device: PhysicalDevice, 20516 queue_family_index: u32, 20517 window: *mut _screen_window, 20518 ) -> Bool32; 20519 #[derive(Clone)] 20520 pub struct QnxScreenSurfaceFn { 20521 pub create_screen_surface_qnx: PFN_vkCreateScreenSurfaceQNX, 20522 pub get_physical_device_screen_presentation_support_qnx: 20523 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX, 20524 } 20525 unsafe impl Send for QnxScreenSurfaceFn {} 20526 unsafe impl Sync for QnxScreenSurfaceFn {} 20527 impl QnxScreenSurfaceFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20528 pub fn load<F>(mut _f: F) -> Self 20529 where 20530 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20531 { 20532 Self { 20533 create_screen_surface_qnx: unsafe { 20534 unsafe extern "system" fn create_screen_surface_qnx( 20535 _instance: Instance, 20536 _p_create_info: *const ScreenSurfaceCreateInfoQNX, 20537 _p_allocator: *const AllocationCallbacks, 20538 _p_surface: *mut SurfaceKHR, 20539 ) -> Result { 20540 panic!(concat!( 20541 "Unable to load ", 20542 stringify!(create_screen_surface_qnx) 20543 )) 20544 } 20545 let cname = 20546 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateScreenSurfaceQNX\0"); 20547 let val = _f(cname); 20548 if val.is_null() { 20549 create_screen_surface_qnx 20550 } else { 20551 ::std::mem::transmute(val) 20552 } 20553 }, 20554 get_physical_device_screen_presentation_support_qnx: unsafe { 20555 unsafe extern "system" fn get_physical_device_screen_presentation_support_qnx( 20556 _physical_device: PhysicalDevice, 20557 _queue_family_index: u32, 20558 _window: *mut _screen_window, 20559 ) -> Bool32 { 20560 panic!(concat!( 20561 "Unable to load ", 20562 stringify!(get_physical_device_screen_presentation_support_qnx) 20563 )) 20564 } 20565 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20566 b"vkGetPhysicalDeviceScreenPresentationSupportQNX\0", 20567 ); 20568 let val = _f(cname); 20569 if val.is_null() { 20570 get_physical_device_screen_presentation_support_qnx 20571 } else { 20572 ::std::mem::transmute(val) 20573 } 20574 }, 20575 } 20576 } 20577 } 20578 #[doc = "Generated from 'VK_QNX_screen_surface'"] 20579 impl StructureType { 20580 pub const SCREEN_SURFACE_CREATE_INFO_QNX: Self = Self(1_000_378_000); 20581 } 20582 impl KhrExtension380Fn { 20583 #[inline] name() -> &'static ::std::ffi::CStr20584 pub const fn name() -> &'static ::std::ffi::CStr { 20585 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_380\0") } 20586 } 20587 pub const SPEC_VERSION: u32 = 0u32; 20588 } 20589 #[derive(Clone)] 20590 pub struct KhrExtension380Fn {} 20591 unsafe impl Send for KhrExtension380Fn {} 20592 unsafe impl Sync for KhrExtension380Fn {} 20593 impl KhrExtension380Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20594 pub fn load<F>(mut _f: F) -> Self 20595 where 20596 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20597 { 20598 Self {} 20599 } 20600 } 20601 impl KhrExtension381Fn { 20602 #[inline] name() -> &'static ::std::ffi::CStr20603 pub const fn name() -> &'static ::std::ffi::CStr { 20604 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_381\0") } 20605 } 20606 pub const SPEC_VERSION: u32 = 0u32; 20607 } 20608 #[derive(Clone)] 20609 pub struct KhrExtension381Fn {} 20610 unsafe impl Send for KhrExtension381Fn {} 20611 unsafe impl Sync for KhrExtension381Fn {} 20612 impl KhrExtension381Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20613 pub fn load<F>(mut _f: F) -> Self 20614 where 20615 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20616 { 20617 Self {} 20618 } 20619 } 20620 impl ExtColorWriteEnableFn { 20621 #[inline] name() -> &'static ::std::ffi::CStr20622 pub const fn name() -> &'static ::std::ffi::CStr { 20623 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_color_write_enable\0") } 20624 } 20625 pub const SPEC_VERSION: u32 = 1u32; 20626 } 20627 #[allow(non_camel_case_types)] 20628 pub type PFN_vkCmdSetColorWriteEnableEXT = unsafe extern "system" fn( 20629 command_buffer: CommandBuffer, 20630 attachment_count: u32, 20631 p_color_write_enables: *const Bool32, 20632 ); 20633 #[derive(Clone)] 20634 pub struct ExtColorWriteEnableFn { 20635 pub cmd_set_color_write_enable_ext: PFN_vkCmdSetColorWriteEnableEXT, 20636 } 20637 unsafe impl Send for ExtColorWriteEnableFn {} 20638 unsafe impl Sync for ExtColorWriteEnableFn {} 20639 impl ExtColorWriteEnableFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20640 pub fn load<F>(mut _f: F) -> Self 20641 where 20642 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20643 { 20644 Self { 20645 cmd_set_color_write_enable_ext: unsafe { 20646 unsafe extern "system" fn cmd_set_color_write_enable_ext( 20647 _command_buffer: CommandBuffer, 20648 _attachment_count: u32, 20649 _p_color_write_enables: *const Bool32, 20650 ) { 20651 panic!(concat!( 20652 "Unable to load ", 20653 stringify!(cmd_set_color_write_enable_ext) 20654 )) 20655 } 20656 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20657 b"vkCmdSetColorWriteEnableEXT\0", 20658 ); 20659 let val = _f(cname); 20660 if val.is_null() { 20661 cmd_set_color_write_enable_ext 20662 } else { 20663 ::std::mem::transmute(val) 20664 } 20665 }, 20666 } 20667 } 20668 } 20669 #[doc = "Generated from 'VK_EXT_color_write_enable'"] 20670 impl DynamicState { 20671 pub const COLOR_WRITE_ENABLE_EXT: Self = Self(1_000_381_000); 20672 } 20673 #[doc = "Generated from 'VK_EXT_color_write_enable'"] 20674 impl StructureType { 20675 pub const PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: Self = Self(1_000_381_000); 20676 pub const PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: Self = Self(1_000_381_001); 20677 } 20678 impl ExtPrimitivesGeneratedQueryFn { 20679 #[inline] name() -> &'static ::std::ffi::CStr20680 pub const fn name() -> &'static ::std::ffi::CStr { 20681 unsafe { 20682 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_primitives_generated_query\0") 20683 } 20684 } 20685 pub const SPEC_VERSION: u32 = 1u32; 20686 } 20687 #[derive(Clone)] 20688 pub struct ExtPrimitivesGeneratedQueryFn {} 20689 unsafe impl Send for ExtPrimitivesGeneratedQueryFn {} 20690 unsafe impl Sync for ExtPrimitivesGeneratedQueryFn {} 20691 impl ExtPrimitivesGeneratedQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20692 pub fn load<F>(mut _f: F) -> Self 20693 where 20694 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20695 { 20696 Self {} 20697 } 20698 } 20699 #[doc = "Generated from 'VK_EXT_primitives_generated_query'"] 20700 impl QueryType { 20701 pub const PRIMITIVES_GENERATED_EXT: Self = Self(1_000_382_000); 20702 } 20703 #[doc = "Generated from 'VK_EXT_primitives_generated_query'"] 20704 impl StructureType { 20705 pub const PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: Self = Self(1_000_382_000); 20706 } 20707 impl ExtExtension384Fn { 20708 #[inline] name() -> &'static ::std::ffi::CStr20709 pub const fn name() -> &'static ::std::ffi::CStr { 20710 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_384\0") } 20711 } 20712 pub const SPEC_VERSION: u32 = 0u32; 20713 } 20714 #[derive(Clone)] 20715 pub struct ExtExtension384Fn {} 20716 unsafe impl Send for ExtExtension384Fn {} 20717 unsafe impl Sync for ExtExtension384Fn {} 20718 impl ExtExtension384Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20719 pub fn load<F>(mut _f: F) -> Self 20720 where 20721 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20722 { 20723 Self {} 20724 } 20725 } 20726 impl MesaExtension385Fn { 20727 #[inline] name() -> &'static ::std::ffi::CStr20728 pub const fn name() -> &'static ::std::ffi::CStr { 20729 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MESA_extension_385\0") } 20730 } 20731 pub const SPEC_VERSION: u32 = 0u32; 20732 } 20733 #[derive(Clone)] 20734 pub struct MesaExtension385Fn {} 20735 unsafe impl Send for MesaExtension385Fn {} 20736 unsafe impl Sync for MesaExtension385Fn {} 20737 impl MesaExtension385Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20738 pub fn load<F>(mut _f: F) -> Self 20739 where 20740 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20741 { 20742 Self {} 20743 } 20744 } 20745 impl GoogleExtension386Fn { 20746 #[inline] name() -> &'static ::std::ffi::CStr20747 pub const fn name() -> &'static ::std::ffi::CStr { 20748 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_386\0") } 20749 } 20750 pub const SPEC_VERSION: u32 = 0u32; 20751 } 20752 #[derive(Clone)] 20753 pub struct GoogleExtension386Fn {} 20754 unsafe impl Send for GoogleExtension386Fn {} 20755 unsafe impl Sync for GoogleExtension386Fn {} 20756 impl GoogleExtension386Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20757 pub fn load<F>(mut _f: F) -> Self 20758 where 20759 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20760 { 20761 Self {} 20762 } 20763 } 20764 impl KhrRayTracingMaintenance1Fn { 20765 #[inline] name() -> &'static ::std::ffi::CStr20766 pub const fn name() -> &'static ::std::ffi::CStr { 20767 unsafe { 20768 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_ray_tracing_maintenance1\0") 20769 } 20770 } 20771 pub const SPEC_VERSION: u32 = 1u32; 20772 } 20773 #[allow(non_camel_case_types)] 20774 pub type PFN_vkCmdTraceRaysIndirect2KHR = unsafe extern "system" fn( 20775 command_buffer: CommandBuffer, 20776 indirect_device_address: DeviceAddress, 20777 ); 20778 #[derive(Clone)] 20779 pub struct KhrRayTracingMaintenance1Fn { 20780 pub cmd_trace_rays_indirect2_khr: PFN_vkCmdTraceRaysIndirect2KHR, 20781 } 20782 unsafe impl Send for KhrRayTracingMaintenance1Fn {} 20783 unsafe impl Sync for KhrRayTracingMaintenance1Fn {} 20784 impl KhrRayTracingMaintenance1Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20785 pub fn load<F>(mut _f: F) -> Self 20786 where 20787 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20788 { 20789 Self { 20790 cmd_trace_rays_indirect2_khr: unsafe { 20791 unsafe extern "system" fn cmd_trace_rays_indirect2_khr( 20792 _command_buffer: CommandBuffer, 20793 _indirect_device_address: DeviceAddress, 20794 ) { 20795 panic!(concat!( 20796 "Unable to load ", 20797 stringify!(cmd_trace_rays_indirect2_khr) 20798 )) 20799 } 20800 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 20801 b"vkCmdTraceRaysIndirect2KHR\0", 20802 ); 20803 let val = _f(cname); 20804 if val.is_null() { 20805 cmd_trace_rays_indirect2_khr 20806 } else { 20807 ::std::mem::transmute(val) 20808 } 20809 }, 20810 } 20811 } 20812 } 20813 #[doc = "Generated from 'VK_KHR_ray_tracing_maintenance1'"] 20814 impl AccessFlags2 { 20815 pub const SHADER_BINDING_TABLE_READ_KHR: Self = 20816 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 20817 } 20818 #[doc = "Generated from 'VK_KHR_ray_tracing_maintenance1'"] 20819 impl PipelineStageFlags2 { 20820 pub const ACCELERATION_STRUCTURE_COPY_KHR: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000); 20821 } 20822 #[doc = "Generated from 'VK_KHR_ray_tracing_maintenance1'"] 20823 impl QueryType { 20824 pub const ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR: Self = 20825 Self(1_000_386_000); 20826 pub const ACCELERATION_STRUCTURE_SIZE_KHR: Self = Self(1_000_386_001); 20827 } 20828 #[doc = "Generated from 'VK_KHR_ray_tracing_maintenance1'"] 20829 impl StructureType { 20830 pub const PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: Self = Self(1_000_386_000); 20831 } 20832 impl ExtExtension388Fn { 20833 #[inline] name() -> &'static ::std::ffi::CStr20834 pub const fn name() -> &'static ::std::ffi::CStr { 20835 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_388\0") } 20836 } 20837 pub const SPEC_VERSION: u32 = 0u32; 20838 } 20839 #[derive(Clone)] 20840 pub struct ExtExtension388Fn {} 20841 unsafe impl Send for ExtExtension388Fn {} 20842 unsafe impl Sync for ExtExtension388Fn {} 20843 impl ExtExtension388Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20844 pub fn load<F>(mut _f: F) -> Self 20845 where 20846 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20847 { 20848 Self {} 20849 } 20850 } 20851 impl ExtGlobalPriorityQueryFn { 20852 #[inline] name() -> &'static ::std::ffi::CStr20853 pub const fn name() -> &'static ::std::ffi::CStr { 20854 unsafe { 20855 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_global_priority_query\0") 20856 } 20857 } 20858 pub const SPEC_VERSION: u32 = 1u32; 20859 } 20860 #[derive(Clone)] 20861 pub struct ExtGlobalPriorityQueryFn {} 20862 unsafe impl Send for ExtGlobalPriorityQueryFn {} 20863 unsafe impl Sync for ExtGlobalPriorityQueryFn {} 20864 impl ExtGlobalPriorityQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20865 pub fn load<F>(mut _f: F) -> Self 20866 where 20867 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20868 { 20869 Self {} 20870 } 20871 } 20872 #[doc = "Generated from 'VK_EXT_global_priority_query'"] 20873 impl StructureType { 20874 pub const PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: Self = 20875 Self::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR; 20876 pub const QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: Self = 20877 Self::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR; 20878 } 20879 impl ExtExtension390Fn { 20880 #[inline] name() -> &'static ::std::ffi::CStr20881 pub const fn name() -> &'static ::std::ffi::CStr { 20882 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_390\0") } 20883 } 20884 pub const SPEC_VERSION: u32 = 0u32; 20885 } 20886 #[derive(Clone)] 20887 pub struct ExtExtension390Fn {} 20888 unsafe impl Send for ExtExtension390Fn {} 20889 unsafe impl Sync for ExtExtension390Fn {} 20890 impl ExtExtension390Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20891 pub fn load<F>(mut _f: F) -> Self 20892 where 20893 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20894 { 20895 Self {} 20896 } 20897 } 20898 impl ExtExtension391Fn { 20899 #[inline] name() -> &'static ::std::ffi::CStr20900 pub const fn name() -> &'static ::std::ffi::CStr { 20901 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_391\0") } 20902 } 20903 pub const SPEC_VERSION: u32 = 0u32; 20904 } 20905 #[derive(Clone)] 20906 pub struct ExtExtension391Fn {} 20907 unsafe impl Send for ExtExtension391Fn {} 20908 unsafe impl Sync for ExtExtension391Fn {} 20909 impl ExtExtension391Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20910 pub fn load<F>(mut _f: F) -> Self 20911 where 20912 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20913 { 20914 Self {} 20915 } 20916 } 20917 impl ExtImageViewMinLodFn { 20918 #[inline] name() -> &'static ::std::ffi::CStr20919 pub const fn name() -> &'static ::std::ffi::CStr { 20920 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_view_min_lod\0") } 20921 } 20922 pub const SPEC_VERSION: u32 = 1u32; 20923 } 20924 #[derive(Clone)] 20925 pub struct ExtImageViewMinLodFn {} 20926 unsafe impl Send for ExtImageViewMinLodFn {} 20927 unsafe impl Sync for ExtImageViewMinLodFn {} 20928 impl ExtImageViewMinLodFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20929 pub fn load<F>(mut _f: F) -> Self 20930 where 20931 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20932 { 20933 Self {} 20934 } 20935 } 20936 #[doc = "Generated from 'VK_EXT_image_view_min_lod'"] 20937 impl StructureType { 20938 pub const PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: Self = Self(1_000_391_000); 20939 pub const IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: Self = Self(1_000_391_001); 20940 } 20941 impl ExtMultiDrawFn { 20942 #[inline] name() -> &'static ::std::ffi::CStr20943 pub const fn name() -> &'static ::std::ffi::CStr { 20944 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_multi_draw\0") } 20945 } 20946 pub const SPEC_VERSION: u32 = 1u32; 20947 } 20948 #[allow(non_camel_case_types)] 20949 pub type PFN_vkCmdDrawMultiEXT = unsafe extern "system" fn( 20950 command_buffer: CommandBuffer, 20951 draw_count: u32, 20952 p_vertex_info: *const MultiDrawInfoEXT, 20953 instance_count: u32, 20954 first_instance: u32, 20955 stride: u32, 20956 ); 20957 #[allow(non_camel_case_types)] 20958 pub type PFN_vkCmdDrawMultiIndexedEXT = unsafe extern "system" fn( 20959 command_buffer: CommandBuffer, 20960 draw_count: u32, 20961 p_index_info: *const MultiDrawIndexedInfoEXT, 20962 instance_count: u32, 20963 first_instance: u32, 20964 stride: u32, 20965 p_vertex_offset: *const i32, 20966 ); 20967 #[derive(Clone)] 20968 pub struct ExtMultiDrawFn { 20969 pub cmd_draw_multi_ext: PFN_vkCmdDrawMultiEXT, 20970 pub cmd_draw_multi_indexed_ext: PFN_vkCmdDrawMultiIndexedEXT, 20971 } 20972 unsafe impl Send for ExtMultiDrawFn {} 20973 unsafe impl Sync for ExtMultiDrawFn {} 20974 impl ExtMultiDrawFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,20975 pub fn load<F>(mut _f: F) -> Self 20976 where 20977 F: FnMut(&::std::ffi::CStr) -> *const c_void, 20978 { 20979 Self { 20980 cmd_draw_multi_ext: unsafe { 20981 unsafe extern "system" fn cmd_draw_multi_ext( 20982 _command_buffer: CommandBuffer, 20983 _draw_count: u32, 20984 _p_vertex_info: *const MultiDrawInfoEXT, 20985 _instance_count: u32, 20986 _first_instance: u32, 20987 _stride: u32, 20988 ) { 20989 panic!(concat!("Unable to load ", stringify!(cmd_draw_multi_ext))) 20990 } 20991 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMultiEXT\0"); 20992 let val = _f(cname); 20993 if val.is_null() { 20994 cmd_draw_multi_ext 20995 } else { 20996 ::std::mem::transmute(val) 20997 } 20998 }, 20999 cmd_draw_multi_indexed_ext: unsafe { 21000 unsafe extern "system" fn cmd_draw_multi_indexed_ext( 21001 _command_buffer: CommandBuffer, 21002 _draw_count: u32, 21003 _p_index_info: *const MultiDrawIndexedInfoEXT, 21004 _instance_count: u32, 21005 _first_instance: u32, 21006 _stride: u32, 21007 _p_vertex_offset: *const i32, 21008 ) { 21009 panic!(concat!( 21010 "Unable to load ", 21011 stringify!(cmd_draw_multi_indexed_ext) 21012 )) 21013 } 21014 let cname = 21015 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMultiIndexedEXT\0"); 21016 let val = _f(cname); 21017 if val.is_null() { 21018 cmd_draw_multi_indexed_ext 21019 } else { 21020 ::std::mem::transmute(val) 21021 } 21022 }, 21023 } 21024 } 21025 } 21026 #[doc = "Generated from 'VK_EXT_multi_draw'"] 21027 impl StructureType { 21028 pub const PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: Self = Self(1_000_392_000); 21029 pub const PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: Self = Self(1_000_392_001); 21030 } 21031 impl ExtImage2dViewOf3dFn { 21032 #[inline] name() -> &'static ::std::ffi::CStr21033 pub const fn name() -> &'static ::std::ffi::CStr { 21034 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_2d_view_of_3d\0") } 21035 } 21036 pub const SPEC_VERSION: u32 = 1u32; 21037 } 21038 #[derive(Clone)] 21039 pub struct ExtImage2dViewOf3dFn {} 21040 unsafe impl Send for ExtImage2dViewOf3dFn {} 21041 unsafe impl Sync for ExtImage2dViewOf3dFn {} 21042 impl ExtImage2dViewOf3dFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21043 pub fn load<F>(mut _f: F) -> Self 21044 where 21045 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21046 { 21047 Self {} 21048 } 21049 } 21050 #[doc = "Generated from 'VK_EXT_image_2d_view_of_3d'"] 21051 impl ImageCreateFlags { 21052 #[doc = "Image is created with a layout where individual slices are capable of being used as 2D images"] 21053 pub const TYPE_2D_VIEW_COMPATIBLE_EXT: Self = Self(0b10_0000_0000_0000_0000); 21054 } 21055 #[doc = "Generated from 'VK_EXT_image_2d_view_of_3d'"] 21056 impl StructureType { 21057 pub const PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: Self = Self(1_000_393_000); 21058 } 21059 impl KhrPortabilityEnumerationFn { 21060 #[inline] name() -> &'static ::std::ffi::CStr21061 pub const fn name() -> &'static ::std::ffi::CStr { 21062 unsafe { 21063 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_portability_enumeration\0") 21064 } 21065 } 21066 pub const SPEC_VERSION: u32 = 1u32; 21067 } 21068 #[derive(Clone)] 21069 pub struct KhrPortabilityEnumerationFn {} 21070 unsafe impl Send for KhrPortabilityEnumerationFn {} 21071 unsafe impl Sync for KhrPortabilityEnumerationFn {} 21072 impl KhrPortabilityEnumerationFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21073 pub fn load<F>(mut _f: F) -> Self 21074 where 21075 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21076 { 21077 Self {} 21078 } 21079 } 21080 #[doc = "Generated from 'VK_KHR_portability_enumeration'"] 21081 impl InstanceCreateFlags { 21082 pub const ENUMERATE_PORTABILITY_KHR: Self = Self(0b1); 21083 } 21084 impl ExtShaderTileImageFn { 21085 #[inline] name() -> &'static ::std::ffi::CStr21086 pub const fn name() -> &'static ::std::ffi::CStr { 21087 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_tile_image\0") } 21088 } 21089 pub const SPEC_VERSION: u32 = 1u32; 21090 } 21091 #[derive(Clone)] 21092 pub struct ExtShaderTileImageFn {} 21093 unsafe impl Send for ExtShaderTileImageFn {} 21094 unsafe impl Sync for ExtShaderTileImageFn {} 21095 impl ExtShaderTileImageFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21096 pub fn load<F>(mut _f: F) -> Self 21097 where 21098 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21099 { 21100 Self {} 21101 } 21102 } 21103 #[doc = "Generated from 'VK_EXT_shader_tile_image'"] 21104 impl StructureType { 21105 pub const PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: Self = Self(1_000_395_000); 21106 pub const PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: Self = Self(1_000_395_001); 21107 } 21108 impl ExtOpacityMicromapFn { 21109 #[inline] name() -> &'static ::std::ffi::CStr21110 pub const fn name() -> &'static ::std::ffi::CStr { 21111 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_opacity_micromap\0") } 21112 } 21113 pub const SPEC_VERSION: u32 = 2u32; 21114 } 21115 #[allow(non_camel_case_types)] 21116 pub type PFN_vkCreateMicromapEXT = unsafe extern "system" fn( 21117 device: Device, 21118 p_create_info: *const MicromapCreateInfoEXT, 21119 p_allocator: *const AllocationCallbacks, 21120 p_micromap: *mut MicromapEXT, 21121 ) -> Result; 21122 #[allow(non_camel_case_types)] 21123 pub type PFN_vkDestroyMicromapEXT = unsafe extern "system" fn( 21124 device: Device, 21125 micromap: MicromapEXT, 21126 p_allocator: *const AllocationCallbacks, 21127 ); 21128 #[allow(non_camel_case_types)] 21129 pub type PFN_vkCmdBuildMicromapsEXT = unsafe extern "system" fn( 21130 command_buffer: CommandBuffer, 21131 info_count: u32, 21132 p_infos: *const MicromapBuildInfoEXT, 21133 ); 21134 #[allow(non_camel_case_types)] 21135 pub type PFN_vkBuildMicromapsEXT = unsafe extern "system" fn( 21136 device: Device, 21137 deferred_operation: DeferredOperationKHR, 21138 info_count: u32, 21139 p_infos: *const MicromapBuildInfoEXT, 21140 ) -> Result; 21141 #[allow(non_camel_case_types)] 21142 pub type PFN_vkCopyMicromapEXT = unsafe extern "system" fn( 21143 device: Device, 21144 deferred_operation: DeferredOperationKHR, 21145 p_info: *const CopyMicromapInfoEXT, 21146 ) -> Result; 21147 #[allow(non_camel_case_types)] 21148 pub type PFN_vkCopyMicromapToMemoryEXT = unsafe extern "system" fn( 21149 device: Device, 21150 deferred_operation: DeferredOperationKHR, 21151 p_info: *const CopyMicromapToMemoryInfoEXT, 21152 ) -> Result; 21153 #[allow(non_camel_case_types)] 21154 pub type PFN_vkCopyMemoryToMicromapEXT = unsafe extern "system" fn( 21155 device: Device, 21156 deferred_operation: DeferredOperationKHR, 21157 p_info: *const CopyMemoryToMicromapInfoEXT, 21158 ) -> Result; 21159 #[allow(non_camel_case_types)] 21160 pub type PFN_vkWriteMicromapsPropertiesEXT = unsafe extern "system" fn( 21161 device: Device, 21162 micromap_count: u32, 21163 p_micromaps: *const MicromapEXT, 21164 query_type: QueryType, 21165 data_size: usize, 21166 p_data: *mut c_void, 21167 stride: usize, 21168 ) -> Result; 21169 #[allow(non_camel_case_types)] 21170 pub type PFN_vkCmdCopyMicromapEXT = 21171 unsafe extern "system" fn(command_buffer: CommandBuffer, p_info: *const CopyMicromapInfoEXT); 21172 #[allow(non_camel_case_types)] 21173 pub type PFN_vkCmdCopyMicromapToMemoryEXT = unsafe extern "system" fn( 21174 command_buffer: CommandBuffer, 21175 p_info: *const CopyMicromapToMemoryInfoEXT, 21176 ); 21177 #[allow(non_camel_case_types)] 21178 pub type PFN_vkCmdCopyMemoryToMicromapEXT = unsafe extern "system" fn( 21179 command_buffer: CommandBuffer, 21180 p_info: *const CopyMemoryToMicromapInfoEXT, 21181 ); 21182 #[allow(non_camel_case_types)] 21183 pub type PFN_vkCmdWriteMicromapsPropertiesEXT = unsafe extern "system" fn( 21184 command_buffer: CommandBuffer, 21185 micromap_count: u32, 21186 p_micromaps: *const MicromapEXT, 21187 query_type: QueryType, 21188 query_pool: QueryPool, 21189 first_query: u32, 21190 ); 21191 #[allow(non_camel_case_types)] 21192 pub type PFN_vkGetDeviceMicromapCompatibilityEXT = unsafe extern "system" fn( 21193 device: Device, 21194 p_version_info: *const MicromapVersionInfoEXT, 21195 p_compatibility: *mut AccelerationStructureCompatibilityKHR, 21196 ); 21197 #[allow(non_camel_case_types)] 21198 pub type PFN_vkGetMicromapBuildSizesEXT = unsafe extern "system" fn( 21199 device: Device, 21200 build_type: AccelerationStructureBuildTypeKHR, 21201 p_build_info: *const MicromapBuildInfoEXT, 21202 p_size_info: *mut MicromapBuildSizesInfoEXT, 21203 ); 21204 #[derive(Clone)] 21205 pub struct ExtOpacityMicromapFn { 21206 pub create_micromap_ext: PFN_vkCreateMicromapEXT, 21207 pub destroy_micromap_ext: PFN_vkDestroyMicromapEXT, 21208 pub cmd_build_micromaps_ext: PFN_vkCmdBuildMicromapsEXT, 21209 pub build_micromaps_ext: PFN_vkBuildMicromapsEXT, 21210 pub copy_micromap_ext: PFN_vkCopyMicromapEXT, 21211 pub copy_micromap_to_memory_ext: PFN_vkCopyMicromapToMemoryEXT, 21212 pub copy_memory_to_micromap_ext: PFN_vkCopyMemoryToMicromapEXT, 21213 pub write_micromaps_properties_ext: PFN_vkWriteMicromapsPropertiesEXT, 21214 pub cmd_copy_micromap_ext: PFN_vkCmdCopyMicromapEXT, 21215 pub cmd_copy_micromap_to_memory_ext: PFN_vkCmdCopyMicromapToMemoryEXT, 21216 pub cmd_copy_memory_to_micromap_ext: PFN_vkCmdCopyMemoryToMicromapEXT, 21217 pub cmd_write_micromaps_properties_ext: PFN_vkCmdWriteMicromapsPropertiesEXT, 21218 pub get_device_micromap_compatibility_ext: PFN_vkGetDeviceMicromapCompatibilityEXT, 21219 pub get_micromap_build_sizes_ext: PFN_vkGetMicromapBuildSizesEXT, 21220 } 21221 unsafe impl Send for ExtOpacityMicromapFn {} 21222 unsafe impl Sync for ExtOpacityMicromapFn {} 21223 impl ExtOpacityMicromapFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21224 pub fn load<F>(mut _f: F) -> Self 21225 where 21226 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21227 { 21228 Self { 21229 create_micromap_ext: unsafe { 21230 unsafe extern "system" fn create_micromap_ext( 21231 _device: Device, 21232 _p_create_info: *const MicromapCreateInfoEXT, 21233 _p_allocator: *const AllocationCallbacks, 21234 _p_micromap: *mut MicromapEXT, 21235 ) -> Result { 21236 panic!(concat!("Unable to load ", stringify!(create_micromap_ext))) 21237 } 21238 let cname = 21239 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateMicromapEXT\0"); 21240 let val = _f(cname); 21241 if val.is_null() { 21242 create_micromap_ext 21243 } else { 21244 ::std::mem::transmute(val) 21245 } 21246 }, 21247 destroy_micromap_ext: unsafe { 21248 unsafe extern "system" fn destroy_micromap_ext( 21249 _device: Device, 21250 _micromap: MicromapEXT, 21251 _p_allocator: *const AllocationCallbacks, 21252 ) { 21253 panic!(concat!("Unable to load ", stringify!(destroy_micromap_ext))) 21254 } 21255 let cname = 21256 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyMicromapEXT\0"); 21257 let val = _f(cname); 21258 if val.is_null() { 21259 destroy_micromap_ext 21260 } else { 21261 ::std::mem::transmute(val) 21262 } 21263 }, 21264 cmd_build_micromaps_ext: unsafe { 21265 unsafe extern "system" fn cmd_build_micromaps_ext( 21266 _command_buffer: CommandBuffer, 21267 _info_count: u32, 21268 _p_infos: *const MicromapBuildInfoEXT, 21269 ) { 21270 panic!(concat!( 21271 "Unable to load ", 21272 stringify!(cmd_build_micromaps_ext) 21273 )) 21274 } 21275 let cname = 21276 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBuildMicromapsEXT\0"); 21277 let val = _f(cname); 21278 if val.is_null() { 21279 cmd_build_micromaps_ext 21280 } else { 21281 ::std::mem::transmute(val) 21282 } 21283 }, 21284 build_micromaps_ext: unsafe { 21285 unsafe extern "system" fn build_micromaps_ext( 21286 _device: Device, 21287 _deferred_operation: DeferredOperationKHR, 21288 _info_count: u32, 21289 _p_infos: *const MicromapBuildInfoEXT, 21290 ) -> Result { 21291 panic!(concat!("Unable to load ", stringify!(build_micromaps_ext))) 21292 } 21293 let cname = 21294 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkBuildMicromapsEXT\0"); 21295 let val = _f(cname); 21296 if val.is_null() { 21297 build_micromaps_ext 21298 } else { 21299 ::std::mem::transmute(val) 21300 } 21301 }, 21302 copy_micromap_ext: unsafe { 21303 unsafe extern "system" fn copy_micromap_ext( 21304 _device: Device, 21305 _deferred_operation: DeferredOperationKHR, 21306 _p_info: *const CopyMicromapInfoEXT, 21307 ) -> Result { 21308 panic!(concat!("Unable to load ", stringify!(copy_micromap_ext))) 21309 } 21310 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCopyMicromapEXT\0"); 21311 let val = _f(cname); 21312 if val.is_null() { 21313 copy_micromap_ext 21314 } else { 21315 ::std::mem::transmute(val) 21316 } 21317 }, 21318 copy_micromap_to_memory_ext: unsafe { 21319 unsafe extern "system" fn copy_micromap_to_memory_ext( 21320 _device: Device, 21321 _deferred_operation: DeferredOperationKHR, 21322 _p_info: *const CopyMicromapToMemoryInfoEXT, 21323 ) -> Result { 21324 panic!(concat!( 21325 "Unable to load ", 21326 stringify!(copy_micromap_to_memory_ext) 21327 )) 21328 } 21329 let cname = 21330 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCopyMicromapToMemoryEXT\0"); 21331 let val = _f(cname); 21332 if val.is_null() { 21333 copy_micromap_to_memory_ext 21334 } else { 21335 ::std::mem::transmute(val) 21336 } 21337 }, 21338 copy_memory_to_micromap_ext: unsafe { 21339 unsafe extern "system" fn copy_memory_to_micromap_ext( 21340 _device: Device, 21341 _deferred_operation: DeferredOperationKHR, 21342 _p_info: *const CopyMemoryToMicromapInfoEXT, 21343 ) -> Result { 21344 panic!(concat!( 21345 "Unable to load ", 21346 stringify!(copy_memory_to_micromap_ext) 21347 )) 21348 } 21349 let cname = 21350 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCopyMemoryToMicromapEXT\0"); 21351 let val = _f(cname); 21352 if val.is_null() { 21353 copy_memory_to_micromap_ext 21354 } else { 21355 ::std::mem::transmute(val) 21356 } 21357 }, 21358 write_micromaps_properties_ext: unsafe { 21359 unsafe extern "system" fn write_micromaps_properties_ext( 21360 _device: Device, 21361 _micromap_count: u32, 21362 _p_micromaps: *const MicromapEXT, 21363 _query_type: QueryType, 21364 _data_size: usize, 21365 _p_data: *mut c_void, 21366 _stride: usize, 21367 ) -> Result { 21368 panic!(concat!( 21369 "Unable to load ", 21370 stringify!(write_micromaps_properties_ext) 21371 )) 21372 } 21373 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21374 b"vkWriteMicromapsPropertiesEXT\0", 21375 ); 21376 let val = _f(cname); 21377 if val.is_null() { 21378 write_micromaps_properties_ext 21379 } else { 21380 ::std::mem::transmute(val) 21381 } 21382 }, 21383 cmd_copy_micromap_ext: unsafe { 21384 unsafe extern "system" fn cmd_copy_micromap_ext( 21385 _command_buffer: CommandBuffer, 21386 _p_info: *const CopyMicromapInfoEXT, 21387 ) { 21388 panic!(concat!( 21389 "Unable to load ", 21390 stringify!(cmd_copy_micromap_ext) 21391 )) 21392 } 21393 let cname = 21394 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyMicromapEXT\0"); 21395 let val = _f(cname); 21396 if val.is_null() { 21397 cmd_copy_micromap_ext 21398 } else { 21399 ::std::mem::transmute(val) 21400 } 21401 }, 21402 cmd_copy_micromap_to_memory_ext: unsafe { 21403 unsafe extern "system" fn cmd_copy_micromap_to_memory_ext( 21404 _command_buffer: CommandBuffer, 21405 _p_info: *const CopyMicromapToMemoryInfoEXT, 21406 ) { 21407 panic!(concat!( 21408 "Unable to load ", 21409 stringify!(cmd_copy_micromap_to_memory_ext) 21410 )) 21411 } 21412 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21413 b"vkCmdCopyMicromapToMemoryEXT\0", 21414 ); 21415 let val = _f(cname); 21416 if val.is_null() { 21417 cmd_copy_micromap_to_memory_ext 21418 } else { 21419 ::std::mem::transmute(val) 21420 } 21421 }, 21422 cmd_copy_memory_to_micromap_ext: unsafe { 21423 unsafe extern "system" fn cmd_copy_memory_to_micromap_ext( 21424 _command_buffer: CommandBuffer, 21425 _p_info: *const CopyMemoryToMicromapInfoEXT, 21426 ) { 21427 panic!(concat!( 21428 "Unable to load ", 21429 stringify!(cmd_copy_memory_to_micromap_ext) 21430 )) 21431 } 21432 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21433 b"vkCmdCopyMemoryToMicromapEXT\0", 21434 ); 21435 let val = _f(cname); 21436 if val.is_null() { 21437 cmd_copy_memory_to_micromap_ext 21438 } else { 21439 ::std::mem::transmute(val) 21440 } 21441 }, 21442 cmd_write_micromaps_properties_ext: unsafe { 21443 unsafe extern "system" fn cmd_write_micromaps_properties_ext( 21444 _command_buffer: CommandBuffer, 21445 _micromap_count: u32, 21446 _p_micromaps: *const MicromapEXT, 21447 _query_type: QueryType, 21448 _query_pool: QueryPool, 21449 _first_query: u32, 21450 ) { 21451 panic!(concat!( 21452 "Unable to load ", 21453 stringify!(cmd_write_micromaps_properties_ext) 21454 )) 21455 } 21456 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21457 b"vkCmdWriteMicromapsPropertiesEXT\0", 21458 ); 21459 let val = _f(cname); 21460 if val.is_null() { 21461 cmd_write_micromaps_properties_ext 21462 } else { 21463 ::std::mem::transmute(val) 21464 } 21465 }, 21466 get_device_micromap_compatibility_ext: unsafe { 21467 unsafe extern "system" fn get_device_micromap_compatibility_ext( 21468 _device: Device, 21469 _p_version_info: *const MicromapVersionInfoEXT, 21470 _p_compatibility: *mut AccelerationStructureCompatibilityKHR, 21471 ) { 21472 panic!(concat!( 21473 "Unable to load ", 21474 stringify!(get_device_micromap_compatibility_ext) 21475 )) 21476 } 21477 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21478 b"vkGetDeviceMicromapCompatibilityEXT\0", 21479 ); 21480 let val = _f(cname); 21481 if val.is_null() { 21482 get_device_micromap_compatibility_ext 21483 } else { 21484 ::std::mem::transmute(val) 21485 } 21486 }, 21487 get_micromap_build_sizes_ext: unsafe { 21488 unsafe extern "system" fn get_micromap_build_sizes_ext( 21489 _device: Device, 21490 _build_type: AccelerationStructureBuildTypeKHR, 21491 _p_build_info: *const MicromapBuildInfoEXT, 21492 _p_size_info: *mut MicromapBuildSizesInfoEXT, 21493 ) { 21494 panic!(concat!( 21495 "Unable to load ", 21496 stringify!(get_micromap_build_sizes_ext) 21497 )) 21498 } 21499 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21500 b"vkGetMicromapBuildSizesEXT\0", 21501 ); 21502 let val = _f(cname); 21503 if val.is_null() { 21504 get_micromap_build_sizes_ext 21505 } else { 21506 ::std::mem::transmute(val) 21507 } 21508 }, 21509 } 21510 } 21511 } 21512 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21513 impl AccessFlags2 { 21514 pub const MICROMAP_READ_EXT: Self = 21515 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 21516 pub const MICROMAP_WRITE_EXT: Self = 21517 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 21518 } 21519 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21520 impl BufferUsageFlags { 21521 pub const MICROMAP_BUILD_INPUT_READ_ONLY_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); 21522 pub const MICROMAP_STORAGE_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 21523 } 21524 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21525 impl BuildAccelerationStructureFlagsKHR { 21526 pub const ALLOW_OPACITY_MICROMAP_UPDATE_EXT: Self = Self(0b100_0000); 21527 pub const ALLOW_DISABLE_OPACITY_MICROMAPS_EXT: Self = Self(0b1000_0000); 21528 pub const ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT: Self = Self(0b1_0000_0000); 21529 } 21530 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21531 impl GeometryInstanceFlagsKHR { 21532 pub const FORCE_OPACITY_MICROMAP_2_STATE_EXT: Self = Self(0b1_0000); 21533 pub const DISABLE_OPACITY_MICROMAPS_EXT: Self = Self(0b10_0000); 21534 } 21535 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21536 impl ObjectType { 21537 pub const MICROMAP_EXT: Self = Self(1_000_396_000); 21538 } 21539 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21540 impl PipelineCreateFlags { 21541 pub const RAY_TRACING_OPACITY_MICROMAP_EXT: Self = Self(0b1_0000_0000_0000_0000_0000_0000); 21542 } 21543 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21544 impl PipelineStageFlags2 { 21545 pub const MICROMAP_BUILD_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000); 21546 } 21547 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21548 impl QueryType { 21549 pub const MICROMAP_SERIALIZATION_SIZE_EXT: Self = Self(1_000_396_000); 21550 pub const MICROMAP_COMPACTED_SIZE_EXT: Self = Self(1_000_396_001); 21551 } 21552 #[doc = "Generated from 'VK_EXT_opacity_micromap'"] 21553 impl StructureType { 21554 pub const MICROMAP_BUILD_INFO_EXT: Self = Self(1_000_396_000); 21555 pub const MICROMAP_VERSION_INFO_EXT: Self = Self(1_000_396_001); 21556 pub const COPY_MICROMAP_INFO_EXT: Self = Self(1_000_396_002); 21557 pub const COPY_MICROMAP_TO_MEMORY_INFO_EXT: Self = Self(1_000_396_003); 21558 pub const COPY_MEMORY_TO_MICROMAP_INFO_EXT: Self = Self(1_000_396_004); 21559 pub const PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: Self = Self(1_000_396_005); 21560 pub const PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: Self = Self(1_000_396_006); 21561 pub const MICROMAP_CREATE_INFO_EXT: Self = Self(1_000_396_007); 21562 pub const MICROMAP_BUILD_SIZES_INFO_EXT: Self = Self(1_000_396_008); 21563 pub const ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: Self = Self(1_000_396_009); 21564 } 21565 impl NvDisplacementMicromapFn { 21566 #[inline] name() -> &'static ::std::ffi::CStr21567 pub const fn name() -> &'static ::std::ffi::CStr { 21568 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_displacement_micromap\0") } 21569 } 21570 pub const SPEC_VERSION: u32 = 1u32; 21571 } 21572 #[derive(Clone)] 21573 pub struct NvDisplacementMicromapFn {} 21574 unsafe impl Send for NvDisplacementMicromapFn {} 21575 unsafe impl Sync for NvDisplacementMicromapFn {} 21576 impl NvDisplacementMicromapFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21577 pub fn load<F>(mut _f: F) -> Self 21578 where 21579 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21580 { 21581 Self {} 21582 } 21583 } 21584 #[doc = "Generated from 'VK_NV_displacement_micromap'"] 21585 impl BuildAccelerationStructureFlagsKHR { 21586 pub const ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV: Self = Self(0b10_0000_0000); 21587 } 21588 #[doc = "Generated from 'VK_NV_displacement_micromap'"] 21589 impl MicromapTypeEXT { 21590 pub const DISPLACEMENT_MICROMAP_NV: Self = Self(1_000_397_000); 21591 } 21592 #[doc = "Generated from 'VK_NV_displacement_micromap'"] 21593 impl PipelineCreateFlags { 21594 pub const RAY_TRACING_DISPLACEMENT_MICROMAP_NV: Self = 21595 Self(0b1_0000_0000_0000_0000_0000_0000_0000); 21596 } 21597 #[doc = "Generated from 'VK_NV_displacement_micromap'"] 21598 impl StructureType { 21599 pub const PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: Self = Self(1_000_397_000); 21600 pub const PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: Self = Self(1_000_397_001); 21601 pub const ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: Self = Self(1_000_397_002); 21602 } 21603 impl JuiceExtension399Fn { 21604 #[inline] name() -> &'static ::std::ffi::CStr21605 pub const fn name() -> &'static ::std::ffi::CStr { 21606 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_JUICE_extension_399\0") } 21607 } 21608 pub const SPEC_VERSION: u32 = 0u32; 21609 } 21610 #[derive(Clone)] 21611 pub struct JuiceExtension399Fn {} 21612 unsafe impl Send for JuiceExtension399Fn {} 21613 unsafe impl Sync for JuiceExtension399Fn {} 21614 impl JuiceExtension399Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21615 pub fn load<F>(mut _f: F) -> Self 21616 where 21617 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21618 { 21619 Self {} 21620 } 21621 } 21622 impl JuiceExtension400Fn { 21623 #[inline] name() -> &'static ::std::ffi::CStr21624 pub const fn name() -> &'static ::std::ffi::CStr { 21625 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_JUICE_extension_400\0") } 21626 } 21627 pub const SPEC_VERSION: u32 = 0u32; 21628 } 21629 #[derive(Clone)] 21630 pub struct JuiceExtension400Fn {} 21631 unsafe impl Send for JuiceExtension400Fn {} 21632 unsafe impl Sync for JuiceExtension400Fn {} 21633 impl JuiceExtension400Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21634 pub fn load<F>(mut _f: F) -> Self 21635 where 21636 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21637 { 21638 Self {} 21639 } 21640 } 21641 impl ExtLoadStoreOpNoneFn { 21642 #[inline] name() -> &'static ::std::ffi::CStr21643 pub const fn name() -> &'static ::std::ffi::CStr { 21644 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_load_store_op_none\0") } 21645 } 21646 pub const SPEC_VERSION: u32 = 1u32; 21647 } 21648 #[derive(Clone)] 21649 pub struct ExtLoadStoreOpNoneFn {} 21650 unsafe impl Send for ExtLoadStoreOpNoneFn {} 21651 unsafe impl Sync for ExtLoadStoreOpNoneFn {} 21652 impl ExtLoadStoreOpNoneFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21653 pub fn load<F>(mut _f: F) -> Self 21654 where 21655 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21656 { 21657 Self {} 21658 } 21659 } 21660 #[doc = "Generated from 'VK_EXT_load_store_op_none'"] 21661 impl AttachmentLoadOp { 21662 pub const NONE_EXT: Self = Self(1_000_400_000); 21663 } 21664 #[doc = "Generated from 'VK_EXT_load_store_op_none'"] 21665 impl AttachmentStoreOp { 21666 pub const NONE_EXT: Self = Self::NONE; 21667 } 21668 impl FbExtension402Fn { 21669 #[inline] name() -> &'static ::std::ffi::CStr21670 pub const fn name() -> &'static ::std::ffi::CStr { 21671 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FB_extension_402\0") } 21672 } 21673 pub const SPEC_VERSION: u32 = 0u32; 21674 } 21675 #[derive(Clone)] 21676 pub struct FbExtension402Fn {} 21677 unsafe impl Send for FbExtension402Fn {} 21678 unsafe impl Sync for FbExtension402Fn {} 21679 impl FbExtension402Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21680 pub fn load<F>(mut _f: F) -> Self 21681 where 21682 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21683 { 21684 Self {} 21685 } 21686 } 21687 impl FbExtension403Fn { 21688 #[inline] name() -> &'static ::std::ffi::CStr21689 pub const fn name() -> &'static ::std::ffi::CStr { 21690 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FB_extension_403\0") } 21691 } 21692 pub const SPEC_VERSION: u32 = 0u32; 21693 } 21694 #[derive(Clone)] 21695 pub struct FbExtension403Fn {} 21696 unsafe impl Send for FbExtension403Fn {} 21697 unsafe impl Sync for FbExtension403Fn {} 21698 impl FbExtension403Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21699 pub fn load<F>(mut _f: F) -> Self 21700 where 21701 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21702 { 21703 Self {} 21704 } 21705 } 21706 impl FbExtension404Fn { 21707 #[inline] name() -> &'static ::std::ffi::CStr21708 pub const fn name() -> &'static ::std::ffi::CStr { 21709 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_FB_extension_404\0") } 21710 } 21711 pub const SPEC_VERSION: u32 = 0u32; 21712 } 21713 #[derive(Clone)] 21714 pub struct FbExtension404Fn {} 21715 unsafe impl Send for FbExtension404Fn {} 21716 unsafe impl Sync for FbExtension404Fn {} 21717 impl FbExtension404Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21718 pub fn load<F>(mut _f: F) -> Self 21719 where 21720 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21721 { 21722 Self {} 21723 } 21724 } 21725 impl HuaweiClusterCullingShaderFn { 21726 #[inline] name() -> &'static ::std::ffi::CStr21727 pub const fn name() -> &'static ::std::ffi::CStr { 21728 unsafe { 21729 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_cluster_culling_shader\0") 21730 } 21731 } 21732 pub const SPEC_VERSION: u32 = 2u32; 21733 } 21734 #[allow(non_camel_case_types)] 21735 pub type PFN_vkCmdDrawClusterHUAWEI = unsafe extern "system" fn( 21736 command_buffer: CommandBuffer, 21737 group_count_x: u32, 21738 group_count_y: u32, 21739 group_count_z: u32, 21740 ); 21741 #[allow(non_camel_case_types)] 21742 pub type PFN_vkCmdDrawClusterIndirectHUAWEI = 21743 unsafe extern "system" fn(command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize); 21744 #[derive(Clone)] 21745 pub struct HuaweiClusterCullingShaderFn { 21746 pub cmd_draw_cluster_huawei: PFN_vkCmdDrawClusterHUAWEI, 21747 pub cmd_draw_cluster_indirect_huawei: PFN_vkCmdDrawClusterIndirectHUAWEI, 21748 } 21749 unsafe impl Send for HuaweiClusterCullingShaderFn {} 21750 unsafe impl Sync for HuaweiClusterCullingShaderFn {} 21751 impl HuaweiClusterCullingShaderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21752 pub fn load<F>(mut _f: F) -> Self 21753 where 21754 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21755 { 21756 Self { 21757 cmd_draw_cluster_huawei: unsafe { 21758 unsafe extern "system" fn cmd_draw_cluster_huawei( 21759 _command_buffer: CommandBuffer, 21760 _group_count_x: u32, 21761 _group_count_y: u32, 21762 _group_count_z: u32, 21763 ) { 21764 panic!(concat!( 21765 "Unable to load ", 21766 stringify!(cmd_draw_cluster_huawei) 21767 )) 21768 } 21769 let cname = 21770 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawClusterHUAWEI\0"); 21771 let val = _f(cname); 21772 if val.is_null() { 21773 cmd_draw_cluster_huawei 21774 } else { 21775 ::std::mem::transmute(val) 21776 } 21777 }, 21778 cmd_draw_cluster_indirect_huawei: unsafe { 21779 unsafe extern "system" fn cmd_draw_cluster_indirect_huawei( 21780 _command_buffer: CommandBuffer, 21781 _buffer: Buffer, 21782 _offset: DeviceSize, 21783 ) { 21784 panic!(concat!( 21785 "Unable to load ", 21786 stringify!(cmd_draw_cluster_indirect_huawei) 21787 )) 21788 } 21789 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21790 b"vkCmdDrawClusterIndirectHUAWEI\0", 21791 ); 21792 let val = _f(cname); 21793 if val.is_null() { 21794 cmd_draw_cluster_indirect_huawei 21795 } else { 21796 ::std::mem::transmute(val) 21797 } 21798 }, 21799 } 21800 } 21801 } 21802 #[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] 21803 impl PipelineStageFlags2 { 21804 pub const CLUSTER_CULLING_SHADER_HUAWEI: Self = 21805 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 21806 } 21807 #[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] 21808 impl QueryPipelineStatisticFlags { 21809 pub const CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI: Self = Self(0b10_0000_0000_0000); 21810 } 21811 #[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] 21812 impl ShaderStageFlags { 21813 pub const CLUSTER_CULLING_HUAWEI: Self = Self(0b1000_0000_0000_0000_0000); 21814 } 21815 #[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] 21816 impl StructureType { 21817 pub const PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: Self = Self(1_000_404_000); 21818 pub const PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: Self = Self(1_000_404_001); 21819 } 21820 impl HuaweiExtension406Fn { 21821 #[inline] name() -> &'static ::std::ffi::CStr21822 pub const fn name() -> &'static ::std::ffi::CStr { 21823 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_extension_406\0") } 21824 } 21825 pub const SPEC_VERSION: u32 = 0u32; 21826 } 21827 #[derive(Clone)] 21828 pub struct HuaweiExtension406Fn {} 21829 unsafe impl Send for HuaweiExtension406Fn {} 21830 unsafe impl Sync for HuaweiExtension406Fn {} 21831 impl HuaweiExtension406Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21832 pub fn load<F>(mut _f: F) -> Self 21833 where 21834 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21835 { 21836 Self {} 21837 } 21838 } 21839 impl GgpExtension407Fn { 21840 #[inline] name() -> &'static ::std::ffi::CStr21841 pub const fn name() -> &'static ::std::ffi::CStr { 21842 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_407\0") } 21843 } 21844 pub const SPEC_VERSION: u32 = 0u32; 21845 } 21846 #[derive(Clone)] 21847 pub struct GgpExtension407Fn {} 21848 unsafe impl Send for GgpExtension407Fn {} 21849 unsafe impl Sync for GgpExtension407Fn {} 21850 impl GgpExtension407Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21851 pub fn load<F>(mut _f: F) -> Self 21852 where 21853 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21854 { 21855 Self {} 21856 } 21857 } 21858 impl GgpExtension408Fn { 21859 #[inline] name() -> &'static ::std::ffi::CStr21860 pub const fn name() -> &'static ::std::ffi::CStr { 21861 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_408\0") } 21862 } 21863 pub const SPEC_VERSION: u32 = 0u32; 21864 } 21865 #[derive(Clone)] 21866 pub struct GgpExtension408Fn {} 21867 unsafe impl Send for GgpExtension408Fn {} 21868 unsafe impl Sync for GgpExtension408Fn {} 21869 impl GgpExtension408Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21870 pub fn load<F>(mut _f: F) -> Self 21871 where 21872 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21873 { 21874 Self {} 21875 } 21876 } 21877 impl GgpExtension409Fn { 21878 #[inline] name() -> &'static ::std::ffi::CStr21879 pub const fn name() -> &'static ::std::ffi::CStr { 21880 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_409\0") } 21881 } 21882 pub const SPEC_VERSION: u32 = 0u32; 21883 } 21884 #[derive(Clone)] 21885 pub struct GgpExtension409Fn {} 21886 unsafe impl Send for GgpExtension409Fn {} 21887 unsafe impl Sync for GgpExtension409Fn {} 21888 impl GgpExtension409Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21889 pub fn load<F>(mut _f: F) -> Self 21890 where 21891 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21892 { 21893 Self {} 21894 } 21895 } 21896 impl GgpExtension410Fn { 21897 #[inline] name() -> &'static ::std::ffi::CStr21898 pub const fn name() -> &'static ::std::ffi::CStr { 21899 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_410\0") } 21900 } 21901 pub const SPEC_VERSION: u32 = 0u32; 21902 } 21903 #[derive(Clone)] 21904 pub struct GgpExtension410Fn {} 21905 unsafe impl Send for GgpExtension410Fn {} 21906 unsafe impl Sync for GgpExtension410Fn {} 21907 impl GgpExtension410Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21908 pub fn load<F>(mut _f: F) -> Self 21909 where 21910 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21911 { 21912 Self {} 21913 } 21914 } 21915 impl GgpExtension411Fn { 21916 #[inline] name() -> &'static ::std::ffi::CStr21917 pub const fn name() -> &'static ::std::ffi::CStr { 21918 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GGP_extension_411\0") } 21919 } 21920 pub const SPEC_VERSION: u32 = 0u32; 21921 } 21922 #[derive(Clone)] 21923 pub struct GgpExtension411Fn {} 21924 unsafe impl Send for GgpExtension411Fn {} 21925 unsafe impl Sync for GgpExtension411Fn {} 21926 impl GgpExtension411Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21927 pub fn load<F>(mut _f: F) -> Self 21928 where 21929 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21930 { 21931 Self {} 21932 } 21933 } 21934 impl ExtBorderColorSwizzleFn { 21935 #[inline] name() -> &'static ::std::ffi::CStr21936 pub const fn name() -> &'static ::std::ffi::CStr { 21937 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_border_color_swizzle\0") } 21938 } 21939 pub const SPEC_VERSION: u32 = 1u32; 21940 } 21941 #[derive(Clone)] 21942 pub struct ExtBorderColorSwizzleFn {} 21943 unsafe impl Send for ExtBorderColorSwizzleFn {} 21944 unsafe impl Sync for ExtBorderColorSwizzleFn {} 21945 impl ExtBorderColorSwizzleFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21946 pub fn load<F>(mut _f: F) -> Self 21947 where 21948 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21949 { 21950 Self {} 21951 } 21952 } 21953 #[doc = "Generated from 'VK_EXT_border_color_swizzle'"] 21954 impl StructureType { 21955 pub const PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: Self = Self(1_000_411_000); 21956 pub const SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: Self = Self(1_000_411_001); 21957 } 21958 impl ExtPageableDeviceLocalMemoryFn { 21959 #[inline] name() -> &'static ::std::ffi::CStr21960 pub const fn name() -> &'static ::std::ffi::CStr { 21961 unsafe { 21962 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21963 b"VK_EXT_pageable_device_local_memory\0", 21964 ) 21965 } 21966 } 21967 pub const SPEC_VERSION: u32 = 1u32; 21968 } 21969 #[allow(non_camel_case_types)] 21970 pub type PFN_vkSetDeviceMemoryPriorityEXT = 21971 unsafe extern "system" fn(device: Device, memory: DeviceMemory, priority: f32); 21972 #[derive(Clone)] 21973 pub struct ExtPageableDeviceLocalMemoryFn { 21974 pub set_device_memory_priority_ext: PFN_vkSetDeviceMemoryPriorityEXT, 21975 } 21976 unsafe impl Send for ExtPageableDeviceLocalMemoryFn {} 21977 unsafe impl Sync for ExtPageableDeviceLocalMemoryFn {} 21978 impl ExtPageableDeviceLocalMemoryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,21979 pub fn load<F>(mut _f: F) -> Self 21980 where 21981 F: FnMut(&::std::ffi::CStr) -> *const c_void, 21982 { 21983 Self { 21984 set_device_memory_priority_ext: unsafe { 21985 unsafe extern "system" fn set_device_memory_priority_ext( 21986 _device: Device, 21987 _memory: DeviceMemory, 21988 _priority: f32, 21989 ) { 21990 panic!(concat!( 21991 "Unable to load ", 21992 stringify!(set_device_memory_priority_ext) 21993 )) 21994 } 21995 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 21996 b"vkSetDeviceMemoryPriorityEXT\0", 21997 ); 21998 let val = _f(cname); 21999 if val.is_null() { 22000 set_device_memory_priority_ext 22001 } else { 22002 ::std::mem::transmute(val) 22003 } 22004 }, 22005 } 22006 } 22007 } 22008 #[doc = "Generated from 'VK_EXT_pageable_device_local_memory'"] 22009 impl StructureType { 22010 pub const PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: Self = Self(1_000_412_000); 22011 } 22012 impl KhrMaintenance4Fn { 22013 #[inline] name() -> &'static ::std::ffi::CStr22014 pub const fn name() -> &'static ::std::ffi::CStr { 22015 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_maintenance4\0") } 22016 } 22017 pub const SPEC_VERSION: u32 = 2u32; 22018 } 22019 #[allow(non_camel_case_types)] 22020 pub type PFN_vkGetDeviceBufferMemoryRequirements = unsafe extern "system" fn( 22021 device: Device, 22022 p_info: *const DeviceBufferMemoryRequirements, 22023 p_memory_requirements: *mut MemoryRequirements2, 22024 ); 22025 #[allow(non_camel_case_types)] 22026 pub type PFN_vkGetDeviceImageMemoryRequirements = unsafe extern "system" fn( 22027 device: Device, 22028 p_info: *const DeviceImageMemoryRequirements, 22029 p_memory_requirements: *mut MemoryRequirements2, 22030 ); 22031 #[allow(non_camel_case_types)] 22032 pub type PFN_vkGetDeviceImageSparseMemoryRequirements = unsafe extern "system" fn( 22033 device: Device, 22034 p_info: *const DeviceImageMemoryRequirements, 22035 p_sparse_memory_requirement_count: *mut u32, 22036 p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2, 22037 ); 22038 #[derive(Clone)] 22039 pub struct KhrMaintenance4Fn { 22040 pub get_device_buffer_memory_requirements_khr: PFN_vkGetDeviceBufferMemoryRequirements, 22041 pub get_device_image_memory_requirements_khr: PFN_vkGetDeviceImageMemoryRequirements, 22042 pub get_device_image_sparse_memory_requirements_khr: 22043 PFN_vkGetDeviceImageSparseMemoryRequirements, 22044 } 22045 unsafe impl Send for KhrMaintenance4Fn {} 22046 unsafe impl Sync for KhrMaintenance4Fn {} 22047 impl KhrMaintenance4Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22048 pub fn load<F>(mut _f: F) -> Self 22049 where 22050 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22051 { 22052 Self { 22053 get_device_buffer_memory_requirements_khr: unsafe { 22054 unsafe extern "system" fn get_device_buffer_memory_requirements_khr( 22055 _device: Device, 22056 _p_info: *const DeviceBufferMemoryRequirements, 22057 _p_memory_requirements: *mut MemoryRequirements2, 22058 ) { 22059 panic!(concat!( 22060 "Unable to load ", 22061 stringify!(get_device_buffer_memory_requirements_khr) 22062 )) 22063 } 22064 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22065 b"vkGetDeviceBufferMemoryRequirementsKHR\0", 22066 ); 22067 let val = _f(cname); 22068 if val.is_null() { 22069 get_device_buffer_memory_requirements_khr 22070 } else { 22071 ::std::mem::transmute(val) 22072 } 22073 }, 22074 get_device_image_memory_requirements_khr: unsafe { 22075 unsafe extern "system" fn get_device_image_memory_requirements_khr( 22076 _device: Device, 22077 _p_info: *const DeviceImageMemoryRequirements, 22078 _p_memory_requirements: *mut MemoryRequirements2, 22079 ) { 22080 panic!(concat!( 22081 "Unable to load ", 22082 stringify!(get_device_image_memory_requirements_khr) 22083 )) 22084 } 22085 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22086 b"vkGetDeviceImageMemoryRequirementsKHR\0", 22087 ); 22088 let val = _f(cname); 22089 if val.is_null() { 22090 get_device_image_memory_requirements_khr 22091 } else { 22092 ::std::mem::transmute(val) 22093 } 22094 }, 22095 get_device_image_sparse_memory_requirements_khr: unsafe { 22096 unsafe extern "system" fn get_device_image_sparse_memory_requirements_khr( 22097 _device: Device, 22098 _p_info: *const DeviceImageMemoryRequirements, 22099 _p_sparse_memory_requirement_count: *mut u32, 22100 _p_sparse_memory_requirements: *mut SparseImageMemoryRequirements2, 22101 ) { 22102 panic!(concat!( 22103 "Unable to load ", 22104 stringify!(get_device_image_sparse_memory_requirements_khr) 22105 )) 22106 } 22107 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22108 b"vkGetDeviceImageSparseMemoryRequirementsKHR\0", 22109 ); 22110 let val = _f(cname); 22111 if val.is_null() { 22112 get_device_image_sparse_memory_requirements_khr 22113 } else { 22114 ::std::mem::transmute(val) 22115 } 22116 }, 22117 } 22118 } 22119 } 22120 #[doc = "Generated from 'VK_KHR_maintenance4'"] 22121 impl ImageAspectFlags { 22122 pub const NONE_KHR: Self = Self::NONE; 22123 } 22124 #[doc = "Generated from 'VK_KHR_maintenance4'"] 22125 impl StructureType { 22126 pub const PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: Self = 22127 Self::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES; 22128 pub const PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: Self = 22129 Self::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES; 22130 pub const DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR: Self = Self::DEVICE_BUFFER_MEMORY_REQUIREMENTS; 22131 pub const DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR: Self = Self::DEVICE_IMAGE_MEMORY_REQUIREMENTS; 22132 } 22133 impl HuaweiExtension415Fn { 22134 #[inline] name() -> &'static ::std::ffi::CStr22135 pub const fn name() -> &'static ::std::ffi::CStr { 22136 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_extension_415\0") } 22137 } 22138 pub const SPEC_VERSION: u32 = 0u32; 22139 } 22140 #[derive(Clone)] 22141 pub struct HuaweiExtension415Fn {} 22142 unsafe impl Send for HuaweiExtension415Fn {} 22143 unsafe impl Sync for HuaweiExtension415Fn {} 22144 impl HuaweiExtension415Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22145 pub fn load<F>(mut _f: F) -> Self 22146 where 22147 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22148 { 22149 Self {} 22150 } 22151 } 22152 impl ArmShaderCorePropertiesFn { 22153 #[inline] name() -> &'static ::std::ffi::CStr22154 pub const fn name() -> &'static ::std::ffi::CStr { 22155 unsafe { 22156 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_shader_core_properties\0") 22157 } 22158 } 22159 pub const SPEC_VERSION: u32 = 1u32; 22160 } 22161 #[derive(Clone)] 22162 pub struct ArmShaderCorePropertiesFn {} 22163 unsafe impl Send for ArmShaderCorePropertiesFn {} 22164 unsafe impl Sync for ArmShaderCorePropertiesFn {} 22165 impl ArmShaderCorePropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22166 pub fn load<F>(mut _f: F) -> Self 22167 where 22168 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22169 { 22170 Self {} 22171 } 22172 } 22173 #[doc = "Generated from 'VK_ARM_shader_core_properties'"] 22174 impl StructureType { 22175 pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: Self = Self(1_000_415_000); 22176 } 22177 impl KhrExtension417Fn { 22178 #[inline] name() -> &'static ::std::ffi::CStr22179 pub const fn name() -> &'static ::std::ffi::CStr { 22180 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_417\0") } 22181 } 22182 pub const SPEC_VERSION: u32 = 0u32; 22183 } 22184 #[derive(Clone)] 22185 pub struct KhrExtension417Fn {} 22186 unsafe impl Send for KhrExtension417Fn {} 22187 unsafe impl Sync for KhrExtension417Fn {} 22188 impl KhrExtension417Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22189 pub fn load<F>(mut _f: F) -> Self 22190 where 22191 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22192 { 22193 Self {} 22194 } 22195 } 22196 impl ArmExtension418Fn { 22197 #[inline] name() -> &'static ::std::ffi::CStr22198 pub const fn name() -> &'static ::std::ffi::CStr { 22199 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_extension_418\0") } 22200 } 22201 pub const SPEC_VERSION: u32 = 0u32; 22202 } 22203 #[derive(Clone)] 22204 pub struct ArmExtension418Fn {} 22205 unsafe impl Send for ArmExtension418Fn {} 22206 unsafe impl Sync for ArmExtension418Fn {} 22207 impl ArmExtension418Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22208 pub fn load<F>(mut _f: F) -> Self 22209 where 22210 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22211 { 22212 Self {} 22213 } 22214 } 22215 impl ExtImageSlicedViewOf3dFn { 22216 #[inline] name() -> &'static ::std::ffi::CStr22217 pub const fn name() -> &'static ::std::ffi::CStr { 22218 unsafe { 22219 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_image_sliced_view_of_3d\0") 22220 } 22221 } 22222 pub const SPEC_VERSION: u32 = 1u32; 22223 } 22224 #[derive(Clone)] 22225 pub struct ExtImageSlicedViewOf3dFn {} 22226 unsafe impl Send for ExtImageSlicedViewOf3dFn {} 22227 unsafe impl Sync for ExtImageSlicedViewOf3dFn {} 22228 impl ExtImageSlicedViewOf3dFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22229 pub fn load<F>(mut _f: F) -> Self 22230 where 22231 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22232 { 22233 Self {} 22234 } 22235 } 22236 #[doc = "Generated from 'VK_EXT_image_sliced_view_of_3d'"] 22237 impl StructureType { 22238 pub const PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: Self = Self(1_000_418_000); 22239 pub const IMAGE_VIEW_SLICED_CREATE_INFO_EXT: Self = Self(1_000_418_001); 22240 } 22241 impl ExtExtension420Fn { 22242 #[inline] name() -> &'static ::std::ffi::CStr22243 pub const fn name() -> &'static ::std::ffi::CStr { 22244 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_420\0") } 22245 } 22246 pub const SPEC_VERSION: u32 = 0u32; 22247 } 22248 #[derive(Clone)] 22249 pub struct ExtExtension420Fn {} 22250 unsafe impl Send for ExtExtension420Fn {} 22251 unsafe impl Sync for ExtExtension420Fn {} 22252 impl ExtExtension420Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22253 pub fn load<F>(mut _f: F) -> Self 22254 where 22255 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22256 { 22257 Self {} 22258 } 22259 } 22260 #[doc = "Generated from 'VK_EXT_extension_420'"] 22261 impl SwapchainCreateFlagsKHR { 22262 pub const RESERVED_4_EXT: Self = Self(0b1_0000); 22263 } 22264 impl ValveDescriptorSetHostMappingFn { 22265 #[inline] name() -> &'static ::std::ffi::CStr22266 pub const fn name() -> &'static ::std::ffi::CStr { 22267 unsafe { 22268 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22269 b"VK_VALVE_descriptor_set_host_mapping\0", 22270 ) 22271 } 22272 } 22273 pub const SPEC_VERSION: u32 = 1u32; 22274 } 22275 #[allow(non_camel_case_types)] 22276 pub type PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = unsafe extern "system" fn( 22277 device: Device, 22278 p_binding_reference: *const DescriptorSetBindingReferenceVALVE, 22279 p_host_mapping: *mut DescriptorSetLayoutHostMappingInfoVALVE, 22280 ); 22281 #[allow(non_camel_case_types)] 22282 pub type PFN_vkGetDescriptorSetHostMappingVALVE = unsafe extern "system" fn( 22283 device: Device, 22284 descriptor_set: DescriptorSet, 22285 pp_data: *mut *mut c_void, 22286 ); 22287 #[derive(Clone)] 22288 pub struct ValveDescriptorSetHostMappingFn { 22289 pub get_descriptor_set_layout_host_mapping_info_valve: 22290 PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE, 22291 pub get_descriptor_set_host_mapping_valve: PFN_vkGetDescriptorSetHostMappingVALVE, 22292 } 22293 unsafe impl Send for ValveDescriptorSetHostMappingFn {} 22294 unsafe impl Sync for ValveDescriptorSetHostMappingFn {} 22295 impl ValveDescriptorSetHostMappingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22296 pub fn load<F>(mut _f: F) -> Self 22297 where 22298 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22299 { 22300 Self { 22301 get_descriptor_set_layout_host_mapping_info_valve: unsafe { 22302 unsafe extern "system" fn get_descriptor_set_layout_host_mapping_info_valve( 22303 _device: Device, 22304 _p_binding_reference: *const DescriptorSetBindingReferenceVALVE, 22305 _p_host_mapping: *mut DescriptorSetLayoutHostMappingInfoVALVE, 22306 ) { 22307 panic!(concat!( 22308 "Unable to load ", 22309 stringify!(get_descriptor_set_layout_host_mapping_info_valve) 22310 )) 22311 } 22312 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22313 b"vkGetDescriptorSetLayoutHostMappingInfoVALVE\0", 22314 ); 22315 let val = _f(cname); 22316 if val.is_null() { 22317 get_descriptor_set_layout_host_mapping_info_valve 22318 } else { 22319 ::std::mem::transmute(val) 22320 } 22321 }, 22322 get_descriptor_set_host_mapping_valve: unsafe { 22323 unsafe extern "system" fn get_descriptor_set_host_mapping_valve( 22324 _device: Device, 22325 _descriptor_set: DescriptorSet, 22326 _pp_data: *mut *mut c_void, 22327 ) { 22328 panic!(concat!( 22329 "Unable to load ", 22330 stringify!(get_descriptor_set_host_mapping_valve) 22331 )) 22332 } 22333 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22334 b"vkGetDescriptorSetHostMappingVALVE\0", 22335 ); 22336 let val = _f(cname); 22337 if val.is_null() { 22338 get_descriptor_set_host_mapping_valve 22339 } else { 22340 ::std::mem::transmute(val) 22341 } 22342 }, 22343 } 22344 } 22345 } 22346 #[doc = "Generated from 'VK_VALVE_descriptor_set_host_mapping'"] 22347 impl StructureType { 22348 pub const PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: Self = 22349 Self(1_000_420_000); 22350 pub const DESCRIPTOR_SET_BINDING_REFERENCE_VALVE: Self = Self(1_000_420_001); 22351 pub const DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: Self = Self(1_000_420_002); 22352 } 22353 impl ExtDepthClampZeroOneFn { 22354 #[inline] name() -> &'static ::std::ffi::CStr22355 pub const fn name() -> &'static ::std::ffi::CStr { 22356 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_clamp_zero_one\0") } 22357 } 22358 pub const SPEC_VERSION: u32 = 1u32; 22359 } 22360 #[derive(Clone)] 22361 pub struct ExtDepthClampZeroOneFn {} 22362 unsafe impl Send for ExtDepthClampZeroOneFn {} 22363 unsafe impl Sync for ExtDepthClampZeroOneFn {} 22364 impl ExtDepthClampZeroOneFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22365 pub fn load<F>(mut _f: F) -> Self 22366 where 22367 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22368 { 22369 Self {} 22370 } 22371 } 22372 #[doc = "Generated from 'VK_EXT_depth_clamp_zero_one'"] 22373 impl StructureType { 22374 pub const PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: Self = Self(1_000_421_000); 22375 } 22376 impl ExtNonSeamlessCubeMapFn { 22377 #[inline] name() -> &'static ::std::ffi::CStr22378 pub const fn name() -> &'static ::std::ffi::CStr { 22379 unsafe { 22380 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_non_seamless_cube_map\0") 22381 } 22382 } 22383 pub const SPEC_VERSION: u32 = 1u32; 22384 } 22385 #[derive(Clone)] 22386 pub struct ExtNonSeamlessCubeMapFn {} 22387 unsafe impl Send for ExtNonSeamlessCubeMapFn {} 22388 unsafe impl Sync for ExtNonSeamlessCubeMapFn {} 22389 impl ExtNonSeamlessCubeMapFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22390 pub fn load<F>(mut _f: F) -> Self 22391 where 22392 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22393 { 22394 Self {} 22395 } 22396 } 22397 #[doc = "Generated from 'VK_EXT_non_seamless_cube_map'"] 22398 impl SamplerCreateFlags { 22399 pub const NON_SEAMLESS_CUBE_MAP_EXT: Self = Self(0b100); 22400 } 22401 #[doc = "Generated from 'VK_EXT_non_seamless_cube_map'"] 22402 impl StructureType { 22403 pub const PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: Self = Self(1_000_422_000); 22404 } 22405 impl ArmExtension424Fn { 22406 #[inline] name() -> &'static ::std::ffi::CStr22407 pub const fn name() -> &'static ::std::ffi::CStr { 22408 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_extension_424\0") } 22409 } 22410 pub const SPEC_VERSION: u32 = 0u32; 22411 } 22412 #[derive(Clone)] 22413 pub struct ArmExtension424Fn {} 22414 unsafe impl Send for ArmExtension424Fn {} 22415 unsafe impl Sync for ArmExtension424Fn {} 22416 impl ArmExtension424Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22417 pub fn load<F>(mut _f: F) -> Self 22418 where 22419 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22420 { 22421 Self {} 22422 } 22423 } 22424 impl ArmExtension425Fn { 22425 #[inline] name() -> &'static ::std::ffi::CStr22426 pub const fn name() -> &'static ::std::ffi::CStr { 22427 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_extension_425\0") } 22428 } 22429 pub const SPEC_VERSION: u32 = 0u32; 22430 } 22431 #[derive(Clone)] 22432 pub struct ArmExtension425Fn {} 22433 unsafe impl Send for ArmExtension425Fn {} 22434 unsafe impl Sync for ArmExtension425Fn {} 22435 impl ArmExtension425Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22436 pub fn load<F>(mut _f: F) -> Self 22437 where 22438 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22439 { 22440 Self {} 22441 } 22442 } 22443 impl QcomFragmentDensityMapOffsetFn { 22444 #[inline] name() -> &'static ::std::ffi::CStr22445 pub const fn name() -> &'static ::std::ffi::CStr { 22446 unsafe { 22447 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22448 b"VK_QCOM_fragment_density_map_offset\0", 22449 ) 22450 } 22451 } 22452 pub const SPEC_VERSION: u32 = 1u32; 22453 } 22454 #[derive(Clone)] 22455 pub struct QcomFragmentDensityMapOffsetFn {} 22456 unsafe impl Send for QcomFragmentDensityMapOffsetFn {} 22457 unsafe impl Sync for QcomFragmentDensityMapOffsetFn {} 22458 impl QcomFragmentDensityMapOffsetFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22459 pub fn load<F>(mut _f: F) -> Self 22460 where 22461 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22462 { 22463 Self {} 22464 } 22465 } 22466 #[doc = "Generated from 'VK_QCOM_fragment_density_map_offset'"] 22467 impl ImageCreateFlags { 22468 pub const FRAGMENT_DENSITY_MAP_OFFSET_QCOM: Self = Self(0b1000_0000_0000_0000); 22469 } 22470 #[doc = "Generated from 'VK_QCOM_fragment_density_map_offset'"] 22471 impl StructureType { 22472 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: Self = Self(1_000_425_000); 22473 pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: Self = 22474 Self(1_000_425_001); 22475 pub const SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: Self = Self(1_000_425_002); 22476 } 22477 impl NvCopyMemoryIndirectFn { 22478 #[inline] name() -> &'static ::std::ffi::CStr22479 pub const fn name() -> &'static ::std::ffi::CStr { 22480 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_copy_memory_indirect\0") } 22481 } 22482 pub const SPEC_VERSION: u32 = 1u32; 22483 } 22484 #[allow(non_camel_case_types)] 22485 pub type PFN_vkCmdCopyMemoryIndirectNV = unsafe extern "system" fn( 22486 command_buffer: CommandBuffer, 22487 copy_buffer_address: DeviceAddress, 22488 copy_count: u32, 22489 stride: u32, 22490 ); 22491 #[allow(non_camel_case_types)] 22492 pub type PFN_vkCmdCopyMemoryToImageIndirectNV = unsafe extern "system" fn( 22493 command_buffer: CommandBuffer, 22494 copy_buffer_address: DeviceAddress, 22495 copy_count: u32, 22496 stride: u32, 22497 dst_image: Image, 22498 dst_image_layout: ImageLayout, 22499 p_image_subresources: *const ImageSubresourceLayers, 22500 ); 22501 #[derive(Clone)] 22502 pub struct NvCopyMemoryIndirectFn { 22503 pub cmd_copy_memory_indirect_nv: PFN_vkCmdCopyMemoryIndirectNV, 22504 pub cmd_copy_memory_to_image_indirect_nv: PFN_vkCmdCopyMemoryToImageIndirectNV, 22505 } 22506 unsafe impl Send for NvCopyMemoryIndirectFn {} 22507 unsafe impl Sync for NvCopyMemoryIndirectFn {} 22508 impl NvCopyMemoryIndirectFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22509 pub fn load<F>(mut _f: F) -> Self 22510 where 22511 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22512 { 22513 Self { 22514 cmd_copy_memory_indirect_nv: unsafe { 22515 unsafe extern "system" fn cmd_copy_memory_indirect_nv( 22516 _command_buffer: CommandBuffer, 22517 _copy_buffer_address: DeviceAddress, 22518 _copy_count: u32, 22519 _stride: u32, 22520 ) { 22521 panic!(concat!( 22522 "Unable to load ", 22523 stringify!(cmd_copy_memory_indirect_nv) 22524 )) 22525 } 22526 let cname = 22527 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdCopyMemoryIndirectNV\0"); 22528 let val = _f(cname); 22529 if val.is_null() { 22530 cmd_copy_memory_indirect_nv 22531 } else { 22532 ::std::mem::transmute(val) 22533 } 22534 }, 22535 cmd_copy_memory_to_image_indirect_nv: unsafe { 22536 unsafe extern "system" fn cmd_copy_memory_to_image_indirect_nv( 22537 _command_buffer: CommandBuffer, 22538 _copy_buffer_address: DeviceAddress, 22539 _copy_count: u32, 22540 _stride: u32, 22541 _dst_image: Image, 22542 _dst_image_layout: ImageLayout, 22543 _p_image_subresources: *const ImageSubresourceLayers, 22544 ) { 22545 panic!(concat!( 22546 "Unable to load ", 22547 stringify!(cmd_copy_memory_to_image_indirect_nv) 22548 )) 22549 } 22550 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22551 b"vkCmdCopyMemoryToImageIndirectNV\0", 22552 ); 22553 let val = _f(cname); 22554 if val.is_null() { 22555 cmd_copy_memory_to_image_indirect_nv 22556 } else { 22557 ::std::mem::transmute(val) 22558 } 22559 }, 22560 } 22561 } 22562 } 22563 #[doc = "Generated from 'VK_NV_copy_memory_indirect'"] 22564 impl StructureType { 22565 pub const PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: Self = Self(1_000_426_000); 22566 pub const PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: Self = Self(1_000_426_001); 22567 } 22568 impl NvMemoryDecompressionFn { 22569 #[inline] name() -> &'static ::std::ffi::CStr22570 pub const fn name() -> &'static ::std::ffi::CStr { 22571 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_memory_decompression\0") } 22572 } 22573 pub const SPEC_VERSION: u32 = 1u32; 22574 } 22575 #[allow(non_camel_case_types)] 22576 pub type PFN_vkCmdDecompressMemoryNV = unsafe extern "system" fn( 22577 command_buffer: CommandBuffer, 22578 decompress_region_count: u32, 22579 p_decompress_memory_regions: *const DecompressMemoryRegionNV, 22580 ); 22581 #[allow(non_camel_case_types)] 22582 pub type PFN_vkCmdDecompressMemoryIndirectCountNV = unsafe extern "system" fn( 22583 command_buffer: CommandBuffer, 22584 indirect_commands_address: DeviceAddress, 22585 indirect_commands_count_address: DeviceAddress, 22586 stride: u32, 22587 ); 22588 #[derive(Clone)] 22589 pub struct NvMemoryDecompressionFn { 22590 pub cmd_decompress_memory_nv: PFN_vkCmdDecompressMemoryNV, 22591 pub cmd_decompress_memory_indirect_count_nv: PFN_vkCmdDecompressMemoryIndirectCountNV, 22592 } 22593 unsafe impl Send for NvMemoryDecompressionFn {} 22594 unsafe impl Sync for NvMemoryDecompressionFn {} 22595 impl NvMemoryDecompressionFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22596 pub fn load<F>(mut _f: F) -> Self 22597 where 22598 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22599 { 22600 Self { 22601 cmd_decompress_memory_nv: unsafe { 22602 unsafe extern "system" fn cmd_decompress_memory_nv( 22603 _command_buffer: CommandBuffer, 22604 _decompress_region_count: u32, 22605 _p_decompress_memory_regions: *const DecompressMemoryRegionNV, 22606 ) { 22607 panic!(concat!( 22608 "Unable to load ", 22609 stringify!(cmd_decompress_memory_nv) 22610 )) 22611 } 22612 let cname = 22613 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDecompressMemoryNV\0"); 22614 let val = _f(cname); 22615 if val.is_null() { 22616 cmd_decompress_memory_nv 22617 } else { 22618 ::std::mem::transmute(val) 22619 } 22620 }, 22621 cmd_decompress_memory_indirect_count_nv: unsafe { 22622 unsafe extern "system" fn cmd_decompress_memory_indirect_count_nv( 22623 _command_buffer: CommandBuffer, 22624 _indirect_commands_address: DeviceAddress, 22625 _indirect_commands_count_address: DeviceAddress, 22626 _stride: u32, 22627 ) { 22628 panic!(concat!( 22629 "Unable to load ", 22630 stringify!(cmd_decompress_memory_indirect_count_nv) 22631 )) 22632 } 22633 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22634 b"vkCmdDecompressMemoryIndirectCountNV\0", 22635 ); 22636 let val = _f(cname); 22637 if val.is_null() { 22638 cmd_decompress_memory_indirect_count_nv 22639 } else { 22640 ::std::mem::transmute(val) 22641 } 22642 }, 22643 } 22644 } 22645 } 22646 #[doc = "Generated from 'VK_NV_memory_decompression'"] 22647 impl StructureType { 22648 pub const PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: Self = Self(1_000_427_000); 22649 pub const PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: Self = Self(1_000_427_001); 22650 } 22651 impl NvExtension429Fn { 22652 #[inline] name() -> &'static ::std::ffi::CStr22653 pub const fn name() -> &'static ::std::ffi::CStr { 22654 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_429\0") } 22655 } 22656 pub const SPEC_VERSION: u32 = 0u32; 22657 } 22658 #[derive(Clone)] 22659 pub struct NvExtension429Fn {} 22660 unsafe impl Send for NvExtension429Fn {} 22661 unsafe impl Sync for NvExtension429Fn {} 22662 impl NvExtension429Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22663 pub fn load<F>(mut _f: F) -> Self 22664 where 22665 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22666 { 22667 Self {} 22668 } 22669 } 22670 impl NvExtension430Fn { 22671 #[inline] name() -> &'static ::std::ffi::CStr22672 pub const fn name() -> &'static ::std::ffi::CStr { 22673 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_430\0") } 22674 } 22675 pub const SPEC_VERSION: u32 = 0u32; 22676 } 22677 #[derive(Clone)] 22678 pub struct NvExtension430Fn {} 22679 unsafe impl Send for NvExtension430Fn {} 22680 unsafe impl Sync for NvExtension430Fn {} 22681 impl NvExtension430Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22682 pub fn load<F>(mut _f: F) -> Self 22683 where 22684 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22685 { 22686 Self {} 22687 } 22688 } 22689 impl NvLinearColorAttachmentFn { 22690 #[inline] name() -> &'static ::std::ffi::CStr22691 pub const fn name() -> &'static ::std::ffi::CStr { 22692 unsafe { 22693 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_linear_color_attachment\0") 22694 } 22695 } 22696 pub const SPEC_VERSION: u32 = 1u32; 22697 } 22698 #[derive(Clone)] 22699 pub struct NvLinearColorAttachmentFn {} 22700 unsafe impl Send for NvLinearColorAttachmentFn {} 22701 unsafe impl Sync for NvLinearColorAttachmentFn {} 22702 impl NvLinearColorAttachmentFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22703 pub fn load<F>(mut _f: F) -> Self 22704 where 22705 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22706 { 22707 Self {} 22708 } 22709 } 22710 #[doc = "Generated from 'VK_NV_linear_color_attachment'"] 22711 impl FormatFeatureFlags2 { 22712 #[doc = "Format support linear image as render target, it cannot be mixed with non linear attachment"] 22713 pub const LINEAR_COLOR_ATTACHMENT_NV: Self = 22714 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000); 22715 } 22716 #[doc = "Generated from 'VK_NV_linear_color_attachment'"] 22717 impl StructureType { 22718 pub const PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: Self = Self(1_000_430_000); 22719 } 22720 impl NvExtension432Fn { 22721 #[inline] name() -> &'static ::std::ffi::CStr22722 pub const fn name() -> &'static ::std::ffi::CStr { 22723 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_432\0") } 22724 } 22725 pub const SPEC_VERSION: u32 = 0u32; 22726 } 22727 #[derive(Clone)] 22728 pub struct NvExtension432Fn {} 22729 unsafe impl Send for NvExtension432Fn {} 22730 unsafe impl Sync for NvExtension432Fn {} 22731 impl NvExtension432Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22732 pub fn load<F>(mut _f: F) -> Self 22733 where 22734 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22735 { 22736 Self {} 22737 } 22738 } 22739 impl NvExtension433Fn { 22740 #[inline] name() -> &'static ::std::ffi::CStr22741 pub const fn name() -> &'static ::std::ffi::CStr { 22742 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_433\0") } 22743 } 22744 pub const SPEC_VERSION: u32 = 0u32; 22745 } 22746 #[derive(Clone)] 22747 pub struct NvExtension433Fn {} 22748 unsafe impl Send for NvExtension433Fn {} 22749 unsafe impl Sync for NvExtension433Fn {} 22750 impl NvExtension433Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22751 pub fn load<F>(mut _f: F) -> Self 22752 where 22753 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22754 { 22755 Self {} 22756 } 22757 } 22758 impl GoogleSurfacelessQueryFn { 22759 #[inline] name() -> &'static ::std::ffi::CStr22760 pub const fn name() -> &'static ::std::ffi::CStr { 22761 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_surfaceless_query\0") } 22762 } 22763 pub const SPEC_VERSION: u32 = 2u32; 22764 } 22765 #[derive(Clone)] 22766 pub struct GoogleSurfacelessQueryFn {} 22767 unsafe impl Send for GoogleSurfacelessQueryFn {} 22768 unsafe impl Sync for GoogleSurfacelessQueryFn {} 22769 impl GoogleSurfacelessQueryFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22770 pub fn load<F>(mut _f: F) -> Self 22771 where 22772 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22773 { 22774 Self {} 22775 } 22776 } 22777 impl KhrExtension435Fn { 22778 #[inline] name() -> &'static ::std::ffi::CStr22779 pub const fn name() -> &'static ::std::ffi::CStr { 22780 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_435\0") } 22781 } 22782 pub const SPEC_VERSION: u32 = 0u32; 22783 } 22784 #[derive(Clone)] 22785 pub struct KhrExtension435Fn {} 22786 unsafe impl Send for KhrExtension435Fn {} 22787 unsafe impl Sync for KhrExtension435Fn {} 22788 impl KhrExtension435Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22789 pub fn load<F>(mut _f: F) -> Self 22790 where 22791 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22792 { 22793 Self {} 22794 } 22795 } 22796 impl ExtExtension437Fn { 22797 #[inline] name() -> &'static ::std::ffi::CStr22798 pub const fn name() -> &'static ::std::ffi::CStr { 22799 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_437\0") } 22800 } 22801 pub const SPEC_VERSION: u32 = 0u32; 22802 } 22803 #[derive(Clone)] 22804 pub struct ExtExtension437Fn {} 22805 unsafe impl Send for ExtExtension437Fn {} 22806 unsafe impl Sync for ExtExtension437Fn {} 22807 impl ExtExtension437Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22808 pub fn load<F>(mut _f: F) -> Self 22809 where 22810 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22811 { 22812 Self {} 22813 } 22814 } 22815 impl ExtImageCompressionControlSwapchainFn { 22816 #[inline] name() -> &'static ::std::ffi::CStr22817 pub const fn name() -> &'static ::std::ffi::CStr { 22818 unsafe { 22819 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 22820 b"VK_EXT_image_compression_control_swapchain\0", 22821 ) 22822 } 22823 } 22824 pub const SPEC_VERSION: u32 = 1u32; 22825 } 22826 #[derive(Clone)] 22827 pub struct ExtImageCompressionControlSwapchainFn {} 22828 unsafe impl Send for ExtImageCompressionControlSwapchainFn {} 22829 unsafe impl Sync for ExtImageCompressionControlSwapchainFn {} 22830 impl ExtImageCompressionControlSwapchainFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22831 pub fn load<F>(mut _f: F) -> Self 22832 where 22833 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22834 { 22835 Self {} 22836 } 22837 } 22838 #[doc = "Generated from 'VK_EXT_image_compression_control_swapchain'"] 22839 impl StructureType { 22840 pub const PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: Self = 22841 Self(1_000_437_000); 22842 } 22843 impl SecExtension439Fn { 22844 #[inline] name() -> &'static ::std::ffi::CStr22845 pub const fn name() -> &'static ::std::ffi::CStr { 22846 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_extension_439\0") } 22847 } 22848 pub const SPEC_VERSION: u32 = 0u32; 22849 } 22850 #[derive(Clone)] 22851 pub struct SecExtension439Fn {} 22852 unsafe impl Send for SecExtension439Fn {} 22853 unsafe impl Sync for SecExtension439Fn {} 22854 impl SecExtension439Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22855 pub fn load<F>(mut _f: F) -> Self 22856 where 22857 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22858 { 22859 Self {} 22860 } 22861 } 22862 impl QcomExtension440Fn { 22863 #[inline] name() -> &'static ::std::ffi::CStr22864 pub const fn name() -> &'static ::std::ffi::CStr { 22865 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_440\0") } 22866 } 22867 pub const SPEC_VERSION: u32 = 0u32; 22868 } 22869 #[derive(Clone)] 22870 pub struct QcomExtension440Fn {} 22871 unsafe impl Send for QcomExtension440Fn {} 22872 unsafe impl Sync for QcomExtension440Fn {} 22873 impl QcomExtension440Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22874 pub fn load<F>(mut _f: F) -> Self 22875 where 22876 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22877 { 22878 Self {} 22879 } 22880 } 22881 #[doc = "Generated from 'VK_QCOM_extension_440'"] 22882 impl DeviceQueueCreateFlags { 22883 pub const RESERVED_1_QCOM: Self = Self(0b10); 22884 } 22885 #[doc = "Generated from 'VK_QCOM_extension_440'"] 22886 impl QueueFlags { 22887 pub const RESERVED_7_QCOM: Self = Self(0b1000_0000); 22888 } 22889 impl QcomImageProcessingFn { 22890 #[inline] name() -> &'static ::std::ffi::CStr22891 pub const fn name() -> &'static ::std::ffi::CStr { 22892 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_image_processing\0") } 22893 } 22894 pub const SPEC_VERSION: u32 = 1u32; 22895 } 22896 #[derive(Clone)] 22897 pub struct QcomImageProcessingFn {} 22898 unsafe impl Send for QcomImageProcessingFn {} 22899 unsafe impl Sync for QcomImageProcessingFn {} 22900 impl QcomImageProcessingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22901 pub fn load<F>(mut _f: F) -> Self 22902 where 22903 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22904 { 22905 Self {} 22906 } 22907 } 22908 #[doc = "Generated from 'VK_QCOM_image_processing'"] 22909 impl DescriptorType { 22910 pub const SAMPLE_WEIGHT_IMAGE_QCOM: Self = Self(1_000_440_000); 22911 pub const BLOCK_MATCH_IMAGE_QCOM: Self = Self(1_000_440_001); 22912 } 22913 #[doc = "Generated from 'VK_QCOM_image_processing'"] 22914 impl FormatFeatureFlags2 { 22915 pub const WEIGHT_IMAGE_QCOM: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000); 22916 pub const WEIGHT_SAMPLED_IMAGE_QCOM: Self = 22917 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000); 22918 pub const BLOCK_MATCHING_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000); 22919 pub const BOX_FILTER_SAMPLED_QCOM: Self = 22920 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000); 22921 } 22922 #[doc = "Generated from 'VK_QCOM_image_processing'"] 22923 impl ImageUsageFlags { 22924 pub const SAMPLE_WEIGHT_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000); 22925 pub const SAMPLE_BLOCK_MATCH_QCOM: Self = Self(0b10_0000_0000_0000_0000_0000); 22926 } 22927 #[doc = "Generated from 'VK_QCOM_image_processing'"] 22928 impl SamplerCreateFlags { 22929 pub const IMAGE_PROCESSING_QCOM: Self = Self(0b1_0000); 22930 } 22931 #[doc = "Generated from 'VK_QCOM_image_processing'"] 22932 impl StructureType { 22933 pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: Self = Self(1_000_440_000); 22934 pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: Self = Self(1_000_440_001); 22935 pub const IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: Self = Self(1_000_440_002); 22936 } 22937 impl CoreaviExtension442Fn { 22938 #[inline] name() -> &'static ::std::ffi::CStr22939 pub const fn name() -> &'static ::std::ffi::CStr { 22940 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_442\0") } 22941 } 22942 pub const SPEC_VERSION: u32 = 0u32; 22943 } 22944 #[derive(Clone)] 22945 pub struct CoreaviExtension442Fn {} 22946 unsafe impl Send for CoreaviExtension442Fn {} 22947 unsafe impl Sync for CoreaviExtension442Fn {} 22948 impl CoreaviExtension442Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22949 pub fn load<F>(mut _f: F) -> Self 22950 where 22951 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22952 { 22953 Self {} 22954 } 22955 } 22956 impl CoreaviExtension443Fn { 22957 #[inline] name() -> &'static ::std::ffi::CStr22958 pub const fn name() -> &'static ::std::ffi::CStr { 22959 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_443\0") } 22960 } 22961 pub const SPEC_VERSION: u32 = 0u32; 22962 } 22963 #[derive(Clone)] 22964 pub struct CoreaviExtension443Fn {} 22965 unsafe impl Send for CoreaviExtension443Fn {} 22966 unsafe impl Sync for CoreaviExtension443Fn {} 22967 impl CoreaviExtension443Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22968 pub fn load<F>(mut _f: F) -> Self 22969 where 22970 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22971 { 22972 Self {} 22973 } 22974 } 22975 impl CoreaviExtension444Fn { 22976 #[inline] name() -> &'static ::std::ffi::CStr22977 pub const fn name() -> &'static ::std::ffi::CStr { 22978 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_444\0") } 22979 } 22980 pub const SPEC_VERSION: u32 = 0u32; 22981 } 22982 #[derive(Clone)] 22983 pub struct CoreaviExtension444Fn {} 22984 unsafe impl Send for CoreaviExtension444Fn {} 22985 unsafe impl Sync for CoreaviExtension444Fn {} 22986 impl CoreaviExtension444Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,22987 pub fn load<F>(mut _f: F) -> Self 22988 where 22989 F: FnMut(&::std::ffi::CStr) -> *const c_void, 22990 { 22991 Self {} 22992 } 22993 } 22994 #[doc = "Generated from 'VK_COREAVI_extension_444'"] 22995 impl CommandPoolResetFlags { 22996 pub const RESERVED_1_COREAVI: Self = Self(0b10); 22997 } 22998 impl CoreaviExtension445Fn { 22999 #[inline] name() -> &'static ::std::ffi::CStr23000 pub const fn name() -> &'static ::std::ffi::CStr { 23001 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_445\0") } 23002 } 23003 pub const SPEC_VERSION: u32 = 0u32; 23004 } 23005 #[derive(Clone)] 23006 pub struct CoreaviExtension445Fn {} 23007 unsafe impl Send for CoreaviExtension445Fn {} 23008 unsafe impl Sync for CoreaviExtension445Fn {} 23009 impl CoreaviExtension445Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23010 pub fn load<F>(mut _f: F) -> Self 23011 where 23012 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23013 { 23014 Self {} 23015 } 23016 } 23017 impl CoreaviExtension446Fn { 23018 #[inline] name() -> &'static ::std::ffi::CStr23019 pub const fn name() -> &'static ::std::ffi::CStr { 23020 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_446\0") } 23021 } 23022 pub const SPEC_VERSION: u32 = 0u32; 23023 } 23024 #[derive(Clone)] 23025 pub struct CoreaviExtension446Fn {} 23026 unsafe impl Send for CoreaviExtension446Fn {} 23027 unsafe impl Sync for CoreaviExtension446Fn {} 23028 impl CoreaviExtension446Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23029 pub fn load<F>(mut _f: F) -> Self 23030 where 23031 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23032 { 23033 Self {} 23034 } 23035 } 23036 impl CoreaviExtension447Fn { 23037 #[inline] name() -> &'static ::std::ffi::CStr23038 pub const fn name() -> &'static ::std::ffi::CStr { 23039 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_COREAVI_extension_447\0") } 23040 } 23041 pub const SPEC_VERSION: u32 = 0u32; 23042 } 23043 #[derive(Clone)] 23044 pub struct CoreaviExtension447Fn {} 23045 unsafe impl Send for CoreaviExtension447Fn {} 23046 unsafe impl Sync for CoreaviExtension447Fn {} 23047 impl CoreaviExtension447Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23048 pub fn load<F>(mut _f: F) -> Self 23049 where 23050 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23051 { 23052 Self {} 23053 } 23054 } 23055 impl SecExtension448Fn { 23056 #[inline] name() -> &'static ::std::ffi::CStr23057 pub const fn name() -> &'static ::std::ffi::CStr { 23058 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_extension_448\0") } 23059 } 23060 pub const SPEC_VERSION: u32 = 0u32; 23061 } 23062 #[derive(Clone)] 23063 pub struct SecExtension448Fn {} 23064 unsafe impl Send for SecExtension448Fn {} 23065 unsafe impl Sync for SecExtension448Fn {} 23066 impl SecExtension448Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23067 pub fn load<F>(mut _f: F) -> Self 23068 where 23069 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23070 { 23071 Self {} 23072 } 23073 } 23074 impl SecExtension449Fn { 23075 #[inline] name() -> &'static ::std::ffi::CStr23076 pub const fn name() -> &'static ::std::ffi::CStr { 23077 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_extension_449\0") } 23078 } 23079 pub const SPEC_VERSION: u32 = 0u32; 23080 } 23081 #[derive(Clone)] 23082 pub struct SecExtension449Fn {} 23083 unsafe impl Send for SecExtension449Fn {} 23084 unsafe impl Sync for SecExtension449Fn {} 23085 impl SecExtension449Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23086 pub fn load<F>(mut _f: F) -> Self 23087 where 23088 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23089 { 23090 Self {} 23091 } 23092 } 23093 impl SecExtension450Fn { 23094 #[inline] name() -> &'static ::std::ffi::CStr23095 pub const fn name() -> &'static ::std::ffi::CStr { 23096 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_extension_450\0") } 23097 } 23098 pub const SPEC_VERSION: u32 = 0u32; 23099 } 23100 #[derive(Clone)] 23101 pub struct SecExtension450Fn {} 23102 unsafe impl Send for SecExtension450Fn {} 23103 unsafe impl Sync for SecExtension450Fn {} 23104 impl SecExtension450Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23105 pub fn load<F>(mut _f: F) -> Self 23106 where 23107 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23108 { 23109 Self {} 23110 } 23111 } 23112 impl SecExtension451Fn { 23113 #[inline] name() -> &'static ::std::ffi::CStr23114 pub const fn name() -> &'static ::std::ffi::CStr { 23115 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_extension_451\0") } 23116 } 23117 pub const SPEC_VERSION: u32 = 0u32; 23118 } 23119 #[derive(Clone)] 23120 pub struct SecExtension451Fn {} 23121 unsafe impl Send for SecExtension451Fn {} 23122 unsafe impl Sync for SecExtension451Fn {} 23123 impl SecExtension451Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23124 pub fn load<F>(mut _f: F) -> Self 23125 where 23126 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23127 { 23128 Self {} 23129 } 23130 } 23131 impl NvExtension452Fn { 23132 #[inline] name() -> &'static ::std::ffi::CStr23133 pub const fn name() -> &'static ::std::ffi::CStr { 23134 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_452\0") } 23135 } 23136 pub const SPEC_VERSION: u32 = 0u32; 23137 } 23138 #[derive(Clone)] 23139 pub struct NvExtension452Fn {} 23140 unsafe impl Send for NvExtension452Fn {} 23141 unsafe impl Sync for NvExtension452Fn {} 23142 impl NvExtension452Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23143 pub fn load<F>(mut _f: F) -> Self 23144 where 23145 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23146 { 23147 Self {} 23148 } 23149 } 23150 impl ArmExtension453Fn { 23151 #[inline] name() -> &'static ::std::ffi::CStr23152 pub const fn name() -> &'static ::std::ffi::CStr { 23153 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_extension_453\0") } 23154 } 23155 pub const SPEC_VERSION: u32 = 0u32; 23156 } 23157 #[derive(Clone)] 23158 pub struct ArmExtension453Fn {} 23159 unsafe impl Send for ArmExtension453Fn {} 23160 unsafe impl Sync for ArmExtension453Fn {} 23161 impl ArmExtension453Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23162 pub fn load<F>(mut _f: F) -> Self 23163 where 23164 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23165 { 23166 Self {} 23167 } 23168 } 23169 #[doc = "Generated from 'VK_ARM_extension_453'"] 23170 impl AccessFlags2 { 23171 pub const RESERVED_49_ARM: Self = 23172 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 23173 pub const RESERVED_50_ARM: Self = 23174 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 23175 } 23176 #[doc = "Generated from 'VK_ARM_extension_453'"] 23177 impl PipelineStageFlags2 { 23178 pub const RESERVED_43_ARM: Self = 23179 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 23180 } 23181 #[doc = "Generated from 'VK_ARM_extension_453'"] 23182 impl QueueFlags { 23183 pub const RESERVED_11_ARM: Self = Self(0b1000_0000_0000); 23184 } 23185 impl GoogleExtension454Fn { 23186 #[inline] name() -> &'static ::std::ffi::CStr23187 pub const fn name() -> &'static ::std::ffi::CStr { 23188 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_454\0") } 23189 } 23190 pub const SPEC_VERSION: u32 = 0u32; 23191 } 23192 #[derive(Clone)] 23193 pub struct GoogleExtension454Fn {} 23194 unsafe impl Send for GoogleExtension454Fn {} 23195 unsafe impl Sync for GoogleExtension454Fn {} 23196 impl GoogleExtension454Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23197 pub fn load<F>(mut _f: F) -> Self 23198 where 23199 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23200 { 23201 Self {} 23202 } 23203 } 23204 impl GoogleExtension455Fn { 23205 #[inline] name() -> &'static ::std::ffi::CStr23206 pub const fn name() -> &'static ::std::ffi::CStr { 23207 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_extension_455\0") } 23208 } 23209 pub const SPEC_VERSION: u32 = 0u32; 23210 } 23211 #[derive(Clone)] 23212 pub struct GoogleExtension455Fn {} 23213 unsafe impl Send for GoogleExtension455Fn {} 23214 unsafe impl Sync for GoogleExtension455Fn {} 23215 impl GoogleExtension455Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23216 pub fn load<F>(mut _f: F) -> Self 23217 where 23218 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23219 { 23220 Self {} 23221 } 23222 } 23223 impl ExtExtendedDynamicState3Fn { 23224 #[inline] name() -> &'static ::std::ffi::CStr23225 pub const fn name() -> &'static ::std::ffi::CStr { 23226 unsafe { 23227 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extended_dynamic_state3\0") 23228 } 23229 } 23230 pub const SPEC_VERSION: u32 = 2u32; 23231 } 23232 #[allow(non_camel_case_types)] 23233 pub type PFN_vkCmdSetTessellationDomainOriginEXT = unsafe extern "system" fn( 23234 command_buffer: CommandBuffer, 23235 domain_origin: TessellationDomainOrigin, 23236 ); 23237 #[allow(non_camel_case_types)] 23238 pub type PFN_vkCmdSetDepthClampEnableEXT = 23239 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_clamp_enable: Bool32); 23240 #[allow(non_camel_case_types)] 23241 pub type PFN_vkCmdSetPolygonModeEXT = 23242 unsafe extern "system" fn(command_buffer: CommandBuffer, polygon_mode: PolygonMode); 23243 #[allow(non_camel_case_types)] 23244 pub type PFN_vkCmdSetRasterizationSamplesEXT = unsafe extern "system" fn( 23245 command_buffer: CommandBuffer, 23246 rasterization_samples: SampleCountFlags, 23247 ); 23248 #[allow(non_camel_case_types)] 23249 pub type PFN_vkCmdSetSampleMaskEXT = unsafe extern "system" fn( 23250 command_buffer: CommandBuffer, 23251 samples: SampleCountFlags, 23252 p_sample_mask: *const SampleMask, 23253 ); 23254 #[allow(non_camel_case_types)] 23255 pub type PFN_vkCmdSetAlphaToCoverageEnableEXT = 23256 unsafe extern "system" fn(command_buffer: CommandBuffer, alpha_to_coverage_enable: Bool32); 23257 #[allow(non_camel_case_types)] 23258 pub type PFN_vkCmdSetAlphaToOneEnableEXT = 23259 unsafe extern "system" fn(command_buffer: CommandBuffer, alpha_to_one_enable: Bool32); 23260 #[allow(non_camel_case_types)] 23261 pub type PFN_vkCmdSetLogicOpEnableEXT = 23262 unsafe extern "system" fn(command_buffer: CommandBuffer, logic_op_enable: Bool32); 23263 #[allow(non_camel_case_types)] 23264 pub type PFN_vkCmdSetColorBlendEnableEXT = unsafe extern "system" fn( 23265 command_buffer: CommandBuffer, 23266 first_attachment: u32, 23267 attachment_count: u32, 23268 p_color_blend_enables: *const Bool32, 23269 ); 23270 #[allow(non_camel_case_types)] 23271 pub type PFN_vkCmdSetColorBlendEquationEXT = unsafe extern "system" fn( 23272 command_buffer: CommandBuffer, 23273 first_attachment: u32, 23274 attachment_count: u32, 23275 p_color_blend_equations: *const ColorBlendEquationEXT, 23276 ); 23277 #[allow(non_camel_case_types)] 23278 pub type PFN_vkCmdSetColorWriteMaskEXT = unsafe extern "system" fn( 23279 command_buffer: CommandBuffer, 23280 first_attachment: u32, 23281 attachment_count: u32, 23282 p_color_write_masks: *const ColorComponentFlags, 23283 ); 23284 #[allow(non_camel_case_types)] 23285 pub type PFN_vkCmdSetRasterizationStreamEXT = 23286 unsafe extern "system" fn(command_buffer: CommandBuffer, rasterization_stream: u32); 23287 #[allow(non_camel_case_types)] 23288 pub type PFN_vkCmdSetConservativeRasterizationModeEXT = unsafe extern "system" fn( 23289 command_buffer: CommandBuffer, 23290 conservative_rasterization_mode: ConservativeRasterizationModeEXT, 23291 ); 23292 #[allow(non_camel_case_types)] 23293 pub type PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT = unsafe extern "system" fn( 23294 command_buffer: CommandBuffer, 23295 extra_primitive_overestimation_size: f32, 23296 ); 23297 #[allow(non_camel_case_types)] 23298 pub type PFN_vkCmdSetDepthClipEnableEXT = 23299 unsafe extern "system" fn(command_buffer: CommandBuffer, depth_clip_enable: Bool32); 23300 #[allow(non_camel_case_types)] 23301 pub type PFN_vkCmdSetSampleLocationsEnableEXT = 23302 unsafe extern "system" fn(command_buffer: CommandBuffer, sample_locations_enable: Bool32); 23303 #[allow(non_camel_case_types)] 23304 pub type PFN_vkCmdSetColorBlendAdvancedEXT = unsafe extern "system" fn( 23305 command_buffer: CommandBuffer, 23306 first_attachment: u32, 23307 attachment_count: u32, 23308 p_color_blend_advanced: *const ColorBlendAdvancedEXT, 23309 ); 23310 #[allow(non_camel_case_types)] 23311 pub type PFN_vkCmdSetProvokingVertexModeEXT = unsafe extern "system" fn( 23312 command_buffer: CommandBuffer, 23313 provoking_vertex_mode: ProvokingVertexModeEXT, 23314 ); 23315 #[allow(non_camel_case_types)] 23316 pub type PFN_vkCmdSetLineRasterizationModeEXT = unsafe extern "system" fn( 23317 command_buffer: CommandBuffer, 23318 line_rasterization_mode: LineRasterizationModeEXT, 23319 ); 23320 #[allow(non_camel_case_types)] 23321 pub type PFN_vkCmdSetLineStippleEnableEXT = 23322 unsafe extern "system" fn(command_buffer: CommandBuffer, stippled_line_enable: Bool32); 23323 #[allow(non_camel_case_types)] 23324 pub type PFN_vkCmdSetDepthClipNegativeOneToOneEXT = 23325 unsafe extern "system" fn(command_buffer: CommandBuffer, negative_one_to_one: Bool32); 23326 #[allow(non_camel_case_types)] 23327 pub type PFN_vkCmdSetViewportWScalingEnableNV = 23328 unsafe extern "system" fn(command_buffer: CommandBuffer, viewport_w_scaling_enable: Bool32); 23329 #[allow(non_camel_case_types)] 23330 pub type PFN_vkCmdSetViewportSwizzleNV = unsafe extern "system" fn( 23331 command_buffer: CommandBuffer, 23332 first_viewport: u32, 23333 viewport_count: u32, 23334 p_viewport_swizzles: *const ViewportSwizzleNV, 23335 ); 23336 #[allow(non_camel_case_types)] 23337 pub type PFN_vkCmdSetCoverageToColorEnableNV = 23338 unsafe extern "system" fn(command_buffer: CommandBuffer, coverage_to_color_enable: Bool32); 23339 #[allow(non_camel_case_types)] 23340 pub type PFN_vkCmdSetCoverageToColorLocationNV = 23341 unsafe extern "system" fn(command_buffer: CommandBuffer, coverage_to_color_location: u32); 23342 #[allow(non_camel_case_types)] 23343 pub type PFN_vkCmdSetCoverageModulationModeNV = unsafe extern "system" fn( 23344 command_buffer: CommandBuffer, 23345 coverage_modulation_mode: CoverageModulationModeNV, 23346 ); 23347 #[allow(non_camel_case_types)] 23348 pub type PFN_vkCmdSetCoverageModulationTableEnableNV = unsafe extern "system" fn( 23349 command_buffer: CommandBuffer, 23350 coverage_modulation_table_enable: Bool32, 23351 ); 23352 #[allow(non_camel_case_types)] 23353 pub type PFN_vkCmdSetCoverageModulationTableNV = unsafe extern "system" fn( 23354 command_buffer: CommandBuffer, 23355 coverage_modulation_table_count: u32, 23356 p_coverage_modulation_table: *const f32, 23357 ); 23358 #[allow(non_camel_case_types)] 23359 pub type PFN_vkCmdSetShadingRateImageEnableNV = 23360 unsafe extern "system" fn(command_buffer: CommandBuffer, shading_rate_image_enable: Bool32); 23361 #[allow(non_camel_case_types)] 23362 pub type PFN_vkCmdSetRepresentativeFragmentTestEnableNV = unsafe extern "system" fn( 23363 command_buffer: CommandBuffer, 23364 representative_fragment_test_enable: Bool32, 23365 ); 23366 #[allow(non_camel_case_types)] 23367 pub type PFN_vkCmdSetCoverageReductionModeNV = unsafe extern "system" fn( 23368 command_buffer: CommandBuffer, 23369 coverage_reduction_mode: CoverageReductionModeNV, 23370 ); 23371 #[derive(Clone)] 23372 pub struct ExtExtendedDynamicState3Fn { 23373 pub cmd_set_tessellation_domain_origin_ext: PFN_vkCmdSetTessellationDomainOriginEXT, 23374 pub cmd_set_depth_clamp_enable_ext: PFN_vkCmdSetDepthClampEnableEXT, 23375 pub cmd_set_polygon_mode_ext: PFN_vkCmdSetPolygonModeEXT, 23376 pub cmd_set_rasterization_samples_ext: PFN_vkCmdSetRasterizationSamplesEXT, 23377 pub cmd_set_sample_mask_ext: PFN_vkCmdSetSampleMaskEXT, 23378 pub cmd_set_alpha_to_coverage_enable_ext: PFN_vkCmdSetAlphaToCoverageEnableEXT, 23379 pub cmd_set_alpha_to_one_enable_ext: PFN_vkCmdSetAlphaToOneEnableEXT, 23380 pub cmd_set_logic_op_enable_ext: PFN_vkCmdSetLogicOpEnableEXT, 23381 pub cmd_set_color_blend_enable_ext: PFN_vkCmdSetColorBlendEnableEXT, 23382 pub cmd_set_color_blend_equation_ext: PFN_vkCmdSetColorBlendEquationEXT, 23383 pub cmd_set_color_write_mask_ext: PFN_vkCmdSetColorWriteMaskEXT, 23384 pub cmd_set_rasterization_stream_ext: PFN_vkCmdSetRasterizationStreamEXT, 23385 pub cmd_set_conservative_rasterization_mode_ext: PFN_vkCmdSetConservativeRasterizationModeEXT, 23386 pub cmd_set_extra_primitive_overestimation_size_ext: 23387 PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT, 23388 pub cmd_set_depth_clip_enable_ext: PFN_vkCmdSetDepthClipEnableEXT, 23389 pub cmd_set_sample_locations_enable_ext: PFN_vkCmdSetSampleLocationsEnableEXT, 23390 pub cmd_set_color_blend_advanced_ext: PFN_vkCmdSetColorBlendAdvancedEXT, 23391 pub cmd_set_provoking_vertex_mode_ext: PFN_vkCmdSetProvokingVertexModeEXT, 23392 pub cmd_set_line_rasterization_mode_ext: PFN_vkCmdSetLineRasterizationModeEXT, 23393 pub cmd_set_line_stipple_enable_ext: PFN_vkCmdSetLineStippleEnableEXT, 23394 pub cmd_set_depth_clip_negative_one_to_one_ext: PFN_vkCmdSetDepthClipNegativeOneToOneEXT, 23395 pub cmd_set_viewport_w_scaling_enable_nv: PFN_vkCmdSetViewportWScalingEnableNV, 23396 pub cmd_set_viewport_swizzle_nv: PFN_vkCmdSetViewportSwizzleNV, 23397 pub cmd_set_coverage_to_color_enable_nv: PFN_vkCmdSetCoverageToColorEnableNV, 23398 pub cmd_set_coverage_to_color_location_nv: PFN_vkCmdSetCoverageToColorLocationNV, 23399 pub cmd_set_coverage_modulation_mode_nv: PFN_vkCmdSetCoverageModulationModeNV, 23400 pub cmd_set_coverage_modulation_table_enable_nv: PFN_vkCmdSetCoverageModulationTableEnableNV, 23401 pub cmd_set_coverage_modulation_table_nv: PFN_vkCmdSetCoverageModulationTableNV, 23402 pub cmd_set_shading_rate_image_enable_nv: PFN_vkCmdSetShadingRateImageEnableNV, 23403 pub cmd_set_representative_fragment_test_enable_nv: 23404 PFN_vkCmdSetRepresentativeFragmentTestEnableNV, 23405 pub cmd_set_coverage_reduction_mode_nv: PFN_vkCmdSetCoverageReductionModeNV, 23406 } 23407 unsafe impl Send for ExtExtendedDynamicState3Fn {} 23408 unsafe impl Sync for ExtExtendedDynamicState3Fn {} 23409 impl ExtExtendedDynamicState3Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,23410 pub fn load<F>(mut _f: F) -> Self 23411 where 23412 F: FnMut(&::std::ffi::CStr) -> *const c_void, 23413 { 23414 Self { 23415 cmd_set_tessellation_domain_origin_ext: unsafe { 23416 unsafe extern "system" fn cmd_set_tessellation_domain_origin_ext( 23417 _command_buffer: CommandBuffer, 23418 _domain_origin: TessellationDomainOrigin, 23419 ) { 23420 panic!(concat!( 23421 "Unable to load ", 23422 stringify!(cmd_set_tessellation_domain_origin_ext) 23423 )) 23424 } 23425 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23426 b"vkCmdSetTessellationDomainOriginEXT\0", 23427 ); 23428 let val = _f(cname); 23429 if val.is_null() { 23430 cmd_set_tessellation_domain_origin_ext 23431 } else { 23432 ::std::mem::transmute(val) 23433 } 23434 }, 23435 cmd_set_depth_clamp_enable_ext: unsafe { 23436 unsafe extern "system" fn cmd_set_depth_clamp_enable_ext( 23437 _command_buffer: CommandBuffer, 23438 _depth_clamp_enable: Bool32, 23439 ) { 23440 panic!(concat!( 23441 "Unable to load ", 23442 stringify!(cmd_set_depth_clamp_enable_ext) 23443 )) 23444 } 23445 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23446 b"vkCmdSetDepthClampEnableEXT\0", 23447 ); 23448 let val = _f(cname); 23449 if val.is_null() { 23450 cmd_set_depth_clamp_enable_ext 23451 } else { 23452 ::std::mem::transmute(val) 23453 } 23454 }, 23455 cmd_set_polygon_mode_ext: unsafe { 23456 unsafe extern "system" fn cmd_set_polygon_mode_ext( 23457 _command_buffer: CommandBuffer, 23458 _polygon_mode: PolygonMode, 23459 ) { 23460 panic!(concat!( 23461 "Unable to load ", 23462 stringify!(cmd_set_polygon_mode_ext) 23463 )) 23464 } 23465 let cname = 23466 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetPolygonModeEXT\0"); 23467 let val = _f(cname); 23468 if val.is_null() { 23469 cmd_set_polygon_mode_ext 23470 } else { 23471 ::std::mem::transmute(val) 23472 } 23473 }, 23474 cmd_set_rasterization_samples_ext: unsafe { 23475 unsafe extern "system" fn cmd_set_rasterization_samples_ext( 23476 _command_buffer: CommandBuffer, 23477 _rasterization_samples: SampleCountFlags, 23478 ) { 23479 panic!(concat!( 23480 "Unable to load ", 23481 stringify!(cmd_set_rasterization_samples_ext) 23482 )) 23483 } 23484 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23485 b"vkCmdSetRasterizationSamplesEXT\0", 23486 ); 23487 let val = _f(cname); 23488 if val.is_null() { 23489 cmd_set_rasterization_samples_ext 23490 } else { 23491 ::std::mem::transmute(val) 23492 } 23493 }, 23494 cmd_set_sample_mask_ext: unsafe { 23495 unsafe extern "system" fn cmd_set_sample_mask_ext( 23496 _command_buffer: CommandBuffer, 23497 _samples: SampleCountFlags, 23498 _p_sample_mask: *const SampleMask, 23499 ) { 23500 panic!(concat!( 23501 "Unable to load ", 23502 stringify!(cmd_set_sample_mask_ext) 23503 )) 23504 } 23505 let cname = 23506 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetSampleMaskEXT\0"); 23507 let val = _f(cname); 23508 if val.is_null() { 23509 cmd_set_sample_mask_ext 23510 } else { 23511 ::std::mem::transmute(val) 23512 } 23513 }, 23514 cmd_set_alpha_to_coverage_enable_ext: unsafe { 23515 unsafe extern "system" fn cmd_set_alpha_to_coverage_enable_ext( 23516 _command_buffer: CommandBuffer, 23517 _alpha_to_coverage_enable: Bool32, 23518 ) { 23519 panic!(concat!( 23520 "Unable to load ", 23521 stringify!(cmd_set_alpha_to_coverage_enable_ext) 23522 )) 23523 } 23524 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23525 b"vkCmdSetAlphaToCoverageEnableEXT\0", 23526 ); 23527 let val = _f(cname); 23528 if val.is_null() { 23529 cmd_set_alpha_to_coverage_enable_ext 23530 } else { 23531 ::std::mem::transmute(val) 23532 } 23533 }, 23534 cmd_set_alpha_to_one_enable_ext: unsafe { 23535 unsafe extern "system" fn cmd_set_alpha_to_one_enable_ext( 23536 _command_buffer: CommandBuffer, 23537 _alpha_to_one_enable: Bool32, 23538 ) { 23539 panic!(concat!( 23540 "Unable to load ", 23541 stringify!(cmd_set_alpha_to_one_enable_ext) 23542 )) 23543 } 23544 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23545 b"vkCmdSetAlphaToOneEnableEXT\0", 23546 ); 23547 let val = _f(cname); 23548 if val.is_null() { 23549 cmd_set_alpha_to_one_enable_ext 23550 } else { 23551 ::std::mem::transmute(val) 23552 } 23553 }, 23554 cmd_set_logic_op_enable_ext: unsafe { 23555 unsafe extern "system" fn cmd_set_logic_op_enable_ext( 23556 _command_buffer: CommandBuffer, 23557 _logic_op_enable: Bool32, 23558 ) { 23559 panic!(concat!( 23560 "Unable to load ", 23561 stringify!(cmd_set_logic_op_enable_ext) 23562 )) 23563 } 23564 let cname = 23565 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLogicOpEnableEXT\0"); 23566 let val = _f(cname); 23567 if val.is_null() { 23568 cmd_set_logic_op_enable_ext 23569 } else { 23570 ::std::mem::transmute(val) 23571 } 23572 }, 23573 cmd_set_color_blend_enable_ext: unsafe { 23574 unsafe extern "system" fn cmd_set_color_blend_enable_ext( 23575 _command_buffer: CommandBuffer, 23576 _first_attachment: u32, 23577 _attachment_count: u32, 23578 _p_color_blend_enables: *const Bool32, 23579 ) { 23580 panic!(concat!( 23581 "Unable to load ", 23582 stringify!(cmd_set_color_blend_enable_ext) 23583 )) 23584 } 23585 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23586 b"vkCmdSetColorBlendEnableEXT\0", 23587 ); 23588 let val = _f(cname); 23589 if val.is_null() { 23590 cmd_set_color_blend_enable_ext 23591 } else { 23592 ::std::mem::transmute(val) 23593 } 23594 }, 23595 cmd_set_color_blend_equation_ext: unsafe { 23596 unsafe extern "system" fn cmd_set_color_blend_equation_ext( 23597 _command_buffer: CommandBuffer, 23598 _first_attachment: u32, 23599 _attachment_count: u32, 23600 _p_color_blend_equations: *const ColorBlendEquationEXT, 23601 ) { 23602 panic!(concat!( 23603 "Unable to load ", 23604 stringify!(cmd_set_color_blend_equation_ext) 23605 )) 23606 } 23607 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23608 b"vkCmdSetColorBlendEquationEXT\0", 23609 ); 23610 let val = _f(cname); 23611 if val.is_null() { 23612 cmd_set_color_blend_equation_ext 23613 } else { 23614 ::std::mem::transmute(val) 23615 } 23616 }, 23617 cmd_set_color_write_mask_ext: unsafe { 23618 unsafe extern "system" fn cmd_set_color_write_mask_ext( 23619 _command_buffer: CommandBuffer, 23620 _first_attachment: u32, 23621 _attachment_count: u32, 23622 _p_color_write_masks: *const ColorComponentFlags, 23623 ) { 23624 panic!(concat!( 23625 "Unable to load ", 23626 stringify!(cmd_set_color_write_mask_ext) 23627 )) 23628 } 23629 let cname = 23630 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetColorWriteMaskEXT\0"); 23631 let val = _f(cname); 23632 if val.is_null() { 23633 cmd_set_color_write_mask_ext 23634 } else { 23635 ::std::mem::transmute(val) 23636 } 23637 }, 23638 cmd_set_rasterization_stream_ext: unsafe { 23639 unsafe extern "system" fn cmd_set_rasterization_stream_ext( 23640 _command_buffer: CommandBuffer, 23641 _rasterization_stream: u32, 23642 ) { 23643 panic!(concat!( 23644 "Unable to load ", 23645 stringify!(cmd_set_rasterization_stream_ext) 23646 )) 23647 } 23648 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23649 b"vkCmdSetRasterizationStreamEXT\0", 23650 ); 23651 let val = _f(cname); 23652 if val.is_null() { 23653 cmd_set_rasterization_stream_ext 23654 } else { 23655 ::std::mem::transmute(val) 23656 } 23657 }, 23658 cmd_set_conservative_rasterization_mode_ext: unsafe { 23659 unsafe extern "system" fn cmd_set_conservative_rasterization_mode_ext( 23660 _command_buffer: CommandBuffer, 23661 _conservative_rasterization_mode: ConservativeRasterizationModeEXT, 23662 ) { 23663 panic!(concat!( 23664 "Unable to load ", 23665 stringify!(cmd_set_conservative_rasterization_mode_ext) 23666 )) 23667 } 23668 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23669 b"vkCmdSetConservativeRasterizationModeEXT\0", 23670 ); 23671 let val = _f(cname); 23672 if val.is_null() { 23673 cmd_set_conservative_rasterization_mode_ext 23674 } else { 23675 ::std::mem::transmute(val) 23676 } 23677 }, 23678 cmd_set_extra_primitive_overestimation_size_ext: unsafe { 23679 unsafe extern "system" fn cmd_set_extra_primitive_overestimation_size_ext( 23680 _command_buffer: CommandBuffer, 23681 _extra_primitive_overestimation_size: f32, 23682 ) { 23683 panic!(concat!( 23684 "Unable to load ", 23685 stringify!(cmd_set_extra_primitive_overestimation_size_ext) 23686 )) 23687 } 23688 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23689 b"vkCmdSetExtraPrimitiveOverestimationSizeEXT\0", 23690 ); 23691 let val = _f(cname); 23692 if val.is_null() { 23693 cmd_set_extra_primitive_overestimation_size_ext 23694 } else { 23695 ::std::mem::transmute(val) 23696 } 23697 }, 23698 cmd_set_depth_clip_enable_ext: unsafe { 23699 unsafe extern "system" fn cmd_set_depth_clip_enable_ext( 23700 _command_buffer: CommandBuffer, 23701 _depth_clip_enable: Bool32, 23702 ) { 23703 panic!(concat!( 23704 "Unable to load ", 23705 stringify!(cmd_set_depth_clip_enable_ext) 23706 )) 23707 } 23708 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23709 b"vkCmdSetDepthClipEnableEXT\0", 23710 ); 23711 let val = _f(cname); 23712 if val.is_null() { 23713 cmd_set_depth_clip_enable_ext 23714 } else { 23715 ::std::mem::transmute(val) 23716 } 23717 }, 23718 cmd_set_sample_locations_enable_ext: unsafe { 23719 unsafe extern "system" fn cmd_set_sample_locations_enable_ext( 23720 _command_buffer: CommandBuffer, 23721 _sample_locations_enable: Bool32, 23722 ) { 23723 panic!(concat!( 23724 "Unable to load ", 23725 stringify!(cmd_set_sample_locations_enable_ext) 23726 )) 23727 } 23728 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23729 b"vkCmdSetSampleLocationsEnableEXT\0", 23730 ); 23731 let val = _f(cname); 23732 if val.is_null() { 23733 cmd_set_sample_locations_enable_ext 23734 } else { 23735 ::std::mem::transmute(val) 23736 } 23737 }, 23738 cmd_set_color_blend_advanced_ext: unsafe { 23739 unsafe extern "system" fn cmd_set_color_blend_advanced_ext( 23740 _command_buffer: CommandBuffer, 23741 _first_attachment: u32, 23742 _attachment_count: u32, 23743 _p_color_blend_advanced: *const ColorBlendAdvancedEXT, 23744 ) { 23745 panic!(concat!( 23746 "Unable to load ", 23747 stringify!(cmd_set_color_blend_advanced_ext) 23748 )) 23749 } 23750 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23751 b"vkCmdSetColorBlendAdvancedEXT\0", 23752 ); 23753 let val = _f(cname); 23754 if val.is_null() { 23755 cmd_set_color_blend_advanced_ext 23756 } else { 23757 ::std::mem::transmute(val) 23758 } 23759 }, 23760 cmd_set_provoking_vertex_mode_ext: unsafe { 23761 unsafe extern "system" fn cmd_set_provoking_vertex_mode_ext( 23762 _command_buffer: CommandBuffer, 23763 _provoking_vertex_mode: ProvokingVertexModeEXT, 23764 ) { 23765 panic!(concat!( 23766 "Unable to load ", 23767 stringify!(cmd_set_provoking_vertex_mode_ext) 23768 )) 23769 } 23770 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23771 b"vkCmdSetProvokingVertexModeEXT\0", 23772 ); 23773 let val = _f(cname); 23774 if val.is_null() { 23775 cmd_set_provoking_vertex_mode_ext 23776 } else { 23777 ::std::mem::transmute(val) 23778 } 23779 }, 23780 cmd_set_line_rasterization_mode_ext: unsafe { 23781 unsafe extern "system" fn cmd_set_line_rasterization_mode_ext( 23782 _command_buffer: CommandBuffer, 23783 _line_rasterization_mode: LineRasterizationModeEXT, 23784 ) { 23785 panic!(concat!( 23786 "Unable to load ", 23787 stringify!(cmd_set_line_rasterization_mode_ext) 23788 )) 23789 } 23790 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23791 b"vkCmdSetLineRasterizationModeEXT\0", 23792 ); 23793 let val = _f(cname); 23794 if val.is_null() { 23795 cmd_set_line_rasterization_mode_ext 23796 } else { 23797 ::std::mem::transmute(val) 23798 } 23799 }, 23800 cmd_set_line_stipple_enable_ext: unsafe { 23801 unsafe extern "system" fn cmd_set_line_stipple_enable_ext( 23802 _command_buffer: CommandBuffer, 23803 _stippled_line_enable: Bool32, 23804 ) { 23805 panic!(concat!( 23806 "Unable to load ", 23807 stringify!(cmd_set_line_stipple_enable_ext) 23808 )) 23809 } 23810 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23811 b"vkCmdSetLineStippleEnableEXT\0", 23812 ); 23813 let val = _f(cname); 23814 if val.is_null() { 23815 cmd_set_line_stipple_enable_ext 23816 } else { 23817 ::std::mem::transmute(val) 23818 } 23819 }, 23820 cmd_set_depth_clip_negative_one_to_one_ext: unsafe { 23821 unsafe extern "system" fn cmd_set_depth_clip_negative_one_to_one_ext( 23822 _command_buffer: CommandBuffer, 23823 _negative_one_to_one: Bool32, 23824 ) { 23825 panic!(concat!( 23826 "Unable to load ", 23827 stringify!(cmd_set_depth_clip_negative_one_to_one_ext) 23828 )) 23829 } 23830 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23831 b"vkCmdSetDepthClipNegativeOneToOneEXT\0", 23832 ); 23833 let val = _f(cname); 23834 if val.is_null() { 23835 cmd_set_depth_clip_negative_one_to_one_ext 23836 } else { 23837 ::std::mem::transmute(val) 23838 } 23839 }, 23840 cmd_set_viewport_w_scaling_enable_nv: unsafe { 23841 unsafe extern "system" fn cmd_set_viewport_w_scaling_enable_nv( 23842 _command_buffer: CommandBuffer, 23843 _viewport_w_scaling_enable: Bool32, 23844 ) { 23845 panic!(concat!( 23846 "Unable to load ", 23847 stringify!(cmd_set_viewport_w_scaling_enable_nv) 23848 )) 23849 } 23850 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23851 b"vkCmdSetViewportWScalingEnableNV\0", 23852 ); 23853 let val = _f(cname); 23854 if val.is_null() { 23855 cmd_set_viewport_w_scaling_enable_nv 23856 } else { 23857 ::std::mem::transmute(val) 23858 } 23859 }, 23860 cmd_set_viewport_swizzle_nv: unsafe { 23861 unsafe extern "system" fn cmd_set_viewport_swizzle_nv( 23862 _command_buffer: CommandBuffer, 23863 _first_viewport: u32, 23864 _viewport_count: u32, 23865 _p_viewport_swizzles: *const ViewportSwizzleNV, 23866 ) { 23867 panic!(concat!( 23868 "Unable to load ", 23869 stringify!(cmd_set_viewport_swizzle_nv) 23870 )) 23871 } 23872 let cname = 23873 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetViewportSwizzleNV\0"); 23874 let val = _f(cname); 23875 if val.is_null() { 23876 cmd_set_viewport_swizzle_nv 23877 } else { 23878 ::std::mem::transmute(val) 23879 } 23880 }, 23881 cmd_set_coverage_to_color_enable_nv: unsafe { 23882 unsafe extern "system" fn cmd_set_coverage_to_color_enable_nv( 23883 _command_buffer: CommandBuffer, 23884 _coverage_to_color_enable: Bool32, 23885 ) { 23886 panic!(concat!( 23887 "Unable to load ", 23888 stringify!(cmd_set_coverage_to_color_enable_nv) 23889 )) 23890 } 23891 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23892 b"vkCmdSetCoverageToColorEnableNV\0", 23893 ); 23894 let val = _f(cname); 23895 if val.is_null() { 23896 cmd_set_coverage_to_color_enable_nv 23897 } else { 23898 ::std::mem::transmute(val) 23899 } 23900 }, 23901 cmd_set_coverage_to_color_location_nv: unsafe { 23902 unsafe extern "system" fn cmd_set_coverage_to_color_location_nv( 23903 _command_buffer: CommandBuffer, 23904 _coverage_to_color_location: u32, 23905 ) { 23906 panic!(concat!( 23907 "Unable to load ", 23908 stringify!(cmd_set_coverage_to_color_location_nv) 23909 )) 23910 } 23911 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23912 b"vkCmdSetCoverageToColorLocationNV\0", 23913 ); 23914 let val = _f(cname); 23915 if val.is_null() { 23916 cmd_set_coverage_to_color_location_nv 23917 } else { 23918 ::std::mem::transmute(val) 23919 } 23920 }, 23921 cmd_set_coverage_modulation_mode_nv: unsafe { 23922 unsafe extern "system" fn cmd_set_coverage_modulation_mode_nv( 23923 _command_buffer: CommandBuffer, 23924 _coverage_modulation_mode: CoverageModulationModeNV, 23925 ) { 23926 panic!(concat!( 23927 "Unable to load ", 23928 stringify!(cmd_set_coverage_modulation_mode_nv) 23929 )) 23930 } 23931 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23932 b"vkCmdSetCoverageModulationModeNV\0", 23933 ); 23934 let val = _f(cname); 23935 if val.is_null() { 23936 cmd_set_coverage_modulation_mode_nv 23937 } else { 23938 ::std::mem::transmute(val) 23939 } 23940 }, 23941 cmd_set_coverage_modulation_table_enable_nv: unsafe { 23942 unsafe extern "system" fn cmd_set_coverage_modulation_table_enable_nv( 23943 _command_buffer: CommandBuffer, 23944 _coverage_modulation_table_enable: Bool32, 23945 ) { 23946 panic!(concat!( 23947 "Unable to load ", 23948 stringify!(cmd_set_coverage_modulation_table_enable_nv) 23949 )) 23950 } 23951 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23952 b"vkCmdSetCoverageModulationTableEnableNV\0", 23953 ); 23954 let val = _f(cname); 23955 if val.is_null() { 23956 cmd_set_coverage_modulation_table_enable_nv 23957 } else { 23958 ::std::mem::transmute(val) 23959 } 23960 }, 23961 cmd_set_coverage_modulation_table_nv: unsafe { 23962 unsafe extern "system" fn cmd_set_coverage_modulation_table_nv( 23963 _command_buffer: CommandBuffer, 23964 _coverage_modulation_table_count: u32, 23965 _p_coverage_modulation_table: *const f32, 23966 ) { 23967 panic!(concat!( 23968 "Unable to load ", 23969 stringify!(cmd_set_coverage_modulation_table_nv) 23970 )) 23971 } 23972 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23973 b"vkCmdSetCoverageModulationTableNV\0", 23974 ); 23975 let val = _f(cname); 23976 if val.is_null() { 23977 cmd_set_coverage_modulation_table_nv 23978 } else { 23979 ::std::mem::transmute(val) 23980 } 23981 }, 23982 cmd_set_shading_rate_image_enable_nv: unsafe { 23983 unsafe extern "system" fn cmd_set_shading_rate_image_enable_nv( 23984 _command_buffer: CommandBuffer, 23985 _shading_rate_image_enable: Bool32, 23986 ) { 23987 panic!(concat!( 23988 "Unable to load ", 23989 stringify!(cmd_set_shading_rate_image_enable_nv) 23990 )) 23991 } 23992 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 23993 b"vkCmdSetShadingRateImageEnableNV\0", 23994 ); 23995 let val = _f(cname); 23996 if val.is_null() { 23997 cmd_set_shading_rate_image_enable_nv 23998 } else { 23999 ::std::mem::transmute(val) 24000 } 24001 }, 24002 cmd_set_representative_fragment_test_enable_nv: unsafe { 24003 unsafe extern "system" fn cmd_set_representative_fragment_test_enable_nv( 24004 _command_buffer: CommandBuffer, 24005 _representative_fragment_test_enable: Bool32, 24006 ) { 24007 panic!(concat!( 24008 "Unable to load ", 24009 stringify!(cmd_set_representative_fragment_test_enable_nv) 24010 )) 24011 } 24012 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24013 b"vkCmdSetRepresentativeFragmentTestEnableNV\0", 24014 ); 24015 let val = _f(cname); 24016 if val.is_null() { 24017 cmd_set_representative_fragment_test_enable_nv 24018 } else { 24019 ::std::mem::transmute(val) 24020 } 24021 }, 24022 cmd_set_coverage_reduction_mode_nv: unsafe { 24023 unsafe extern "system" fn cmd_set_coverage_reduction_mode_nv( 24024 _command_buffer: CommandBuffer, 24025 _coverage_reduction_mode: CoverageReductionModeNV, 24026 ) { 24027 panic!(concat!( 24028 "Unable to load ", 24029 stringify!(cmd_set_coverage_reduction_mode_nv) 24030 )) 24031 } 24032 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24033 b"vkCmdSetCoverageReductionModeNV\0", 24034 ); 24035 let val = _f(cname); 24036 if val.is_null() { 24037 cmd_set_coverage_reduction_mode_nv 24038 } else { 24039 ::std::mem::transmute(val) 24040 } 24041 }, 24042 } 24043 } 24044 } 24045 #[doc = "Generated from 'VK_EXT_extended_dynamic_state3'"] 24046 impl DynamicState { 24047 pub const TESSELLATION_DOMAIN_ORIGIN_EXT: Self = Self(1_000_455_002); 24048 pub const DEPTH_CLAMP_ENABLE_EXT: Self = Self(1_000_455_003); 24049 pub const POLYGON_MODE_EXT: Self = Self(1_000_455_004); 24050 pub const RASTERIZATION_SAMPLES_EXT: Self = Self(1_000_455_005); 24051 pub const SAMPLE_MASK_EXT: Self = Self(1_000_455_006); 24052 pub const ALPHA_TO_COVERAGE_ENABLE_EXT: Self = Self(1_000_455_007); 24053 pub const ALPHA_TO_ONE_ENABLE_EXT: Self = Self(1_000_455_008); 24054 pub const LOGIC_OP_ENABLE_EXT: Self = Self(1_000_455_009); 24055 pub const COLOR_BLEND_ENABLE_EXT: Self = Self(1_000_455_010); 24056 pub const COLOR_BLEND_EQUATION_EXT: Self = Self(1_000_455_011); 24057 pub const COLOR_WRITE_MASK_EXT: Self = Self(1_000_455_012); 24058 pub const RASTERIZATION_STREAM_EXT: Self = Self(1_000_455_013); 24059 pub const CONSERVATIVE_RASTERIZATION_MODE_EXT: Self = Self(1_000_455_014); 24060 pub const EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT: Self = Self(1_000_455_015); 24061 pub const DEPTH_CLIP_ENABLE_EXT: Self = Self(1_000_455_016); 24062 pub const SAMPLE_LOCATIONS_ENABLE_EXT: Self = Self(1_000_455_017); 24063 pub const COLOR_BLEND_ADVANCED_EXT: Self = Self(1_000_455_018); 24064 pub const PROVOKING_VERTEX_MODE_EXT: Self = Self(1_000_455_019); 24065 pub const LINE_RASTERIZATION_MODE_EXT: Self = Self(1_000_455_020); 24066 pub const LINE_STIPPLE_ENABLE_EXT: Self = Self(1_000_455_021); 24067 pub const DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT: Self = Self(1_000_455_022); 24068 pub const VIEWPORT_W_SCALING_ENABLE_NV: Self = Self(1_000_455_023); 24069 pub const VIEWPORT_SWIZZLE_NV: Self = Self(1_000_455_024); 24070 pub const COVERAGE_TO_COLOR_ENABLE_NV: Self = Self(1_000_455_025); 24071 pub const COVERAGE_TO_COLOR_LOCATION_NV: Self = Self(1_000_455_026); 24072 pub const COVERAGE_MODULATION_MODE_NV: Self = Self(1_000_455_027); 24073 pub const COVERAGE_MODULATION_TABLE_ENABLE_NV: Self = Self(1_000_455_028); 24074 pub const COVERAGE_MODULATION_TABLE_NV: Self = Self(1_000_455_029); 24075 pub const SHADING_RATE_IMAGE_ENABLE_NV: Self = Self(1_000_455_030); 24076 pub const REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV: Self = Self(1_000_455_031); 24077 pub const COVERAGE_REDUCTION_MODE_NV: Self = Self(1_000_455_032); 24078 } 24079 #[doc = "Generated from 'VK_EXT_extended_dynamic_state3'"] 24080 impl StructureType { 24081 pub const PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: Self = Self(1_000_455_000); 24082 pub const PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: Self = Self(1_000_455_001); 24083 } 24084 impl ExtExtension457Fn { 24085 #[inline] name() -> &'static ::std::ffi::CStr24086 pub const fn name() -> &'static ::std::ffi::CStr { 24087 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_457\0") } 24088 } 24089 pub const SPEC_VERSION: u32 = 0u32; 24090 } 24091 #[derive(Clone)] 24092 pub struct ExtExtension457Fn {} 24093 unsafe impl Send for ExtExtension457Fn {} 24094 unsafe impl Sync for ExtExtension457Fn {} 24095 impl ExtExtension457Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24096 pub fn load<F>(mut _f: F) -> Self 24097 where 24098 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24099 { 24100 Self {} 24101 } 24102 } 24103 impl ExtExtension458Fn { 24104 #[inline] name() -> &'static ::std::ffi::CStr24105 pub const fn name() -> &'static ::std::ffi::CStr { 24106 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_458\0") } 24107 } 24108 pub const SPEC_VERSION: u32 = 0u32; 24109 } 24110 #[derive(Clone)] 24111 pub struct ExtExtension458Fn {} 24112 unsafe impl Send for ExtExtension458Fn {} 24113 unsafe impl Sync for ExtExtension458Fn {} 24114 impl ExtExtension458Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24115 pub fn load<F>(mut _f: F) -> Self 24116 where 24117 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24118 { 24119 Self {} 24120 } 24121 } 24122 impl ExtSubpassMergeFeedbackFn { 24123 #[inline] name() -> &'static ::std::ffi::CStr24124 pub const fn name() -> &'static ::std::ffi::CStr { 24125 unsafe { 24126 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_subpass_merge_feedback\0") 24127 } 24128 } 24129 pub const SPEC_VERSION: u32 = 2u32; 24130 } 24131 #[derive(Clone)] 24132 pub struct ExtSubpassMergeFeedbackFn {} 24133 unsafe impl Send for ExtSubpassMergeFeedbackFn {} 24134 unsafe impl Sync for ExtSubpassMergeFeedbackFn {} 24135 impl ExtSubpassMergeFeedbackFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24136 pub fn load<F>(mut _f: F) -> Self 24137 where 24138 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24139 { 24140 Self {} 24141 } 24142 } 24143 #[doc = "Generated from 'VK_EXT_subpass_merge_feedback'"] 24144 impl StructureType { 24145 pub const PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: Self = Self(1_000_458_000); 24146 pub const RENDER_PASS_CREATION_CONTROL_EXT: Self = Self(1_000_458_001); 24147 pub const RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: Self = Self(1_000_458_002); 24148 pub const RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: Self = Self(1_000_458_003); 24149 } 24150 impl LunargDirectDriverLoadingFn { 24151 #[inline] name() -> &'static ::std::ffi::CStr24152 pub const fn name() -> &'static ::std::ffi::CStr { 24153 unsafe { 24154 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_LUNARG_direct_driver_loading\0") 24155 } 24156 } 24157 pub const SPEC_VERSION: u32 = 1u32; 24158 } 24159 #[derive(Clone)] 24160 pub struct LunargDirectDriverLoadingFn {} 24161 unsafe impl Send for LunargDirectDriverLoadingFn {} 24162 unsafe impl Sync for LunargDirectDriverLoadingFn {} 24163 impl LunargDirectDriverLoadingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24164 pub fn load<F>(mut _f: F) -> Self 24165 where 24166 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24167 { 24168 Self {} 24169 } 24170 } 24171 #[doc = "Generated from 'VK_LUNARG_direct_driver_loading'"] 24172 impl StructureType { 24173 pub const DIRECT_DRIVER_LOADING_INFO_LUNARG: Self = Self(1_000_459_000); 24174 pub const DIRECT_DRIVER_LOADING_LIST_LUNARG: Self = Self(1_000_459_001); 24175 } 24176 impl ExtExtension461Fn { 24177 #[inline] name() -> &'static ::std::ffi::CStr24178 pub const fn name() -> &'static ::std::ffi::CStr { 24179 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_461\0") } 24180 } 24181 pub const SPEC_VERSION: u32 = 0u32; 24182 } 24183 #[derive(Clone)] 24184 pub struct ExtExtension461Fn {} 24185 unsafe impl Send for ExtExtension461Fn {} 24186 unsafe impl Sync for ExtExtension461Fn {} 24187 impl ExtExtension461Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24188 pub fn load<F>(mut _f: F) -> Self 24189 where 24190 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24191 { 24192 Self {} 24193 } 24194 } 24195 #[doc = "Generated from 'VK_EXT_extension_461'"] 24196 impl FormatFeatureFlags2 { 24197 pub const RESERVED_39_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24198 } 24199 #[doc = "Generated from 'VK_EXT_extension_461'"] 24200 impl ImageUsageFlags { 24201 pub const RESERVED_23_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); 24202 } 24203 impl ExtExtension462Fn { 24204 #[inline] name() -> &'static ::std::ffi::CStr24205 pub const fn name() -> &'static ::std::ffi::CStr { 24206 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_462\0") } 24207 } 24208 pub const SPEC_VERSION: u32 = 0u32; 24209 } 24210 #[derive(Clone)] 24211 pub struct ExtExtension462Fn {} 24212 unsafe impl Send for ExtExtension462Fn {} 24213 unsafe impl Sync for ExtExtension462Fn {} 24214 impl ExtExtension462Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24215 pub fn load<F>(mut _f: F) -> Self 24216 where 24217 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24218 { 24219 Self {} 24220 } 24221 } 24222 impl ExtShaderModuleIdentifierFn { 24223 #[inline] name() -> &'static ::std::ffi::CStr24224 pub const fn name() -> &'static ::std::ffi::CStr { 24225 unsafe { 24226 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_module_identifier\0") 24227 } 24228 } 24229 pub const SPEC_VERSION: u32 = 1u32; 24230 } 24231 #[allow(non_camel_case_types)] 24232 pub type PFN_vkGetShaderModuleIdentifierEXT = unsafe extern "system" fn( 24233 device: Device, 24234 shader_module: ShaderModule, 24235 p_identifier: *mut ShaderModuleIdentifierEXT, 24236 ); 24237 #[allow(non_camel_case_types)] 24238 pub type PFN_vkGetShaderModuleCreateInfoIdentifierEXT = unsafe extern "system" fn( 24239 device: Device, 24240 p_create_info: *const ShaderModuleCreateInfo, 24241 p_identifier: *mut ShaderModuleIdentifierEXT, 24242 ); 24243 #[derive(Clone)] 24244 pub struct ExtShaderModuleIdentifierFn { 24245 pub get_shader_module_identifier_ext: PFN_vkGetShaderModuleIdentifierEXT, 24246 pub get_shader_module_create_info_identifier_ext: PFN_vkGetShaderModuleCreateInfoIdentifierEXT, 24247 } 24248 unsafe impl Send for ExtShaderModuleIdentifierFn {} 24249 unsafe impl Sync for ExtShaderModuleIdentifierFn {} 24250 impl ExtShaderModuleIdentifierFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24251 pub fn load<F>(mut _f: F) -> Self 24252 where 24253 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24254 { 24255 Self { 24256 get_shader_module_identifier_ext: unsafe { 24257 unsafe extern "system" fn get_shader_module_identifier_ext( 24258 _device: Device, 24259 _shader_module: ShaderModule, 24260 _p_identifier: *mut ShaderModuleIdentifierEXT, 24261 ) { 24262 panic!(concat!( 24263 "Unable to load ", 24264 stringify!(get_shader_module_identifier_ext) 24265 )) 24266 } 24267 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24268 b"vkGetShaderModuleIdentifierEXT\0", 24269 ); 24270 let val = _f(cname); 24271 if val.is_null() { 24272 get_shader_module_identifier_ext 24273 } else { 24274 ::std::mem::transmute(val) 24275 } 24276 }, 24277 get_shader_module_create_info_identifier_ext: unsafe { 24278 unsafe extern "system" fn get_shader_module_create_info_identifier_ext( 24279 _device: Device, 24280 _p_create_info: *const ShaderModuleCreateInfo, 24281 _p_identifier: *mut ShaderModuleIdentifierEXT, 24282 ) { 24283 panic!(concat!( 24284 "Unable to load ", 24285 stringify!(get_shader_module_create_info_identifier_ext) 24286 )) 24287 } 24288 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24289 b"vkGetShaderModuleCreateInfoIdentifierEXT\0", 24290 ); 24291 let val = _f(cname); 24292 if val.is_null() { 24293 get_shader_module_create_info_identifier_ext 24294 } else { 24295 ::std::mem::transmute(val) 24296 } 24297 }, 24298 } 24299 } 24300 } 24301 #[doc = "Generated from 'VK_EXT_shader_module_identifier'"] 24302 impl StructureType { 24303 pub const PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: Self = Self(1_000_462_000); 24304 pub const PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: Self = Self(1_000_462_001); 24305 pub const PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: Self = Self(1_000_462_002); 24306 pub const SHADER_MODULE_IDENTIFIER_EXT: Self = Self(1_000_462_003); 24307 } 24308 impl ExtRasterizationOrderAttachmentAccessFn { 24309 #[inline] name() -> &'static ::std::ffi::CStr24310 pub const fn name() -> &'static ::std::ffi::CStr { 24311 unsafe { 24312 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24313 b"VK_EXT_rasterization_order_attachment_access\0", 24314 ) 24315 } 24316 } 24317 pub const SPEC_VERSION: u32 = 1u32; 24318 } 24319 #[derive(Clone)] 24320 pub struct ExtRasterizationOrderAttachmentAccessFn {} 24321 unsafe impl Send for ExtRasterizationOrderAttachmentAccessFn {} 24322 unsafe impl Sync for ExtRasterizationOrderAttachmentAccessFn {} 24323 impl ExtRasterizationOrderAttachmentAccessFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24324 pub fn load<F>(mut _f: F) -> Self 24325 where 24326 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24327 { 24328 Self {} 24329 } 24330 } 24331 #[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] 24332 impl PipelineColorBlendStateCreateFlags { 24333 pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT: Self = Self(0b1); 24334 } 24335 #[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] 24336 impl PipelineDepthStencilStateCreateFlags { 24337 pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT: Self = Self(0b1); 24338 pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT: Self = Self(0b10); 24339 } 24340 #[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] 24341 impl StructureType { 24342 pub const PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: Self = 24343 Self(1_000_342_000); 24344 } 24345 #[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] 24346 impl SubpassDescriptionFlags { 24347 pub const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT: Self = Self(0b1_0000); 24348 pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT: Self = Self(0b10_0000); 24349 pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT: Self = Self(0b100_0000); 24350 } 24351 impl NvOpticalFlowFn { 24352 #[inline] name() -> &'static ::std::ffi::CStr24353 pub const fn name() -> &'static ::std::ffi::CStr { 24354 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_optical_flow\0") } 24355 } 24356 pub const SPEC_VERSION: u32 = 1u32; 24357 } 24358 #[allow(non_camel_case_types)] 24359 pub type PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV = unsafe extern "system" fn( 24360 physical_device: PhysicalDevice, 24361 p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV, 24362 p_format_count: *mut u32, 24363 p_image_format_properties: *mut OpticalFlowImageFormatPropertiesNV, 24364 ) -> Result; 24365 #[allow(non_camel_case_types)] 24366 pub type PFN_vkCreateOpticalFlowSessionNV = unsafe extern "system" fn( 24367 device: Device, 24368 p_create_info: *const OpticalFlowSessionCreateInfoNV, 24369 p_allocator: *const AllocationCallbacks, 24370 p_session: *mut OpticalFlowSessionNV, 24371 ) -> Result; 24372 #[allow(non_camel_case_types)] 24373 pub type PFN_vkDestroyOpticalFlowSessionNV = unsafe extern "system" fn( 24374 device: Device, 24375 session: OpticalFlowSessionNV, 24376 p_allocator: *const AllocationCallbacks, 24377 ); 24378 #[allow(non_camel_case_types)] 24379 pub type PFN_vkBindOpticalFlowSessionImageNV = unsafe extern "system" fn( 24380 device: Device, 24381 session: OpticalFlowSessionNV, 24382 binding_point: OpticalFlowSessionBindingPointNV, 24383 view: ImageView, 24384 layout: ImageLayout, 24385 ) -> Result; 24386 #[allow(non_camel_case_types)] 24387 pub type PFN_vkCmdOpticalFlowExecuteNV = unsafe extern "system" fn( 24388 command_buffer: CommandBuffer, 24389 session: OpticalFlowSessionNV, 24390 p_execute_info: *const OpticalFlowExecuteInfoNV, 24391 ); 24392 #[derive(Clone)] 24393 pub struct NvOpticalFlowFn { 24394 pub get_physical_device_optical_flow_image_formats_nv: 24395 PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV, 24396 pub create_optical_flow_session_nv: PFN_vkCreateOpticalFlowSessionNV, 24397 pub destroy_optical_flow_session_nv: PFN_vkDestroyOpticalFlowSessionNV, 24398 pub bind_optical_flow_session_image_nv: PFN_vkBindOpticalFlowSessionImageNV, 24399 pub cmd_optical_flow_execute_nv: PFN_vkCmdOpticalFlowExecuteNV, 24400 } 24401 unsafe impl Send for NvOpticalFlowFn {} 24402 unsafe impl Sync for NvOpticalFlowFn {} 24403 impl NvOpticalFlowFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24404 pub fn load<F>(mut _f: F) -> Self 24405 where 24406 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24407 { 24408 Self { 24409 get_physical_device_optical_flow_image_formats_nv: unsafe { 24410 unsafe extern "system" fn get_physical_device_optical_flow_image_formats_nv( 24411 _physical_device: PhysicalDevice, 24412 _p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV, 24413 _p_format_count: *mut u32, 24414 _p_image_format_properties: *mut OpticalFlowImageFormatPropertiesNV, 24415 ) -> Result { 24416 panic!(concat!( 24417 "Unable to load ", 24418 stringify!(get_physical_device_optical_flow_image_formats_nv) 24419 )) 24420 } 24421 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24422 b"vkGetPhysicalDeviceOpticalFlowImageFormatsNV\0", 24423 ); 24424 let val = _f(cname); 24425 if val.is_null() { 24426 get_physical_device_optical_flow_image_formats_nv 24427 } else { 24428 ::std::mem::transmute(val) 24429 } 24430 }, 24431 create_optical_flow_session_nv: unsafe { 24432 unsafe extern "system" fn create_optical_flow_session_nv( 24433 _device: Device, 24434 _p_create_info: *const OpticalFlowSessionCreateInfoNV, 24435 _p_allocator: *const AllocationCallbacks, 24436 _p_session: *mut OpticalFlowSessionNV, 24437 ) -> Result { 24438 panic!(concat!( 24439 "Unable to load ", 24440 stringify!(create_optical_flow_session_nv) 24441 )) 24442 } 24443 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24444 b"vkCreateOpticalFlowSessionNV\0", 24445 ); 24446 let val = _f(cname); 24447 if val.is_null() { 24448 create_optical_flow_session_nv 24449 } else { 24450 ::std::mem::transmute(val) 24451 } 24452 }, 24453 destroy_optical_flow_session_nv: unsafe { 24454 unsafe extern "system" fn destroy_optical_flow_session_nv( 24455 _device: Device, 24456 _session: OpticalFlowSessionNV, 24457 _p_allocator: *const AllocationCallbacks, 24458 ) { 24459 panic!(concat!( 24460 "Unable to load ", 24461 stringify!(destroy_optical_flow_session_nv) 24462 )) 24463 } 24464 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24465 b"vkDestroyOpticalFlowSessionNV\0", 24466 ); 24467 let val = _f(cname); 24468 if val.is_null() { 24469 destroy_optical_flow_session_nv 24470 } else { 24471 ::std::mem::transmute(val) 24472 } 24473 }, 24474 bind_optical_flow_session_image_nv: unsafe { 24475 unsafe extern "system" fn bind_optical_flow_session_image_nv( 24476 _device: Device, 24477 _session: OpticalFlowSessionNV, 24478 _binding_point: OpticalFlowSessionBindingPointNV, 24479 _view: ImageView, 24480 _layout: ImageLayout, 24481 ) -> Result { 24482 panic!(concat!( 24483 "Unable to load ", 24484 stringify!(bind_optical_flow_session_image_nv) 24485 )) 24486 } 24487 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 24488 b"vkBindOpticalFlowSessionImageNV\0", 24489 ); 24490 let val = _f(cname); 24491 if val.is_null() { 24492 bind_optical_flow_session_image_nv 24493 } else { 24494 ::std::mem::transmute(val) 24495 } 24496 }, 24497 cmd_optical_flow_execute_nv: unsafe { 24498 unsafe extern "system" fn cmd_optical_flow_execute_nv( 24499 _command_buffer: CommandBuffer, 24500 _session: OpticalFlowSessionNV, 24501 _p_execute_info: *const OpticalFlowExecuteInfoNV, 24502 ) { 24503 panic!(concat!( 24504 "Unable to load ", 24505 stringify!(cmd_optical_flow_execute_nv) 24506 )) 24507 } 24508 let cname = 24509 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdOpticalFlowExecuteNV\0"); 24510 let val = _f(cname); 24511 if val.is_null() { 24512 cmd_optical_flow_execute_nv 24513 } else { 24514 ::std::mem::transmute(val) 24515 } 24516 }, 24517 } 24518 } 24519 } 24520 #[doc = "Generated from 'VK_NV_optical_flow'"] 24521 impl AccessFlags2 { 24522 pub const OPTICAL_FLOW_READ_NV: Self = 24523 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24524 pub const OPTICAL_FLOW_WRITE_NV: Self = 24525 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24526 } 24527 #[doc = "Generated from 'VK_NV_optical_flow'"] 24528 impl Format { 24529 pub const R16G16_S10_5_NV: Self = Self(1_000_464_000); 24530 } 24531 #[doc = "Generated from 'VK_NV_optical_flow'"] 24532 impl FormatFeatureFlags2 { 24533 pub const OPTICAL_FLOW_IMAGE_NV: Self = 24534 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24535 pub const OPTICAL_FLOW_VECTOR_NV: Self = 24536 Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24537 pub const OPTICAL_FLOW_COST_NV: Self = 24538 Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 24539 } 24540 #[doc = "Generated from 'VK_NV_optical_flow'"] 24541 impl ObjectType { 24542 pub const OPTICAL_FLOW_SESSION_NV: Self = Self(1_000_464_000); 24543 } 24544 #[doc = "Generated from 'VK_NV_optical_flow'"] 24545 impl PipelineStageFlags2 { 24546 pub const OPTICAL_FLOW_NV: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000); 24547 } 24548 #[doc = "Generated from 'VK_NV_optical_flow'"] 24549 impl QueueFlags { 24550 pub const OPTICAL_FLOW_NV: Self = Self(0b1_0000_0000); 24551 } 24552 #[doc = "Generated from 'VK_NV_optical_flow'"] 24553 impl StructureType { 24554 pub const PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: Self = Self(1_000_464_000); 24555 pub const PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: Self = Self(1_000_464_001); 24556 pub const OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: Self = Self(1_000_464_002); 24557 pub const OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV: Self = Self(1_000_464_003); 24558 pub const OPTICAL_FLOW_SESSION_CREATE_INFO_NV: Self = Self(1_000_464_004); 24559 pub const OPTICAL_FLOW_EXECUTE_INFO_NV: Self = Self(1_000_464_005); 24560 pub const OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: Self = Self(1_000_464_010); 24561 } 24562 impl ExtLegacyDitheringFn { 24563 #[inline] name() -> &'static ::std::ffi::CStr24564 pub const fn name() -> &'static ::std::ffi::CStr { 24565 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_legacy_dithering\0") } 24566 } 24567 pub const SPEC_VERSION: u32 = 1u32; 24568 } 24569 #[derive(Clone)] 24570 pub struct ExtLegacyDitheringFn {} 24571 unsafe impl Send for ExtLegacyDitheringFn {} 24572 unsafe impl Sync for ExtLegacyDitheringFn {} 24573 impl ExtLegacyDitheringFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24574 pub fn load<F>(mut _f: F) -> Self 24575 where 24576 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24577 { 24578 Self {} 24579 } 24580 } 24581 #[doc = "Generated from 'VK_EXT_legacy_dithering'"] 24582 impl RenderingFlags { 24583 pub const ENABLE_LEGACY_DITHERING_EXT: Self = Self(0b1000); 24584 } 24585 #[doc = "Generated from 'VK_EXT_legacy_dithering'"] 24586 impl StructureType { 24587 pub const PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: Self = Self(1_000_465_000); 24588 } 24589 #[doc = "Generated from 'VK_EXT_legacy_dithering'"] 24590 impl SubpassDescriptionFlags { 24591 pub const ENABLE_LEGACY_DITHERING_EXT: Self = Self(0b1000_0000); 24592 } 24593 impl ExtPipelineProtectedAccessFn { 24594 #[inline] name() -> &'static ::std::ffi::CStr24595 pub const fn name() -> &'static ::std::ffi::CStr { 24596 unsafe { 24597 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pipeline_protected_access\0") 24598 } 24599 } 24600 pub const SPEC_VERSION: u32 = 1u32; 24601 } 24602 #[derive(Clone)] 24603 pub struct ExtPipelineProtectedAccessFn {} 24604 unsafe impl Send for ExtPipelineProtectedAccessFn {} 24605 unsafe impl Sync for ExtPipelineProtectedAccessFn {} 24606 impl ExtPipelineProtectedAccessFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24607 pub fn load<F>(mut _f: F) -> Self 24608 where 24609 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24610 { 24611 Self {} 24612 } 24613 } 24614 #[doc = "Generated from 'VK_EXT_pipeline_protected_access'"] 24615 impl PipelineCreateFlags { 24616 pub const NO_PROTECTED_ACCESS_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000_0000); 24617 pub const PROTECTED_ACCESS_ONLY_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000); 24618 } 24619 #[doc = "Generated from 'VK_EXT_pipeline_protected_access'"] 24620 impl StructureType { 24621 pub const PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: Self = Self(1_000_466_000); 24622 } 24623 impl ExtExtension468Fn { 24624 #[inline] name() -> &'static ::std::ffi::CStr24625 pub const fn name() -> &'static ::std::ffi::CStr { 24626 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_468\0") } 24627 } 24628 pub const SPEC_VERSION: u32 = 0u32; 24629 } 24630 #[derive(Clone)] 24631 pub struct ExtExtension468Fn {} 24632 unsafe impl Send for ExtExtension468Fn {} 24633 unsafe impl Sync for ExtExtension468Fn {} 24634 impl ExtExtension468Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24635 pub fn load<F>(mut _f: F) -> Self 24636 where 24637 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24638 { 24639 Self {} 24640 } 24641 } 24642 impl AndroidExtension469Fn { 24643 #[inline] name() -> &'static ::std::ffi::CStr24644 pub const fn name() -> &'static ::std::ffi::CStr { 24645 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ANDROID_extension_469\0") } 24646 } 24647 pub const SPEC_VERSION: u32 = 0u32; 24648 } 24649 #[derive(Clone)] 24650 pub struct AndroidExtension469Fn {} 24651 unsafe impl Send for AndroidExtension469Fn {} 24652 unsafe impl Sync for AndroidExtension469Fn {} 24653 impl AndroidExtension469Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24654 pub fn load<F>(mut _f: F) -> Self 24655 where 24656 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24657 { 24658 Self {} 24659 } 24660 } 24661 #[doc = "Generated from 'VK_ANDROID_extension_469'"] 24662 impl ResolveModeFlags { 24663 pub const EXTENSION_469_FLAG_0: Self = Self(0b1_0000); 24664 } 24665 impl AmdExtension470Fn { 24666 #[inline] name() -> &'static ::std::ffi::CStr24667 pub const fn name() -> &'static ::std::ffi::CStr { 24668 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_470\0") } 24669 } 24670 pub const SPEC_VERSION: u32 = 0u32; 24671 } 24672 #[derive(Clone)] 24673 pub struct AmdExtension470Fn {} 24674 unsafe impl Send for AmdExtension470Fn {} 24675 unsafe impl Sync for AmdExtension470Fn {} 24676 impl AmdExtension470Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24677 pub fn load<F>(mut _f: F) -> Self 24678 where 24679 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24680 { 24681 Self {} 24682 } 24683 } 24684 impl AmdExtension471Fn { 24685 #[inline] name() -> &'static ::std::ffi::CStr24686 pub const fn name() -> &'static ::std::ffi::CStr { 24687 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_471\0") } 24688 } 24689 pub const SPEC_VERSION: u32 = 0u32; 24690 } 24691 #[derive(Clone)] 24692 pub struct AmdExtension471Fn {} 24693 unsafe impl Send for AmdExtension471Fn {} 24694 unsafe impl Sync for AmdExtension471Fn {} 24695 impl AmdExtension471Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24696 pub fn load<F>(mut _f: F) -> Self 24697 where 24698 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24699 { 24700 Self {} 24701 } 24702 } 24703 impl AmdExtension472Fn { 24704 #[inline] name() -> &'static ::std::ffi::CStr24705 pub const fn name() -> &'static ::std::ffi::CStr { 24706 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_472\0") } 24707 } 24708 pub const SPEC_VERSION: u32 = 0u32; 24709 } 24710 #[derive(Clone)] 24711 pub struct AmdExtension472Fn {} 24712 unsafe impl Send for AmdExtension472Fn {} 24713 unsafe impl Sync for AmdExtension472Fn {} 24714 impl AmdExtension472Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24715 pub fn load<F>(mut _f: F) -> Self 24716 where 24717 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24718 { 24719 Self {} 24720 } 24721 } 24722 impl AmdExtension473Fn { 24723 #[inline] name() -> &'static ::std::ffi::CStr24724 pub const fn name() -> &'static ::std::ffi::CStr { 24725 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_473\0") } 24726 } 24727 pub const SPEC_VERSION: u32 = 0u32; 24728 } 24729 #[derive(Clone)] 24730 pub struct AmdExtension473Fn {} 24731 unsafe impl Send for AmdExtension473Fn {} 24732 unsafe impl Sync for AmdExtension473Fn {} 24733 impl AmdExtension473Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24734 pub fn load<F>(mut _f: F) -> Self 24735 where 24736 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24737 { 24738 Self {} 24739 } 24740 } 24741 impl AmdExtension474Fn { 24742 #[inline] name() -> &'static ::std::ffi::CStr24743 pub const fn name() -> &'static ::std::ffi::CStr { 24744 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_474\0") } 24745 } 24746 pub const SPEC_VERSION: u32 = 0u32; 24747 } 24748 #[derive(Clone)] 24749 pub struct AmdExtension474Fn {} 24750 unsafe impl Send for AmdExtension474Fn {} 24751 unsafe impl Sync for AmdExtension474Fn {} 24752 impl AmdExtension474Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24753 pub fn load<F>(mut _f: F) -> Self 24754 where 24755 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24756 { 24757 Self {} 24758 } 24759 } 24760 impl AmdExtension475Fn { 24761 #[inline] name() -> &'static ::std::ffi::CStr24762 pub const fn name() -> &'static ::std::ffi::CStr { 24763 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_475\0") } 24764 } 24765 pub const SPEC_VERSION: u32 = 0u32; 24766 } 24767 #[derive(Clone)] 24768 pub struct AmdExtension475Fn {} 24769 unsafe impl Send for AmdExtension475Fn {} 24770 unsafe impl Sync for AmdExtension475Fn {} 24771 impl AmdExtension475Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24772 pub fn load<F>(mut _f: F) -> Self 24773 where 24774 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24775 { 24776 Self {} 24777 } 24778 } 24779 impl AmdExtension476Fn { 24780 #[inline] name() -> &'static ::std::ffi::CStr24781 pub const fn name() -> &'static ::std::ffi::CStr { 24782 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_476\0") } 24783 } 24784 pub const SPEC_VERSION: u32 = 0u32; 24785 } 24786 #[derive(Clone)] 24787 pub struct AmdExtension476Fn {} 24788 unsafe impl Send for AmdExtension476Fn {} 24789 unsafe impl Sync for AmdExtension476Fn {} 24790 impl AmdExtension476Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24791 pub fn load<F>(mut _f: F) -> Self 24792 where 24793 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24794 { 24795 Self {} 24796 } 24797 } 24798 impl AmdExtension477Fn { 24799 #[inline] name() -> &'static ::std::ffi::CStr24800 pub const fn name() -> &'static ::std::ffi::CStr { 24801 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_477\0") } 24802 } 24803 pub const SPEC_VERSION: u32 = 0u32; 24804 } 24805 #[derive(Clone)] 24806 pub struct AmdExtension477Fn {} 24807 unsafe impl Send for AmdExtension477Fn {} 24808 unsafe impl Sync for AmdExtension477Fn {} 24809 impl AmdExtension477Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24810 pub fn load<F>(mut _f: F) -> Self 24811 where 24812 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24813 { 24814 Self {} 24815 } 24816 } 24817 impl AmdExtension478Fn { 24818 #[inline] name() -> &'static ::std::ffi::CStr24819 pub const fn name() -> &'static ::std::ffi::CStr { 24820 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_478\0") } 24821 } 24822 pub const SPEC_VERSION: u32 = 0u32; 24823 } 24824 #[derive(Clone)] 24825 pub struct AmdExtension478Fn {} 24826 unsafe impl Send for AmdExtension478Fn {} 24827 unsafe impl Sync for AmdExtension478Fn {} 24828 impl AmdExtension478Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24829 pub fn load<F>(mut _f: F) -> Self 24830 where 24831 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24832 { 24833 Self {} 24834 } 24835 } 24836 impl AmdExtension479Fn { 24837 #[inline] name() -> &'static ::std::ffi::CStr24838 pub const fn name() -> &'static ::std::ffi::CStr { 24839 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_AMD_extension_479\0") } 24840 } 24841 pub const SPEC_VERSION: u32 = 0u32; 24842 } 24843 #[derive(Clone)] 24844 pub struct AmdExtension479Fn {} 24845 unsafe impl Send for AmdExtension479Fn {} 24846 unsafe impl Sync for AmdExtension479Fn {} 24847 impl AmdExtension479Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24848 pub fn load<F>(mut _f: F) -> Self 24849 where 24850 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24851 { 24852 Self {} 24853 } 24854 } 24855 impl ExtExtension480Fn { 24856 #[inline] name() -> &'static ::std::ffi::CStr24857 pub const fn name() -> &'static ::std::ffi::CStr { 24858 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_480\0") } 24859 } 24860 pub const SPEC_VERSION: u32 = 0u32; 24861 } 24862 #[derive(Clone)] 24863 pub struct ExtExtension480Fn {} 24864 unsafe impl Send for ExtExtension480Fn {} 24865 unsafe impl Sync for ExtExtension480Fn {} 24866 impl ExtExtension480Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24867 pub fn load<F>(mut _f: F) -> Self 24868 where 24869 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24870 { 24871 Self {} 24872 } 24873 } 24874 impl ExtExtension481Fn { 24875 #[inline] name() -> &'static ::std::ffi::CStr24876 pub const fn name() -> &'static ::std::ffi::CStr { 24877 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_481\0") } 24878 } 24879 pub const SPEC_VERSION: u32 = 0u32; 24880 } 24881 #[derive(Clone)] 24882 pub struct ExtExtension481Fn {} 24883 unsafe impl Send for ExtExtension481Fn {} 24884 unsafe impl Sync for ExtExtension481Fn {} 24885 impl ExtExtension481Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24886 pub fn load<F>(mut _f: F) -> Self 24887 where 24888 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24889 { 24890 Self {} 24891 } 24892 } 24893 impl KhrRayTracingPositionFetchFn { 24894 #[inline] name() -> &'static ::std::ffi::CStr24895 pub const fn name() -> &'static ::std::ffi::CStr { 24896 unsafe { 24897 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_ray_tracing_position_fetch\0") 24898 } 24899 } 24900 pub const SPEC_VERSION: u32 = 1u32; 24901 } 24902 #[derive(Clone)] 24903 pub struct KhrRayTracingPositionFetchFn {} 24904 unsafe impl Send for KhrRayTracingPositionFetchFn {} 24905 unsafe impl Sync for KhrRayTracingPositionFetchFn {} 24906 impl KhrRayTracingPositionFetchFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,24907 pub fn load<F>(mut _f: F) -> Self 24908 where 24909 F: FnMut(&::std::ffi::CStr) -> *const c_void, 24910 { 24911 Self {} 24912 } 24913 } 24914 #[doc = "Generated from 'VK_KHR_ray_tracing_position_fetch'"] 24915 impl BuildAccelerationStructureFlagsKHR { 24916 pub const ALLOW_DATA_ACCESS: Self = Self(0b1000_0000_0000); 24917 } 24918 #[doc = "Generated from 'VK_KHR_ray_tracing_position_fetch'"] 24919 impl StructureType { 24920 pub const PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: Self = Self(1_000_481_000); 24921 } 24922 impl ExtShaderObjectFn { 24923 #[inline] name() -> &'static ::std::ffi::CStr24924 pub const fn name() -> &'static ::std::ffi::CStr { 24925 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_shader_object\0") } 24926 } 24927 pub const SPEC_VERSION: u32 = 1u32; 24928 } 24929 #[allow(non_camel_case_types)] 24930 pub type PFN_vkCreateShadersEXT = unsafe extern "system" fn( 24931 device: Device, 24932 create_info_count: u32, 24933 p_create_infos: *const ShaderCreateInfoEXT, 24934 p_allocator: *const AllocationCallbacks, 24935 p_shaders: *mut ShaderEXT, 24936 ) -> Result; 24937 #[allow(non_camel_case_types)] 24938 pub type PFN_vkDestroyShaderEXT = unsafe extern "system" fn( 24939 device: Device, 24940 shader: ShaderEXT, 24941 p_allocator: *const AllocationCallbacks, 24942 ); 24943 #[allow(non_camel_case_types)] 24944 pub type PFN_vkGetShaderBinaryDataEXT = unsafe extern "system" fn( 24945 device: Device, 24946 shader: ShaderEXT, 24947 p_data_size: *mut usize, 24948 p_data: *mut c_void, 24949 ) -> Result; 24950 #[allow(non_camel_case_types)] 24951 pub type PFN_vkCmdBindShadersEXT = unsafe extern "system" fn( 24952 command_buffer: CommandBuffer, 24953 stage_count: u32, 24954 p_stages: *const ShaderStageFlags, 24955 p_shaders: *const ShaderEXT, 24956 ); 24957 #[derive(Clone)] 24958 pub struct ExtShaderObjectFn { 24959 pub create_shaders_ext: PFN_vkCreateShadersEXT, 24960 pub destroy_shader_ext: PFN_vkDestroyShaderEXT, 24961 pub get_shader_binary_data_ext: PFN_vkGetShaderBinaryDataEXT, 24962 pub cmd_bind_shaders_ext: PFN_vkCmdBindShadersEXT, 24963 pub cmd_set_cull_mode_ext: crate::vk::PFN_vkCmdSetCullMode, 24964 pub cmd_set_front_face_ext: crate::vk::PFN_vkCmdSetFrontFace, 24965 pub cmd_set_primitive_topology_ext: crate::vk::PFN_vkCmdSetPrimitiveTopology, 24966 pub cmd_set_viewport_with_count_ext: crate::vk::PFN_vkCmdSetViewportWithCount, 24967 pub cmd_set_scissor_with_count_ext: crate::vk::PFN_vkCmdSetScissorWithCount, 24968 pub cmd_bind_vertex_buffers2_ext: crate::vk::PFN_vkCmdBindVertexBuffers2, 24969 pub cmd_set_depth_test_enable_ext: crate::vk::PFN_vkCmdSetDepthTestEnable, 24970 pub cmd_set_depth_write_enable_ext: crate::vk::PFN_vkCmdSetDepthWriteEnable, 24971 pub cmd_set_depth_compare_op_ext: crate::vk::PFN_vkCmdSetDepthCompareOp, 24972 pub cmd_set_depth_bounds_test_enable_ext: crate::vk::PFN_vkCmdSetDepthBoundsTestEnable, 24973 pub cmd_set_stencil_test_enable_ext: crate::vk::PFN_vkCmdSetStencilTestEnable, 24974 pub cmd_set_stencil_op_ext: crate::vk::PFN_vkCmdSetStencilOp, 24975 pub cmd_set_vertex_input_ext: crate::vk::PFN_vkCmdSetVertexInputEXT, 24976 pub cmd_set_patch_control_points_ext: crate::vk::PFN_vkCmdSetPatchControlPointsEXT, 24977 pub cmd_set_rasterizer_discard_enable_ext: crate::vk::PFN_vkCmdSetRasterizerDiscardEnable, 24978 pub cmd_set_depth_bias_enable_ext: crate::vk::PFN_vkCmdSetDepthBiasEnable, 24979 pub cmd_set_logic_op_ext: crate::vk::PFN_vkCmdSetLogicOpEXT, 24980 pub cmd_set_primitive_restart_enable_ext: crate::vk::PFN_vkCmdSetPrimitiveRestartEnable, 24981 pub cmd_set_tessellation_domain_origin_ext: crate::vk::PFN_vkCmdSetTessellationDomainOriginEXT, 24982 pub cmd_set_depth_clamp_enable_ext: crate::vk::PFN_vkCmdSetDepthClampEnableEXT, 24983 pub cmd_set_polygon_mode_ext: crate::vk::PFN_vkCmdSetPolygonModeEXT, 24984 pub cmd_set_rasterization_samples_ext: crate::vk::PFN_vkCmdSetRasterizationSamplesEXT, 24985 pub cmd_set_sample_mask_ext: crate::vk::PFN_vkCmdSetSampleMaskEXT, 24986 pub cmd_set_alpha_to_coverage_enable_ext: crate::vk::PFN_vkCmdSetAlphaToCoverageEnableEXT, 24987 pub cmd_set_alpha_to_one_enable_ext: crate::vk::PFN_vkCmdSetAlphaToOneEnableEXT, 24988 pub cmd_set_logic_op_enable_ext: crate::vk::PFN_vkCmdSetLogicOpEnableEXT, 24989 pub cmd_set_color_blend_enable_ext: crate::vk::PFN_vkCmdSetColorBlendEnableEXT, 24990 pub cmd_set_color_blend_equation_ext: crate::vk::PFN_vkCmdSetColorBlendEquationEXT, 24991 pub cmd_set_color_write_mask_ext: crate::vk::PFN_vkCmdSetColorWriteMaskEXT, 24992 pub cmd_set_rasterization_stream_ext: crate::vk::PFN_vkCmdSetRasterizationStreamEXT, 24993 pub cmd_set_conservative_rasterization_mode_ext: 24994 crate::vk::PFN_vkCmdSetConservativeRasterizationModeEXT, 24995 pub cmd_set_extra_primitive_overestimation_size_ext: 24996 crate::vk::PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT, 24997 pub cmd_set_depth_clip_enable_ext: crate::vk::PFN_vkCmdSetDepthClipEnableEXT, 24998 pub cmd_set_sample_locations_enable_ext: crate::vk::PFN_vkCmdSetSampleLocationsEnableEXT, 24999 pub cmd_set_color_blend_advanced_ext: crate::vk::PFN_vkCmdSetColorBlendAdvancedEXT, 25000 pub cmd_set_provoking_vertex_mode_ext: crate::vk::PFN_vkCmdSetProvokingVertexModeEXT, 25001 pub cmd_set_line_rasterization_mode_ext: crate::vk::PFN_vkCmdSetLineRasterizationModeEXT, 25002 pub cmd_set_line_stipple_enable_ext: crate::vk::PFN_vkCmdSetLineStippleEnableEXT, 25003 pub cmd_set_depth_clip_negative_one_to_one_ext: 25004 crate::vk::PFN_vkCmdSetDepthClipNegativeOneToOneEXT, 25005 pub cmd_set_viewport_w_scaling_enable_nv: crate::vk::PFN_vkCmdSetViewportWScalingEnableNV, 25006 pub cmd_set_viewport_swizzle_nv: crate::vk::PFN_vkCmdSetViewportSwizzleNV, 25007 pub cmd_set_coverage_to_color_enable_nv: crate::vk::PFN_vkCmdSetCoverageToColorEnableNV, 25008 pub cmd_set_coverage_to_color_location_nv: crate::vk::PFN_vkCmdSetCoverageToColorLocationNV, 25009 pub cmd_set_coverage_modulation_mode_nv: crate::vk::PFN_vkCmdSetCoverageModulationModeNV, 25010 pub cmd_set_coverage_modulation_table_enable_nv: 25011 crate::vk::PFN_vkCmdSetCoverageModulationTableEnableNV, 25012 pub cmd_set_coverage_modulation_table_nv: crate::vk::PFN_vkCmdSetCoverageModulationTableNV, 25013 pub cmd_set_shading_rate_image_enable_nv: crate::vk::PFN_vkCmdSetShadingRateImageEnableNV, 25014 pub cmd_set_representative_fragment_test_enable_nv: 25015 crate::vk::PFN_vkCmdSetRepresentativeFragmentTestEnableNV, 25016 pub cmd_set_coverage_reduction_mode_nv: crate::vk::PFN_vkCmdSetCoverageReductionModeNV, 25017 } 25018 unsafe impl Send for ExtShaderObjectFn {} 25019 unsafe impl Sync for ExtShaderObjectFn {} 25020 impl ExtShaderObjectFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,25021 pub fn load<F>(mut _f: F) -> Self 25022 where 25023 F: FnMut(&::std::ffi::CStr) -> *const c_void, 25024 { 25025 Self { 25026 create_shaders_ext: unsafe { 25027 unsafe extern "system" fn create_shaders_ext( 25028 _device: Device, 25029 _create_info_count: u32, 25030 _p_create_infos: *const ShaderCreateInfoEXT, 25031 _p_allocator: *const AllocationCallbacks, 25032 _p_shaders: *mut ShaderEXT, 25033 ) -> Result { 25034 panic!(concat!("Unable to load ", stringify!(create_shaders_ext))) 25035 } 25036 let cname = 25037 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCreateShadersEXT\0"); 25038 let val = _f(cname); 25039 if val.is_null() { 25040 create_shaders_ext 25041 } else { 25042 ::std::mem::transmute(val) 25043 } 25044 }, 25045 destroy_shader_ext: unsafe { 25046 unsafe extern "system" fn destroy_shader_ext( 25047 _device: Device, 25048 _shader: ShaderEXT, 25049 _p_allocator: *const AllocationCallbacks, 25050 ) { 25051 panic!(concat!("Unable to load ", stringify!(destroy_shader_ext))) 25052 } 25053 let cname = 25054 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkDestroyShaderEXT\0"); 25055 let val = _f(cname); 25056 if val.is_null() { 25057 destroy_shader_ext 25058 } else { 25059 ::std::mem::transmute(val) 25060 } 25061 }, 25062 get_shader_binary_data_ext: unsafe { 25063 unsafe extern "system" fn get_shader_binary_data_ext( 25064 _device: Device, 25065 _shader: ShaderEXT, 25066 _p_data_size: *mut usize, 25067 _p_data: *mut c_void, 25068 ) -> Result { 25069 panic!(concat!( 25070 "Unable to load ", 25071 stringify!(get_shader_binary_data_ext) 25072 )) 25073 } 25074 let cname = 25075 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetShaderBinaryDataEXT\0"); 25076 let val = _f(cname); 25077 if val.is_null() { 25078 get_shader_binary_data_ext 25079 } else { 25080 ::std::mem::transmute(val) 25081 } 25082 }, 25083 cmd_bind_shaders_ext: unsafe { 25084 unsafe extern "system" fn cmd_bind_shaders_ext( 25085 _command_buffer: CommandBuffer, 25086 _stage_count: u32, 25087 _p_stages: *const ShaderStageFlags, 25088 _p_shaders: *const ShaderEXT, 25089 ) { 25090 panic!(concat!("Unable to load ", stringify!(cmd_bind_shaders_ext))) 25091 } 25092 let cname = 25093 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdBindShadersEXT\0"); 25094 let val = _f(cname); 25095 if val.is_null() { 25096 cmd_bind_shaders_ext 25097 } else { 25098 ::std::mem::transmute(val) 25099 } 25100 }, 25101 cmd_set_cull_mode_ext: unsafe { 25102 unsafe extern "system" fn cmd_set_cull_mode_ext( 25103 _command_buffer: CommandBuffer, 25104 _cull_mode: CullModeFlags, 25105 ) { 25106 panic!(concat!( 25107 "Unable to load ", 25108 stringify!(cmd_set_cull_mode_ext) 25109 )) 25110 } 25111 let cname = 25112 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetCullModeEXT\0"); 25113 let val = _f(cname); 25114 if val.is_null() { 25115 cmd_set_cull_mode_ext 25116 } else { 25117 ::std::mem::transmute(val) 25118 } 25119 }, 25120 cmd_set_front_face_ext: unsafe { 25121 unsafe extern "system" fn cmd_set_front_face_ext( 25122 _command_buffer: CommandBuffer, 25123 _front_face: FrontFace, 25124 ) { 25125 panic!(concat!( 25126 "Unable to load ", 25127 stringify!(cmd_set_front_face_ext) 25128 )) 25129 } 25130 let cname = 25131 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetFrontFaceEXT\0"); 25132 let val = _f(cname); 25133 if val.is_null() { 25134 cmd_set_front_face_ext 25135 } else { 25136 ::std::mem::transmute(val) 25137 } 25138 }, 25139 cmd_set_primitive_topology_ext: unsafe { 25140 unsafe extern "system" fn cmd_set_primitive_topology_ext( 25141 _command_buffer: CommandBuffer, 25142 _primitive_topology: PrimitiveTopology, 25143 ) { 25144 panic!(concat!( 25145 "Unable to load ", 25146 stringify!(cmd_set_primitive_topology_ext) 25147 )) 25148 } 25149 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25150 b"vkCmdSetPrimitiveTopologyEXT\0", 25151 ); 25152 let val = _f(cname); 25153 if val.is_null() { 25154 cmd_set_primitive_topology_ext 25155 } else { 25156 ::std::mem::transmute(val) 25157 } 25158 }, 25159 cmd_set_viewport_with_count_ext: unsafe { 25160 unsafe extern "system" fn cmd_set_viewport_with_count_ext( 25161 _command_buffer: CommandBuffer, 25162 _viewport_count: u32, 25163 _p_viewports: *const Viewport, 25164 ) { 25165 panic!(concat!( 25166 "Unable to load ", 25167 stringify!(cmd_set_viewport_with_count_ext) 25168 )) 25169 } 25170 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25171 b"vkCmdSetViewportWithCountEXT\0", 25172 ); 25173 let val = _f(cname); 25174 if val.is_null() { 25175 cmd_set_viewport_with_count_ext 25176 } else { 25177 ::std::mem::transmute(val) 25178 } 25179 }, 25180 cmd_set_scissor_with_count_ext: unsafe { 25181 unsafe extern "system" fn cmd_set_scissor_with_count_ext( 25182 _command_buffer: CommandBuffer, 25183 _scissor_count: u32, 25184 _p_scissors: *const Rect2D, 25185 ) { 25186 panic!(concat!( 25187 "Unable to load ", 25188 stringify!(cmd_set_scissor_with_count_ext) 25189 )) 25190 } 25191 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25192 b"vkCmdSetScissorWithCountEXT\0", 25193 ); 25194 let val = _f(cname); 25195 if val.is_null() { 25196 cmd_set_scissor_with_count_ext 25197 } else { 25198 ::std::mem::transmute(val) 25199 } 25200 }, 25201 cmd_bind_vertex_buffers2_ext: unsafe { 25202 unsafe extern "system" fn cmd_bind_vertex_buffers2_ext( 25203 _command_buffer: CommandBuffer, 25204 _first_binding: u32, 25205 _binding_count: u32, 25206 _p_buffers: *const Buffer, 25207 _p_offsets: *const DeviceSize, 25208 _p_sizes: *const DeviceSize, 25209 _p_strides: *const DeviceSize, 25210 ) { 25211 panic!(concat!( 25212 "Unable to load ", 25213 stringify!(cmd_bind_vertex_buffers2_ext) 25214 )) 25215 } 25216 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25217 b"vkCmdBindVertexBuffers2EXT\0", 25218 ); 25219 let val = _f(cname); 25220 if val.is_null() { 25221 cmd_bind_vertex_buffers2_ext 25222 } else { 25223 ::std::mem::transmute(val) 25224 } 25225 }, 25226 cmd_set_depth_test_enable_ext: unsafe { 25227 unsafe extern "system" fn cmd_set_depth_test_enable_ext( 25228 _command_buffer: CommandBuffer, 25229 _depth_test_enable: Bool32, 25230 ) { 25231 panic!(concat!( 25232 "Unable to load ", 25233 stringify!(cmd_set_depth_test_enable_ext) 25234 )) 25235 } 25236 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25237 b"vkCmdSetDepthTestEnableEXT\0", 25238 ); 25239 let val = _f(cname); 25240 if val.is_null() { 25241 cmd_set_depth_test_enable_ext 25242 } else { 25243 ::std::mem::transmute(val) 25244 } 25245 }, 25246 cmd_set_depth_write_enable_ext: unsafe { 25247 unsafe extern "system" fn cmd_set_depth_write_enable_ext( 25248 _command_buffer: CommandBuffer, 25249 _depth_write_enable: Bool32, 25250 ) { 25251 panic!(concat!( 25252 "Unable to load ", 25253 stringify!(cmd_set_depth_write_enable_ext) 25254 )) 25255 } 25256 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25257 b"vkCmdSetDepthWriteEnableEXT\0", 25258 ); 25259 let val = _f(cname); 25260 if val.is_null() { 25261 cmd_set_depth_write_enable_ext 25262 } else { 25263 ::std::mem::transmute(val) 25264 } 25265 }, 25266 cmd_set_depth_compare_op_ext: unsafe { 25267 unsafe extern "system" fn cmd_set_depth_compare_op_ext( 25268 _command_buffer: CommandBuffer, 25269 _depth_compare_op: CompareOp, 25270 ) { 25271 panic!(concat!( 25272 "Unable to load ", 25273 stringify!(cmd_set_depth_compare_op_ext) 25274 )) 25275 } 25276 let cname = 25277 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetDepthCompareOpEXT\0"); 25278 let val = _f(cname); 25279 if val.is_null() { 25280 cmd_set_depth_compare_op_ext 25281 } else { 25282 ::std::mem::transmute(val) 25283 } 25284 }, 25285 cmd_set_depth_bounds_test_enable_ext: unsafe { 25286 unsafe extern "system" fn cmd_set_depth_bounds_test_enable_ext( 25287 _command_buffer: CommandBuffer, 25288 _depth_bounds_test_enable: Bool32, 25289 ) { 25290 panic!(concat!( 25291 "Unable to load ", 25292 stringify!(cmd_set_depth_bounds_test_enable_ext) 25293 )) 25294 } 25295 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25296 b"vkCmdSetDepthBoundsTestEnableEXT\0", 25297 ); 25298 let val = _f(cname); 25299 if val.is_null() { 25300 cmd_set_depth_bounds_test_enable_ext 25301 } else { 25302 ::std::mem::transmute(val) 25303 } 25304 }, 25305 cmd_set_stencil_test_enable_ext: unsafe { 25306 unsafe extern "system" fn cmd_set_stencil_test_enable_ext( 25307 _command_buffer: CommandBuffer, 25308 _stencil_test_enable: Bool32, 25309 ) { 25310 panic!(concat!( 25311 "Unable to load ", 25312 stringify!(cmd_set_stencil_test_enable_ext) 25313 )) 25314 } 25315 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25316 b"vkCmdSetStencilTestEnableEXT\0", 25317 ); 25318 let val = _f(cname); 25319 if val.is_null() { 25320 cmd_set_stencil_test_enable_ext 25321 } else { 25322 ::std::mem::transmute(val) 25323 } 25324 }, 25325 cmd_set_stencil_op_ext: unsafe { 25326 unsafe extern "system" fn cmd_set_stencil_op_ext( 25327 _command_buffer: CommandBuffer, 25328 _face_mask: StencilFaceFlags, 25329 _fail_op: StencilOp, 25330 _pass_op: StencilOp, 25331 _depth_fail_op: StencilOp, 25332 _compare_op: CompareOp, 25333 ) { 25334 panic!(concat!( 25335 "Unable to load ", 25336 stringify!(cmd_set_stencil_op_ext) 25337 )) 25338 } 25339 let cname = 25340 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetStencilOpEXT\0"); 25341 let val = _f(cname); 25342 if val.is_null() { 25343 cmd_set_stencil_op_ext 25344 } else { 25345 ::std::mem::transmute(val) 25346 } 25347 }, 25348 cmd_set_vertex_input_ext: unsafe { 25349 unsafe extern "system" fn cmd_set_vertex_input_ext( 25350 _command_buffer: CommandBuffer, 25351 _vertex_binding_description_count: u32, 25352 _p_vertex_binding_descriptions: *const VertexInputBindingDescription2EXT, 25353 _vertex_attribute_description_count: u32, 25354 _p_vertex_attribute_descriptions: *const VertexInputAttributeDescription2EXT, 25355 ) { 25356 panic!(concat!( 25357 "Unable to load ", 25358 stringify!(cmd_set_vertex_input_ext) 25359 )) 25360 } 25361 let cname = 25362 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetVertexInputEXT\0"); 25363 let val = _f(cname); 25364 if val.is_null() { 25365 cmd_set_vertex_input_ext 25366 } else { 25367 ::std::mem::transmute(val) 25368 } 25369 }, 25370 cmd_set_patch_control_points_ext: unsafe { 25371 unsafe extern "system" fn cmd_set_patch_control_points_ext( 25372 _command_buffer: CommandBuffer, 25373 _patch_control_points: u32, 25374 ) { 25375 panic!(concat!( 25376 "Unable to load ", 25377 stringify!(cmd_set_patch_control_points_ext) 25378 )) 25379 } 25380 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25381 b"vkCmdSetPatchControlPointsEXT\0", 25382 ); 25383 let val = _f(cname); 25384 if val.is_null() { 25385 cmd_set_patch_control_points_ext 25386 } else { 25387 ::std::mem::transmute(val) 25388 } 25389 }, 25390 cmd_set_rasterizer_discard_enable_ext: unsafe { 25391 unsafe extern "system" fn cmd_set_rasterizer_discard_enable_ext( 25392 _command_buffer: CommandBuffer, 25393 _rasterizer_discard_enable: Bool32, 25394 ) { 25395 panic!(concat!( 25396 "Unable to load ", 25397 stringify!(cmd_set_rasterizer_discard_enable_ext) 25398 )) 25399 } 25400 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25401 b"vkCmdSetRasterizerDiscardEnableEXT\0", 25402 ); 25403 let val = _f(cname); 25404 if val.is_null() { 25405 cmd_set_rasterizer_discard_enable_ext 25406 } else { 25407 ::std::mem::transmute(val) 25408 } 25409 }, 25410 cmd_set_depth_bias_enable_ext: unsafe { 25411 unsafe extern "system" fn cmd_set_depth_bias_enable_ext( 25412 _command_buffer: CommandBuffer, 25413 _depth_bias_enable: Bool32, 25414 ) { 25415 panic!(concat!( 25416 "Unable to load ", 25417 stringify!(cmd_set_depth_bias_enable_ext) 25418 )) 25419 } 25420 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25421 b"vkCmdSetDepthBiasEnableEXT\0", 25422 ); 25423 let val = _f(cname); 25424 if val.is_null() { 25425 cmd_set_depth_bias_enable_ext 25426 } else { 25427 ::std::mem::transmute(val) 25428 } 25429 }, 25430 cmd_set_logic_op_ext: unsafe { 25431 unsafe extern "system" fn cmd_set_logic_op_ext( 25432 _command_buffer: CommandBuffer, 25433 _logic_op: LogicOp, 25434 ) { 25435 panic!(concat!("Unable to load ", stringify!(cmd_set_logic_op_ext))) 25436 } 25437 let cname = 25438 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLogicOpEXT\0"); 25439 let val = _f(cname); 25440 if val.is_null() { 25441 cmd_set_logic_op_ext 25442 } else { 25443 ::std::mem::transmute(val) 25444 } 25445 }, 25446 cmd_set_primitive_restart_enable_ext: unsafe { 25447 unsafe extern "system" fn cmd_set_primitive_restart_enable_ext( 25448 _command_buffer: CommandBuffer, 25449 _primitive_restart_enable: Bool32, 25450 ) { 25451 panic!(concat!( 25452 "Unable to load ", 25453 stringify!(cmd_set_primitive_restart_enable_ext) 25454 )) 25455 } 25456 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25457 b"vkCmdSetPrimitiveRestartEnableEXT\0", 25458 ); 25459 let val = _f(cname); 25460 if val.is_null() { 25461 cmd_set_primitive_restart_enable_ext 25462 } else { 25463 ::std::mem::transmute(val) 25464 } 25465 }, 25466 cmd_set_tessellation_domain_origin_ext: unsafe { 25467 unsafe extern "system" fn cmd_set_tessellation_domain_origin_ext( 25468 _command_buffer: CommandBuffer, 25469 _domain_origin: TessellationDomainOrigin, 25470 ) { 25471 panic!(concat!( 25472 "Unable to load ", 25473 stringify!(cmd_set_tessellation_domain_origin_ext) 25474 )) 25475 } 25476 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25477 b"vkCmdSetTessellationDomainOriginEXT\0", 25478 ); 25479 let val = _f(cname); 25480 if val.is_null() { 25481 cmd_set_tessellation_domain_origin_ext 25482 } else { 25483 ::std::mem::transmute(val) 25484 } 25485 }, 25486 cmd_set_depth_clamp_enable_ext: unsafe { 25487 unsafe extern "system" fn cmd_set_depth_clamp_enable_ext( 25488 _command_buffer: CommandBuffer, 25489 _depth_clamp_enable: Bool32, 25490 ) { 25491 panic!(concat!( 25492 "Unable to load ", 25493 stringify!(cmd_set_depth_clamp_enable_ext) 25494 )) 25495 } 25496 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25497 b"vkCmdSetDepthClampEnableEXT\0", 25498 ); 25499 let val = _f(cname); 25500 if val.is_null() { 25501 cmd_set_depth_clamp_enable_ext 25502 } else { 25503 ::std::mem::transmute(val) 25504 } 25505 }, 25506 cmd_set_polygon_mode_ext: unsafe { 25507 unsafe extern "system" fn cmd_set_polygon_mode_ext( 25508 _command_buffer: CommandBuffer, 25509 _polygon_mode: PolygonMode, 25510 ) { 25511 panic!(concat!( 25512 "Unable to load ", 25513 stringify!(cmd_set_polygon_mode_ext) 25514 )) 25515 } 25516 let cname = 25517 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetPolygonModeEXT\0"); 25518 let val = _f(cname); 25519 if val.is_null() { 25520 cmd_set_polygon_mode_ext 25521 } else { 25522 ::std::mem::transmute(val) 25523 } 25524 }, 25525 cmd_set_rasterization_samples_ext: unsafe { 25526 unsafe extern "system" fn cmd_set_rasterization_samples_ext( 25527 _command_buffer: CommandBuffer, 25528 _rasterization_samples: SampleCountFlags, 25529 ) { 25530 panic!(concat!( 25531 "Unable to load ", 25532 stringify!(cmd_set_rasterization_samples_ext) 25533 )) 25534 } 25535 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25536 b"vkCmdSetRasterizationSamplesEXT\0", 25537 ); 25538 let val = _f(cname); 25539 if val.is_null() { 25540 cmd_set_rasterization_samples_ext 25541 } else { 25542 ::std::mem::transmute(val) 25543 } 25544 }, 25545 cmd_set_sample_mask_ext: unsafe { 25546 unsafe extern "system" fn cmd_set_sample_mask_ext( 25547 _command_buffer: CommandBuffer, 25548 _samples: SampleCountFlags, 25549 _p_sample_mask: *const SampleMask, 25550 ) { 25551 panic!(concat!( 25552 "Unable to load ", 25553 stringify!(cmd_set_sample_mask_ext) 25554 )) 25555 } 25556 let cname = 25557 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetSampleMaskEXT\0"); 25558 let val = _f(cname); 25559 if val.is_null() { 25560 cmd_set_sample_mask_ext 25561 } else { 25562 ::std::mem::transmute(val) 25563 } 25564 }, 25565 cmd_set_alpha_to_coverage_enable_ext: unsafe { 25566 unsafe extern "system" fn cmd_set_alpha_to_coverage_enable_ext( 25567 _command_buffer: CommandBuffer, 25568 _alpha_to_coverage_enable: Bool32, 25569 ) { 25570 panic!(concat!( 25571 "Unable to load ", 25572 stringify!(cmd_set_alpha_to_coverage_enable_ext) 25573 )) 25574 } 25575 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25576 b"vkCmdSetAlphaToCoverageEnableEXT\0", 25577 ); 25578 let val = _f(cname); 25579 if val.is_null() { 25580 cmd_set_alpha_to_coverage_enable_ext 25581 } else { 25582 ::std::mem::transmute(val) 25583 } 25584 }, 25585 cmd_set_alpha_to_one_enable_ext: unsafe { 25586 unsafe extern "system" fn cmd_set_alpha_to_one_enable_ext( 25587 _command_buffer: CommandBuffer, 25588 _alpha_to_one_enable: Bool32, 25589 ) { 25590 panic!(concat!( 25591 "Unable to load ", 25592 stringify!(cmd_set_alpha_to_one_enable_ext) 25593 )) 25594 } 25595 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25596 b"vkCmdSetAlphaToOneEnableEXT\0", 25597 ); 25598 let val = _f(cname); 25599 if val.is_null() { 25600 cmd_set_alpha_to_one_enable_ext 25601 } else { 25602 ::std::mem::transmute(val) 25603 } 25604 }, 25605 cmd_set_logic_op_enable_ext: unsafe { 25606 unsafe extern "system" fn cmd_set_logic_op_enable_ext( 25607 _command_buffer: CommandBuffer, 25608 _logic_op_enable: Bool32, 25609 ) { 25610 panic!(concat!( 25611 "Unable to load ", 25612 stringify!(cmd_set_logic_op_enable_ext) 25613 )) 25614 } 25615 let cname = 25616 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetLogicOpEnableEXT\0"); 25617 let val = _f(cname); 25618 if val.is_null() { 25619 cmd_set_logic_op_enable_ext 25620 } else { 25621 ::std::mem::transmute(val) 25622 } 25623 }, 25624 cmd_set_color_blend_enable_ext: unsafe { 25625 unsafe extern "system" fn cmd_set_color_blend_enable_ext( 25626 _command_buffer: CommandBuffer, 25627 _first_attachment: u32, 25628 _attachment_count: u32, 25629 _p_color_blend_enables: *const Bool32, 25630 ) { 25631 panic!(concat!( 25632 "Unable to load ", 25633 stringify!(cmd_set_color_blend_enable_ext) 25634 )) 25635 } 25636 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25637 b"vkCmdSetColorBlendEnableEXT\0", 25638 ); 25639 let val = _f(cname); 25640 if val.is_null() { 25641 cmd_set_color_blend_enable_ext 25642 } else { 25643 ::std::mem::transmute(val) 25644 } 25645 }, 25646 cmd_set_color_blend_equation_ext: unsafe { 25647 unsafe extern "system" fn cmd_set_color_blend_equation_ext( 25648 _command_buffer: CommandBuffer, 25649 _first_attachment: u32, 25650 _attachment_count: u32, 25651 _p_color_blend_equations: *const ColorBlendEquationEXT, 25652 ) { 25653 panic!(concat!( 25654 "Unable to load ", 25655 stringify!(cmd_set_color_blend_equation_ext) 25656 )) 25657 } 25658 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25659 b"vkCmdSetColorBlendEquationEXT\0", 25660 ); 25661 let val = _f(cname); 25662 if val.is_null() { 25663 cmd_set_color_blend_equation_ext 25664 } else { 25665 ::std::mem::transmute(val) 25666 } 25667 }, 25668 cmd_set_color_write_mask_ext: unsafe { 25669 unsafe extern "system" fn cmd_set_color_write_mask_ext( 25670 _command_buffer: CommandBuffer, 25671 _first_attachment: u32, 25672 _attachment_count: u32, 25673 _p_color_write_masks: *const ColorComponentFlags, 25674 ) { 25675 panic!(concat!( 25676 "Unable to load ", 25677 stringify!(cmd_set_color_write_mask_ext) 25678 )) 25679 } 25680 let cname = 25681 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetColorWriteMaskEXT\0"); 25682 let val = _f(cname); 25683 if val.is_null() { 25684 cmd_set_color_write_mask_ext 25685 } else { 25686 ::std::mem::transmute(val) 25687 } 25688 }, 25689 cmd_set_rasterization_stream_ext: unsafe { 25690 unsafe extern "system" fn cmd_set_rasterization_stream_ext( 25691 _command_buffer: CommandBuffer, 25692 _rasterization_stream: u32, 25693 ) { 25694 panic!(concat!( 25695 "Unable to load ", 25696 stringify!(cmd_set_rasterization_stream_ext) 25697 )) 25698 } 25699 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25700 b"vkCmdSetRasterizationStreamEXT\0", 25701 ); 25702 let val = _f(cname); 25703 if val.is_null() { 25704 cmd_set_rasterization_stream_ext 25705 } else { 25706 ::std::mem::transmute(val) 25707 } 25708 }, 25709 cmd_set_conservative_rasterization_mode_ext: unsafe { 25710 unsafe extern "system" fn cmd_set_conservative_rasterization_mode_ext( 25711 _command_buffer: CommandBuffer, 25712 _conservative_rasterization_mode: ConservativeRasterizationModeEXT, 25713 ) { 25714 panic!(concat!( 25715 "Unable to load ", 25716 stringify!(cmd_set_conservative_rasterization_mode_ext) 25717 )) 25718 } 25719 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25720 b"vkCmdSetConservativeRasterizationModeEXT\0", 25721 ); 25722 let val = _f(cname); 25723 if val.is_null() { 25724 cmd_set_conservative_rasterization_mode_ext 25725 } else { 25726 ::std::mem::transmute(val) 25727 } 25728 }, 25729 cmd_set_extra_primitive_overestimation_size_ext: unsafe { 25730 unsafe extern "system" fn cmd_set_extra_primitive_overestimation_size_ext( 25731 _command_buffer: CommandBuffer, 25732 _extra_primitive_overestimation_size: f32, 25733 ) { 25734 panic!(concat!( 25735 "Unable to load ", 25736 stringify!(cmd_set_extra_primitive_overestimation_size_ext) 25737 )) 25738 } 25739 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25740 b"vkCmdSetExtraPrimitiveOverestimationSizeEXT\0", 25741 ); 25742 let val = _f(cname); 25743 if val.is_null() { 25744 cmd_set_extra_primitive_overestimation_size_ext 25745 } else { 25746 ::std::mem::transmute(val) 25747 } 25748 }, 25749 cmd_set_depth_clip_enable_ext: unsafe { 25750 unsafe extern "system" fn cmd_set_depth_clip_enable_ext( 25751 _command_buffer: CommandBuffer, 25752 _depth_clip_enable: Bool32, 25753 ) { 25754 panic!(concat!( 25755 "Unable to load ", 25756 stringify!(cmd_set_depth_clip_enable_ext) 25757 )) 25758 } 25759 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25760 b"vkCmdSetDepthClipEnableEXT\0", 25761 ); 25762 let val = _f(cname); 25763 if val.is_null() { 25764 cmd_set_depth_clip_enable_ext 25765 } else { 25766 ::std::mem::transmute(val) 25767 } 25768 }, 25769 cmd_set_sample_locations_enable_ext: unsafe { 25770 unsafe extern "system" fn cmd_set_sample_locations_enable_ext( 25771 _command_buffer: CommandBuffer, 25772 _sample_locations_enable: Bool32, 25773 ) { 25774 panic!(concat!( 25775 "Unable to load ", 25776 stringify!(cmd_set_sample_locations_enable_ext) 25777 )) 25778 } 25779 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25780 b"vkCmdSetSampleLocationsEnableEXT\0", 25781 ); 25782 let val = _f(cname); 25783 if val.is_null() { 25784 cmd_set_sample_locations_enable_ext 25785 } else { 25786 ::std::mem::transmute(val) 25787 } 25788 }, 25789 cmd_set_color_blend_advanced_ext: unsafe { 25790 unsafe extern "system" fn cmd_set_color_blend_advanced_ext( 25791 _command_buffer: CommandBuffer, 25792 _first_attachment: u32, 25793 _attachment_count: u32, 25794 _p_color_blend_advanced: *const ColorBlendAdvancedEXT, 25795 ) { 25796 panic!(concat!( 25797 "Unable to load ", 25798 stringify!(cmd_set_color_blend_advanced_ext) 25799 )) 25800 } 25801 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25802 b"vkCmdSetColorBlendAdvancedEXT\0", 25803 ); 25804 let val = _f(cname); 25805 if val.is_null() { 25806 cmd_set_color_blend_advanced_ext 25807 } else { 25808 ::std::mem::transmute(val) 25809 } 25810 }, 25811 cmd_set_provoking_vertex_mode_ext: unsafe { 25812 unsafe extern "system" fn cmd_set_provoking_vertex_mode_ext( 25813 _command_buffer: CommandBuffer, 25814 _provoking_vertex_mode: ProvokingVertexModeEXT, 25815 ) { 25816 panic!(concat!( 25817 "Unable to load ", 25818 stringify!(cmd_set_provoking_vertex_mode_ext) 25819 )) 25820 } 25821 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25822 b"vkCmdSetProvokingVertexModeEXT\0", 25823 ); 25824 let val = _f(cname); 25825 if val.is_null() { 25826 cmd_set_provoking_vertex_mode_ext 25827 } else { 25828 ::std::mem::transmute(val) 25829 } 25830 }, 25831 cmd_set_line_rasterization_mode_ext: unsafe { 25832 unsafe extern "system" fn cmd_set_line_rasterization_mode_ext( 25833 _command_buffer: CommandBuffer, 25834 _line_rasterization_mode: LineRasterizationModeEXT, 25835 ) { 25836 panic!(concat!( 25837 "Unable to load ", 25838 stringify!(cmd_set_line_rasterization_mode_ext) 25839 )) 25840 } 25841 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25842 b"vkCmdSetLineRasterizationModeEXT\0", 25843 ); 25844 let val = _f(cname); 25845 if val.is_null() { 25846 cmd_set_line_rasterization_mode_ext 25847 } else { 25848 ::std::mem::transmute(val) 25849 } 25850 }, 25851 cmd_set_line_stipple_enable_ext: unsafe { 25852 unsafe extern "system" fn cmd_set_line_stipple_enable_ext( 25853 _command_buffer: CommandBuffer, 25854 _stippled_line_enable: Bool32, 25855 ) { 25856 panic!(concat!( 25857 "Unable to load ", 25858 stringify!(cmd_set_line_stipple_enable_ext) 25859 )) 25860 } 25861 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25862 b"vkCmdSetLineStippleEnableEXT\0", 25863 ); 25864 let val = _f(cname); 25865 if val.is_null() { 25866 cmd_set_line_stipple_enable_ext 25867 } else { 25868 ::std::mem::transmute(val) 25869 } 25870 }, 25871 cmd_set_depth_clip_negative_one_to_one_ext: unsafe { 25872 unsafe extern "system" fn cmd_set_depth_clip_negative_one_to_one_ext( 25873 _command_buffer: CommandBuffer, 25874 _negative_one_to_one: Bool32, 25875 ) { 25876 panic!(concat!( 25877 "Unable to load ", 25878 stringify!(cmd_set_depth_clip_negative_one_to_one_ext) 25879 )) 25880 } 25881 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25882 b"vkCmdSetDepthClipNegativeOneToOneEXT\0", 25883 ); 25884 let val = _f(cname); 25885 if val.is_null() { 25886 cmd_set_depth_clip_negative_one_to_one_ext 25887 } else { 25888 ::std::mem::transmute(val) 25889 } 25890 }, 25891 cmd_set_viewport_w_scaling_enable_nv: unsafe { 25892 unsafe extern "system" fn cmd_set_viewport_w_scaling_enable_nv( 25893 _command_buffer: CommandBuffer, 25894 _viewport_w_scaling_enable: Bool32, 25895 ) { 25896 panic!(concat!( 25897 "Unable to load ", 25898 stringify!(cmd_set_viewport_w_scaling_enable_nv) 25899 )) 25900 } 25901 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25902 b"vkCmdSetViewportWScalingEnableNV\0", 25903 ); 25904 let val = _f(cname); 25905 if val.is_null() { 25906 cmd_set_viewport_w_scaling_enable_nv 25907 } else { 25908 ::std::mem::transmute(val) 25909 } 25910 }, 25911 cmd_set_viewport_swizzle_nv: unsafe { 25912 unsafe extern "system" fn cmd_set_viewport_swizzle_nv( 25913 _command_buffer: CommandBuffer, 25914 _first_viewport: u32, 25915 _viewport_count: u32, 25916 _p_viewport_swizzles: *const ViewportSwizzleNV, 25917 ) { 25918 panic!(concat!( 25919 "Unable to load ", 25920 stringify!(cmd_set_viewport_swizzle_nv) 25921 )) 25922 } 25923 let cname = 25924 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSetViewportSwizzleNV\0"); 25925 let val = _f(cname); 25926 if val.is_null() { 25927 cmd_set_viewport_swizzle_nv 25928 } else { 25929 ::std::mem::transmute(val) 25930 } 25931 }, 25932 cmd_set_coverage_to_color_enable_nv: unsafe { 25933 unsafe extern "system" fn cmd_set_coverage_to_color_enable_nv( 25934 _command_buffer: CommandBuffer, 25935 _coverage_to_color_enable: Bool32, 25936 ) { 25937 panic!(concat!( 25938 "Unable to load ", 25939 stringify!(cmd_set_coverage_to_color_enable_nv) 25940 )) 25941 } 25942 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25943 b"vkCmdSetCoverageToColorEnableNV\0", 25944 ); 25945 let val = _f(cname); 25946 if val.is_null() { 25947 cmd_set_coverage_to_color_enable_nv 25948 } else { 25949 ::std::mem::transmute(val) 25950 } 25951 }, 25952 cmd_set_coverage_to_color_location_nv: unsafe { 25953 unsafe extern "system" fn cmd_set_coverage_to_color_location_nv( 25954 _command_buffer: CommandBuffer, 25955 _coverage_to_color_location: u32, 25956 ) { 25957 panic!(concat!( 25958 "Unable to load ", 25959 stringify!(cmd_set_coverage_to_color_location_nv) 25960 )) 25961 } 25962 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25963 b"vkCmdSetCoverageToColorLocationNV\0", 25964 ); 25965 let val = _f(cname); 25966 if val.is_null() { 25967 cmd_set_coverage_to_color_location_nv 25968 } else { 25969 ::std::mem::transmute(val) 25970 } 25971 }, 25972 cmd_set_coverage_modulation_mode_nv: unsafe { 25973 unsafe extern "system" fn cmd_set_coverage_modulation_mode_nv( 25974 _command_buffer: CommandBuffer, 25975 _coverage_modulation_mode: CoverageModulationModeNV, 25976 ) { 25977 panic!(concat!( 25978 "Unable to load ", 25979 stringify!(cmd_set_coverage_modulation_mode_nv) 25980 )) 25981 } 25982 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 25983 b"vkCmdSetCoverageModulationModeNV\0", 25984 ); 25985 let val = _f(cname); 25986 if val.is_null() { 25987 cmd_set_coverage_modulation_mode_nv 25988 } else { 25989 ::std::mem::transmute(val) 25990 } 25991 }, 25992 cmd_set_coverage_modulation_table_enable_nv: unsafe { 25993 unsafe extern "system" fn cmd_set_coverage_modulation_table_enable_nv( 25994 _command_buffer: CommandBuffer, 25995 _coverage_modulation_table_enable: Bool32, 25996 ) { 25997 panic!(concat!( 25998 "Unable to load ", 25999 stringify!(cmd_set_coverage_modulation_table_enable_nv) 26000 )) 26001 } 26002 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26003 b"vkCmdSetCoverageModulationTableEnableNV\0", 26004 ); 26005 let val = _f(cname); 26006 if val.is_null() { 26007 cmd_set_coverage_modulation_table_enable_nv 26008 } else { 26009 ::std::mem::transmute(val) 26010 } 26011 }, 26012 cmd_set_coverage_modulation_table_nv: unsafe { 26013 unsafe extern "system" fn cmd_set_coverage_modulation_table_nv( 26014 _command_buffer: CommandBuffer, 26015 _coverage_modulation_table_count: u32, 26016 _p_coverage_modulation_table: *const f32, 26017 ) { 26018 panic!(concat!( 26019 "Unable to load ", 26020 stringify!(cmd_set_coverage_modulation_table_nv) 26021 )) 26022 } 26023 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26024 b"vkCmdSetCoverageModulationTableNV\0", 26025 ); 26026 let val = _f(cname); 26027 if val.is_null() { 26028 cmd_set_coverage_modulation_table_nv 26029 } else { 26030 ::std::mem::transmute(val) 26031 } 26032 }, 26033 cmd_set_shading_rate_image_enable_nv: unsafe { 26034 unsafe extern "system" fn cmd_set_shading_rate_image_enable_nv( 26035 _command_buffer: CommandBuffer, 26036 _shading_rate_image_enable: Bool32, 26037 ) { 26038 panic!(concat!( 26039 "Unable to load ", 26040 stringify!(cmd_set_shading_rate_image_enable_nv) 26041 )) 26042 } 26043 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26044 b"vkCmdSetShadingRateImageEnableNV\0", 26045 ); 26046 let val = _f(cname); 26047 if val.is_null() { 26048 cmd_set_shading_rate_image_enable_nv 26049 } else { 26050 ::std::mem::transmute(val) 26051 } 26052 }, 26053 cmd_set_representative_fragment_test_enable_nv: unsafe { 26054 unsafe extern "system" fn cmd_set_representative_fragment_test_enable_nv( 26055 _command_buffer: CommandBuffer, 26056 _representative_fragment_test_enable: Bool32, 26057 ) { 26058 panic!(concat!( 26059 "Unable to load ", 26060 stringify!(cmd_set_representative_fragment_test_enable_nv) 26061 )) 26062 } 26063 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26064 b"vkCmdSetRepresentativeFragmentTestEnableNV\0", 26065 ); 26066 let val = _f(cname); 26067 if val.is_null() { 26068 cmd_set_representative_fragment_test_enable_nv 26069 } else { 26070 ::std::mem::transmute(val) 26071 } 26072 }, 26073 cmd_set_coverage_reduction_mode_nv: unsafe { 26074 unsafe extern "system" fn cmd_set_coverage_reduction_mode_nv( 26075 _command_buffer: CommandBuffer, 26076 _coverage_reduction_mode: CoverageReductionModeNV, 26077 ) { 26078 panic!(concat!( 26079 "Unable to load ", 26080 stringify!(cmd_set_coverage_reduction_mode_nv) 26081 )) 26082 } 26083 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26084 b"vkCmdSetCoverageReductionModeNV\0", 26085 ); 26086 let val = _f(cname); 26087 if val.is_null() { 26088 cmd_set_coverage_reduction_mode_nv 26089 } else { 26090 ::std::mem::transmute(val) 26091 } 26092 }, 26093 } 26094 } 26095 } 26096 #[doc = "Generated from 'VK_EXT_shader_object'"] 26097 impl ObjectType { 26098 pub const SHADER_EXT: Self = Self(1_000_482_000); 26099 } 26100 #[doc = "Generated from 'VK_EXT_shader_object'"] 26101 impl Result { 26102 pub const ERROR_INCOMPATIBLE_SHADER_BINARY_EXT: Self = Self(1_000_482_000); 26103 } 26104 #[doc = "Generated from 'VK_EXT_shader_object'"] 26105 impl ShaderCreateFlagsEXT { 26106 pub const ALLOW_VARYING_SUBGROUP_SIZE: Self = Self(0b10); 26107 pub const REQUIRE_FULL_SUBGROUPS: Self = Self(0b100); 26108 pub const NO_TASK_SHADER: Self = Self(0b1000); 26109 pub const DISPATCH_BASE: Self = Self(0b1_0000); 26110 pub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = Self(0b10_0000); 26111 pub const FRAGMENT_DENSITY_MAP_ATTACHMENT: Self = Self(0b100_0000); 26112 } 26113 #[doc = "Generated from 'VK_EXT_shader_object'"] 26114 impl StructureType { 26115 pub const PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: Self = Self(1_000_482_000); 26116 pub const PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: Self = Self(1_000_482_001); 26117 pub const SHADER_CREATE_INFO_EXT: Self = Self(1_000_482_002); 26118 pub const SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: Self = 26119 Self::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO; 26120 } 26121 impl ExtExtension484Fn { 26122 #[inline] name() -> &'static ::std::ffi::CStr26123 pub const fn name() -> &'static ::std::ffi::CStr { 26124 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_484\0") } 26125 } 26126 pub const SPEC_VERSION: u32 = 0u32; 26127 } 26128 #[derive(Clone)] 26129 pub struct ExtExtension484Fn {} 26130 unsafe impl Send for ExtExtension484Fn {} 26131 unsafe impl Sync for ExtExtension484Fn {} 26132 impl ExtExtension484Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26133 pub fn load<F>(mut _f: F) -> Self 26134 where 26135 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26136 { 26137 Self {} 26138 } 26139 } 26140 impl QcomTilePropertiesFn { 26141 #[inline] name() -> &'static ::std::ffi::CStr26142 pub const fn name() -> &'static ::std::ffi::CStr { 26143 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_tile_properties\0") } 26144 } 26145 pub const SPEC_VERSION: u32 = 1u32; 26146 } 26147 #[allow(non_camel_case_types)] 26148 pub type PFN_vkGetFramebufferTilePropertiesQCOM = unsafe extern "system" fn( 26149 device: Device, 26150 framebuffer: Framebuffer, 26151 p_properties_count: *mut u32, 26152 p_properties: *mut TilePropertiesQCOM, 26153 ) -> Result; 26154 #[allow(non_camel_case_types)] 26155 pub type PFN_vkGetDynamicRenderingTilePropertiesQCOM = unsafe extern "system" fn( 26156 device: Device, 26157 p_rendering_info: *const RenderingInfo, 26158 p_properties: *mut TilePropertiesQCOM, 26159 ) -> Result; 26160 #[derive(Clone)] 26161 pub struct QcomTilePropertiesFn { 26162 pub get_framebuffer_tile_properties_qcom: PFN_vkGetFramebufferTilePropertiesQCOM, 26163 pub get_dynamic_rendering_tile_properties_qcom: PFN_vkGetDynamicRenderingTilePropertiesQCOM, 26164 } 26165 unsafe impl Send for QcomTilePropertiesFn {} 26166 unsafe impl Sync for QcomTilePropertiesFn {} 26167 impl QcomTilePropertiesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26168 pub fn load<F>(mut _f: F) -> Self 26169 where 26170 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26171 { 26172 Self { 26173 get_framebuffer_tile_properties_qcom: unsafe { 26174 unsafe extern "system" fn get_framebuffer_tile_properties_qcom( 26175 _device: Device, 26176 _framebuffer: Framebuffer, 26177 _p_properties_count: *mut u32, 26178 _p_properties: *mut TilePropertiesQCOM, 26179 ) -> Result { 26180 panic!(concat!( 26181 "Unable to load ", 26182 stringify!(get_framebuffer_tile_properties_qcom) 26183 )) 26184 } 26185 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26186 b"vkGetFramebufferTilePropertiesQCOM\0", 26187 ); 26188 let val = _f(cname); 26189 if val.is_null() { 26190 get_framebuffer_tile_properties_qcom 26191 } else { 26192 ::std::mem::transmute(val) 26193 } 26194 }, 26195 get_dynamic_rendering_tile_properties_qcom: unsafe { 26196 unsafe extern "system" fn get_dynamic_rendering_tile_properties_qcom( 26197 _device: Device, 26198 _p_rendering_info: *const RenderingInfo, 26199 _p_properties: *mut TilePropertiesQCOM, 26200 ) -> Result { 26201 panic!(concat!( 26202 "Unable to load ", 26203 stringify!(get_dynamic_rendering_tile_properties_qcom) 26204 )) 26205 } 26206 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26207 b"vkGetDynamicRenderingTilePropertiesQCOM\0", 26208 ); 26209 let val = _f(cname); 26210 if val.is_null() { 26211 get_dynamic_rendering_tile_properties_qcom 26212 } else { 26213 ::std::mem::transmute(val) 26214 } 26215 }, 26216 } 26217 } 26218 } 26219 #[doc = "Generated from 'VK_QCOM_tile_properties'"] 26220 impl StructureType { 26221 pub const PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: Self = Self(1_000_484_000); 26222 pub const TILE_PROPERTIES_QCOM: Self = Self(1_000_484_001); 26223 } 26224 impl SecAmigoProfilingFn { 26225 #[inline] name() -> &'static ::std::ffi::CStr26226 pub const fn name() -> &'static ::std::ffi::CStr { 26227 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_amigo_profiling\0") } 26228 } 26229 pub const SPEC_VERSION: u32 = 1u32; 26230 } 26231 #[derive(Clone)] 26232 pub struct SecAmigoProfilingFn {} 26233 unsafe impl Send for SecAmigoProfilingFn {} 26234 unsafe impl Sync for SecAmigoProfilingFn {} 26235 impl SecAmigoProfilingFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26236 pub fn load<F>(mut _f: F) -> Self 26237 where 26238 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26239 { 26240 Self {} 26241 } 26242 } 26243 #[doc = "Generated from 'VK_SEC_amigo_profiling'"] 26244 impl StructureType { 26245 pub const PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: Self = Self(1_000_485_000); 26246 pub const AMIGO_PROFILING_SUBMIT_INFO_SEC: Self = Self(1_000_485_001); 26247 } 26248 impl ExtExtension487Fn { 26249 #[inline] name() -> &'static ::std::ffi::CStr26250 pub const fn name() -> &'static ::std::ffi::CStr { 26251 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_487\0") } 26252 } 26253 pub const SPEC_VERSION: u32 = 0u32; 26254 } 26255 #[derive(Clone)] 26256 pub struct ExtExtension487Fn {} 26257 unsafe impl Send for ExtExtension487Fn {} 26258 unsafe impl Sync for ExtExtension487Fn {} 26259 impl ExtExtension487Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26260 pub fn load<F>(mut _f: F) -> Self 26261 where 26262 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26263 { 26264 Self {} 26265 } 26266 } 26267 impl ExtExtension488Fn { 26268 #[inline] name() -> &'static ::std::ffi::CStr26269 pub const fn name() -> &'static ::std::ffi::CStr { 26270 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_488\0") } 26271 } 26272 pub const SPEC_VERSION: u32 = 0u32; 26273 } 26274 #[derive(Clone)] 26275 pub struct ExtExtension488Fn {} 26276 unsafe impl Send for ExtExtension488Fn {} 26277 unsafe impl Sync for ExtExtension488Fn {} 26278 impl ExtExtension488Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26279 pub fn load<F>(mut _f: F) -> Self 26280 where 26281 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26282 { 26283 Self {} 26284 } 26285 } 26286 impl QcomMultiviewPerViewViewportsFn { 26287 #[inline] name() -> &'static ::std::ffi::CStr26288 pub const fn name() -> &'static ::std::ffi::CStr { 26289 unsafe { 26290 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26291 b"VK_QCOM_multiview_per_view_viewports\0", 26292 ) 26293 } 26294 } 26295 pub const SPEC_VERSION: u32 = 1u32; 26296 } 26297 #[derive(Clone)] 26298 pub struct QcomMultiviewPerViewViewportsFn {} 26299 unsafe impl Send for QcomMultiviewPerViewViewportsFn {} 26300 unsafe impl Sync for QcomMultiviewPerViewViewportsFn {} 26301 impl QcomMultiviewPerViewViewportsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26302 pub fn load<F>(mut _f: F) -> Self 26303 where 26304 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26305 { 26306 Self {} 26307 } 26308 } 26309 #[doc = "Generated from 'VK_QCOM_multiview_per_view_viewports'"] 26310 impl StructureType { 26311 pub const PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: Self = 26312 Self(1_000_488_000); 26313 } 26314 impl NvRayTracingInvocationReorderFn { 26315 #[inline] name() -> &'static ::std::ffi::CStr26316 pub const fn name() -> &'static ::std::ffi::CStr { 26317 unsafe { 26318 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26319 b"VK_NV_ray_tracing_invocation_reorder\0", 26320 ) 26321 } 26322 } 26323 pub const SPEC_VERSION: u32 = 1u32; 26324 } 26325 #[derive(Clone)] 26326 pub struct NvRayTracingInvocationReorderFn {} 26327 unsafe impl Send for NvRayTracingInvocationReorderFn {} 26328 unsafe impl Sync for NvRayTracingInvocationReorderFn {} 26329 impl NvRayTracingInvocationReorderFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26330 pub fn load<F>(mut _f: F) -> Self 26331 where 26332 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26333 { 26334 Self {} 26335 } 26336 } 26337 #[doc = "Generated from 'VK_NV_ray_tracing_invocation_reorder'"] 26338 impl StructureType { 26339 pub const PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: Self = 26340 Self(1_000_490_000); 26341 pub const PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: Self = 26342 Self(1_000_490_001); 26343 } 26344 impl NvExtension492Fn { 26345 #[inline] name() -> &'static ::std::ffi::CStr26346 pub const fn name() -> &'static ::std::ffi::CStr { 26347 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_492\0") } 26348 } 26349 pub const SPEC_VERSION: u32 = 0u32; 26350 } 26351 #[derive(Clone)] 26352 pub struct NvExtension492Fn {} 26353 unsafe impl Send for NvExtension492Fn {} 26354 unsafe impl Sync for NvExtension492Fn {} 26355 impl NvExtension492Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26356 pub fn load<F>(mut _f: F) -> Self 26357 where 26358 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26359 { 26360 Self {} 26361 } 26362 } 26363 impl NvExtension493Fn { 26364 #[inline] name() -> &'static ::std::ffi::CStr26365 pub const fn name() -> &'static ::std::ffi::CStr { 26366 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_493\0") } 26367 } 26368 pub const SPEC_VERSION: u32 = 0u32; 26369 } 26370 #[derive(Clone)] 26371 pub struct NvExtension493Fn {} 26372 unsafe impl Send for NvExtension493Fn {} 26373 unsafe impl Sync for NvExtension493Fn {} 26374 impl NvExtension493Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26375 pub fn load<F>(mut _f: F) -> Self 26376 where 26377 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26378 { 26379 Self {} 26380 } 26381 } 26382 impl NvExtension494Fn { 26383 #[inline] name() -> &'static ::std::ffi::CStr26384 pub const fn name() -> &'static ::std::ffi::CStr { 26385 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_494\0") } 26386 } 26387 pub const SPEC_VERSION: u32 = 0u32; 26388 } 26389 #[derive(Clone)] 26390 pub struct NvExtension494Fn {} 26391 unsafe impl Send for NvExtension494Fn {} 26392 unsafe impl Sync for NvExtension494Fn {} 26393 impl NvExtension494Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26394 pub fn load<F>(mut _f: F) -> Self 26395 where 26396 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26397 { 26398 Self {} 26399 } 26400 } 26401 impl ExtMutableDescriptorTypeFn { 26402 #[inline] name() -> &'static ::std::ffi::CStr26403 pub const fn name() -> &'static ::std::ffi::CStr { 26404 unsafe { 26405 ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_mutable_descriptor_type\0") 26406 } 26407 } 26408 pub const SPEC_VERSION: u32 = 1u32; 26409 } 26410 #[derive(Clone)] 26411 pub struct ExtMutableDescriptorTypeFn {} 26412 unsafe impl Send for ExtMutableDescriptorTypeFn {} 26413 unsafe impl Sync for ExtMutableDescriptorTypeFn {} 26414 impl ExtMutableDescriptorTypeFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26415 pub fn load<F>(mut _f: F) -> Self 26416 where 26417 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26418 { 26419 Self {} 26420 } 26421 } 26422 #[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] 26423 impl DescriptorPoolCreateFlags { 26424 pub const HOST_ONLY_EXT: Self = Self(0b100); 26425 } 26426 #[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] 26427 impl DescriptorSetLayoutCreateFlags { 26428 pub const HOST_ONLY_POOL_EXT: Self = Self(0b100); 26429 } 26430 #[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] 26431 impl DescriptorType { 26432 pub const MUTABLE_EXT: Self = Self(1_000_351_000); 26433 } 26434 #[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] 26435 impl StructureType { 26436 pub const PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: Self = Self(1_000_351_000); 26437 pub const MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: Self = Self(1_000_351_002); 26438 } 26439 impl ExtExtension496Fn { 26440 #[inline] name() -> &'static ::std::ffi::CStr26441 pub const fn name() -> &'static ::std::ffi::CStr { 26442 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_496\0") } 26443 } 26444 pub const SPEC_VERSION: u32 = 0u32; 26445 } 26446 #[derive(Clone)] 26447 pub struct ExtExtension496Fn {} 26448 unsafe impl Send for ExtExtension496Fn {} 26449 unsafe impl Sync for ExtExtension496Fn {} 26450 impl ExtExtension496Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26451 pub fn load<F>(mut _f: F) -> Self 26452 where 26453 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26454 { 26455 Self {} 26456 } 26457 } 26458 impl ExtExtension497Fn { 26459 #[inline] name() -> &'static ::std::ffi::CStr26460 pub const fn name() -> &'static ::std::ffi::CStr { 26461 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_497\0") } 26462 } 26463 pub const SPEC_VERSION: u32 = 0u32; 26464 } 26465 #[derive(Clone)] 26466 pub struct ExtExtension497Fn {} 26467 unsafe impl Send for ExtExtension497Fn {} 26468 unsafe impl Sync for ExtExtension497Fn {} 26469 impl ExtExtension497Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26470 pub fn load<F>(mut _f: F) -> Self 26471 where 26472 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26473 { 26474 Self {} 26475 } 26476 } 26477 impl ArmShaderCoreBuiltinsFn { 26478 #[inline] name() -> &'static ::std::ffi::CStr26479 pub const fn name() -> &'static ::std::ffi::CStr { 26480 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_ARM_shader_core_builtins\0") } 26481 } 26482 pub const SPEC_VERSION: u32 = 2u32; 26483 } 26484 #[derive(Clone)] 26485 pub struct ArmShaderCoreBuiltinsFn {} 26486 unsafe impl Send for ArmShaderCoreBuiltinsFn {} 26487 unsafe impl Sync for ArmShaderCoreBuiltinsFn {} 26488 impl ArmShaderCoreBuiltinsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26489 pub fn load<F>(mut _f: F) -> Self 26490 where 26491 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26492 { 26493 Self {} 26494 } 26495 } 26496 #[doc = "Generated from 'VK_ARM_shader_core_builtins'"] 26497 impl StructureType { 26498 pub const PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: Self = Self(1_000_497_000); 26499 pub const PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: Self = Self(1_000_497_001); 26500 } 26501 impl ExtPipelineLibraryGroupHandlesFn { 26502 #[inline] name() -> &'static ::std::ffi::CStr26503 pub const fn name() -> &'static ::std::ffi::CStr { 26504 unsafe { 26505 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26506 b"VK_EXT_pipeline_library_group_handles\0", 26507 ) 26508 } 26509 } 26510 pub const SPEC_VERSION: u32 = 1u32; 26511 } 26512 #[derive(Clone)] 26513 pub struct ExtPipelineLibraryGroupHandlesFn {} 26514 unsafe impl Send for ExtPipelineLibraryGroupHandlesFn {} 26515 unsafe impl Sync for ExtPipelineLibraryGroupHandlesFn {} 26516 impl ExtPipelineLibraryGroupHandlesFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26517 pub fn load<F>(mut _f: F) -> Self 26518 where 26519 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26520 { 26521 Self {} 26522 } 26523 } 26524 #[doc = "Generated from 'VK_EXT_pipeline_library_group_handles'"] 26525 impl StructureType { 26526 pub const PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: Self = 26527 Self(1_000_498_000); 26528 } 26529 impl ExtDynamicRenderingUnusedAttachmentsFn { 26530 #[inline] name() -> &'static ::std::ffi::CStr26531 pub const fn name() -> &'static ::std::ffi::CStr { 26532 unsafe { 26533 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26534 b"VK_EXT_dynamic_rendering_unused_attachments\0", 26535 ) 26536 } 26537 } 26538 pub const SPEC_VERSION: u32 = 1u32; 26539 } 26540 #[derive(Clone)] 26541 pub struct ExtDynamicRenderingUnusedAttachmentsFn {} 26542 unsafe impl Send for ExtDynamicRenderingUnusedAttachmentsFn {} 26543 unsafe impl Sync for ExtDynamicRenderingUnusedAttachmentsFn {} 26544 impl ExtDynamicRenderingUnusedAttachmentsFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26545 pub fn load<F>(mut _f: F) -> Self 26546 where 26547 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26548 { 26549 Self {} 26550 } 26551 } 26552 #[doc = "Generated from 'VK_EXT_dynamic_rendering_unused_attachments'"] 26553 impl StructureType { 26554 pub const PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: Self = 26555 Self(1_000_499_000); 26556 } 26557 impl ExtExtension501Fn { 26558 #[inline] name() -> &'static ::std::ffi::CStr26559 pub const fn name() -> &'static ::std::ffi::CStr { 26560 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_501\0") } 26561 } 26562 pub const SPEC_VERSION: u32 = 0u32; 26563 } 26564 #[derive(Clone)] 26565 pub struct ExtExtension501Fn {} 26566 unsafe impl Send for ExtExtension501Fn {} 26567 unsafe impl Sync for ExtExtension501Fn {} 26568 impl ExtExtension501Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26569 pub fn load<F>(mut _f: F) -> Self 26570 where 26571 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26572 { 26573 Self {} 26574 } 26575 } 26576 impl ExtExtension502Fn { 26577 #[inline] name() -> &'static ::std::ffi::CStr26578 pub const fn name() -> &'static ::std::ffi::CStr { 26579 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_502\0") } 26580 } 26581 pub const SPEC_VERSION: u32 = 0u32; 26582 } 26583 #[derive(Clone)] 26584 pub struct ExtExtension502Fn {} 26585 unsafe impl Send for ExtExtension502Fn {} 26586 unsafe impl Sync for ExtExtension502Fn {} 26587 impl ExtExtension502Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26588 pub fn load<F>(mut _f: F) -> Self 26589 where 26590 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26591 { 26592 Self {} 26593 } 26594 } 26595 impl ExtExtension503Fn { 26596 #[inline] name() -> &'static ::std::ffi::CStr26597 pub const fn name() -> &'static ::std::ffi::CStr { 26598 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_503\0") } 26599 } 26600 pub const SPEC_VERSION: u32 = 0u32; 26601 } 26602 #[derive(Clone)] 26603 pub struct ExtExtension503Fn {} 26604 unsafe impl Send for ExtExtension503Fn {} 26605 unsafe impl Sync for ExtExtension503Fn {} 26606 impl ExtExtension503Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26607 pub fn load<F>(mut _f: F) -> Self 26608 where 26609 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26610 { 26611 Self {} 26612 } 26613 } 26614 impl NvExtension504Fn { 26615 #[inline] name() -> &'static ::std::ffi::CStr26616 pub const fn name() -> &'static ::std::ffi::CStr { 26617 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_504\0") } 26618 } 26619 pub const SPEC_VERSION: u32 = 0u32; 26620 } 26621 #[derive(Clone)] 26622 pub struct NvExtension504Fn {} 26623 unsafe impl Send for NvExtension504Fn {} 26624 unsafe impl Sync for NvExtension504Fn {} 26625 impl NvExtension504Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26626 pub fn load<F>(mut _f: F) -> Self 26627 where 26628 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26629 { 26630 Self {} 26631 } 26632 } 26633 impl ExtExtension505Fn { 26634 #[inline] name() -> &'static ::std::ffi::CStr26635 pub const fn name() -> &'static ::std::ffi::CStr { 26636 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_505\0") } 26637 } 26638 pub const SPEC_VERSION: u32 = 0u32; 26639 } 26640 #[derive(Clone)] 26641 pub struct ExtExtension505Fn {} 26642 unsafe impl Send for ExtExtension505Fn {} 26643 unsafe impl Sync for ExtExtension505Fn {} 26644 impl ExtExtension505Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26645 pub fn load<F>(mut _f: F) -> Self 26646 where 26647 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26648 { 26649 Self {} 26650 } 26651 } 26652 impl NvExtension506Fn { 26653 #[inline] name() -> &'static ::std::ffi::CStr26654 pub const fn name() -> &'static ::std::ffi::CStr { 26655 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_506\0") } 26656 } 26657 pub const SPEC_VERSION: u32 = 0u32; 26658 } 26659 #[derive(Clone)] 26660 pub struct NvExtension506Fn {} 26661 unsafe impl Send for NvExtension506Fn {} 26662 unsafe impl Sync for NvExtension506Fn {} 26663 impl NvExtension506Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26664 pub fn load<F>(mut _f: F) -> Self 26665 where 26666 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26667 { 26668 Self {} 26669 } 26670 } 26671 impl KhrExtension507Fn { 26672 #[inline] name() -> &'static ::std::ffi::CStr26673 pub const fn name() -> &'static ::std::ffi::CStr { 26674 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_507\0") } 26675 } 26676 pub const SPEC_VERSION: u32 = 0u32; 26677 } 26678 #[derive(Clone)] 26679 pub struct KhrExtension507Fn {} 26680 unsafe impl Send for KhrExtension507Fn {} 26681 unsafe impl Sync for KhrExtension507Fn {} 26682 impl KhrExtension507Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26683 pub fn load<F>(mut _f: F) -> Self 26684 where 26685 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26686 { 26687 Self {} 26688 } 26689 } 26690 impl ExtExtension508Fn { 26691 #[inline] name() -> &'static ::std::ffi::CStr26692 pub const fn name() -> &'static ::std::ffi::CStr { 26693 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_508\0") } 26694 } 26695 pub const SPEC_VERSION: u32 = 0u32; 26696 } 26697 #[derive(Clone)] 26698 pub struct ExtExtension508Fn {} 26699 unsafe impl Send for ExtExtension508Fn {} 26700 unsafe impl Sync for ExtExtension508Fn {} 26701 impl ExtExtension508Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26702 pub fn load<F>(mut _f: F) -> Self 26703 where 26704 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26705 { 26706 Self {} 26707 } 26708 } 26709 #[doc = "Generated from 'VK_EXT_extension_508'"] 26710 impl AccessFlags2 { 26711 pub const RESERVED_47_EXT: Self = 26712 Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 26713 pub const RESERVED_48_EXT: Self = 26714 Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 26715 } 26716 #[doc = "Generated from 'VK_EXT_extension_508'"] 26717 impl PipelineStageFlags2 { 26718 pub const RESERVED_42_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); 26719 } 26720 #[doc = "Generated from 'VK_EXT_extension_508'"] 26721 impl QueueFlags { 26722 pub const RESERVED_10_EXT: Self = Self(0b100_0000_0000); 26723 } 26724 impl ExtExtension509Fn { 26725 #[inline] name() -> &'static ::std::ffi::CStr26726 pub const fn name() -> &'static ::std::ffi::CStr { 26727 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_509\0") } 26728 } 26729 pub const SPEC_VERSION: u32 = 0u32; 26730 } 26731 #[derive(Clone)] 26732 pub struct ExtExtension509Fn {} 26733 unsafe impl Send for ExtExtension509Fn {} 26734 unsafe impl Sync for ExtExtension509Fn {} 26735 impl ExtExtension509Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26736 pub fn load<F>(mut _f: F) -> Self 26737 where 26738 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26739 { 26740 Self {} 26741 } 26742 } 26743 impl MesaExtension510Fn { 26744 #[inline] name() -> &'static ::std::ffi::CStr26745 pub const fn name() -> &'static ::std::ffi::CStr { 26746 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MESA_extension_510\0") } 26747 } 26748 pub const SPEC_VERSION: u32 = 0u32; 26749 } 26750 #[derive(Clone)] 26751 pub struct MesaExtension510Fn {} 26752 unsafe impl Send for MesaExtension510Fn {} 26753 unsafe impl Sync for MesaExtension510Fn {} 26754 impl MesaExtension510Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26755 pub fn load<F>(mut _f: F) -> Self 26756 where 26757 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26758 { 26759 Self {} 26760 } 26761 } 26762 impl QcomMultiviewPerViewRenderAreasFn { 26763 #[inline] name() -> &'static ::std::ffi::CStr26764 pub const fn name() -> &'static ::std::ffi::CStr { 26765 unsafe { 26766 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 26767 b"VK_QCOM_multiview_per_view_render_areas\0", 26768 ) 26769 } 26770 } 26771 pub const SPEC_VERSION: u32 = 1u32; 26772 } 26773 #[derive(Clone)] 26774 pub struct QcomMultiviewPerViewRenderAreasFn {} 26775 unsafe impl Send for QcomMultiviewPerViewRenderAreasFn {} 26776 unsafe impl Sync for QcomMultiviewPerViewRenderAreasFn {} 26777 impl QcomMultiviewPerViewRenderAreasFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26778 pub fn load<F>(mut _f: F) -> Self 26779 where 26780 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26781 { 26782 Self {} 26783 } 26784 } 26785 #[doc = "Generated from 'VK_QCOM_multiview_per_view_render_areas'"] 26786 impl StructureType { 26787 pub const PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: Self = 26788 Self(1_000_510_000); 26789 pub const MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: Self = 26790 Self(1_000_510_001); 26791 } 26792 impl ExtExtension512Fn { 26793 #[inline] name() -> &'static ::std::ffi::CStr26794 pub const fn name() -> &'static ::std::ffi::CStr { 26795 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_512\0") } 26796 } 26797 pub const SPEC_VERSION: u32 = 0u32; 26798 } 26799 #[derive(Clone)] 26800 pub struct ExtExtension512Fn {} 26801 unsafe impl Send for ExtExtension512Fn {} 26802 unsafe impl Sync for ExtExtension512Fn {} 26803 impl ExtExtension512Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26804 pub fn load<F>(mut _f: F) -> Self 26805 where 26806 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26807 { 26808 Self {} 26809 } 26810 } 26811 impl KhrExtension513Fn { 26812 #[inline] name() -> &'static ::std::ffi::CStr26813 pub const fn name() -> &'static ::std::ffi::CStr { 26814 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_513\0") } 26815 } 26816 pub const SPEC_VERSION: u32 = 0u32; 26817 } 26818 #[derive(Clone)] 26819 pub struct KhrExtension513Fn {} 26820 unsafe impl Send for KhrExtension513Fn {} 26821 unsafe impl Sync for KhrExtension513Fn {} 26822 impl KhrExtension513Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26823 pub fn load<F>(mut _f: F) -> Self 26824 where 26825 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26826 { 26827 Self {} 26828 } 26829 } 26830 impl KhrExtension514Fn { 26831 #[inline] name() -> &'static ::std::ffi::CStr26832 pub const fn name() -> &'static ::std::ffi::CStr { 26833 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_514\0") } 26834 } 26835 pub const SPEC_VERSION: u32 = 0u32; 26836 } 26837 #[derive(Clone)] 26838 pub struct KhrExtension514Fn {} 26839 unsafe impl Send for KhrExtension514Fn {} 26840 unsafe impl Sync for KhrExtension514Fn {} 26841 impl KhrExtension514Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26842 pub fn load<F>(mut _f: F) -> Self 26843 where 26844 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26845 { 26846 Self {} 26847 } 26848 } 26849 impl KhrExtension515Fn { 26850 #[inline] name() -> &'static ::std::ffi::CStr26851 pub const fn name() -> &'static ::std::ffi::CStr { 26852 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_515\0") } 26853 } 26854 pub const SPEC_VERSION: u32 = 0u32; 26855 } 26856 #[derive(Clone)] 26857 pub struct KhrExtension515Fn {} 26858 unsafe impl Send for KhrExtension515Fn {} 26859 unsafe impl Sync for KhrExtension515Fn {} 26860 impl KhrExtension515Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26861 pub fn load<F>(mut _f: F) -> Self 26862 where 26863 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26864 { 26865 Self {} 26866 } 26867 } 26868 impl KhrExtension516Fn { 26869 #[inline] name() -> &'static ::std::ffi::CStr26870 pub const fn name() -> &'static ::std::ffi::CStr { 26871 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_516\0") } 26872 } 26873 pub const SPEC_VERSION: u32 = 0u32; 26874 } 26875 #[derive(Clone)] 26876 pub struct KhrExtension516Fn {} 26877 unsafe impl Send for KhrExtension516Fn {} 26878 unsafe impl Sync for KhrExtension516Fn {} 26879 impl KhrExtension516Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26880 pub fn load<F>(mut _f: F) -> Self 26881 where 26882 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26883 { 26884 Self {} 26885 } 26886 } 26887 #[doc = "Generated from 'VK_KHR_extension_516'"] 26888 impl BufferCreateFlags { 26889 pub const RESERVED_6_KHR: Self = Self(0b100_0000); 26890 } 26891 #[doc = "Generated from 'VK_KHR_extension_516'"] 26892 impl ImageCreateFlags { 26893 pub const RESERVED_20_KHR: Self = Self(0b1_0000_0000_0000_0000_0000); 26894 } 26895 impl ExtExtension517Fn { 26896 #[inline] name() -> &'static ::std::ffi::CStr26897 pub const fn name() -> &'static ::std::ffi::CStr { 26898 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_517\0") } 26899 } 26900 pub const SPEC_VERSION: u32 = 0u32; 26901 } 26902 #[derive(Clone)] 26903 pub struct ExtExtension517Fn {} 26904 unsafe impl Send for ExtExtension517Fn {} 26905 unsafe impl Sync for ExtExtension517Fn {} 26906 impl ExtExtension517Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26907 pub fn load<F>(mut _f: F) -> Self 26908 where 26909 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26910 { 26911 Self {} 26912 } 26913 } 26914 #[doc = "Generated from 'VK_EXT_extension_517'"] 26915 impl DescriptorSetLayoutCreateFlags { 26916 pub const RESERVED_6_EXT: Self = Self(0b100_0000); 26917 } 26918 impl MesaExtension518Fn { 26919 #[inline] name() -> &'static ::std::ffi::CStr26920 pub const fn name() -> &'static ::std::ffi::CStr { 26921 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MESA_extension_518\0") } 26922 } 26923 pub const SPEC_VERSION: u32 = 0u32; 26924 } 26925 #[derive(Clone)] 26926 pub struct MesaExtension518Fn {} 26927 unsafe impl Send for MesaExtension518Fn {} 26928 unsafe impl Sync for MesaExtension518Fn {} 26929 impl MesaExtension518Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26930 pub fn load<F>(mut _f: F) -> Self 26931 where 26932 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26933 { 26934 Self {} 26935 } 26936 } 26937 impl QcomExtension519Fn { 26938 #[inline] name() -> &'static ::std::ffi::CStr26939 pub const fn name() -> &'static ::std::ffi::CStr { 26940 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_519\0") } 26941 } 26942 pub const SPEC_VERSION: u32 = 0u32; 26943 } 26944 #[derive(Clone)] 26945 pub struct QcomExtension519Fn {} 26946 unsafe impl Send for QcomExtension519Fn {} 26947 unsafe impl Sync for QcomExtension519Fn {} 26948 impl QcomExtension519Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26949 pub fn load<F>(mut _f: F) -> Self 26950 where 26951 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26952 { 26953 Self {} 26954 } 26955 } 26956 impl QcomExtension520Fn { 26957 #[inline] name() -> &'static ::std::ffi::CStr26958 pub const fn name() -> &'static ::std::ffi::CStr { 26959 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_520\0") } 26960 } 26961 pub const SPEC_VERSION: u32 = 0u32; 26962 } 26963 #[derive(Clone)] 26964 pub struct QcomExtension520Fn {} 26965 unsafe impl Send for QcomExtension520Fn {} 26966 unsafe impl Sync for QcomExtension520Fn {} 26967 impl QcomExtension520Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26968 pub fn load<F>(mut _f: F) -> Self 26969 where 26970 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26971 { 26972 Self {} 26973 } 26974 } 26975 impl QcomExtension521Fn { 26976 #[inline] name() -> &'static ::std::ffi::CStr26977 pub const fn name() -> &'static ::std::ffi::CStr { 26978 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_521\0") } 26979 } 26980 pub const SPEC_VERSION: u32 = 0u32; 26981 } 26982 #[derive(Clone)] 26983 pub struct QcomExtension521Fn {} 26984 unsafe impl Send for QcomExtension521Fn {} 26985 unsafe impl Sync for QcomExtension521Fn {} 26986 impl QcomExtension521Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,26987 pub fn load<F>(mut _f: F) -> Self 26988 where 26989 F: FnMut(&::std::ffi::CStr) -> *const c_void, 26990 { 26991 Self {} 26992 } 26993 } 26994 impl QcomExtension522Fn { 26995 #[inline] name() -> &'static ::std::ffi::CStr26996 pub const fn name() -> &'static ::std::ffi::CStr { 26997 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_522\0") } 26998 } 26999 pub const SPEC_VERSION: u32 = 0u32; 27000 } 27001 #[derive(Clone)] 27002 pub struct QcomExtension522Fn {} 27003 unsafe impl Send for QcomExtension522Fn {} 27004 unsafe impl Sync for QcomExtension522Fn {} 27005 impl QcomExtension522Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27006 pub fn load<F>(mut _f: F) -> Self 27007 where 27008 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27009 { 27010 Self {} 27011 } 27012 } 27013 impl ExtExtension523Fn { 27014 #[inline] name() -> &'static ::std::ffi::CStr27015 pub const fn name() -> &'static ::std::ffi::CStr { 27016 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_523\0") } 27017 } 27018 pub const SPEC_VERSION: u32 = 0u32; 27019 } 27020 #[derive(Clone)] 27021 pub struct ExtExtension523Fn {} 27022 unsafe impl Send for ExtExtension523Fn {} 27023 unsafe impl Sync for ExtExtension523Fn {} 27024 impl ExtExtension523Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27025 pub fn load<F>(mut _f: F) -> Self 27026 where 27027 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27028 { 27029 Self {} 27030 } 27031 } 27032 impl ExtExtension524Fn { 27033 #[inline] name() -> &'static ::std::ffi::CStr27034 pub const fn name() -> &'static ::std::ffi::CStr { 27035 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_524\0") } 27036 } 27037 pub const SPEC_VERSION: u32 = 0u32; 27038 } 27039 #[derive(Clone)] 27040 pub struct ExtExtension524Fn {} 27041 unsafe impl Send for ExtExtension524Fn {} 27042 unsafe impl Sync for ExtExtension524Fn {} 27043 impl ExtExtension524Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27044 pub fn load<F>(mut _f: F) -> Self 27045 where 27046 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27047 { 27048 Self {} 27049 } 27050 } 27051 impl ExtAttachmentFeedbackLoopDynamicStateFn { 27052 #[inline] name() -> &'static ::std::ffi::CStr27053 pub const fn name() -> &'static ::std::ffi::CStr { 27054 unsafe { 27055 ::std::ffi::CStr::from_bytes_with_nul_unchecked( 27056 b"VK_EXT_attachment_feedback_loop_dynamic_state\0", 27057 ) 27058 } 27059 } 27060 pub const SPEC_VERSION: u32 = 1u32; 27061 } 27062 #[allow(non_camel_case_types)] 27063 pub type PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT = 27064 unsafe extern "system" fn(command_buffer: CommandBuffer, aspect_mask: ImageAspectFlags); 27065 #[derive(Clone)] 27066 pub struct ExtAttachmentFeedbackLoopDynamicStateFn { 27067 pub cmd_set_attachment_feedback_loop_enable_ext: PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT, 27068 } 27069 unsafe impl Send for ExtAttachmentFeedbackLoopDynamicStateFn {} 27070 unsafe impl Sync for ExtAttachmentFeedbackLoopDynamicStateFn {} 27071 impl ExtAttachmentFeedbackLoopDynamicStateFn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27072 pub fn load<F>(mut _f: F) -> Self 27073 where 27074 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27075 { 27076 Self { 27077 cmd_set_attachment_feedback_loop_enable_ext: unsafe { 27078 unsafe extern "system" fn cmd_set_attachment_feedback_loop_enable_ext( 27079 _command_buffer: CommandBuffer, 27080 _aspect_mask: ImageAspectFlags, 27081 ) { 27082 panic!(concat!( 27083 "Unable to load ", 27084 stringify!(cmd_set_attachment_feedback_loop_enable_ext) 27085 )) 27086 } 27087 let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( 27088 b"vkCmdSetAttachmentFeedbackLoopEnableEXT\0", 27089 ); 27090 let val = _f(cname); 27091 if val.is_null() { 27092 cmd_set_attachment_feedback_loop_enable_ext 27093 } else { 27094 ::std::mem::transmute(val) 27095 } 27096 }, 27097 } 27098 } 27099 } 27100 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_dynamic_state'"] 27101 impl DynamicState { 27102 pub const ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT: Self = Self(1_000_524_000); 27103 } 27104 #[doc = "Generated from 'VK_EXT_attachment_feedback_loop_dynamic_state'"] 27105 impl StructureType { 27106 pub const PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: Self = 27107 Self(1_000_524_000); 27108 } 27109 impl ExtExtension526Fn { 27110 #[inline] name() -> &'static ::std::ffi::CStr27111 pub const fn name() -> &'static ::std::ffi::CStr { 27112 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_526\0") } 27113 } 27114 pub const SPEC_VERSION: u32 = 0u32; 27115 } 27116 #[derive(Clone)] 27117 pub struct ExtExtension526Fn {} 27118 unsafe impl Send for ExtExtension526Fn {} 27119 unsafe impl Sync for ExtExtension526Fn {} 27120 impl ExtExtension526Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27121 pub fn load<F>(mut _f: F) -> Self 27122 where 27123 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27124 { 27125 Self {} 27126 } 27127 } 27128 impl ExtExtension527Fn { 27129 #[inline] name() -> &'static ::std::ffi::CStr27130 pub const fn name() -> &'static ::std::ffi::CStr { 27131 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_527\0") } 27132 } 27133 pub const SPEC_VERSION: u32 = 0u32; 27134 } 27135 #[derive(Clone)] 27136 pub struct ExtExtension527Fn {} 27137 unsafe impl Send for ExtExtension527Fn {} 27138 unsafe impl Sync for ExtExtension527Fn {} 27139 impl ExtExtension527Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27140 pub fn load<F>(mut _f: F) -> Self 27141 where 27142 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27143 { 27144 Self {} 27145 } 27146 } 27147 impl ExtExtension528Fn { 27148 #[inline] name() -> &'static ::std::ffi::CStr27149 pub const fn name() -> &'static ::std::ffi::CStr { 27150 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_528\0") } 27151 } 27152 pub const SPEC_VERSION: u32 = 0u32; 27153 } 27154 #[derive(Clone)] 27155 pub struct ExtExtension528Fn {} 27156 unsafe impl Send for ExtExtension528Fn {} 27157 unsafe impl Sync for ExtExtension528Fn {} 27158 impl ExtExtension528Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27159 pub fn load<F>(mut _f: F) -> Self 27160 where 27161 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27162 { 27163 Self {} 27164 } 27165 } 27166 impl KhrExtension529Fn { 27167 #[inline] name() -> &'static ::std::ffi::CStr27168 pub const fn name() -> &'static ::std::ffi::CStr { 27169 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_529\0") } 27170 } 27171 pub const SPEC_VERSION: u32 = 0u32; 27172 } 27173 #[derive(Clone)] 27174 pub struct KhrExtension529Fn {} 27175 unsafe impl Send for KhrExtension529Fn {} 27176 unsafe impl Sync for KhrExtension529Fn {} 27177 impl KhrExtension529Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27178 pub fn load<F>(mut _f: F) -> Self 27179 where 27180 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27181 { 27182 Self {} 27183 } 27184 } 27185 impl QnxExtension530Fn { 27186 #[inline] name() -> &'static ::std::ffi::CStr27187 pub const fn name() -> &'static ::std::ffi::CStr { 27188 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QNX_extension_530\0") } 27189 } 27190 pub const SPEC_VERSION: u32 = 0u32; 27191 } 27192 #[derive(Clone)] 27193 pub struct QnxExtension530Fn {} 27194 unsafe impl Send for QnxExtension530Fn {} 27195 unsafe impl Sync for QnxExtension530Fn {} 27196 impl QnxExtension530Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27197 pub fn load<F>(mut _f: F) -> Self 27198 where 27199 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27200 { 27201 Self {} 27202 } 27203 } 27204 #[doc = "Generated from 'VK_QNX_extension_530'"] 27205 impl ExternalMemoryHandleTypeFlags { 27206 pub const TYPE_530_QNX: Self = Self(0b100_0000_0000_0000); 27207 } 27208 impl MsftExtension531Fn { 27209 #[inline] name() -> &'static ::std::ffi::CStr27210 pub const fn name() -> &'static ::std::ffi::CStr { 27211 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_MSFT_extension_531\0") } 27212 } 27213 pub const SPEC_VERSION: u32 = 0u32; 27214 } 27215 #[derive(Clone)] 27216 pub struct MsftExtension531Fn {} 27217 unsafe impl Send for MsftExtension531Fn {} 27218 unsafe impl Sync for MsftExtension531Fn {} 27219 impl MsftExtension531Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27220 pub fn load<F>(mut _f: F) -> Self 27221 where 27222 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27223 { 27224 Self {} 27225 } 27226 } 27227 impl KhrExtension532Fn { 27228 #[inline] name() -> &'static ::std::ffi::CStr27229 pub const fn name() -> &'static ::std::ffi::CStr { 27230 unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_extension_532\0") } 27231 } 27232 pub const SPEC_VERSION: u32 = 0u32; 27233 } 27234 #[derive(Clone)] 27235 pub struct KhrExtension532Fn {} 27236 unsafe impl Send for KhrExtension532Fn {} 27237 unsafe impl Sync for KhrExtension532Fn {} 27238 impl KhrExtension532Fn { load<F>(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void,27239 pub fn load<F>(mut _f: F) -> Self 27240 where 27241 F: FnMut(&::std::ffi::CStr) -> *const c_void, 27242 { 27243 Self {} 27244 } 27245 } 27246