Skip to content

Commit

Permalink
Update Vulkan-Headers to 12.177
Browse files Browse the repository at this point in the history
  • Loading branch information
MarijnS95 committed May 1, 2021
1 parent 5751057 commit c47c0a6
Show file tree
Hide file tree
Showing 5 changed files with 345 additions and 18 deletions.
30 changes: 28 additions & 2 deletions ash/src/vk/const_debugs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,6 @@ impl fmt::Debug for BufferCreateFlags {
(BufferCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"),
(BufferCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"),
(BufferCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"),
(BufferCreateFlags::RESERVED_5_NV.0, "RESERVED_5_NV"),
(BufferCreateFlags::PROTECTED.0, "PROTECTED"),
(
BufferCreateFlags::DEVICE_ADDRESS_CAPTURE_REPLAY.0,
Expand Down Expand Up @@ -1462,6 +1461,10 @@ impl fmt::Debug for ExternalMemoryHandleTypeFlags {
ExternalMemoryHandleTypeFlags::ZIRCON_VMO_FUCHSIA.0,
"ZIRCON_VMO_FUCHSIA",
),
(
ExternalMemoryHandleTypeFlags::RESERVED_12_NV.0,
"RESERVED_12_NV",
),
];
debug_flags(f, KNOWN, self.0)
}
Expand Down Expand Up @@ -2067,7 +2070,6 @@ impl fmt::Debug for ImageCreateFlags {
"SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT",
),
(ImageCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"),
(ImageCreateFlags::RESERVED_15_NV.0, "RESERVED_15_NV"),
(ImageCreateFlags::ALIAS.0, "ALIAS"),
(
ImageCreateFlags::SPLIT_INSTANCE_BIND_REGIONS.0,
Expand Down Expand Up @@ -2447,6 +2449,7 @@ impl fmt::Debug for MemoryPropertyFlags {
MemoryPropertyFlags::DEVICE_UNCACHED_AMD.0,
"DEVICE_UNCACHED_AMD",
),
(MemoryPropertyFlags::RESERVED_8_NV.0, "RESERVED_8_NV"),
(MemoryPropertyFlags::PROTECTED.0, "PROTECTED"),
];
debug_flags(f, KNOWN, self.0)
Expand Down Expand Up @@ -3186,6 +3189,20 @@ impl fmt::Debug for PrivateDataSlotCreateFlagsEXT {
debug_flags(f, KNOWN, self.0)
}
}
impl fmt::Debug for ProvokingVertexModeEXT {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let name = match *self {
Self::FIRST_VERTEX => Some("FIRST_VERTEX"),
Self::LAST_VERTEX => Some("LAST_VERTEX"),
_ => None,
};
if let Some(x) = name {
f.write_str(x)
} else {
self.0.fmt(f)
}
}
}
impl fmt::Debug for QueryControlFlags {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
const KNOWN: &[(Flags, &str)] = &[(QueryControlFlags::PRECISE.0, "PRECISE")];
Expand Down Expand Up @@ -4520,6 +4537,15 @@ impl fmt::Debug for StructureType {
Self::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT => {
Some("PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT")
}
Self::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT => {
Some("PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT")
}
Self::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT => {
Some("PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT")
}
Self::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT => {
Some("PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT")
}
Self::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT => {
Some("SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT")
}
Expand Down
205 changes: 204 additions & 1 deletion ash/src/vk/definitions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::vk::video::*;
use crate::vk::{ptr_chain_iter, Handle};
use std::fmt;
use std::os::raw::*;
pub const HEADER_VERSION: u32 = 176u32;
pub const HEADER_VERSION: u32 = 177u32;
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSampleMask.html>"]
pub type SampleMask = u32;
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkBool32.html>"]
Expand Down Expand Up @@ -51230,3 +51230,206 @@ impl<'a> PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXTBuilder<'a> {
self.inner
}
}
#[repr(C)]
#[derive(Copy, Clone, Debug)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexFeaturesEXT.html>"]
pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub provoking_vertex_last: Bool32,
pub transform_feedback_preserves_provoking_vertex: Bool32,
}
impl ::std::default::Default for PhysicalDeviceProvokingVertexFeaturesEXT {
fn default() -> PhysicalDeviceProvokingVertexFeaturesEXT {
PhysicalDeviceProvokingVertexFeaturesEXT {
s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
p_next: ::std::ptr::null_mut(),
provoking_vertex_last: Bool32::default(),
transform_feedback_preserves_provoking_vertex: Bool32::default(),
}
}
}
impl PhysicalDeviceProvokingVertexFeaturesEXT {
pub fn builder<'a>() -> PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'a> {
PhysicalDeviceProvokingVertexFeaturesEXTBuilder {
inner: PhysicalDeviceProvokingVertexFeaturesEXT::default(),
marker: ::std::marker::PhantomData,
}
}
}
#[repr(transparent)]
pub struct PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'a> {
inner: PhysicalDeviceProvokingVertexFeaturesEXT,
marker: ::std::marker::PhantomData<&'a ()>,
}
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'_> {}
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceProvokingVertexFeaturesEXT {}
pub unsafe trait ExtendsPhysicalDeviceProvokingVertexFeaturesEXT {}
impl<'a> ::std::ops::Deref for PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'a> {
type Target = PhysicalDeviceProvokingVertexFeaturesEXT;
fn deref(&self) -> &Self::Target {
&self.inner
}
}
impl<'a> ::std::ops::DerefMut for PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'a> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.inner
}
}
impl<'a> PhysicalDeviceProvokingVertexFeaturesEXTBuilder<'a> {
pub fn provoking_vertex_last(mut self, provoking_vertex_last: bool) -> Self {
self.inner.provoking_vertex_last = provoking_vertex_last.into();
self
}
pub fn transform_feedback_preserves_provoking_vertex(
mut self,
transform_feedback_preserves_provoking_vertex: bool,
) -> Self {
self.inner.transform_feedback_preserves_provoking_vertex =
transform_feedback_preserves_provoking_vertex.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) -> PhysicalDeviceProvokingVertexFeaturesEXT {
self.inner
}
}
#[repr(C)]
#[derive(Copy, Clone, Debug)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPhysicalDeviceProvokingVertexPropertiesEXT.html>"]
pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub provoking_vertex_mode_per_pipeline: Bool32,
pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
}
impl ::std::default::Default for PhysicalDeviceProvokingVertexPropertiesEXT {
fn default() -> PhysicalDeviceProvokingVertexPropertiesEXT {
PhysicalDeviceProvokingVertexPropertiesEXT {
s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
p_next: ::std::ptr::null_mut(),
provoking_vertex_mode_per_pipeline: Bool32::default(),
transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
}
}
}
impl PhysicalDeviceProvokingVertexPropertiesEXT {
pub fn builder<'a>() -> PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'a> {
PhysicalDeviceProvokingVertexPropertiesEXTBuilder {
inner: PhysicalDeviceProvokingVertexPropertiesEXT::default(),
marker: ::std::marker::PhantomData,
}
}
}
#[repr(transparent)]
pub struct PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'a> {
inner: PhysicalDeviceProvokingVertexPropertiesEXT,
marker: ::std::marker::PhantomData<&'a ()>,
}
unsafe impl ExtendsPhysicalDeviceProperties2
for PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'_>
{
}
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceProvokingVertexPropertiesEXT {}
pub unsafe trait ExtendsPhysicalDeviceProvokingVertexPropertiesEXT {}
impl<'a> ::std::ops::Deref for PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'a> {
type Target = PhysicalDeviceProvokingVertexPropertiesEXT;
fn deref(&self) -> &Self::Target {
&self.inner
}
}
impl<'a> ::std::ops::DerefMut for PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'a> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.inner
}
}
impl<'a> PhysicalDeviceProvokingVertexPropertiesEXTBuilder<'a> {
pub fn provoking_vertex_mode_per_pipeline(
mut self,
provoking_vertex_mode_per_pipeline: bool,
) -> Self {
self.inner.provoking_vertex_mode_per_pipeline = provoking_vertex_mode_per_pipeline.into();
self
}
pub fn transform_feedback_preserves_triangle_fan_provoking_vertex(
mut self,
transform_feedback_preserves_triangle_fan_provoking_vertex: bool,
) -> Self {
self.inner
.transform_feedback_preserves_triangle_fan_provoking_vertex =
transform_feedback_preserves_triangle_fan_provoking_vertex.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) -> PhysicalDeviceProvokingVertexPropertiesEXT {
self.inner
}
}
#[repr(C)]
#[derive(Copy, Clone, Debug)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineRasterizationProvokingVertexStateCreateInfoEXT.html>"]
pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
pub s_type: StructureType,
pub p_next: *const c_void,
pub provoking_vertex_mode: ProvokingVertexModeEXT,
}
impl ::std::default::Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
fn default() -> PipelineRasterizationProvokingVertexStateCreateInfoEXT {
PipelineRasterizationProvokingVertexStateCreateInfoEXT {
s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
p_next: ::std::ptr::null(),
provoking_vertex_mode: ProvokingVertexModeEXT::default(),
}
}
}
impl PipelineRasterizationProvokingVertexStateCreateInfoEXT {
pub fn builder<'a>() -> PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'a> {
PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder {
inner: PipelineRasterizationProvokingVertexStateCreateInfoEXT::default(),
marker: ::std::marker::PhantomData,
}
}
}
#[repr(transparent)]
pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'a> {
inner: PipelineRasterizationProvokingVertexStateCreateInfoEXT,
marker: ::std::marker::PhantomData<&'a ()>,
}
unsafe impl ExtendsPipelineRasterizationStateCreateInfo
for PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'_>
{
}
unsafe impl ExtendsPipelineRasterizationStateCreateInfo
for PipelineRasterizationProvokingVertexStateCreateInfoEXT
{
}
pub unsafe trait ExtendsPipelineRasterizationProvokingVertexStateCreateInfoEXT {}
impl<'a> ::std::ops::Deref for PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'a> {
type Target = PipelineRasterizationProvokingVertexStateCreateInfoEXT;
fn deref(&self) -> &Self::Target {
&self.inner
}
}
impl<'a> ::std::ops::DerefMut
for PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'a>
{
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.inner
}
}
impl<'a> PipelineRasterizationProvokingVertexStateCreateInfoEXTBuilder<'a> {
pub fn provoking_vertex_mode(mut self, provoking_vertex_mode: ProvokingVertexModeEXT) -> Self {
self.inner.provoking_vertex_mode = provoking_vertex_mode;
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) -> PipelineRasterizationProvokingVertexStateCreateInfoEXT {
self.inner
}
}
16 changes: 16 additions & 0 deletions ash/src/vk/enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2190,6 +2190,22 @@ impl FragmentShadingRateTypeNV {
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkProvokingVertexModeEXT.html>"]
pub struct ProvokingVertexModeEXT(pub(crate) i32);
impl ProvokingVertexModeEXT {
pub const fn from_raw(x: i32) -> Self {
ProvokingVertexModeEXT(x)
}
pub const fn as_raw(self) -> i32 {
self.0
}
}
impl ProvokingVertexModeEXT {
pub const FIRST_VERTEX: Self = Self(0);
pub const LAST_VERTEX: Self = Self(1);
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryResultStatusKHR.html>"]
pub struct QueryResultStatusKHR(pub(crate) i32);
impl QueryResultStatusKHR {
Expand Down
Loading

0 comments on commit c47c0a6

Please sign in to comment.