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
74f68f26a2
commit
7ac0027852
|
@ -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)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "ash"
|
name = "ash"
|
||||||
version = "0.37.0+1.3.244"
|
version = "0.37.0+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>",
|
||||||
|
|
|
@ -218,6 +218,8 @@ pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT<'a> =
|
||||||
PhysicalDeviceSubgroupSizeControlProperties<'a>;
|
PhysicalDeviceSubgroupSizeControlProperties<'a>;
|
||||||
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT<'a> =
|
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT<'a> =
|
||||||
PipelineShaderStageRequiredSubgroupSizeCreateInfo<'a>;
|
PipelineShaderStageRequiredSubgroupSizeCreateInfo<'a>;
|
||||||
|
pub type ShaderRequiredSubgroupSizeCreateInfoEXT<'a> =
|
||||||
|
PipelineShaderStageRequiredSubgroupSizeCreateInfo<'a>;
|
||||||
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR<'a> = MemoryOpaqueCaptureAddressAllocateInfo<'a>;
|
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR<'a> = MemoryOpaqueCaptureAddressAllocateInfo<'a>;
|
||||||
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR<'a> = DeviceMemoryOpaqueCaptureAddressInfo<'a>;
|
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR<'a> = DeviceMemoryOpaqueCaptureAddressInfo<'a>;
|
||||||
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT<'a> =
|
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT<'a> =
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
|
@ -651,6 +651,10 @@ impl fmt::Debug for BuildAccelerationStructureFlagsKHR {
|
||||||
BuildAccelerationStructureFlagsKHR::ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT.0,
|
BuildAccelerationStructureFlagsKHR::ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT.0,
|
||||||
"ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT",
|
"ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT",
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
BuildAccelerationStructureFlagsKHR::ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV.0,
|
||||||
|
"ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV",
|
||||||
|
),
|
||||||
];
|
];
|
||||||
debug_flags(f, KNOWN, self.0)
|
debug_flags(f, KNOWN, self.0)
|
||||||
}
|
}
|
||||||
|
@ -1419,6 +1423,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 {
|
||||||
|
@ -2926,6 +2945,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 {
|
||||||
|
@ -3383,6 +3403,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::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",
|
||||||
|
@ -4295,12 +4319,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 {
|
||||||
|
@ -5645,6 +5709,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"),
|
||||||
|
@ -5661,6 +5731,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")
|
||||||
}
|
}
|
||||||
|
@ -5788,6 +5867,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")
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,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>"]
|
||||||
|
@ -433,6 +433,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,
|
||||||
|
@ -28215,6 +28221,7 @@ unsafe impl ExtendsPipelineShaderStageCreateInfo
|
||||||
for PipelineShaderStageRequiredSubgroupSizeCreateInfo<'_>
|
for PipelineShaderStageRequiredSubgroupSizeCreateInfo<'_>
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
unsafe impl ExtendsShaderCreateInfoEXT for PipelineShaderStageRequiredSubgroupSizeCreateInfo<'_> {}
|
||||||
impl<'a> PipelineShaderStageRequiredSubgroupSizeCreateInfo<'a> {
|
impl<'a> PipelineShaderStageRequiredSubgroupSizeCreateInfo<'a> {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn required_subgroup_size(mut self, required_subgroup_size: u32) -> Self {
|
pub fn required_subgroup_size(mut self, required_subgroup_size: u32) -> Self {
|
||||||
|
@ -44318,6 +44325,275 @@ impl<'a> AccelerationStructureTrianglesOpacityMicromapEXT<'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<'a> {
|
||||||
|
pub s_type: StructureType,
|
||||||
|
pub p_next: *mut c_void,
|
||||||
|
pub displacement_micromap: Bool32,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceDisplacementMicromapFeaturesNV<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDisplacementMicromapFeaturesNV<'_> {}
|
||||||
|
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDisplacementMicromapFeaturesNV<'_> {}
|
||||||
|
impl<'a> PhysicalDeviceDisplacementMicromapFeaturesNV<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn displacement_micromap(mut self, displacement_micromap: bool) -> Self {
|
||||||
|
self.displacement_micromap = displacement_micromap.into();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
pub s_type: StructureType,
|
||||||
|
pub p_next: *mut c_void,
|
||||||
|
pub max_displacement_micromap_subdivision_level: u32,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceDisplacementMicromapPropertiesNV<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceProperties2
|
||||||
|
for PhysicalDeviceDisplacementMicromapPropertiesNV<'_>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
impl<'a> PhysicalDeviceDisplacementMicromapPropertiesNV<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn max_displacement_micromap_subdivision_level(
|
||||||
|
mut self,
|
||||||
|
max_displacement_micromap_subdivision_level: u32,
|
||||||
|
) -> Self {
|
||||||
|
self.max_displacement_micromap_subdivision_level =
|
||||||
|
max_displacement_micromap_subdivision_level;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[repr(C)]
|
||||||
|
#[derive(Copy, Clone)]
|
||||||
|
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkAccelerationStructureTrianglesDisplacementMicromapNV.html>"]
|
||||||
|
pub struct AccelerationStructureTrianglesDisplacementMicromapNV<'a> {
|
||||||
|
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,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
#[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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for AccelerationStructureTrianglesDisplacementMicromapNV<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsAccelerationStructureGeometryTrianglesDataKHR
|
||||||
|
for AccelerationStructureTrianglesDisplacementMicromapNV<'_>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
impl<'a> AccelerationStructureTrianglesDisplacementMicromapNV<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn displacement_bias_and_scale_format(
|
||||||
|
mut self,
|
||||||
|
displacement_bias_and_scale_format: Format,
|
||||||
|
) -> Self {
|
||||||
|
self.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.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.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.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.displacement_vector_buffer = displacement_vector_buffer;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn displacement_vector_stride(mut self, displacement_vector_stride: DeviceSize) -> Self {
|
||||||
|
self.displacement_vector_stride = displacement_vector_stride;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn displaced_micromap_primitive_flags(
|
||||||
|
mut self,
|
||||||
|
displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
|
||||||
|
) -> Self {
|
||||||
|
self.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.displaced_micromap_primitive_flags_stride = displaced_micromap_primitive_flags_stride;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn index_type(mut self, index_type: IndexType) -> Self {
|
||||||
|
self.index_type = index_type;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn index_buffer(mut self, index_buffer: DeviceOrHostAddressConstKHR) -> Self {
|
||||||
|
self.index_buffer = index_buffer;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn index_stride(mut self, index_stride: DeviceSize) -> Self {
|
||||||
|
self.index_stride = index_stride;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn base_triangle(mut self, base_triangle: u32) -> Self {
|
||||||
|
self.base_triangle = base_triangle;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn usage_counts(mut self, usage_counts: &'a [MicromapUsageEXT]) -> Self {
|
||||||
|
self.usage_counts_count = usage_counts.len() as _;
|
||||||
|
self.p_usage_counts = usage_counts.as_ptr();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn usage_counts_ptrs(mut self, usage_counts_ptrs: &'a [&'a MicromapUsageEXT]) -> Self {
|
||||||
|
self.usage_counts_count = usage_counts_ptrs.len() as _;
|
||||||
|
self.pp_usage_counts = usage_counts_ptrs.as_ptr().cast();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn micromap(mut self, micromap: MicromapEXT) -> Self {
|
||||||
|
self.micromap = micromap;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
pub struct PipelinePropertiesIdentifierEXT<'a> {
|
||||||
pub s_type: StructureType,
|
pub s_type: StructureType,
|
||||||
|
@ -47222,3 +47498,303 @@ impl<'a> MemoryUnmapInfoKHR<'a> {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
pub s_type: StructureType,
|
||||||
|
pub p_next: *mut c_void,
|
||||||
|
pub shader_object: Bool32,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceShaderObjectFeaturesEXT<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderObjectFeaturesEXT<'_> {}
|
||||||
|
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderObjectFeaturesEXT<'_> {}
|
||||||
|
impl<'a> PhysicalDeviceShaderObjectFeaturesEXT<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn shader_object(mut self, shader_object: bool) -> Self {
|
||||||
|
self.shader_object = shader_object.into();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
pub s_type: StructureType,
|
||||||
|
pub p_next: *mut c_void,
|
||||||
|
pub shader_binary_uuid: [u8; UUID_SIZE],
|
||||||
|
pub shader_binary_version: u32,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceShaderObjectPropertiesEXT<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderObjectPropertiesEXT<'_> {}
|
||||||
|
impl<'a> PhysicalDeviceShaderObjectPropertiesEXT<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn shader_binary_uuid(mut self, shader_binary_uuid: [u8; UUID_SIZE]) -> Self {
|
||||||
|
self.shader_binary_uuid = shader_binary_uuid;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn shader_binary_version(mut self, shader_binary_version: u32) -> Self {
|
||||||
|
self.shader_binary_version = shader_binary_version;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
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<'a>,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for ShaderCreateInfoEXT<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType = StructureType::SHADER_CREATE_INFO_EXT;
|
||||||
|
}
|
||||||
|
pub unsafe trait ExtendsShaderCreateInfoEXT {}
|
||||||
|
impl<'a> ShaderCreateInfoEXT<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn flags(mut self, flags: ShaderCreateFlagsEXT) -> Self {
|
||||||
|
self.flags = flags;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn stage(mut self, stage: ShaderStageFlags) -> Self {
|
||||||
|
self.stage = stage;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn next_stage(mut self, next_stage: ShaderStageFlags) -> Self {
|
||||||
|
self.next_stage = next_stage;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn code_type(mut self, code_type: ShaderCodeTypeEXT) -> Self {
|
||||||
|
self.code_type = code_type;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn code(mut self, code: &'a [u8]) -> Self {
|
||||||
|
self.code_size = code.len();
|
||||||
|
self.p_code = code.as_ptr().cast();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn name(mut self, name: &'a ::std::ffi::CStr) -> Self {
|
||||||
|
self.p_name = name.as_ptr();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn set_layouts(mut self, set_layouts: &'a [DescriptorSetLayout]) -> Self {
|
||||||
|
self.set_layout_count = set_layouts.len() as _;
|
||||||
|
self.p_set_layouts = set_layouts.as_ptr();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn push_constant_ranges(mut self, push_constant_ranges: &'a [PushConstantRange]) -> Self {
|
||||||
|
self.push_constant_range_count = push_constant_ranges.len() as _;
|
||||||
|
self.p_push_constant_ranges = push_constant_ranges.as_ptr();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
#[inline]
|
||||||
|
pub fn specialization_info(mut self, specialization_info: &'a SpecializationInfo<'a>) -> Self {
|
||||||
|
self.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 `x.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.p_next as _;
|
||||||
|
self.p_next = next_ptr;
|
||||||
|
}
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
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,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceShaderTileImageFeaturesEXT<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderTileImageFeaturesEXT<'_> {}
|
||||||
|
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderTileImageFeaturesEXT<'_> {}
|
||||||
|
impl<'a> PhysicalDeviceShaderTileImageFeaturesEXT<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn shader_tile_image_color_read_access(
|
||||||
|
mut self,
|
||||||
|
shader_tile_image_color_read_access: bool,
|
||||||
|
) -> Self {
|
||||||
|
self.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.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.shader_tile_image_stencil_read_access = shader_tile_image_stencil_read_access.into();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[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<'a> {
|
||||||
|
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,
|
||||||
|
pub _marker: PhantomData<&'a ()>,
|
||||||
|
}
|
||||||
|
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(),
|
||||||
|
_marker: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unsafe impl<'a> TaggedStructure for PhysicalDeviceShaderTileImagePropertiesEXT<'a> {
|
||||||
|
const STRUCTURE_TYPE: StructureType =
|
||||||
|
StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT;
|
||||||
|
}
|
||||||
|
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderTileImagePropertiesEXT<'_> {}
|
||||||
|
impl<'a> PhysicalDeviceShaderTileImagePropertiesEXT<'a> {
|
||||||
|
#[inline]
|
||||||
|
pub fn shader_tile_image_coherent_read_accelerated(
|
||||||
|
mut self,
|
||||||
|
shader_tile_image_coherent_read_accelerated: bool,
|
||||||
|
) -> Self {
|
||||||
|
self.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.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.shader_tile_image_read_from_helper_invocation =
|
||||||
|
shader_tile_image_read_from_helper_invocation.into();
|
||||||
|
self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -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