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
|
### 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)
|
- Added `VK_KHR_performance_query` device extension (#726)
|
||||||
|
|
||||||
## [0.37.2] - 2022-01-11
|
## [0.37.2] - 2022-01-11
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "ash"
|
name = "ash"
|
||||||
version = "0.37.2+1.3.244"
|
version = "0.37.2+1.3.246"
|
||||||
authors = [
|
authors = [
|
||||||
"Maik Klein <maikklein@googlemail.com>",
|
"Maik Klein <maikklein@googlemail.com>",
|
||||||
"Benjamin Saunders <ben.e.saunders@gmail.com>",
|
"Benjamin Saunders <ben.e.saunders@gmail.com>",
|
||||||
|
|
|
@ -200,6 +200,8 @@ pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
|
||||||
PhysicalDeviceSubgroupSizeControlProperties;
|
PhysicalDeviceSubgroupSizeControlProperties;
|
||||||
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
|
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
|
||||||
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||||
|
pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
|
||||||
|
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||||
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
|
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
|
||||||
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
|
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
|
||||||
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
|
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
|
||||||
|
|
|
@ -1613,3 +1613,17 @@ vk_bitflags_wrapped!(MicromapCreateFlagsEXT, Flags);
|
||||||
impl MicromapCreateFlagsEXT {
|
impl MicromapCreateFlagsEXT {
|
||||||
pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(0b1);
|
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_READ_EXT.0, "MICROMAP_READ_EXT"),
|
||||||
(AccessFlags2::MICROMAP_WRITE_EXT.0, "MICROMAP_WRITE_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_READ_NV.0, "OPTICAL_FLOW_READ_NV"),
|
||||||
(
|
(
|
||||||
AccessFlags2::OPTICAL_FLOW_WRITE_NV.0,
|
AccessFlags2::OPTICAL_FLOW_WRITE_NV.0,
|
||||||
"OPTICAL_FLOW_WRITE_NV",
|
"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)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -655,12 +659,8 @@ impl fmt::Debug for BuildAccelerationStructureFlagsKHR {
|
||||||
"ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT",
|
"ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
BuildAccelerationStructureFlagsKHR::RESERVED_9_NV.0,
|
BuildAccelerationStructureFlagsKHR::ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV.0,
|
||||||
"RESERVED_9_NV",
|
"ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV",
|
||||||
),
|
|
||||||
(
|
|
||||||
BuildAccelerationStructureFlagsKHR::RESERVED_10_NV.0,
|
|
||||||
"RESERVED_10_NV",
|
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
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 {
|
impl fmt::Debug for DisplayEventTypeEXT {
|
||||||
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 {
|
||||||
|
@ -2713,6 +2728,7 @@ impl fmt::Debug for ImageUsageFlags {
|
||||||
ImageUsageFlags::SAMPLE_BLOCK_MATCH_QCOM.0,
|
ImageUsageFlags::SAMPLE_BLOCK_MATCH_QCOM.0,
|
||||||
"SAMPLE_BLOCK_MATCH_QCOM",
|
"SAMPLE_BLOCK_MATCH_QCOM",
|
||||||
),
|
),
|
||||||
|
(ImageUsageFlags::RESERVED_23_EXT.0, "RESERVED_23_EXT"),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -2989,6 +3005,7 @@ impl fmt::Debug for MicromapTypeEXT {
|
||||||
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 {
|
||||||
Self::OPACITY_MICROMAP => Some("OPACITY_MICROMAP"),
|
Self::OPACITY_MICROMAP => Some("OPACITY_MICROMAP"),
|
||||||
|
Self::DISPLACEMENT_MICROMAP_NV => Some("DISPLACEMENT_MICROMAP_NV"),
|
||||||
_ => None,
|
_ => None,
|
||||||
};
|
};
|
||||||
if let Some(x) = name {
|
if let Some(x) = name {
|
||||||
|
@ -3446,7 +3463,10 @@ impl fmt::Debug for PipelineCreateFlags {
|
||||||
PipelineCreateFlags::RAY_TRACING_OPACITY_MICROMAP_EXT.0,
|
PipelineCreateFlags::RAY_TRACING_OPACITY_MICROMAP_EXT.0,
|
||||||
"RAY_TRACING_OPACITY_MICROMAP_EXT",
|
"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,
|
PipelineCreateFlags::NO_PROTECTED_ACCESS_EXT.0,
|
||||||
"NO_PROTECTED_ACCESS_EXT",
|
"NO_PROTECTED_ACCESS_EXT",
|
||||||
|
@ -3795,7 +3815,9 @@ impl fmt::Debug for PipelineStageFlags2 {
|
||||||
PipelineStageFlags2::CLUSTER_CULLING_SHADER_HUAWEI.0,
|
PipelineStageFlags2::CLUSTER_CULLING_SHADER_HUAWEI.0,
|
||||||
"CLUSTER_CULLING_SHADER_HUAWEI",
|
"CLUSTER_CULLING_SHADER_HUAWEI",
|
||||||
),
|
),
|
||||||
|
(PipelineStageFlags2::RESERVED_43_ARM.0, "RESERVED_43_ARM"),
|
||||||
(PipelineStageFlags2::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"),
|
(PipelineStageFlags2::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"),
|
||||||
|
(PipelineStageFlags2::RESERVED_42_EXT.0, "RESERVED_42_EXT"),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -4102,7 +4124,9 @@ impl fmt::Debug for QueueFlags {
|
||||||
(QueueFlags::RESERVED_9_EXT.0, "RESERVED_9_EXT"),
|
(QueueFlags::RESERVED_9_EXT.0, "RESERVED_9_EXT"),
|
||||||
(QueueFlags::VIDEO_ENCODE_KHR.0, "VIDEO_ENCODE_KHR"),
|
(QueueFlags::VIDEO_ENCODE_KHR.0, "VIDEO_ENCODE_KHR"),
|
||||||
(QueueFlags::RESERVED_7_QCOM.0, "RESERVED_7_QCOM"),
|
(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::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"),
|
||||||
|
(QueueFlags::RESERVED_10_EXT.0, "RESERVED_10_EXT"),
|
||||||
(QueueFlags::PROTECTED.0, "PROTECTED"),
|
(QueueFlags::PROTECTED.0, "PROTECTED"),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
|
@ -4374,12 +4398,52 @@ impl fmt::Debug for SemaphoreWaitFlags {
|
||||||
debug_flags(f, KNOWN, self.0)
|
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 {
|
impl fmt::Debug for ShaderCorePropertiesFlagsAMD {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
const KNOWN: &[(Flags, &str)] = &[];
|
const KNOWN: &[(Flags, &str)] = &[];
|
||||||
debug_flags(f, KNOWN, self.0)
|
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 {
|
impl fmt::Debug for ShaderFloatControlsIndependence {
|
||||||
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 {
|
||||||
|
@ -4465,9 +4529,6 @@ impl fmt::Debug for ShaderStageFlags {
|
||||||
ShaderStageFlags::CLUSTER_CULLING_HUAWEI.0,
|
ShaderStageFlags::CLUSTER_CULLING_HUAWEI.0,
|
||||||
"CLUSTER_CULLING_HUAWEI",
|
"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)
|
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 => {
|
Self::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT => {
|
||||||
Some("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_BUILD_INFO_EXT => Some("MICROMAP_BUILD_INFO_EXT"),
|
||||||
Self::MICROMAP_VERSION_INFO_EXT => Some("MICROMAP_VERSION_INFO_EXT"),
|
Self::MICROMAP_VERSION_INFO_EXT => Some("MICROMAP_VERSION_INFO_EXT"),
|
||||||
Self::COPY_MICROMAP_INFO_EXT => Some("COPY_MICROMAP_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 => {
|
Self::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT => {
|
||||||
Some("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 => {
|
Self::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI => {
|
||||||
Some("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 => {
|
Self::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT => {
|
||||||
Some("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 => {
|
Self::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM => {
|
||||||
Some("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>"]
|
#[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);
|
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>"]
|
#[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>"]
|
#[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);
|
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>"]
|
#[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 ! (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 ! (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 ! (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!(
|
handle_nondispatchable!(
|
||||||
DisplayKHR,
|
DisplayKHR,
|
||||||
DISPLAY_KHR,
|
DISPLAY_KHR,
|
||||||
|
@ -44512,6 +44518,11 @@ unsafe impl ExtendsPipelineShaderStageCreateInfo
|
||||||
for PipelineShaderStageRequiredSubgroupSizeCreateInfo
|
for PipelineShaderStageRequiredSubgroupSizeCreateInfo
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
unsafe impl ExtendsShaderCreateInfoEXT
|
||||||
|
for PipelineShaderStageRequiredSubgroupSizeCreateInfoBuilder<'_>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsShaderCreateInfoEXT for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
|
||||||
impl<'a> ::std::ops::Deref for PipelineShaderStageRequiredSubgroupSizeCreateInfoBuilder<'a> {
|
impl<'a> ::std::ops::Deref for PipelineShaderStageRequiredSubgroupSizeCreateInfoBuilder<'a> {
|
||||||
type Target = PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
type Target = PipelineShaderStageRequiredSubgroupSizeCreateInfo;
|
||||||
fn deref(&self) -> &Self::Target {
|
fn deref(&self) -> &Self::Target {
|
||||||
|
@ -68725,6 +68736,370 @@ impl<'a> AccelerationStructureTrianglesOpacityMicromapEXTBuilder<'a> {
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[cfg_attr(feature = "debug", derive(Debug))]
|
#[cfg_attr(feature = "debug", derive(Debug))]
|
||||||
#[derive(Copy, Clone)]
|
#[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>"]
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelinePropertiesIdentifierEXT.html>"]
|
||||||
pub struct PipelinePropertiesIdentifierEXT {
|
pub struct PipelinePropertiesIdentifierEXT {
|
||||||
pub s_type: StructureType,
|
pub s_type: StructureType,
|
||||||
|
@ -73666,3 +74041,457 @@ impl<'a> MemoryUnmapInfoKHRBuilder<'a> {
|
||||||
self.inner
|
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 {
|
impl DeviceFaultVendorBinaryHeaderVersionEXT {
|
||||||
pub const ONE: Self = Self(1);
|
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 {
|
impl fmt::Debug for ObjectType {
|
||||||
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 {
|
||||||
|
@ -2832,6 +2869,7 @@ impl fmt::Debug for ObjectType {
|
||||||
Self::BUFFER_COLLECTION_FUCHSIA => Some("BUFFER_COLLECTION_FUCHSIA"),
|
Self::BUFFER_COLLECTION_FUCHSIA => Some("BUFFER_COLLECTION_FUCHSIA"),
|
||||||
Self::MICROMAP_EXT => Some("MICROMAP_EXT"),
|
Self::MICROMAP_EXT => Some("MICROMAP_EXT"),
|
||||||
Self::OPTICAL_FLOW_SESSION_NV => Some("OPTICAL_FLOW_SESSION_NV"),
|
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::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"),
|
||||||
Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"),
|
Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"),
|
||||||
Self::PRIVATE_DATA_SLOT => Some("PRIVATE_DATA_SLOT"),
|
Self::PRIVATE_DATA_SLOT => Some("PRIVATE_DATA_SLOT"),
|
||||||
|
@ -2906,6 +2944,9 @@ impl fmt::Debug for Result {
|
||||||
Some("ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR")
|
Some("ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR")
|
||||||
}
|
}
|
||||||
Self::ERROR_COMPRESSION_EXHAUSTED_EXT => Some("ERROR_COMPRESSION_EXHAUSTED_EXT"),
|
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_OUT_OF_POOL_MEMORY => Some("ERROR_OUT_OF_POOL_MEMORY"),
|
||||||
Self::ERROR_INVALID_EXTERNAL_HANDLE => Some("ERROR_INVALID_EXTERNAL_HANDLE"),
|
Self::ERROR_INVALID_EXTERNAL_HANDLE => Some("ERROR_INVALID_EXTERNAL_HANDLE"),
|
||||||
Self::ERROR_FRAGMENTATION => Some("ERROR_FRAGMENTATION"),
|
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)]
|
#[repr(C)]
|
||||||
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
|
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
|
||||||
|
|
|
@ -5,7 +5,7 @@ authors = ["Maik Klein <maikklein@googlemail.com>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bindgen = "0.63"
|
bindgen = "0.64"
|
||||||
heck = "0.4"
|
heck = "0.4"
|
||||||
itertools = "0.10"
|
itertools = "0.10"
|
||||||
nom = "7.1"
|
nom = "7.1"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit fa204df59c6caea6b9be3cf0754a88cd89056a87
|
Subproject commit 63af1cf1ee906ba4dcd5a324bdd0201d4f4bfd12
|
Loading…
Reference in a new issue