Update Vulkan-Headers to 1.3.246 (#723)
* Update Vulkan-Headers to 1.3.245 * Upgrade `bindgen` to `0.64` * Update Vulkan-Headers to 1.3.246
This commit is contained in:
parent
21f4f66095
commit
ca68ebd61b
|
@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Added
|
||||
|
||||
- Update Vulkan-Headers to 1.3.244 (#697)
|
||||
- Update Vulkan-Headers to 1.3.246 (#697, #723)
|
||||
- Added `VK_KHR_performance_query` device extension (#726)
|
||||
|
||||
## [0.37.2] - 2022-01-11
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "ash"
|
||||
version = "0.37.2+1.3.244"
|
||||
version = "0.37.2+1.3.246"
|
||||
authors = [
|
||||
"Maik Klein <maikklein@googlemail.com>",
|
||||
"Benjamin Saunders <ben.e.saunders@gmail.com>",
|
||||
|
|
|
@ -200,6 +200,8 @@ pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
|
|||
PhysicalDeviceSubgroupSizeControlProperties;
|
||||
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
|
||||
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||
pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
|
||||
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
|
||||
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
|
||||
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
|
||||
|
|
|
@ -1613,3 +1613,17 @@ vk_bitflags_wrapped!(MicromapCreateFlagsEXT, Flags);
|
|||
impl MicromapCreateFlagsEXT {
|
||||
pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(0b1);
|
||||
}
|
||||
#[repr(transparent)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkShaderCreateFlagBitsEXT.html>"]
|
||||
pub struct ShaderCreateFlagsEXT(pub(crate) Flags);
|
||||
vk_bitflags_wrapped!(ShaderCreateFlagsEXT, Flags);
|
||||
impl ShaderCreateFlagsEXT {
|
||||
pub const LINK_STAGE: Self = Self(0b1);
|
||||
pub const ALLOW_VARYING_SUBGROUP_SIZE: Self = Self(0b10);
|
||||
pub const REQUIRE_FULL_SUBGROUPS: Self = Self(0b100);
|
||||
pub const NO_TASK_SHADER: Self = Self(0b1000);
|
||||
pub const DISPATCH_BASE: Self = Self(0b1_0000);
|
||||
pub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = Self(0b10_0000);
|
||||
pub const FRAGMENT_DENSITY_MAP_ATTACHMENT: Self = Self(0b100_0000);
|
||||
}
|
||||
|
|
|
@ -318,11 +318,15 @@ impl fmt::Debug for AccessFlags2 {
|
|||
),
|
||||
(AccessFlags2::MICROMAP_READ_EXT.0, "MICROMAP_READ_EXT"),
|
||||
(AccessFlags2::MICROMAP_WRITE_EXT.0, "MICROMAP_WRITE_EXT"),
|
||||
(AccessFlags2::RESERVED_49_ARM.0, "RESERVED_49_ARM"),
|
||||
(AccessFlags2::RESERVED_50_ARM.0, "RESERVED_50_ARM"),
|
||||
(AccessFlags2::OPTICAL_FLOW_READ_NV.0, "OPTICAL_FLOW_READ_NV"),
|
||||
(
|
||||
AccessFlags2::OPTICAL_FLOW_WRITE_NV.0,
|
||||
"OPTICAL_FLOW_WRITE_NV",
|
||||
),
|
||||
(AccessFlags2::RESERVED_47_EXT.0, "RESERVED_47_EXT"),
|
||||
(AccessFlags2::RESERVED_48_EXT.0, "RESERVED_48_EXT"),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
|
@ -655,12 +659,8 @@ impl fmt::Debug for BuildAccelerationStructureFlagsKHR {
|
|||
"ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT",
|
||||
),
|
||||
(
|
||||
BuildAccelerationStructureFlagsKHR::RESERVED_9_NV.0,
|
||||
"RESERVED_9_NV",
|
||||
),
|
||||
(
|
||||
BuildAccelerationStructureFlagsKHR::RESERVED_10_NV.0,
|
||||
"RESERVED_10_NV",
|
||||
BuildAccelerationStructureFlagsKHR::ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV.0,
|
||||
"ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV",
|
||||
),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
|
@ -1448,6 +1448,21 @@ impl fmt::Debug for DiscardRectangleModeEXT {
|
|||
}
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for DisplacementMicromapFormatNV {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
Self::TYPE_64_TRIANGLES_64_BYTES => Some("TYPE_64_TRIANGLES_64_BYTES"),
|
||||
Self::TYPE_256_TRIANGLES_128_BYTES => Some("TYPE_256_TRIANGLES_128_BYTES"),
|
||||
Self::TYPE_1024_TRIANGLES_128_BYTES => Some("TYPE_1024_TRIANGLES_128_BYTES"),
|
||||
_ => None,
|
||||
};
|
||||
if let Some(x) = name {
|
||||
f.write_str(x)
|
||||
} else {
|
||||
self.0.fmt(f)
|
||||
}
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for DisplayEventTypeEXT {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
|
@ -2713,6 +2728,7 @@ impl fmt::Debug for ImageUsageFlags {
|
|||
ImageUsageFlags::SAMPLE_BLOCK_MATCH_QCOM.0,
|
||||
"SAMPLE_BLOCK_MATCH_QCOM",
|
||||
),
|
||||
(ImageUsageFlags::RESERVED_23_EXT.0, "RESERVED_23_EXT"),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
|
@ -2989,6 +3005,7 @@ impl fmt::Debug for MicromapTypeEXT {
|
|||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
Self::OPACITY_MICROMAP => Some("OPACITY_MICROMAP"),
|
||||
Self::DISPLACEMENT_MICROMAP_NV => Some("DISPLACEMENT_MICROMAP_NV"),
|
||||
_ => None,
|
||||
};
|
||||
if let Some(x) = name {
|
||||
|
@ -3446,7 +3463,10 @@ impl fmt::Debug for PipelineCreateFlags {
|
|||
PipelineCreateFlags::RAY_TRACING_OPACITY_MICROMAP_EXT.0,
|
||||
"RAY_TRACING_OPACITY_MICROMAP_EXT",
|
||||
),
|
||||
(PipelineCreateFlags::RESERVED_28_NV.0, "RESERVED_28_NV"),
|
||||
(
|
||||
PipelineCreateFlags::RAY_TRACING_DISPLACEMENT_MICROMAP_NV.0,
|
||||
"RAY_TRACING_DISPLACEMENT_MICROMAP_NV",
|
||||
),
|
||||
(
|
||||
PipelineCreateFlags::NO_PROTECTED_ACCESS_EXT.0,
|
||||
"NO_PROTECTED_ACCESS_EXT",
|
||||
|
@ -3795,7 +3815,9 @@ impl fmt::Debug for PipelineStageFlags2 {
|
|||
PipelineStageFlags2::CLUSTER_CULLING_SHADER_HUAWEI.0,
|
||||
"CLUSTER_CULLING_SHADER_HUAWEI",
|
||||
),
|
||||
(PipelineStageFlags2::RESERVED_43_ARM.0, "RESERVED_43_ARM"),
|
||||
(PipelineStageFlags2::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"),
|
||||
(PipelineStageFlags2::RESERVED_42_EXT.0, "RESERVED_42_EXT"),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
|
@ -4102,7 +4124,9 @@ impl fmt::Debug for QueueFlags {
|
|||
(QueueFlags::RESERVED_9_EXT.0, "RESERVED_9_EXT"),
|
||||
(QueueFlags::VIDEO_ENCODE_KHR.0, "VIDEO_ENCODE_KHR"),
|
||||
(QueueFlags::RESERVED_7_QCOM.0, "RESERVED_7_QCOM"),
|
||||
(QueueFlags::RESERVED_11_ARM.0, "RESERVED_11_ARM"),
|
||||
(QueueFlags::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"),
|
||||
(QueueFlags::RESERVED_10_EXT.0, "RESERVED_10_EXT"),
|
||||
(QueueFlags::PROTECTED.0, "PROTECTED"),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
|
@ -4374,12 +4398,52 @@ impl fmt::Debug for SemaphoreWaitFlags {
|
|||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for ShaderCodeTypeEXT {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
Self::BINARY => Some("BINARY"),
|
||||
Self::SPIRV => Some("SPIRV"),
|
||||
_ => None,
|
||||
};
|
||||
if let Some(x) = name {
|
||||
f.write_str(x)
|
||||
} else {
|
||||
self.0.fmt(f)
|
||||
}
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for ShaderCorePropertiesFlagsAMD {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
const KNOWN: &[(Flags, &str)] = &[];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for ShaderCreateFlagsEXT {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
const KNOWN: &[(Flags, &str)] = &[
|
||||
(ShaderCreateFlagsEXT::LINK_STAGE.0, "LINK_STAGE"),
|
||||
(
|
||||
ShaderCreateFlagsEXT::ALLOW_VARYING_SUBGROUP_SIZE.0,
|
||||
"ALLOW_VARYING_SUBGROUP_SIZE",
|
||||
),
|
||||
(
|
||||
ShaderCreateFlagsEXT::REQUIRE_FULL_SUBGROUPS.0,
|
||||
"REQUIRE_FULL_SUBGROUPS",
|
||||
),
|
||||
(ShaderCreateFlagsEXT::NO_TASK_SHADER.0, "NO_TASK_SHADER"),
|
||||
(ShaderCreateFlagsEXT::DISPATCH_BASE.0, "DISPATCH_BASE"),
|
||||
(
|
||||
ShaderCreateFlagsEXT::FRAGMENT_SHADING_RATE_ATTACHMENT.0,
|
||||
"FRAGMENT_SHADING_RATE_ATTACHMENT",
|
||||
),
|
||||
(
|
||||
ShaderCreateFlagsEXT::FRAGMENT_DENSITY_MAP_ATTACHMENT.0,
|
||||
"FRAGMENT_DENSITY_MAP_ATTACHMENT",
|
||||
),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for ShaderFloatControlsIndependence {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
|
@ -4465,9 +4529,6 @@ impl fmt::Debug for ShaderStageFlags {
|
|||
ShaderStageFlags::CLUSTER_CULLING_HUAWEI.0,
|
||||
"CLUSTER_CULLING_HUAWEI",
|
||||
),
|
||||
(ShaderStageFlags::EXT_483_RESERVE_15.0, "EXT_483_RESERVE_15"),
|
||||
(ShaderStageFlags::EXT_483_RESERVE_16.0, "EXT_483_RESERVE_16"),
|
||||
(ShaderStageFlags::EXT_483_RESERVE_17.0, "EXT_483_RESERVE_17"),
|
||||
];
|
||||
debug_flags(f, KNOWN, self.0)
|
||||
}
|
||||
|
@ -5728,6 +5789,12 @@ impl fmt::Debug for StructureType {
|
|||
Self::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT")
|
||||
}
|
||||
Self::MICROMAP_BUILD_INFO_EXT => Some("MICROMAP_BUILD_INFO_EXT"),
|
||||
Self::MICROMAP_VERSION_INFO_EXT => Some("MICROMAP_VERSION_INFO_EXT"),
|
||||
Self::COPY_MICROMAP_INFO_EXT => Some("COPY_MICROMAP_INFO_EXT"),
|
||||
|
@ -5744,6 +5811,15 @@ impl fmt::Debug for StructureType {
|
|||
Self::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT => {
|
||||
Some("ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV => {
|
||||
Some("PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV => {
|
||||
Some("PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV")
|
||||
}
|
||||
Self::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV => {
|
||||
Some("ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI => {
|
||||
Some("PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI")
|
||||
}
|
||||
|
@ -5871,6 +5947,13 @@ impl fmt::Debug for StructureType {
|
|||
Self::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT")
|
||||
}
|
||||
Self::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT => {
|
||||
Some("PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT")
|
||||
}
|
||||
Self::SHADER_CREATE_INFO_EXT => Some("SHADER_CREATE_INFO_EXT"),
|
||||
Self::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM => {
|
||||
Some("PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM")
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ pub const API_VERSION_1_2: u32 = make_api_version(0, 1, 2, 0);
|
|||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_API_VERSION_1_3.html>"]
|
||||
pub const API_VERSION_1_3: u32 = make_api_version(0, 1, 3, 0);
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION.html>"]
|
||||
pub const HEADER_VERSION: u32 = 244;
|
||||
pub const HEADER_VERSION: u32 = 246;
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION_COMPLETE.html>"]
|
||||
pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION);
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSampleMask.html>"]
|
||||
|
@ -432,6 +432,12 @@ handle_nondispatchable ! (CuModuleNVX , CU_MODULE_NVX , doc = "<https://www.khro
|
|||
handle_nondispatchable ! (CuFunctionNVX , CU_FUNCTION_NVX , doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCuFunctionNVX.html>") ;
|
||||
handle_nondispatchable ! (OpticalFlowSessionNV , OPTICAL_FLOW_SESSION_NV , doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkOpticalFlowSessionNV.html>") ;
|
||||
handle_nondispatchable ! (MicromapEXT , MICROMAP_EXT , doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkMicromapEXT.html>") ;
|
||||
handle_nondispatchable!(
|
||||
ShaderEXT,
|
||||
SHADER_EXT,
|
||||
doc =
|
||||
"<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkShaderEXT.html>"
|
||||
);
|
||||
handle_nondispatchable!(
|
||||
DisplayKHR,
|
||||
DISPLAY_KHR,
|
||||
|
@ -44512,6 +44518,11 @@ unsafe impl ExtendsPipelineShaderStageCreateInfo
|
|||
for PipelineShaderStageRequiredSubgroupSizeCreateInfo
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsShaderCreateInfoEXT
|
||||
for PipelineShaderStageRequiredSubgroupSizeCreateInfoBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsShaderCreateInfoEXT for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
|
||||
impl<'a> ::std::ops::Deref for PipelineShaderStageRequiredSubgroupSizeCreateInfoBuilder<'a> {
|
||||
type Target = PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
|
@ -68725,6 +68736,370 @@ impl<'a> AccelerationStructureTrianglesOpacityMicromapEXTBuilder<'a> {
|
|||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceDisplacementMicromapFeaturesNV.html>"]
|
||||
pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub displacement_micromap: Bool32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
displacement_micromap: Bool32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV;
|
||||
}
|
||||
impl PhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||
pub fn builder<'a>() -> PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'a> {
|
||||
PhysicalDeviceDisplacementMicromapFeaturesNVBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'a> {
|
||||
inner: PhysicalDeviceDisplacementMicromapFeaturesNV,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2
|
||||
for PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDisplacementMicromapFeaturesNV {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'_> {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDisplacementMicromapFeaturesNV {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'a> {
|
||||
type Target = PhysicalDeviceDisplacementMicromapFeaturesNV;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceDisplacementMicromapFeaturesNVBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn displacement_micromap(mut self, displacement_micromap: bool) -> Self {
|
||||
self.inner.displacement_micromap = displacement_micromap.into();
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceDisplacementMicromapPropertiesNV.html>"]
|
||||
pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub max_displacement_micromap_subdivision_level: u32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
max_displacement_micromap_subdivision_level: u32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV;
|
||||
}
|
||||
impl PhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||
pub fn builder<'a>() -> PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'a> {
|
||||
PhysicalDeviceDisplacementMicromapPropertiesNVBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'a> {
|
||||
inner: PhysicalDeviceDisplacementMicromapPropertiesNV,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2
|
||||
for PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceDisplacementMicromapPropertiesNV {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'a> {
|
||||
type Target = PhysicalDeviceDisplacementMicromapPropertiesNV;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceDisplacementMicromapPropertiesNVBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn max_displacement_micromap_subdivision_level(
|
||||
mut self,
|
||||
max_displacement_micromap_subdivision_level: u32,
|
||||
) -> Self {
|
||||
self.inner.max_displacement_micromap_subdivision_level =
|
||||
max_displacement_micromap_subdivision_level;
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAccelerationStructureTrianglesDisplacementMicromapNV.html>"]
|
||||
pub struct AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub displacement_bias_and_scale_format: Format,
|
||||
pub displacement_vector_format: Format,
|
||||
pub displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
|
||||
pub displacement_bias_and_scale_stride: DeviceSize,
|
||||
pub displacement_vector_buffer: DeviceOrHostAddressConstKHR,
|
||||
pub displacement_vector_stride: DeviceSize,
|
||||
pub displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
|
||||
pub displaced_micromap_primitive_flags_stride: DeviceSize,
|
||||
pub index_type: IndexType,
|
||||
pub index_buffer: DeviceOrHostAddressConstKHR,
|
||||
pub index_stride: DeviceSize,
|
||||
pub base_triangle: u32,
|
||||
pub usage_counts_count: u32,
|
||||
pub p_usage_counts: *const MicromapUsageEXT,
|
||||
pub pp_usage_counts: *const *const MicromapUsageEXT,
|
||||
pub micromap: MicromapEXT,
|
||||
}
|
||||
#[cfg(feature = "debug")]
|
||||
impl fmt::Debug for AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||
fmt.debug_struct("AccelerationStructureTrianglesDisplacementMicromapNV")
|
||||
.field("s_type", &self.s_type)
|
||||
.field("p_next", &self.p_next)
|
||||
.field(
|
||||
"displacement_bias_and_scale_format",
|
||||
&self.displacement_bias_and_scale_format,
|
||||
)
|
||||
.field(
|
||||
"displacement_vector_format",
|
||||
&self.displacement_vector_format,
|
||||
)
|
||||
.field("displacement_bias_and_scale_buffer", &"union")
|
||||
.field(
|
||||
"displacement_bias_and_scale_stride",
|
||||
&self.displacement_bias_and_scale_stride,
|
||||
)
|
||||
.field("displacement_vector_buffer", &"union")
|
||||
.field(
|
||||
"displacement_vector_stride",
|
||||
&self.displacement_vector_stride,
|
||||
)
|
||||
.field("displaced_micromap_primitive_flags", &"union")
|
||||
.field(
|
||||
"displaced_micromap_primitive_flags_stride",
|
||||
&self.displaced_micromap_primitive_flags_stride,
|
||||
)
|
||||
.field("index_type", &self.index_type)
|
||||
.field("index_buffer", &"union")
|
||||
.field("index_stride", &self.index_stride)
|
||||
.field("base_triangle", &self.base_triangle)
|
||||
.field("usage_counts_count", &self.usage_counts_count)
|
||||
.field("p_usage_counts", &self.p_usage_counts)
|
||||
.field("pp_usage_counts", &self.pp_usage_counts)
|
||||
.field("micromap", &self.micromap)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
impl ::std::default::Default for AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
displacement_bias_and_scale_format: Format::default(),
|
||||
displacement_vector_format: Format::default(),
|
||||
displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR::default(),
|
||||
displacement_bias_and_scale_stride: DeviceSize::default(),
|
||||
displacement_vector_buffer: DeviceOrHostAddressConstKHR::default(),
|
||||
displacement_vector_stride: DeviceSize::default(),
|
||||
displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR::default(),
|
||||
displaced_micromap_primitive_flags_stride: DeviceSize::default(),
|
||||
index_type: IndexType::default(),
|
||||
index_buffer: DeviceOrHostAddressConstKHR::default(),
|
||||
index_stride: DeviceSize::default(),
|
||||
base_triangle: u32::default(),
|
||||
usage_counts_count: u32::default(),
|
||||
p_usage_counts: ::std::ptr::null(),
|
||||
pp_usage_counts: ::std::ptr::null(),
|
||||
micromap: MicromapEXT::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV;
|
||||
}
|
||||
impl AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
pub fn builder<'a>() -> AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> {
|
||||
AccelerationStructureTrianglesDisplacementMicromapNVBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> {
|
||||
inner: AccelerationStructureTrianglesDisplacementMicromapNV,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsAccelerationStructureGeometryTrianglesDataKHR
|
||||
for AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsAccelerationStructureGeometryTrianglesDataKHR
|
||||
for AccelerationStructureTrianglesDisplacementMicromapNV
|
||||
{
|
||||
}
|
||||
impl<'a> ::std::ops::Deref for AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> {
|
||||
type Target = AccelerationStructureTrianglesDisplacementMicromapNV;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn displacement_bias_and_scale_format(
|
||||
mut self,
|
||||
displacement_bias_and_scale_format: Format,
|
||||
) -> Self {
|
||||
self.inner.displacement_bias_and_scale_format = displacement_bias_and_scale_format;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displacement_vector_format(mut self, displacement_vector_format: Format) -> Self {
|
||||
self.inner.displacement_vector_format = displacement_vector_format;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displacement_bias_and_scale_buffer(
|
||||
mut self,
|
||||
displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
|
||||
) -> Self {
|
||||
self.inner.displacement_bias_and_scale_buffer = displacement_bias_and_scale_buffer;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displacement_bias_and_scale_stride(
|
||||
mut self,
|
||||
displacement_bias_and_scale_stride: DeviceSize,
|
||||
) -> Self {
|
||||
self.inner.displacement_bias_and_scale_stride = displacement_bias_and_scale_stride;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displacement_vector_buffer(
|
||||
mut self,
|
||||
displacement_vector_buffer: DeviceOrHostAddressConstKHR,
|
||||
) -> Self {
|
||||
self.inner.displacement_vector_buffer = displacement_vector_buffer;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displacement_vector_stride(mut self, displacement_vector_stride: DeviceSize) -> Self {
|
||||
self.inner.displacement_vector_stride = displacement_vector_stride;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displaced_micromap_primitive_flags(
|
||||
mut self,
|
||||
displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
|
||||
) -> Self {
|
||||
self.inner.displaced_micromap_primitive_flags = displaced_micromap_primitive_flags;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn displaced_micromap_primitive_flags_stride(
|
||||
mut self,
|
||||
displaced_micromap_primitive_flags_stride: DeviceSize,
|
||||
) -> Self {
|
||||
self.inner.displaced_micromap_primitive_flags_stride =
|
||||
displaced_micromap_primitive_flags_stride;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn index_type(mut self, index_type: IndexType) -> Self {
|
||||
self.inner.index_type = index_type;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn index_buffer(mut self, index_buffer: DeviceOrHostAddressConstKHR) -> Self {
|
||||
self.inner.index_buffer = index_buffer;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn index_stride(mut self, index_stride: DeviceSize) -> Self {
|
||||
self.inner.index_stride = index_stride;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn base_triangle(mut self, base_triangle: u32) -> Self {
|
||||
self.inner.base_triangle = base_triangle;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn usage_counts(mut self, usage_counts: &'a [MicromapUsageEXT]) -> Self {
|
||||
self.inner.usage_counts_count = usage_counts.len() as _;
|
||||
self.inner.p_usage_counts = usage_counts.as_ptr();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn usage_counts_ptrs(mut self, usage_counts_ptrs: &'a [&'a MicromapUsageEXT]) -> Self {
|
||||
self.inner.usage_counts_count = usage_counts_ptrs.len() as _;
|
||||
self.inner.pp_usage_counts = usage_counts_ptrs.as_ptr().cast();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn micromap(mut self, micromap: MicromapEXT) -> Self {
|
||||
self.inner.micromap = micromap;
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> AccelerationStructureTrianglesDisplacementMicromapNV {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelinePropertiesIdentifierEXT.html>"]
|
||||
pub struct PipelinePropertiesIdentifierEXT {
|
||||
pub s_type: StructureType,
|
||||
|
@ -73666,3 +74041,457 @@ impl<'a> MemoryUnmapInfoKHRBuilder<'a> {
|
|||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderObjectFeaturesEXT.html>"]
|
||||
pub struct PhysicalDeviceShaderObjectFeaturesEXT {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub shader_object: Bool32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceShaderObjectFeaturesEXT {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
shader_object: Bool32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceShaderObjectFeaturesEXT {
|
||||
const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT;
|
||||
}
|
||||
impl PhysicalDeviceShaderObjectFeaturesEXT {
|
||||
pub fn builder<'a>() -> PhysicalDeviceShaderObjectFeaturesEXTBuilder<'a> {
|
||||
PhysicalDeviceShaderObjectFeaturesEXTBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceShaderObjectFeaturesEXTBuilder<'a> {
|
||||
inner: PhysicalDeviceShaderObjectFeaturesEXT,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderObjectFeaturesEXTBuilder<'_> {}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderObjectFeaturesEXT {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderObjectFeaturesEXTBuilder<'_> {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderObjectFeaturesEXT {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceShaderObjectFeaturesEXTBuilder<'a> {
|
||||
type Target = PhysicalDeviceShaderObjectFeaturesEXT;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceShaderObjectFeaturesEXTBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceShaderObjectFeaturesEXTBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn shader_object(mut self, shader_object: bool) -> Self {
|
||||
self.inner.shader_object = shader_object.into();
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceShaderObjectFeaturesEXT {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderObjectPropertiesEXT.html>"]
|
||||
pub struct PhysicalDeviceShaderObjectPropertiesEXT {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub shader_binary_uuid: [u8; UUID_SIZE],
|
||||
pub shader_binary_version: u32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceShaderObjectPropertiesEXT {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
shader_binary_uuid: unsafe { ::std::mem::zeroed() },
|
||||
shader_binary_version: u32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceShaderObjectPropertiesEXT {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT;
|
||||
}
|
||||
impl PhysicalDeviceShaderObjectPropertiesEXT {
|
||||
pub fn builder<'a>() -> PhysicalDeviceShaderObjectPropertiesEXTBuilder<'a> {
|
||||
PhysicalDeviceShaderObjectPropertiesEXTBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceShaderObjectPropertiesEXTBuilder<'a> {
|
||||
inner: PhysicalDeviceShaderObjectPropertiesEXT,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2
|
||||
for PhysicalDeviceShaderObjectPropertiesEXTBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderObjectPropertiesEXT {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceShaderObjectPropertiesEXTBuilder<'a> {
|
||||
type Target = PhysicalDeviceShaderObjectPropertiesEXT;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceShaderObjectPropertiesEXTBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceShaderObjectPropertiesEXTBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn shader_binary_uuid(mut self, shader_binary_uuid: [u8; UUID_SIZE]) -> Self {
|
||||
self.inner.shader_binary_uuid = shader_binary_uuid;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn shader_binary_version(mut self, shader_binary_version: u32) -> Self {
|
||||
self.inner.shader_binary_version = shader_binary_version;
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceShaderObjectPropertiesEXT {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkShaderCreateInfoEXT.html>"]
|
||||
pub struct ShaderCreateInfoEXT {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *const c_void,
|
||||
pub flags: ShaderCreateFlagsEXT,
|
||||
pub stage: ShaderStageFlags,
|
||||
pub next_stage: ShaderStageFlags,
|
||||
pub code_type: ShaderCodeTypeEXT,
|
||||
pub code_size: usize,
|
||||
pub p_code: *const c_void,
|
||||
pub p_name: *const c_char,
|
||||
pub set_layout_count: u32,
|
||||
pub p_set_layouts: *const DescriptorSetLayout,
|
||||
pub push_constant_range_count: u32,
|
||||
pub p_push_constant_ranges: *const PushConstantRange,
|
||||
pub p_specialization_info: *const SpecializationInfo,
|
||||
}
|
||||
impl ::std::default::Default for ShaderCreateInfoEXT {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null(),
|
||||
flags: ShaderCreateFlagsEXT::default(),
|
||||
stage: ShaderStageFlags::default(),
|
||||
next_stage: ShaderStageFlags::default(),
|
||||
code_type: ShaderCodeTypeEXT::default(),
|
||||
code_size: usize::default(),
|
||||
p_code: ::std::ptr::null(),
|
||||
p_name: ::std::ptr::null(),
|
||||
set_layout_count: u32::default(),
|
||||
p_set_layouts: ::std::ptr::null(),
|
||||
push_constant_range_count: u32::default(),
|
||||
p_push_constant_ranges: ::std::ptr::null(),
|
||||
p_specialization_info: ::std::ptr::null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for ShaderCreateInfoEXT {
|
||||
const STRUCTURE_TYPE: StructureType = StructureType::SHADER_CREATE_INFO_EXT;
|
||||
}
|
||||
impl ShaderCreateInfoEXT {
|
||||
pub fn builder<'a>() -> ShaderCreateInfoEXTBuilder<'a> {
|
||||
ShaderCreateInfoEXTBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct ShaderCreateInfoEXTBuilder<'a> {
|
||||
inner: ShaderCreateInfoEXT,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
pub unsafe trait ExtendsShaderCreateInfoEXT {}
|
||||
impl<'a> ::std::ops::Deref for ShaderCreateInfoEXTBuilder<'a> {
|
||||
type Target = ShaderCreateInfoEXT;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for ShaderCreateInfoEXTBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ShaderCreateInfoEXTBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn flags(mut self, flags: ShaderCreateFlagsEXT) -> Self {
|
||||
self.inner.flags = flags;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn stage(mut self, stage: ShaderStageFlags) -> Self {
|
||||
self.inner.stage = stage;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn next_stage(mut self, next_stage: ShaderStageFlags) -> Self {
|
||||
self.inner.next_stage = next_stage;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn code_type(mut self, code_type: ShaderCodeTypeEXT) -> Self {
|
||||
self.inner.code_type = code_type;
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn code(mut self, code: &'a [u8]) -> Self {
|
||||
self.inner.code_size = code.len();
|
||||
self.inner.p_code = code.as_ptr().cast();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn name(mut self, name: &'a ::std::ffi::CStr) -> Self {
|
||||
self.inner.p_name = name.as_ptr();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn set_layouts(mut self, set_layouts: &'a [DescriptorSetLayout]) -> Self {
|
||||
self.inner.set_layout_count = set_layouts.len() as _;
|
||||
self.inner.p_set_layouts = set_layouts.as_ptr();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn push_constant_ranges(mut self, push_constant_ranges: &'a [PushConstantRange]) -> Self {
|
||||
self.inner.push_constant_range_count = push_constant_ranges.len() as _;
|
||||
self.inner.p_push_constant_ranges = push_constant_ranges.as_ptr();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn specialization_info(mut self, specialization_info: &'a SpecializationInfo) -> Self {
|
||||
self.inner.p_specialization_info = specialization_info;
|
||||
self
|
||||
}
|
||||
#[doc = r" Prepends the given extension struct between the root and the first pointer. This"]
|
||||
#[doc = r" method only exists on structs that can be passed to a function directly. Only"]
|
||||
#[doc = r" valid extension structs can be pushed into the chain."]
|
||||
#[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"]
|
||||
#[doc = r" chain will look like `A -> D -> B -> C`."]
|
||||
pub fn push_next<T: ExtendsShaderCreateInfoEXT>(mut self, next: &'a mut T) -> Self {
|
||||
unsafe {
|
||||
let next_ptr = <*const T>::cast(next);
|
||||
let last_next = ptr_chain_iter(next).last().unwrap();
|
||||
(*last_next).p_next = self.inner.p_next as _;
|
||||
self.inner.p_next = next_ptr;
|
||||
}
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> ShaderCreateInfoEXT {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderTileImageFeaturesEXT.html>"]
|
||||
pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub shader_tile_image_color_read_access: Bool32,
|
||||
pub shader_tile_image_depth_read_access: Bool32,
|
||||
pub shader_tile_image_stencil_read_access: Bool32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceShaderTileImageFeaturesEXT {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
shader_tile_image_color_read_access: Bool32::default(),
|
||||
shader_tile_image_depth_read_access: Bool32::default(),
|
||||
shader_tile_image_stencil_read_access: Bool32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceShaderTileImageFeaturesEXT {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT;
|
||||
}
|
||||
impl PhysicalDeviceShaderTileImageFeaturesEXT {
|
||||
pub fn builder<'a>() -> PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'a> {
|
||||
PhysicalDeviceShaderTileImageFeaturesEXTBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'a> {
|
||||
inner: PhysicalDeviceShaderTileImageFeaturesEXT,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'_> {}
|
||||
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderTileImageFeaturesEXT {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'_> {}
|
||||
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderTileImageFeaturesEXT {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'a> {
|
||||
type Target = PhysicalDeviceShaderTileImageFeaturesEXT;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceShaderTileImageFeaturesEXTBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn shader_tile_image_color_read_access(
|
||||
mut self,
|
||||
shader_tile_image_color_read_access: bool,
|
||||
) -> Self {
|
||||
self.inner.shader_tile_image_color_read_access = shader_tile_image_color_read_access.into();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn shader_tile_image_depth_read_access(
|
||||
mut self,
|
||||
shader_tile_image_depth_read_access: bool,
|
||||
) -> Self {
|
||||
self.inner.shader_tile_image_depth_read_access = shader_tile_image_depth_read_access.into();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn shader_tile_image_stencil_read_access(
|
||||
mut self,
|
||||
shader_tile_image_stencil_read_access: bool,
|
||||
) -> Self {
|
||||
self.inner.shader_tile_image_stencil_read_access =
|
||||
shader_tile_image_stencil_read_access.into();
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceShaderTileImageFeaturesEXT {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||
#[derive(Copy, Clone)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderTileImagePropertiesEXT.html>"]
|
||||
pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
|
||||
pub s_type: StructureType,
|
||||
pub p_next: *mut c_void,
|
||||
pub shader_tile_image_coherent_read_accelerated: Bool32,
|
||||
pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
|
||||
pub shader_tile_image_read_from_helper_invocation: Bool32,
|
||||
}
|
||||
impl ::std::default::Default for PhysicalDeviceShaderTileImagePropertiesEXT {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
s_type: Self::STRUCTURE_TYPE,
|
||||
p_next: ::std::ptr::null_mut(),
|
||||
shader_tile_image_coherent_read_accelerated: Bool32::default(),
|
||||
shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
|
||||
shader_tile_image_read_from_helper_invocation: Bool32::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
unsafe impl TaggedStructure for PhysicalDeviceShaderTileImagePropertiesEXT {
|
||||
const STRUCTURE_TYPE: StructureType =
|
||||
StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT;
|
||||
}
|
||||
impl PhysicalDeviceShaderTileImagePropertiesEXT {
|
||||
pub fn builder<'a>() -> PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'a> {
|
||||
PhysicalDeviceShaderTileImagePropertiesEXTBuilder {
|
||||
inner: Self::default(),
|
||||
marker: ::std::marker::PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[repr(transparent)]
|
||||
pub struct PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'a> {
|
||||
inner: PhysicalDeviceShaderTileImagePropertiesEXT,
|
||||
marker: ::std::marker::PhantomData<&'a ()>,
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2
|
||||
for PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'_>
|
||||
{
|
||||
}
|
||||
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderTileImagePropertiesEXT {}
|
||||
impl<'a> ::std::ops::Deref for PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'a> {
|
||||
type Target = PhysicalDeviceShaderTileImagePropertiesEXT;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> ::std::ops::DerefMut for PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'a> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.inner
|
||||
}
|
||||
}
|
||||
impl<'a> PhysicalDeviceShaderTileImagePropertiesEXTBuilder<'a> {
|
||||
#[inline]
|
||||
pub fn shader_tile_image_coherent_read_accelerated(
|
||||
mut self,
|
||||
shader_tile_image_coherent_read_accelerated: bool,
|
||||
) -> Self {
|
||||
self.inner.shader_tile_image_coherent_read_accelerated =
|
||||
shader_tile_image_coherent_read_accelerated.into();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn shader_tile_image_read_sample_from_pixel_rate_invocation(
|
||||
mut self,
|
||||
shader_tile_image_read_sample_from_pixel_rate_invocation: bool,
|
||||
) -> Self {
|
||||
self.inner
|
||||
.shader_tile_image_read_sample_from_pixel_rate_invocation =
|
||||
shader_tile_image_read_sample_from_pixel_rate_invocation.into();
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn shader_tile_image_read_from_helper_invocation(
|
||||
mut self,
|
||||
shader_tile_image_read_from_helper_invocation: bool,
|
||||
) -> Self {
|
||||
self.inner.shader_tile_image_read_from_helper_invocation =
|
||||
shader_tile_image_read_from_helper_invocation.into();
|
||||
self
|
||||
}
|
||||
#[doc = r" Calling build will **discard** all the lifetime information. Only call this if"]
|
||||
#[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"]
|
||||
#[doc = r" so references to builders can be passed directly to Vulkan functions."]
|
||||
pub fn build(self) -> PhysicalDeviceShaderTileImagePropertiesEXT {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2784,6 +2784,43 @@ impl DeviceFaultVendorBinaryHeaderVersionEXT {
|
|||
impl DeviceFaultVendorBinaryHeaderVersionEXT {
|
||||
pub const ONE: Self = Self(1);
|
||||
}
|
||||
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
||||
#[repr(transparent)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplacementMicromapFormatNV.html>"]
|
||||
pub struct DisplacementMicromapFormatNV(pub(crate) i32);
|
||||
impl DisplacementMicromapFormatNV {
|
||||
#[inline]
|
||||
pub const fn from_raw(x: i32) -> Self {
|
||||
Self(x)
|
||||
}
|
||||
#[inline]
|
||||
pub const fn as_raw(self) -> i32 {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
impl DisplacementMicromapFormatNV {
|
||||
pub const TYPE_64_TRIANGLES_64_BYTES: Self = Self(1);
|
||||
pub const TYPE_256_TRIANGLES_128_BYTES: Self = Self(2);
|
||||
pub const TYPE_1024_TRIANGLES_128_BYTES: Self = Self(3);
|
||||
}
|
||||
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
||||
#[repr(transparent)]
|
||||
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkShaderCodeTypeEXT.html>"]
|
||||
pub struct ShaderCodeTypeEXT(pub(crate) i32);
|
||||
impl ShaderCodeTypeEXT {
|
||||
#[inline]
|
||||
pub const fn from_raw(x: i32) -> Self {
|
||||
Self(x)
|
||||
}
|
||||
#[inline]
|
||||
pub const fn as_raw(self) -> i32 {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
impl ShaderCodeTypeEXT {
|
||||
pub const BINARY: Self = Self(0);
|
||||
pub const SPIRV: Self = Self(1);
|
||||
}
|
||||
impl fmt::Debug for ObjectType {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let name = match *self {
|
||||
|
@ -2832,6 +2869,7 @@ impl fmt::Debug for ObjectType {
|
|||
Self::BUFFER_COLLECTION_FUCHSIA => Some("BUFFER_COLLECTION_FUCHSIA"),
|
||||
Self::MICROMAP_EXT => Some("MICROMAP_EXT"),
|
||||
Self::OPTICAL_FLOW_SESSION_NV => Some("OPTICAL_FLOW_SESSION_NV"),
|
||||
Self::SHADER_EXT => Some("SHADER_EXT"),
|
||||
Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"),
|
||||
Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"),
|
||||
Self::PRIVATE_DATA_SLOT => Some("PRIVATE_DATA_SLOT"),
|
||||
|
@ -2906,6 +2944,9 @@ impl fmt::Debug for Result {
|
|||
Some("ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR")
|
||||
}
|
||||
Self::ERROR_COMPRESSION_EXHAUSTED_EXT => Some("ERROR_COMPRESSION_EXHAUSTED_EXT"),
|
||||
Self::ERROR_INCOMPATIBLE_SHADER_BINARY_EXT => {
|
||||
Some("ERROR_INCOMPATIBLE_SHADER_BINARY_EXT")
|
||||
}
|
||||
Self::ERROR_OUT_OF_POOL_MEMORY => Some("ERROR_OUT_OF_POOL_MEMORY"),
|
||||
Self::ERROR_INVALID_EXTERNAL_HANDLE => Some("ERROR_INVALID_EXTERNAL_HANDLE"),
|
||||
Self::ERROR_FRAGMENTATION => Some("ERROR_FRAGMENTATION"),
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
|||
/* automatically generated by rust-bindgen 0.63.0 */
|
||||
/* automatically generated by rust-bindgen 0.64.0 */
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
|
||||
|
|
|
@ -5,7 +5,7 @@ authors = ["Maik Klein <maikklein@googlemail.com>"]
|
|||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
bindgen = "0.63"
|
||||
bindgen = "0.64"
|
||||
heck = "0.4"
|
||||
itertools = "0.10"
|
||||
nom = "7.1"
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit fa204df59c6caea6b9be3cf0754a88cd89056a87
|
||||
Subproject commit 63af1cf1ee906ba4dcd5a324bdd0201d4f4bfd12
|
Loading…
Reference in a new issue