Update Vulkan-Headers to 1.2.184 (#454)
* generator: Fix Rust 1.53 clippy lints * temporary: Allow bindgen nullptr dereference in layout tests * Update Vulkan-Headers to 1.2.182 * extensions/ext: Add properties-getter for PhysicalDeviceDrmPropertiesEXT * Update Vulkan-Headers to 1.2.183 * Remove upstream-fixed vk_platform.h header path fallback Fixed in https://github.com/KhronosGroup/Vulkan-Docs/pull/1538 * Update Vulkan-Headers to 1.2.184
This commit is contained in:
parent
a75d8e7e88
commit
2045e38e84
|
@ -7,6 +7,7 @@ pub use self::debug_utils::DebugUtils;
|
||||||
pub use self::extended_dynamic_state::ExtendedDynamicState;
|
pub use self::extended_dynamic_state::ExtendedDynamicState;
|
||||||
pub use self::full_screen_exclusive::FullScreenExclusive;
|
pub use self::full_screen_exclusive::FullScreenExclusive;
|
||||||
pub use self::metal_surface::MetalSurface;
|
pub use self::metal_surface::MetalSurface;
|
||||||
|
pub use self::physical_device_drm::PhysicalDeviceDrm;
|
||||||
pub use self::tooling_info::ToolingInfo;
|
pub use self::tooling_info::ToolingInfo;
|
||||||
|
|
||||||
mod buffer_device_address;
|
mod buffer_device_address;
|
||||||
|
@ -18,4 +19,5 @@ mod debug_utils;
|
||||||
mod extended_dynamic_state;
|
mod extended_dynamic_state;
|
||||||
mod full_screen_exclusive;
|
mod full_screen_exclusive;
|
||||||
mod metal_surface;
|
mod metal_surface;
|
||||||
|
mod physical_device_drm;
|
||||||
mod tooling_info;
|
mod tooling_info;
|
||||||
|
|
24
ash/src/extensions/ext/physical_device_drm.rs
Normal file
24
ash/src/extensions/ext/physical_device_drm.rs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
use crate::vk;
|
||||||
|
use crate::Instance;
|
||||||
|
use std::ffi::CStr;
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct PhysicalDeviceDrm;
|
||||||
|
|
||||||
|
impl PhysicalDeviceDrm {
|
||||||
|
pub unsafe fn get_properties(
|
||||||
|
instance: &Instance,
|
||||||
|
pdevice: vk::PhysicalDevice,
|
||||||
|
) -> vk::PhysicalDeviceDrmPropertiesEXT {
|
||||||
|
let mut props_drm = vk::PhysicalDeviceDrmPropertiesEXT::default();
|
||||||
|
{
|
||||||
|
let mut props = vk::PhysicalDeviceProperties2::builder().push_next(&mut props_drm);
|
||||||
|
instance.get_physical_device_properties2(pdevice, &mut props);
|
||||||
|
}
|
||||||
|
props_drm
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn name() -> &'static CStr {
|
||||||
|
vk::ExtPhysicalDeviceDrmFn::name()
|
||||||
|
}
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ mod features;
|
||||||
pub use features::*;
|
pub use features::*;
|
||||||
#[doc = r" Native bindings from Vulkan headers, generated by bindgen"]
|
#[doc = r" Native bindings from Vulkan headers, generated by bindgen"]
|
||||||
#[allow(nonstandard_style)]
|
#[allow(nonstandard_style)]
|
||||||
|
#[allow(deref_nullptr)]
|
||||||
pub mod native;
|
pub mod native;
|
||||||
mod platform_types;
|
mod platform_types;
|
||||||
pub use platform_types::*;
|
pub use platform_types::*;
|
||||||
|
|
|
@ -65,8 +65,8 @@ impl fmt::Debug for AccelerationStructureCreateFlagsKHR {
|
||||||
"DEVICE_ADDRESS_CAPTURE_REPLAY",
|
"DEVICE_ADDRESS_CAPTURE_REPLAY",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccelerationStructureCreateFlagsKHR::RESERVED_2_NV.0,
|
AccelerationStructureCreateFlagsKHR::MOTION_NV.0,
|
||||||
"RESERVED_2_NV",
|
"MOTION_NV",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
|
@ -87,6 +87,33 @@ impl fmt::Debug for AccelerationStructureMemoryRequirementsTypeNV {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
impl fmt::Debug for AccelerationStructureMotionInfoFlagsNV {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
const KNOWN: &[(Flags, &str)] = &[];
|
||||||
|
debug_flags(f, KNOWN, self.0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl fmt::Debug for AccelerationStructureMotionInstanceFlagsNV {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
const KNOWN: &[(Flags, &str)] = &[];
|
||||||
|
debug_flags(f, KNOWN, self.0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl fmt::Debug for AccelerationStructureMotionInstanceTypeNV {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
let name = match *self {
|
||||||
|
Self::STATIC => Some("STATIC"),
|
||||||
|
Self::MATRIX_MOTION => Some("MATRIX_MOTION"),
|
||||||
|
Self::SRT_MOTION => Some("SRT_MOTION"),
|
||||||
|
_ => None,
|
||||||
|
};
|
||||||
|
if let Some(x) = name {
|
||||||
|
f.write_str(x)
|
||||||
|
} else {
|
||||||
|
self.0.fmt(f)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
impl fmt::Debug for AccelerationStructureTypeKHR {
|
impl fmt::Debug for AccelerationStructureTypeKHR {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
let name = match *self {
|
let name = match *self {
|
||||||
|
@ -587,10 +614,7 @@ impl fmt::Debug for BuildAccelerationStructureFlagsKHR {
|
||||||
BuildAccelerationStructureFlagsKHR::LOW_MEMORY.0,
|
BuildAccelerationStructureFlagsKHR::LOW_MEMORY.0,
|
||||||
"LOW_MEMORY",
|
"LOW_MEMORY",
|
||||||
),
|
),
|
||||||
(
|
(BuildAccelerationStructureFlagsKHR::MOTION_NV.0, "MOTION_NV"),
|
||||||
BuildAccelerationStructureFlagsKHR::RESERVED_5_NV.0,
|
|
||||||
"RESERVED_5_NV",
|
|
||||||
),
|
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -1463,8 +1487,8 @@ impl fmt::Debug for ExternalMemoryHandleTypeFlags {
|
||||||
"ZIRCON_VMO_FUCHSIA",
|
"ZIRCON_VMO_FUCHSIA",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ExternalMemoryHandleTypeFlags::RESERVED_12_NV.0,
|
ExternalMemoryHandleTypeFlags::RDMA_ADDRESS_NV.0,
|
||||||
"RESERVED_12_NV",
|
"RDMA_ADDRESS_NV",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ExternalMemoryHandleTypeFlags::RESERVED_13_NV.0,
|
ExternalMemoryHandleTypeFlags::RESERVED_13_NV.0,
|
||||||
|
@ -2457,7 +2481,7 @@ impl fmt::Debug for MemoryPropertyFlags {
|
||||||
MemoryPropertyFlags::DEVICE_UNCACHED_AMD.0,
|
MemoryPropertyFlags::DEVICE_UNCACHED_AMD.0,
|
||||||
"DEVICE_UNCACHED_AMD",
|
"DEVICE_UNCACHED_AMD",
|
||||||
),
|
),
|
||||||
(MemoryPropertyFlags::RESERVED_8_NV.0, "RESERVED_8_NV"),
|
(MemoryPropertyFlags::RDMA_CAPABLE_NV.0, "RDMA_CAPABLE_NV"),
|
||||||
(MemoryPropertyFlags::PROTECTED.0, "PROTECTED"),
|
(MemoryPropertyFlags::PROTECTED.0, "PROTECTED"),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
|
@ -2691,6 +2715,7 @@ impl fmt::Debug for PipelineBindPoint {
|
||||||
Self::GRAPHICS => Some("GRAPHICS"),
|
Self::GRAPHICS => Some("GRAPHICS"),
|
||||||
Self::COMPUTE => Some("COMPUTE"),
|
Self::COMPUTE => Some("COMPUTE"),
|
||||||
Self::RAY_TRACING_KHR => Some("RAY_TRACING_KHR"),
|
Self::RAY_TRACING_KHR => Some("RAY_TRACING_KHR"),
|
||||||
|
Self::SUBPASS_SHADING_HUAWEI => Some("SUBPASS_SHADING_HUAWEI"),
|
||||||
_ => None,
|
_ => None,
|
||||||
};
|
};
|
||||||
if let Some(x) = name {
|
if let Some(x) = name {
|
||||||
|
@ -2822,7 +2847,10 @@ impl fmt::Debug for PipelineCreateFlags {
|
||||||
),
|
),
|
||||||
(PipelineCreateFlags::RESERVED_23_AMD.0, "RESERVED_23_AMD"),
|
(PipelineCreateFlags::RESERVED_23_AMD.0, "RESERVED_23_AMD"),
|
||||||
(PipelineCreateFlags::RESERVED_10_AMD.0, "RESERVED_10_AMD"),
|
(PipelineCreateFlags::RESERVED_10_AMD.0, "RESERVED_10_AMD"),
|
||||||
(PipelineCreateFlags::RESERVED_20_NV.0, "RESERVED_20_NV"),
|
(
|
||||||
|
PipelineCreateFlags::RAY_TRACING_ALLOW_MOTION_NV.0,
|
||||||
|
"RAY_TRACING_ALLOW_MOTION_NV",
|
||||||
|
),
|
||||||
(
|
(
|
||||||
PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0,
|
PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0,
|
||||||
"VIEW_INDEX_FROM_DEVICE_INDEX",
|
"VIEW_INDEX_FROM_DEVICE_INDEX",
|
||||||
|
@ -3101,6 +3129,10 @@ impl fmt::Debug for PipelineStageFlags2KHR {
|
||||||
),
|
),
|
||||||
(PipelineStageFlags2KHR::TASK_SHADER_NV.0, "TASK_SHADER_NV"),
|
(PipelineStageFlags2KHR::TASK_SHADER_NV.0, "TASK_SHADER_NV"),
|
||||||
(PipelineStageFlags2KHR::MESH_SHADER_NV.0, "MESH_SHADER_NV"),
|
(PipelineStageFlags2KHR::MESH_SHADER_NV.0, "MESH_SHADER_NV"),
|
||||||
|
(
|
||||||
|
PipelineStageFlags2KHR::SUBPASS_SHADING_HUAWEI.0,
|
||||||
|
"SUBPASS_SHADING_HUAWEI",
|
||||||
|
),
|
||||||
(
|
(
|
||||||
PipelineStageFlags2KHR::RESERVED_40_HUAWEI.0,
|
PipelineStageFlags2KHR::RESERVED_40_HUAWEI.0,
|
||||||
"RESERVED_40_HUAWEI",
|
"RESERVED_40_HUAWEI",
|
||||||
|
@ -3735,6 +3767,10 @@ impl fmt::Debug for ShaderStageFlags {
|
||||||
(ShaderStageFlags::CALLABLE_KHR.0, "CALLABLE_KHR"),
|
(ShaderStageFlags::CALLABLE_KHR.0, "CALLABLE_KHR"),
|
||||||
(ShaderStageFlags::TASK_NV.0, "TASK_NV"),
|
(ShaderStageFlags::TASK_NV.0, "TASK_NV"),
|
||||||
(ShaderStageFlags::MESH_NV.0, "MESH_NV"),
|
(ShaderStageFlags::MESH_NV.0, "MESH_NV"),
|
||||||
|
(
|
||||||
|
ShaderStageFlags::SUBPASS_SHADING_HUAWEI.0,
|
||||||
|
"SUBPASS_SHADING_HUAWEI",
|
||||||
|
),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -4720,6 +4756,15 @@ impl fmt::Debug for StructureType {
|
||||||
Self::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV => {
|
Self::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV => {
|
||||||
Some("PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV")
|
Some("PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV")
|
||||||
}
|
}
|
||||||
|
Self::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV => {
|
||||||
|
Some("ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV")
|
||||||
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV => {
|
||||||
|
Some("PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV")
|
||||||
|
}
|
||||||
|
Self::ACCELERATION_STRUCTURE_MOTION_INFO_NV => {
|
||||||
|
Some("ACCELERATION_STRUCTURE_MOTION_INFO_NV")
|
||||||
|
}
|
||||||
Self::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT => {
|
Self::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT => {
|
||||||
Some("PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT")
|
Some("PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT")
|
||||||
}
|
}
|
||||||
|
@ -4766,6 +4811,7 @@ impl fmt::Debug for StructureType {
|
||||||
Self::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT => {
|
Self::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT => {
|
||||||
Some("VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
|
Some("VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
|
||||||
}
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT => Some("PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"),
|
||||||
Self::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA => {
|
Self::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA => {
|
||||||
Some("IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA")
|
Some("IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA")
|
||||||
}
|
}
|
||||||
|
@ -4781,6 +4827,19 @@ impl fmt::Debug for StructureType {
|
||||||
Self::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA => {
|
Self::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA => {
|
||||||
Some("SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA")
|
Some("SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA")
|
||||||
}
|
}
|
||||||
|
Self::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI => {
|
||||||
|
Some("SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI")
|
||||||
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI => {
|
||||||
|
Some("PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI")
|
||||||
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI => {
|
||||||
|
Some("PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI")
|
||||||
|
}
|
||||||
|
Self::MEMORY_GET_REMOTE_ADDRESS_INFO_NV => Some("MEMORY_GET_REMOTE_ADDRESS_INFO_NV"),
|
||||||
|
Self::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV => {
|
||||||
|
Some("PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV")
|
||||||
|
}
|
||||||
Self::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT => {
|
Self::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT => {
|
||||||
Some("PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT")
|
Some("PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT")
|
||||||
}
|
}
|
||||||
|
@ -4797,6 +4856,12 @@ impl fmt::Debug for StructureType {
|
||||||
Self::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT => {
|
Self::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT => {
|
||||||
Some("QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT")
|
Some("QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT")
|
||||||
}
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT => {
|
||||||
|
Some("PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT")
|
||||||
|
}
|
||||||
|
Self::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT => {
|
||||||
|
Some("PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT")
|
||||||
|
}
|
||||||
Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => {
|
Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => {
|
||||||
Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES")
|
Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES")
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2209,6 +2209,23 @@ impl ProvokingVertexModeEXT {
|
||||||
}
|
}
|
||||||
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAccelerationStructureMotionInstanceTypeNV.html>"]
|
||||||
|
pub struct AccelerationStructureMotionInstanceTypeNV(pub(crate) i32);
|
||||||
|
impl AccelerationStructureMotionInstanceTypeNV {
|
||||||
|
pub const fn from_raw(x: i32) -> Self {
|
||||||
|
AccelerationStructureMotionInstanceTypeNV(x)
|
||||||
|
}
|
||||||
|
pub const fn as_raw(self) -> i32 {
|
||||||
|
self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl AccelerationStructureMotionInstanceTypeNV {
|
||||||
|
pub const STATIC: Self = Self(0);
|
||||||
|
pub const MATRIX_MOTION: Self = Self(1);
|
||||||
|
pub const SRT_MOTION: Self = Self(2);
|
||||||
|
}
|
||||||
|
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
||||||
|
#[repr(transparent)]
|
||||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryResultStatusKHR.html>"]
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryResultStatusKHR.html>"]
|
||||||
pub struct QueryResultStatusKHR(pub(crate) i32);
|
pub struct QueryResultStatusKHR(pub(crate) i32);
|
||||||
impl QueryResultStatusKHR {
|
impl QueryResultStatusKHR {
|
||||||
|
|
|
@ -20497,23 +20497,97 @@ impl StructureType {
|
||||||
impl StructureType {
|
impl StructureType {
|
||||||
pub const DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: Self = Self(1_000_284_002);
|
pub const DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: Self = Self(1_000_284_002);
|
||||||
}
|
}
|
||||||
impl ExtExtension286Fn {
|
impl ExtAcquireDrmDisplayFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_286\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_acquire_drm_display\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 1u32;
|
||||||
}
|
}
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkAcquireDrmDisplayEXT = unsafe extern "system" fn(
|
||||||
|
physical_device: PhysicalDevice,
|
||||||
|
drm_fd: i32,
|
||||||
|
display: DisplayKHR,
|
||||||
|
) -> Result;
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkGetDrmDisplayEXT = unsafe extern "system" fn(
|
||||||
|
physical_device: PhysicalDevice,
|
||||||
|
drm_fd: i32,
|
||||||
|
connector_id: u32,
|
||||||
|
display: *mut DisplayKHR,
|
||||||
|
) -> Result;
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct ExtExtension286Fn {}
|
pub struct ExtAcquireDrmDisplayFn {
|
||||||
unsafe impl Send for ExtExtension286Fn {}
|
pub acquire_drm_display_ext: PFN_vkAcquireDrmDisplayEXT,
|
||||||
unsafe impl Sync for ExtExtension286Fn {}
|
pub get_drm_display_ext: PFN_vkGetDrmDisplayEXT,
|
||||||
impl ExtExtension286Fn {
|
}
|
||||||
|
unsafe impl Send for ExtAcquireDrmDisplayFn {}
|
||||||
|
unsafe impl Sync for ExtAcquireDrmDisplayFn {}
|
||||||
|
impl ExtAcquireDrmDisplayFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
ExtExtension286Fn {}
|
ExtAcquireDrmDisplayFn {
|
||||||
|
acquire_drm_display_ext: unsafe {
|
||||||
|
unsafe extern "system" fn acquire_drm_display_ext(
|
||||||
|
_physical_device: PhysicalDevice,
|
||||||
|
_drm_fd: i32,
|
||||||
|
_display: DisplayKHR,
|
||||||
|
) -> Result {
|
||||||
|
panic!(concat!(
|
||||||
|
"Unable to load ",
|
||||||
|
stringify!(acquire_drm_display_ext)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
let cname =
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkAcquireDrmDisplayEXT\0");
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
acquire_drm_display_ext
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get_drm_display_ext: unsafe {
|
||||||
|
unsafe extern "system" fn get_drm_display_ext(
|
||||||
|
_physical_device: PhysicalDevice,
|
||||||
|
_drm_fd: i32,
|
||||||
|
_connector_id: u32,
|
||||||
|
_display: *mut DisplayKHR,
|
||||||
|
) -> Result {
|
||||||
|
panic!(concat!("Unable to load ", stringify!(get_drm_display_ext)))
|
||||||
|
}
|
||||||
|
let cname =
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkGetDrmDisplayEXT\0");
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
get_drm_display_ext
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkAcquireDrmDisplayEXT.html>"]
|
||||||
|
pub unsafe fn acquire_drm_display_ext(
|
||||||
|
&self,
|
||||||
|
physical_device: PhysicalDevice,
|
||||||
|
drm_fd: i32,
|
||||||
|
display: DisplayKHR,
|
||||||
|
) -> Result {
|
||||||
|
(self.acquire_drm_display_ext)(physical_device, drm_fd, display)
|
||||||
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetDrmDisplayEXT.html>"]
|
||||||
|
pub unsafe fn get_drm_display_ext(
|
||||||
|
&self,
|
||||||
|
physical_device: PhysicalDevice,
|
||||||
|
drm_fd: i32,
|
||||||
|
connector_id: u32,
|
||||||
|
display: *mut DisplayKHR,
|
||||||
|
) -> Result {
|
||||||
|
(self.get_drm_display_ext)(physical_device, drm_fd, connector_id, display)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl ExtRobustness2Fn {
|
impl ExtRobustness2Fn {
|
||||||
|
@ -22319,36 +22393,48 @@ impl StructureType {
|
||||||
impl StructureType {
|
impl StructureType {
|
||||||
pub const PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: Self = Self(1_000_326_002);
|
pub const PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: Self = Self(1_000_326_002);
|
||||||
}
|
}
|
||||||
impl NvExtension328Fn {
|
impl NvRayTracingMotionBlurFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_NV_extension_328\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_NV_ray_tracing_motion_blur\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 1u32;
|
||||||
}
|
}
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct NvExtension328Fn {}
|
pub struct NvRayTracingMotionBlurFn {}
|
||||||
unsafe impl Send for NvExtension328Fn {}
|
unsafe impl Send for NvRayTracingMotionBlurFn {}
|
||||||
unsafe impl Sync for NvExtension328Fn {}
|
unsafe impl Sync for NvRayTracingMotionBlurFn {}
|
||||||
impl NvExtension328Fn {
|
impl NvRayTracingMotionBlurFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
NvExtension328Fn {}
|
NvRayTracingMotionBlurFn {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Generated from 'VK_NV_extension_328'"]
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: Self = Self(1_000_327_000);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: Self = Self(1_000_327_001);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const ACCELERATION_STRUCTURE_MOTION_INFO_NV: Self = Self(1_000_327_002);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
impl BuildAccelerationStructureFlagsKHR {
|
impl BuildAccelerationStructureFlagsKHR {
|
||||||
pub const RESERVED_5_NV: Self = Self(0b10_0000);
|
pub const MOTION_NV: Self = Self(0b10_0000);
|
||||||
}
|
}
|
||||||
#[doc = "Generated from 'VK_NV_extension_328'"]
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
impl AccelerationStructureCreateFlagsKHR {
|
impl AccelerationStructureCreateFlagsKHR {
|
||||||
pub const RESERVED_2_NV: Self = Self(0b100);
|
pub const MOTION_NV: Self = Self(0b100);
|
||||||
}
|
}
|
||||||
#[doc = "Generated from 'VK_NV_extension_328'"]
|
#[doc = "Generated from 'VK_NV_ray_tracing_motion_blur'"]
|
||||||
impl PipelineCreateFlags {
|
impl PipelineCreateFlags {
|
||||||
pub const RESERVED_20_NV: Self = Self(0b1_0000_0000_0000_0000_0000);
|
pub const RAY_TRACING_ALLOW_MOTION_NV: Self = Self(0b1_0000_0000_0000_0000_0000);
|
||||||
}
|
}
|
||||||
impl NvExtension329Fn {
|
impl NvExtension329Fn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
@ -23322,25 +23408,29 @@ impl StructureType {
|
||||||
impl DynamicState {
|
impl DynamicState {
|
||||||
pub const VERTEX_INPUT_EXT: Self = Self(1_000_352_000);
|
pub const VERTEX_INPUT_EXT: Self = Self(1_000_352_000);
|
||||||
}
|
}
|
||||||
impl ExtExtension354Fn {
|
impl ExtPhysicalDeviceDrmFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_354\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_physical_device_drm\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 1u32;
|
||||||
}
|
}
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct ExtExtension354Fn {}
|
pub struct ExtPhysicalDeviceDrmFn {}
|
||||||
unsafe impl Send for ExtExtension354Fn {}
|
unsafe impl Send for ExtPhysicalDeviceDrmFn {}
|
||||||
unsafe impl Sync for ExtExtension354Fn {}
|
unsafe impl Sync for ExtPhysicalDeviceDrmFn {}
|
||||||
impl ExtExtension354Fn {
|
impl ExtPhysicalDeviceDrmFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
ExtExtension354Fn {}
|
ExtPhysicalDeviceDrmFn {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[doc = "Generated from 'VK_EXT_physical_device_drm'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: Self = Self(1_000_353_000);
|
||||||
|
}
|
||||||
impl ExtExtension355Fn {
|
impl ExtExtension355Fn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_355\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_355\0")
|
||||||
|
@ -23815,24 +23905,118 @@ impl QcomExtension369Fn {
|
||||||
impl DescriptorBindingFlags {
|
impl DescriptorBindingFlags {
|
||||||
pub const RESERVED_4_QCOM: Self = Self(0b1_0000);
|
pub const RESERVED_4_QCOM: Self = Self(0b1_0000);
|
||||||
}
|
}
|
||||||
impl HuaweiExtension370Fn {
|
impl HuaweiSubpassShadingFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_HUAWEI_extension_370\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_HUAWEI_subpass_shading\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 2u32;
|
||||||
}
|
}
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = unsafe extern "system" fn(
|
||||||
|
device: Device,
|
||||||
|
renderpass: RenderPass,
|
||||||
|
p_max_workgroup_size: *mut Extent2D,
|
||||||
|
) -> Result;
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkCmdSubpassShadingHUAWEI = unsafe extern "system" fn(command_buffer: CommandBuffer);
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct HuaweiExtension370Fn {}
|
pub struct HuaweiSubpassShadingFn {
|
||||||
unsafe impl Send for HuaweiExtension370Fn {}
|
pub get_device_subpass_shading_max_workgroup_size_huawei:
|
||||||
unsafe impl Sync for HuaweiExtension370Fn {}
|
PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
|
||||||
impl HuaweiExtension370Fn {
|
pub cmd_subpass_shading_huawei: PFN_vkCmdSubpassShadingHUAWEI,
|
||||||
|
}
|
||||||
|
unsafe impl Send for HuaweiSubpassShadingFn {}
|
||||||
|
unsafe impl Sync for HuaweiSubpassShadingFn {}
|
||||||
|
impl HuaweiSubpassShadingFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
HuaweiExtension370Fn {}
|
HuaweiSubpassShadingFn {
|
||||||
|
get_device_subpass_shading_max_workgroup_size_huawei: unsafe {
|
||||||
|
unsafe extern "system" fn get_device_subpass_shading_max_workgroup_size_huawei(
|
||||||
|
_device: Device,
|
||||||
|
_renderpass: RenderPass,
|
||||||
|
_p_max_workgroup_size: *mut Extent2D,
|
||||||
|
) -> Result {
|
||||||
|
panic!(concat!(
|
||||||
|
"Unable to load ",
|
||||||
|
stringify!(get_device_subpass_shading_max_workgroup_size_huawei)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
|
||||||
|
b"vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI\0",
|
||||||
|
);
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
get_device_subpass_shading_max_workgroup_size_huawei
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cmd_subpass_shading_huawei: unsafe {
|
||||||
|
unsafe extern "system" fn cmd_subpass_shading_huawei(
|
||||||
|
_command_buffer: CommandBuffer,
|
||||||
|
) {
|
||||||
|
panic!(concat!(
|
||||||
|
"Unable to load ",
|
||||||
|
stringify!(cmd_subpass_shading_huawei)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
let cname =
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdSubpassShadingHUAWEI\0");
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
cmd_subpass_shading_huawei
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html>"]
|
||||||
|
pub unsafe fn get_device_subpass_shading_max_workgroup_size_huawei(
|
||||||
|
&self,
|
||||||
|
device: Device,
|
||||||
|
renderpass: RenderPass,
|
||||||
|
p_max_workgroup_size: *mut Extent2D,
|
||||||
|
) -> Result {
|
||||||
|
(self.get_device_subpass_shading_max_workgroup_size_huawei)(
|
||||||
|
device,
|
||||||
|
renderpass,
|
||||||
|
p_max_workgroup_size,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdSubpassShadingHUAWEI.html>"]
|
||||||
|
pub unsafe fn cmd_subpass_shading_huawei(&self, command_buffer: CommandBuffer) {
|
||||||
|
(self.cmd_subpass_shading_huawei)(command_buffer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: Self = Self(1_000_369_000);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: Self = Self(1_000_369_001);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: Self = Self(1_000_369_002);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl PipelineBindPoint {
|
||||||
|
pub const SUBPASS_SHADING_HUAWEI: Self = Self(1_000_369_003);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl PipelineStageFlags2KHR {
|
||||||
|
pub const SUBPASS_SHADING_HUAWEI: Self =
|
||||||
|
Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_HUAWEI_subpass_shading'"]
|
||||||
|
impl ShaderStageFlags {
|
||||||
|
pub const SUBPASS_SHADING_HUAWEI: Self = Self(0b100_0000_0000_0000);
|
||||||
}
|
}
|
||||||
impl HuaweiExtension371Fn {
|
impl HuaweiExtension371Fn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
@ -23866,32 +24050,79 @@ impl PipelineStageFlags2KHR {
|
||||||
pub const RESERVED_40_HUAWEI: Self =
|
pub const RESERVED_40_HUAWEI: Self =
|
||||||
Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000);
|
Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000);
|
||||||
}
|
}
|
||||||
impl NvExtension372Fn {
|
impl NvExternalMemoryRdmaFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_NV_extension_372\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_NV_external_memory_rdma\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 1u32;
|
||||||
}
|
}
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkGetMemoryRemoteAddressNV = unsafe extern "system" fn(
|
||||||
|
device: Device,
|
||||||
|
get_memory_remote_address_info: *const MemoryGetRemoteAddressInfoNV,
|
||||||
|
p_address: *mut RemoteAddressNV,
|
||||||
|
) -> Result;
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct NvExtension372Fn {}
|
pub struct NvExternalMemoryRdmaFn {
|
||||||
unsafe impl Send for NvExtension372Fn {}
|
pub get_memory_remote_address_nv: PFN_vkGetMemoryRemoteAddressNV,
|
||||||
unsafe impl Sync for NvExtension372Fn {}
|
}
|
||||||
impl NvExtension372Fn {
|
unsafe impl Send for NvExternalMemoryRdmaFn {}
|
||||||
|
unsafe impl Sync for NvExternalMemoryRdmaFn {}
|
||||||
|
impl NvExternalMemoryRdmaFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
NvExtension372Fn {}
|
NvExternalMemoryRdmaFn {
|
||||||
|
get_memory_remote_address_nv: unsafe {
|
||||||
|
unsafe extern "system" fn get_memory_remote_address_nv(
|
||||||
|
_device: Device,
|
||||||
|
_get_memory_remote_address_info: *const MemoryGetRemoteAddressInfoNV,
|
||||||
|
_p_address: *mut RemoteAddressNV,
|
||||||
|
) -> Result {
|
||||||
|
panic!(concat!(
|
||||||
|
"Unable to load ",
|
||||||
|
stringify!(get_memory_remote_address_nv)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
|
||||||
|
b"vkGetMemoryRemoteAddressNV\0",
|
||||||
|
);
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
get_memory_remote_address_nv
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetMemoryRemoteAddressNV.html>"]
|
||||||
|
pub unsafe fn get_memory_remote_address_nv(
|
||||||
|
&self,
|
||||||
|
device: Device,
|
||||||
|
get_memory_remote_address_info: *const MemoryGetRemoteAddressInfoNV,
|
||||||
|
p_address: *mut RemoteAddressNV,
|
||||||
|
) -> Result {
|
||||||
|
(self.get_memory_remote_address_nv)(device, get_memory_remote_address_info, p_address)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Generated from 'VK_NV_extension_372'"]
|
#[doc = "Generated from 'VK_NV_external_memory_rdma'"]
|
||||||
impl MemoryPropertyFlags {
|
impl StructureType {
|
||||||
pub const RESERVED_8_NV: Self = Self(0b1_0000_0000);
|
pub const MEMORY_GET_REMOTE_ADDRESS_INFO_NV: Self = Self(1_000_371_000);
|
||||||
}
|
}
|
||||||
#[doc = "Generated from 'VK_NV_extension_372'"]
|
#[doc = "Generated from 'VK_NV_external_memory_rdma'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: Self = Self(1_000_371_001);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_NV_external_memory_rdma'"]
|
||||||
|
impl MemoryPropertyFlags {
|
||||||
|
pub const RDMA_CAPABLE_NV: Self = Self(0b1_0000_0000);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_NV_external_memory_rdma'"]
|
||||||
impl ExternalMemoryHandleTypeFlags {
|
impl ExternalMemoryHandleTypeFlags {
|
||||||
pub const RESERVED_12_NV: Self = Self(0b1_0000_0000_0000);
|
pub const RDMA_ADDRESS_NV: Self = Self(0b1_0000_0000_0000);
|
||||||
}
|
}
|
||||||
impl NvExtension373Fn {
|
impl NvExtension373Fn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
@ -24621,24 +24852,138 @@ impl ExtExtension392Fn {
|
||||||
ExtExtension392Fn {}
|
ExtExtension392Fn {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl MesaMultiDrawFn {
|
impl ExtMultiDrawFn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
::std::ffi::CStr::from_bytes_with_nul(b"VK_MESA_multi_draw\0")
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_multi_draw\0")
|
||||||
.expect("Wrong extension string")
|
.expect("Wrong extension string")
|
||||||
}
|
}
|
||||||
pub const SPEC_VERSION: u32 = 0u32;
|
pub const SPEC_VERSION: u32 = 1u32;
|
||||||
}
|
}
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkCmdDrawMultiEXT = unsafe extern "system" fn(
|
||||||
|
command_buffer: CommandBuffer,
|
||||||
|
draw_count: u32,
|
||||||
|
p_vertex_info: *const MultiDrawInfoEXT,
|
||||||
|
instance_count: u32,
|
||||||
|
first_instance: u32,
|
||||||
|
stride: u32,
|
||||||
|
);
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type PFN_vkCmdDrawMultiIndexedEXT = unsafe extern "system" fn(
|
||||||
|
command_buffer: CommandBuffer,
|
||||||
|
draw_count: u32,
|
||||||
|
p_index_info: *const MultiDrawIndexedInfoEXT,
|
||||||
|
instance_count: u32,
|
||||||
|
first_instance: u32,
|
||||||
|
stride: u32,
|
||||||
|
p_vertex_offset: *const i32,
|
||||||
|
);
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct MesaMultiDrawFn {}
|
pub struct ExtMultiDrawFn {
|
||||||
unsafe impl Send for MesaMultiDrawFn {}
|
pub cmd_draw_multi_ext: PFN_vkCmdDrawMultiEXT,
|
||||||
unsafe impl Sync for MesaMultiDrawFn {}
|
pub cmd_draw_multi_indexed_ext: PFN_vkCmdDrawMultiIndexedEXT,
|
||||||
impl MesaMultiDrawFn {
|
}
|
||||||
|
unsafe impl Send for ExtMultiDrawFn {}
|
||||||
|
unsafe impl Sync for ExtMultiDrawFn {}
|
||||||
|
impl ExtMultiDrawFn {
|
||||||
pub fn load<F>(mut _f: F) -> Self
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
where
|
where
|
||||||
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
{
|
{
|
||||||
MesaMultiDrawFn {}
|
ExtMultiDrawFn {
|
||||||
|
cmd_draw_multi_ext: unsafe {
|
||||||
|
unsafe extern "system" fn cmd_draw_multi_ext(
|
||||||
|
_command_buffer: CommandBuffer,
|
||||||
|
_draw_count: u32,
|
||||||
|
_p_vertex_info: *const MultiDrawInfoEXT,
|
||||||
|
_instance_count: u32,
|
||||||
|
_first_instance: u32,
|
||||||
|
_stride: u32,
|
||||||
|
) {
|
||||||
|
panic!(concat!("Unable to load ", stringify!(cmd_draw_multi_ext)))
|
||||||
|
}
|
||||||
|
let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMultiEXT\0");
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
cmd_draw_multi_ext
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cmd_draw_multi_indexed_ext: unsafe {
|
||||||
|
unsafe extern "system" fn cmd_draw_multi_indexed_ext(
|
||||||
|
_command_buffer: CommandBuffer,
|
||||||
|
_draw_count: u32,
|
||||||
|
_p_index_info: *const MultiDrawIndexedInfoEXT,
|
||||||
|
_instance_count: u32,
|
||||||
|
_first_instance: u32,
|
||||||
|
_stride: u32,
|
||||||
|
_p_vertex_offset: *const i32,
|
||||||
|
) {
|
||||||
|
panic!(concat!(
|
||||||
|
"Unable to load ",
|
||||||
|
stringify!(cmd_draw_multi_indexed_ext)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
let cname =
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMultiIndexedEXT\0");
|
||||||
|
let val = _f(cname);
|
||||||
|
if val.is_null() {
|
||||||
|
cmd_draw_multi_indexed_ext
|
||||||
|
} else {
|
||||||
|
::std::mem::transmute(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdDrawMultiEXT.html>"]
|
||||||
|
pub unsafe fn cmd_draw_multi_ext(
|
||||||
|
&self,
|
||||||
|
command_buffer: CommandBuffer,
|
||||||
|
draw_count: u32,
|
||||||
|
p_vertex_info: *const MultiDrawInfoEXT,
|
||||||
|
instance_count: u32,
|
||||||
|
first_instance: u32,
|
||||||
|
stride: u32,
|
||||||
|
) {
|
||||||
|
(self.cmd_draw_multi_ext)(
|
||||||
|
command_buffer,
|
||||||
|
draw_count,
|
||||||
|
p_vertex_info,
|
||||||
|
instance_count,
|
||||||
|
first_instance,
|
||||||
|
stride,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdDrawMultiIndexedEXT.html>"]
|
||||||
|
pub unsafe fn cmd_draw_multi_indexed_ext(
|
||||||
|
&self,
|
||||||
|
command_buffer: CommandBuffer,
|
||||||
|
draw_count: u32,
|
||||||
|
p_index_info: *const MultiDrawIndexedInfoEXT,
|
||||||
|
instance_count: u32,
|
||||||
|
first_instance: u32,
|
||||||
|
stride: u32,
|
||||||
|
p_vertex_offset: *const i32,
|
||||||
|
) {
|
||||||
|
(self.cmd_draw_multi_indexed_ext)(
|
||||||
|
command_buffer,
|
||||||
|
draw_count,
|
||||||
|
p_index_info,
|
||||||
|
instance_count,
|
||||||
|
first_instance,
|
||||||
|
stride,
|
||||||
|
p_vertex_offset,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_EXT_multi_draw'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: Self = Self(1_000_392_000);
|
||||||
|
}
|
||||||
|
#[doc = "Generated from 'VK_EXT_multi_draw'"]
|
||||||
|
impl StructureType {
|
||||||
|
pub const PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: Self = Self(1_000_392_001);
|
||||||
}
|
}
|
||||||
impl ExtExtension394Fn {
|
impl ExtExtension394Fn {
|
||||||
pub fn name() -> &'static ::std::ffi::CStr {
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
@ -25077,3 +25422,79 @@ impl ArmExtension416Fn {
|
||||||
ArmExtension416Fn {}
|
ArmExtension416Fn {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
impl KhrExtension417Fn {
|
||||||
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_KHR_extension_417\0")
|
||||||
|
.expect("Wrong extension string")
|
||||||
|
}
|
||||||
|
pub const SPEC_VERSION: u32 = 0u32;
|
||||||
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct KhrExtension417Fn {}
|
||||||
|
unsafe impl Send for KhrExtension417Fn {}
|
||||||
|
unsafe impl Sync for KhrExtension417Fn {}
|
||||||
|
impl KhrExtension417Fn {
|
||||||
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
|
where
|
||||||
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
|
{
|
||||||
|
KhrExtension417Fn {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ArmExtension418Fn {
|
||||||
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_ARM_extension_418\0")
|
||||||
|
.expect("Wrong extension string")
|
||||||
|
}
|
||||||
|
pub const SPEC_VERSION: u32 = 0u32;
|
||||||
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct ArmExtension418Fn {}
|
||||||
|
unsafe impl Send for ArmExtension418Fn {}
|
||||||
|
unsafe impl Sync for ArmExtension418Fn {}
|
||||||
|
impl ArmExtension418Fn {
|
||||||
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
|
where
|
||||||
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
|
{
|
||||||
|
ArmExtension418Fn {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ExtExtension419Fn {
|
||||||
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_419\0")
|
||||||
|
.expect("Wrong extension string")
|
||||||
|
}
|
||||||
|
pub const SPEC_VERSION: u32 = 0u32;
|
||||||
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct ExtExtension419Fn {}
|
||||||
|
unsafe impl Send for ExtExtension419Fn {}
|
||||||
|
unsafe impl Sync for ExtExtension419Fn {}
|
||||||
|
impl ExtExtension419Fn {
|
||||||
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
|
where
|
||||||
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
|
{
|
||||||
|
ExtExtension419Fn {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ExtExtension420Fn {
|
||||||
|
pub fn name() -> &'static ::std::ffi::CStr {
|
||||||
|
::std::ffi::CStr::from_bytes_with_nul(b"VK_EXT_extension_420\0")
|
||||||
|
.expect("Wrong extension string")
|
||||||
|
}
|
||||||
|
pub const SPEC_VERSION: u32 = 0u32;
|
||||||
|
}
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct ExtExtension420Fn {}
|
||||||
|
unsafe impl Send for ExtExtension420Fn {}
|
||||||
|
unsafe impl Sync for ExtExtension420Fn {}
|
||||||
|
impl ExtExtension420Fn {
|
||||||
|
pub fn load<F>(mut _f: F) -> Self
|
||||||
|
where
|
||||||
|
F: FnMut(&::std::ffi::CStr) -> *const c_void,
|
||||||
|
{
|
||||||
|
ExtExtension420Fn {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 9d10a96f2d57c3c37e167f2e73c9a31ac2e51fa5
|
Subproject commit 0193e158bc9f4d17e3c3a61c9311a0439ed5572d
|
|
@ -29,7 +29,7 @@ pub enum CType {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CType {
|
impl CType {
|
||||||
fn to_string(&self) -> &'static str {
|
fn to_string(self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Self::USize => "usize",
|
Self::USize => "usize",
|
||||||
Self::U32 => "u32",
|
Self::U32 => "u32",
|
||||||
|
@ -1101,7 +1101,7 @@ pub fn generate_extension_constants<'a>(
|
||||||
vk_parse::ExtensionChild::Require { items, .. } => Some(items.iter()),
|
vk_parse::ExtensionChild::Require { items, .. } => Some(items.iter()),
|
||||||
_ => None,
|
_ => None,
|
||||||
})
|
})
|
||||||
.flat_map(|iter| iter);
|
.flatten();
|
||||||
let enum_tokens = items.filter_map(|item| match item {
|
let enum_tokens = items.filter_map(|item| match item {
|
||||||
vk_parse::InterfaceItem::Enum(enum_) => {
|
vk_parse::InterfaceItem::Enum(enum_) => {
|
||||||
if !const_cache.insert(enum_.name.as_str()) {
|
if !const_cache.insert(enum_.name.as_str()) {
|
||||||
|
@ -1916,7 +1916,7 @@ pub fn derive_setters(
|
||||||
};
|
};
|
||||||
|
|
||||||
// Interpret void array as byte array
|
// Interpret void array as byte array
|
||||||
if field.basetype == "void" {
|
if field.basetype == "void" && matches!(field.reference, Some(vkxml::ReferenceType::Pointer)) {
|
||||||
let mutable = if field.is_const { quote!(const) } else { quote!(mut) };
|
let mutable = if field.is_const { quote!(const) } else { quote!(mut) };
|
||||||
|
|
||||||
slice_param_ty_tokens = quote!([u8]);
|
slice_param_ty_tokens = quote!([u8]);
|
||||||
|
@ -2121,6 +2121,7 @@ pub fn generate_struct(
|
||||||
}
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAccelerationStructureInstanceKHR.html>"]
|
||||||
pub struct AccelerationStructureInstanceKHR {
|
pub struct AccelerationStructureInstanceKHR {
|
||||||
pub transform: TransformMatrixKHR,
|
pub transform: TransformMatrixKHR,
|
||||||
pub instance_custom_index_and_mask: u32,
|
pub instance_custom_index_and_mask: u32,
|
||||||
|
@ -2130,6 +2131,36 @@ pub fn generate_struct(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if &_struct.name == "VkAccelerationStructureSRTMotionInstanceNV" {
|
||||||
|
return quote! {
|
||||||
|
#[repr(C)]
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAccelerationStructureSRTMotionInstanceNV.html>"]
|
||||||
|
pub struct AccelerationStructureSRTMotionInstanceNV {
|
||||||
|
pub transform_t0: SRTDataNV,
|
||||||
|
pub transform_t1: SRTDataNV,
|
||||||
|
pub instance_custom_index_and_mask: u32,
|
||||||
|
pub instance_shader_binding_table_record_offset_and_flags: u32,
|
||||||
|
pub acceleration_structure_reference: AccelerationStructureReferenceKHR,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if &_struct.name == "VkAccelerationStructureMatrixMotionInstanceNV" {
|
||||||
|
return quote! {
|
||||||
|
#[repr(C)]
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/AccelerationStructureMatrixMotionInstanceNV.html>"]
|
||||||
|
pub struct AccelerationStructureMatrixMotionInstanceNV {
|
||||||
|
pub transform_t0: TransformMatrixKHR,
|
||||||
|
pub transform_t1: TransformMatrixKHR,
|
||||||
|
pub instance_custom_index_and_mask: u32,
|
||||||
|
pub instance_shader_binding_table_record_offset_and_flags: u32,
|
||||||
|
pub acceleration_structure_reference: AccelerationStructureReferenceKHR,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
let members = _struct.elements.iter().filter_map(|elem| match *elem {
|
let members = _struct.elements.iter().filter_map(|elem| match *elem {
|
||||||
vkxml::StructElement::Member(ref field) => Some(field),
|
vkxml::StructElement::Member(ref field) => Some(field),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
@ -2893,6 +2924,10 @@ pub fn write_source_code<P: AsRef<Path>>(vk_headers_dir: &Path, src_dir: P) {
|
||||||
pub use features::*;
|
pub use features::*;
|
||||||
/// Native bindings from Vulkan headers, generated by bindgen
|
/// Native bindings from Vulkan headers, generated by bindgen
|
||||||
#[allow(nonstandard_style)]
|
#[allow(nonstandard_style)]
|
||||||
|
// Temporarily allow UB nullptr dereference in bindgen layout tests until fixed upstream:
|
||||||
|
// https://github.com/rust-lang/rust-bindgen/pull/2055
|
||||||
|
// https://github.com/rust-lang/rust-bindgen/pull/2064
|
||||||
|
#[allow(deref_nullptr)]
|
||||||
pub mod native;
|
pub mod native;
|
||||||
mod platform_types;
|
mod platform_types;
|
||||||
pub use platform_types::*;
|
pub use platform_types::*;
|
||||||
|
@ -2945,13 +2980,7 @@ pub fn write_source_code<P: AsRef<Path>>(vk_headers_dir: &Path, src_dir: P) {
|
||||||
let (header_includes, header_types) = extract_native_types(&spec2);
|
let (header_includes, header_types) = extract_native_types(&spec2);
|
||||||
|
|
||||||
for (_name, path) in header_includes {
|
for (_name, path) in header_includes {
|
||||||
let path = if path == "vk_platform.h" {
|
bindings = bindings.header(vk_include.join(path).to_str().expect("Valid UTF8 string"));
|
||||||
// Fix broken path, https://github.com/KhronosGroup/Vulkan-Docs/pull/1538
|
|
||||||
vk_include.join("vulkan").join(path)
|
|
||||||
} else {
|
|
||||||
vk_include.join(path)
|
|
||||||
};
|
|
||||||
bindings = bindings.header(path.to_str().expect("Valid UTF8 string"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for typ in header_types {
|
for typ in header_types {
|
||||||
|
|
Loading…
Reference in a new issue