From b7863d16008a8717dc0a7b951079bc2c4dc451bb Mon Sep 17 00:00:00 2001 From: Maik Klein Date: Sat, 23 Feb 2019 11:08:27 +0100 Subject: [PATCH] Replace `ExtensionChain` with a simple iterator --- ash/src/vk.rs | 10111 +++++++++++++++++------------------------ examples/src/lib.rs | 25 +- generator/src/lib.rs | 50 +- 3 files changed, 4199 insertions(+), 5987 deletions(-) diff --git a/ash/src/vk.rs b/ash/src/vk.rs index ac33c6208..f92518b22 100644 --- a/ash/src/vk.rs +++ b/ash/src/vk.rs @@ -1,5 +1,21 @@ use std::fmt; use std::os::raw::*; +#[doc = r" `T` has to be a valid xxx_create_info struct. Addtionally all the pointer chains in"] +#[doc = r" this iterator are mutable. Make sure that all the objects in this pointer chain have an"] +#[doc = r" active `&mut` borrow if you want to update those objects."] +pub unsafe fn ptr_chain_iter(ptr: &mut T) -> impl Iterator { + use std::ptr::null_mut; + let ptr: *mut BaseOutStructure = ::std::mem::transmute(ptr); + (0..).scan(ptr, |p_ptr, _| { + if *p_ptr == null_mut() { + return None; + } + let n_ptr = (**p_ptr).p_next as *mut BaseOutStructure; + let old = *p_ptr; + *p_ptr = n_ptr; + Some(old) + }) +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ExtensionChain { @@ -8348,12 +8364,13 @@ impl<'a> ApplicationInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ApplicationInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -8539,12 +8556,13 @@ impl<'a> DeviceQueueCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceQueueCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -8644,12 +8662,13 @@ impl<'a> DeviceCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -8737,12 +8756,13 @@ impl<'a> InstanceCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> InstanceCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -8935,12 +8955,13 @@ impl<'a> MemoryAllocateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryAllocateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -9266,12 +9287,13 @@ impl<'a> MappedMemoryRangeBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MappedMemoryRangeBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -9592,12 +9614,13 @@ impl<'a> WriteDescriptorSetBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> WriteDescriptorSetBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -9688,12 +9711,13 @@ impl<'a> CopyDescriptorSetBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CopyDescriptorSetBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -9778,12 +9802,13 @@ impl<'a> BufferCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BufferCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -9862,12 +9887,13 @@ impl<'a> BufferViewCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BufferViewCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -10088,14 +10114,12 @@ impl<'a> MemoryBarrierBuilder<'a> { self.inner.dst_access_mask = dst_access_mask; self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> MemoryBarrierBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> MemoryBarrierBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -10198,12 +10222,13 @@ impl<'a> BufferMemoryBarrierBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BufferMemoryBarrierBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -10315,12 +10340,13 @@ impl<'a> ImageMemoryBarrierBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageMemoryBarrierBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -10447,12 +10473,13 @@ impl<'a> ImageCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -10597,12 +10624,13 @@ impl<'a> ImageViewCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageViewCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11043,14 +11071,12 @@ impl<'a> BindSparseInfoBuilder<'a> { self.inner.p_signal_semaphores = signal_semaphores.as_ptr(); self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> BindSparseInfoBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> BindSparseInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11373,12 +11399,13 @@ impl<'a> ShaderModuleCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ShaderModuleCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11529,12 +11556,13 @@ impl<'a> DescriptorSetLayoutCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetLayoutCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11652,12 +11680,13 @@ impl<'a> DescriptorPoolCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorPoolCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11727,12 +11756,13 @@ impl<'a> DescriptorSetAllocateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetAllocateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -11923,12 +11953,13 @@ impl<'a> PipelineShaderStageCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineShaderStageCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12016,12 +12047,13 @@ impl<'a> ComputePipelineCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ComputePipelineCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12205,12 +12237,13 @@ impl<'a> PipelineVertexInputStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineVertexInputStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12286,12 +12319,13 @@ impl<'a> PipelineInputAssemblyStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineInputAssemblyStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12358,12 +12392,13 @@ impl<'a> PipelineTessellationStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineTessellationStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12459,12 +12494,13 @@ impl<'a> PipelineViewportStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12612,12 +12648,13 @@ impl<'a> PipelineRasterizationStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineRasterizationStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12729,12 +12766,13 @@ impl<'a> PipelineMultisampleStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineMultisampleStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12924,12 +12962,13 @@ impl<'a> PipelineColorBlendStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineColorBlendStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -12999,12 +13038,13 @@ impl<'a> PipelineDynamicStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineDynamicStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13207,12 +13247,13 @@ impl<'a> PipelineDepthStencilStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineDepthStencilStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13396,12 +13437,13 @@ impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> GraphicsPipelineCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13465,12 +13507,13 @@ impl<'a> PipelineCacheCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineCacheCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13599,12 +13642,13 @@ impl<'a> PipelineLayoutCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineLayoutCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13761,12 +13805,13 @@ impl<'a> SamplerCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SamplerCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13830,12 +13875,13 @@ impl<'a> CommandPoolCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CommandPoolCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -13908,12 +13954,13 @@ impl<'a> CommandBufferAllocateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CommandBufferAllocateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14013,12 +14060,13 @@ impl<'a> CommandBufferInheritanceInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CommandBufferInheritanceInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14082,12 +14130,13 @@ impl<'a> CommandBufferBeginInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CommandBufferBeginInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14179,12 +14228,13 @@ impl<'a> RenderPassBeginInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassBeginInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14708,12 +14758,13 @@ impl<'a> RenderPassCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14768,12 +14819,13 @@ impl<'a> EventCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> EventCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -14828,12 +14880,13 @@ impl<'a> FenceCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> FenceCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -16391,12 +16444,13 @@ impl<'a> SemaphoreCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SemaphoreCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -16472,12 +16526,13 @@ impl<'a> QueryPoolCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> QueryPoolCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -16565,12 +16620,13 @@ impl<'a> FramebufferCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> FramebufferCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -16816,14 +16872,12 @@ impl<'a> SubmitInfoBuilder<'a> { self.inner.p_signal_semaphores = signal_semaphores.as_ptr(); self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> SubmitInfoBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> SubmitInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17126,12 +17180,13 @@ impl<'a> DisplayModeCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayModeCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17350,12 +17405,13 @@ impl<'a> DisplaySurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplaySurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17423,12 +17479,13 @@ impl<'a> DisplayPresentInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayPresentInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17595,12 +17652,13 @@ impl<'a> AndroidSurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AndroidSurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17661,12 +17719,13 @@ impl<'a> ViSurfaceCreateInfoNNBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ViSurfaceCreateInfoNNBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17736,12 +17795,13 @@ impl<'a> WaylandSurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> WaylandSurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17811,12 +17871,13 @@ impl<'a> Win32SurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> Win32SurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17886,12 +17947,13 @@ impl<'a> XlibSurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> XlibSurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -17961,12 +18023,13 @@ impl<'a> XcbSurfaceCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> XcbSurfaceCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18033,12 +18096,13 @@ impl<'a> ImagePipeSurfaceCreateInfoFUCHSIABuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImagePipeSurfaceCreateInfoFUCHSIABuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18249,12 +18313,13 @@ impl<'a> SwapchainCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SwapchainCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18336,14 +18401,12 @@ impl<'a> PresentInfoKHRBuilder<'a> { self.inner.p_results = results.as_mut_ptr(); self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> PresentInfoKHRBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> PresentInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18431,12 +18494,13 @@ impl<'a> DebugReportCallbackCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugReportCallbackCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18498,12 +18562,13 @@ impl<'a> ValidationFlagsEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ValidationFlagsEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18553,6 +18618,11 @@ impl<'a> ::std::ops::Deref for ValidationFeaturesEXTBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for ValidationFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> ValidationFeaturesEXTBuilder<'a> { pub fn enabled_validation_features( mut self, @@ -18570,11 +18640,16 @@ impl<'a> ValidationFeaturesEXTBuilder<'a> { self.inner.p_disabled_validation_features = disabled_validation_features.as_ptr(); self } - pub fn next(mut self, next: &'a T) -> ValidationFeaturesEXTBuilder<'a> - where - T: ExtendsValidationFeaturesEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> ValidationFeaturesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> ValidationFeaturesEXT { @@ -18635,12 +18710,13 @@ impl<'a> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18713,12 +18789,13 @@ impl<'a> DebugMarkerObjectNameInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugMarkerObjectNameInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18797,12 +18874,13 @@ impl<'a> DebugMarkerObjectTagInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugMarkerObjectTagInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18866,12 +18944,13 @@ impl<'a> DebugMarkerMarkerInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugMarkerMarkerInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18930,12 +19009,13 @@ impl<'a> DedicatedAllocationImageCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DedicatedAllocationImageCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -18994,12 +19074,13 @@ impl<'a> DedicatedAllocationBufferCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DedicatedAllocationBufferCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19061,12 +19142,13 @@ impl<'a> DedicatedAllocationMemoryAllocateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DedicatedAllocationMemoryAllocateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19189,12 +19271,13 @@ impl<'a> ExternalMemoryImageCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalMemoryImageCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19253,12 +19336,13 @@ impl<'a> ExportMemoryAllocateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportMemoryAllocateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19323,12 +19407,13 @@ impl<'a> ImportMemoryWin32HandleInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportMemoryWin32HandleInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19393,12 +19478,13 @@ impl<'a> ExportMemoryWin32HandleInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportMemoryWin32HandleInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19502,12 +19588,13 @@ impl<'a> Win32KeyedMutexAcquireReleaseInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> Win32KeyedMutexAcquireReleaseInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19565,12 +19652,13 @@ impl<'a> DeviceGeneratedCommandsFeaturesNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGeneratedCommandsFeaturesNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19668,12 +19756,13 @@ impl<'a> DeviceGeneratedCommandsLimitsNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGeneratedCommandsLimitsNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19860,12 +19949,13 @@ impl<'a> IndirectCommandsLayoutCreateInfoNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> IndirectCommandsLayoutCreateInfoNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -19998,12 +20088,13 @@ impl<'a> CmdProcessCommandsInfoNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CmdProcessCommandsInfoNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20079,12 +20170,13 @@ impl<'a> CmdReserveSpaceForCommandsInfoNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CmdReserveSpaceForCommandsInfoNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20210,12 +20302,13 @@ impl<'a> ObjectTableCreateInfoNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ObjectTableCreateInfoNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20596,12 +20689,13 @@ impl<'a> PhysicalDeviceFeatures2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceFeatures2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20659,12 +20753,13 @@ impl<'a> PhysicalDeviceProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20722,12 +20817,13 @@ impl<'a> FormatProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> FormatProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20785,12 +20881,13 @@ impl<'a> ImageFormatProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageFormatProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20869,12 +20966,13 @@ impl<'a> PhysicalDeviceImageFormatInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceImageFormatInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20932,12 +21030,13 @@ impl<'a> QueueFamilyProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> QueueFamilyProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -20995,12 +21094,13 @@ impl<'a> PhysicalDeviceMemoryProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMemoryProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21058,12 +21158,13 @@ impl<'a> SparseImageFormatProperties2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SparseImageFormatProperties2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21151,12 +21252,13 @@ impl<'a> PhysicalDeviceSparseImageFormatInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSparseImageFormatInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21215,12 +21317,13 @@ impl<'a> PhysicalDevicePushDescriptorPropertiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDevicePushDescriptorPropertiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21374,12 +21477,13 @@ impl<'a> PhysicalDeviceDriverPropertiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceDriverPropertiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21438,12 +21542,13 @@ impl<'a> PresentRegionsKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PresentRegionsKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21606,12 +21711,13 @@ impl<'a> PhysicalDeviceVariablePointerFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceVariablePointerFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21726,12 +21832,13 @@ impl<'a> PhysicalDeviceExternalImageFormatInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExternalImageFormatInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21790,12 +21897,13 @@ impl<'a> ExternalImageFormatPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalImageFormatPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21868,12 +21976,13 @@ impl<'a> PhysicalDeviceExternalBufferInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExternalBufferInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -21931,12 +22040,13 @@ impl<'a> ExternalBufferPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalBufferPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22031,12 +22141,13 @@ impl<'a> PhysicalDeviceIDPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceIDPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22095,12 +22206,13 @@ impl<'a> ExternalMemoryImageCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalMemoryImageCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22159,12 +22271,13 @@ impl<'a> ExternalMemoryBufferCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalMemoryBufferCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22223,12 +22336,13 @@ impl<'a> ExportMemoryAllocateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportMemoryAllocateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22299,12 +22413,13 @@ impl<'a> ImportMemoryWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportMemoryWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22375,12 +22490,13 @@ impl<'a> ExportMemoryWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportMemoryWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22438,12 +22554,13 @@ impl<'a> MemoryWin32HandlePropertiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryWin32HandlePropertiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22507,12 +22624,13 @@ impl<'a> MemoryGetWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryGetWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22577,12 +22695,13 @@ impl<'a> ImportMemoryFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportMemoryFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22637,12 +22756,13 @@ impl<'a> MemoryFdPropertiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryFdPropertiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22706,12 +22826,13 @@ impl<'a> MemoryGetFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryGetFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22815,12 +22936,13 @@ impl<'a> Win32KeyedMutexAcquireReleaseInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> Win32KeyedMutexAcquireReleaseInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22878,12 +23000,13 @@ impl<'a> PhysicalDeviceExternalSemaphoreInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExternalSemaphoreInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -22959,12 +23082,13 @@ impl<'a> ExternalSemaphorePropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalSemaphorePropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23023,12 +23147,13 @@ impl<'a> ExportSemaphoreCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportSemaphoreCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23116,12 +23241,13 @@ impl<'a> ImportSemaphoreWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportSemaphoreWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23192,12 +23318,13 @@ impl<'a> ExportSemaphoreWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportSemaphoreWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23271,12 +23398,13 @@ impl<'a> D3D12FenceSubmitInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> D3D12FenceSubmitInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23340,12 +23468,13 @@ impl<'a> SemaphoreGetWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SemaphoreGetWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23421,12 +23550,13 @@ impl<'a> ImportSemaphoreFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportSemaphoreFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23490,12 +23620,13 @@ impl<'a> SemaphoreGetFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SemaphoreGetFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23553,12 +23684,13 @@ impl<'a> PhysicalDeviceExternalFenceInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExternalFenceInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23634,12 +23766,13 @@ impl<'a> ExternalFencePropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalFencePropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23698,12 +23831,13 @@ impl<'a> ExportFenceCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportFenceCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23785,12 +23919,13 @@ impl<'a> ImportFenceWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportFenceWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23861,12 +23996,13 @@ impl<'a> ExportFenceWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExportFenceWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -23930,12 +24066,13 @@ impl<'a> FenceGetWin32HandleInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> FenceGetWin32HandleInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24011,12 +24148,13 @@ impl<'a> ImportFenceFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportFenceFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24080,12 +24218,13 @@ impl<'a> FenceGetFdInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> FenceGetFdInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24160,12 +24299,13 @@ impl<'a> PhysicalDeviceMultiviewFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMultiviewFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24233,12 +24373,13 @@ impl<'a> PhysicalDeviceMultiviewPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMultiviewPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24321,12 +24462,13 @@ impl<'a> RenderPassMultiviewCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassMultiviewCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24468,12 +24610,13 @@ impl<'a> SurfaceCapabilities2EXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SurfaceCapabilities2EXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24531,12 +24674,13 @@ impl<'a> DisplayPowerInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayPowerInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24594,12 +24738,13 @@ impl<'a> DeviceEventInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceEventInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24657,12 +24802,13 @@ impl<'a> DisplayEventInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayEventInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24721,12 +24867,13 @@ impl<'a> SwapchainCounterCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SwapchainCounterCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24802,12 +24949,13 @@ impl<'a> PhysicalDeviceGroupPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceGroupPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24869,12 +25017,13 @@ impl<'a> MemoryAllocateFlagsInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryAllocateFlagsInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -24941,12 +25090,13 @@ impl<'a> BindBufferMemoryInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindBufferMemoryInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25008,12 +25158,13 @@ impl<'a> BindBufferMemoryDeviceGroupInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindBufferMemoryDeviceGroupInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25080,12 +25231,13 @@ impl<'a> BindImageMemoryInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindImageMemoryInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25159,12 +25311,13 @@ impl<'a> BindImageMemoryDeviceGroupInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindImageMemoryDeviceGroupInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25232,12 +25385,13 @@ impl<'a> DeviceGroupRenderPassBeginInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupRenderPassBeginInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25293,12 +25447,13 @@ impl<'a> DeviceGroupCommandBufferBeginInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupCommandBufferBeginInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25384,12 +25539,13 @@ impl<'a> DeviceGroupSubmitInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupSubmitInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25457,12 +25613,13 @@ impl<'a> DeviceGroupBindSparseInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupBindSparseInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25529,12 +25686,13 @@ impl<'a> DeviceGroupPresentCapabilitiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupPresentCapabilitiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25590,12 +25748,13 @@ impl<'a> ImageSwapchainCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageSwapchainCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25660,12 +25819,13 @@ impl<'a> BindImageMemorySwapchainInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindImageMemorySwapchainInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25744,12 +25904,13 @@ impl<'a> AcquireNextImageInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AcquireNextImageInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25817,12 +25978,13 @@ impl<'a> DeviceGroupPresentInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupPresentInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25884,12 +26046,13 @@ impl<'a> DeviceGroupDeviceCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupDeviceCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -25948,12 +26111,13 @@ impl<'a> DeviceGroupSwapchainCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceGroupSwapchainCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26134,23 +26298,16 @@ impl<'a> DescriptorUpdateTemplateCreateInfoBuilder<'a> { self.inner.set = set; self } -<<<<<<< HEAD - pub fn next(mut self, next: &'a T) -> DescriptorUpdateTemplateCreateInfoBuilder<'a> - where - T: ExtendsDescriptorUpdateTemplateCreateInfo, - { - self.inner.p_next = next as *const T as *const c_void; -======= pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorUpdateTemplateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } ->>>>>>> Implement extension chaining self } pub fn build(self) -> DescriptorUpdateTemplateCreateInfo { @@ -26301,14 +26458,12 @@ impl<'a> HdrMetadataEXTBuilder<'a> { self.inner.max_frame_average_light_level = max_frame_average_light_level; self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> HdrMetadataEXTBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> HdrMetadataEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26476,12 +26631,13 @@ impl<'a> PresentTimesInfoGOOGLEBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PresentTimesInfoGOOGLEBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26587,12 +26743,13 @@ impl<'a> IOSSurfaceCreateInfoMVKBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> IOSSurfaceCreateInfoMVKBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26656,12 +26813,13 @@ impl<'a> MacOSSurfaceCreateInfoMVKBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MacOSSurfaceCreateInfoMVKBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26774,12 +26932,13 @@ impl<'a> PipelineViewportWScalingStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportWScalingStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26902,12 +27061,13 @@ impl<'a> PipelineViewportSwizzleStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportSwizzleStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -26966,12 +27126,13 @@ impl<'a> PhysicalDeviceDiscardRectanglePropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceDiscardRectanglePropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27051,12 +27212,13 @@ impl<'a> PipelineDiscardRectangleStateCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineDiscardRectangleStateCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27118,12 +27280,13 @@ impl<'a> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVXBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVXBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27238,12 +27401,13 @@ impl<'a> RenderPassInputAttachmentAspectCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassInputAttachmentAspectCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27298,12 +27462,13 @@ impl<'a> PhysicalDeviceSurfaceInfo2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSurfaceInfo2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27361,12 +27526,13 @@ impl<'a> SurfaceCapabilities2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SurfaceCapabilities2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27424,12 +27590,13 @@ impl<'a> SurfaceFormat2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SurfaceFormat2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27487,12 +27654,13 @@ impl<'a> DisplayProperties2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayProperties2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27550,12 +27718,13 @@ impl<'a> DisplayPlaneProperties2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayPlaneProperties2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27613,12 +27782,13 @@ impl<'a> DisplayModeProperties2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayModeProperties2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27679,12 +27849,13 @@ impl<'a> DisplayPlaneInfo2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayPlaneInfo2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27742,12 +27913,13 @@ impl<'a> DisplayPlaneCapabilities2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DisplayPlaneCapabilities2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27806,12 +27978,13 @@ impl<'a> SharedPresentSurfaceCapabilitiesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SharedPresentSurfaceCapabilitiesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27899,12 +28072,13 @@ impl<'a> PhysicalDevice16BitStorageFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDevice16BitStorageFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -27990,12 +28164,13 @@ impl<'a> PhysicalDeviceSubgroupPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSubgroupPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28050,12 +28225,13 @@ impl<'a> BufferMemoryRequirementsInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BufferMemoryRequirementsInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28110,12 +28286,13 @@ impl<'a> ImageMemoryRequirementsInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageMemoryRequirementsInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28170,12 +28347,13 @@ impl<'a> ImageSparseMemoryRequirementsInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageSparseMemoryRequirementsInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28233,12 +28411,13 @@ impl<'a> MemoryRequirements2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryRequirements2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28296,12 +28475,13 @@ impl<'a> SparseImageMemoryRequirements2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SparseImageMemoryRequirements2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28360,12 +28540,13 @@ impl<'a> PhysicalDevicePointClippingPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDevicePointClippingPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28433,12 +28614,13 @@ impl<'a> MemoryDedicatedRequirementsBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryDedicatedRequirementsBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28500,12 +28682,13 @@ impl<'a> MemoryDedicatedAllocateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryDedicatedAllocateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28561,12 +28744,13 @@ impl<'a> ImageViewUsageCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageViewUsageCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28628,12 +28812,13 @@ impl<'a> PipelineTessellationDomainOriginStateCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineTessellationDomainOriginStateCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28693,12 +28878,13 @@ impl<'a> SamplerYcbcrConversionInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SamplerYcbcrConversionInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28816,12 +29002,13 @@ impl<'a> SamplerYcbcrConversionCreateInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SamplerYcbcrConversionCreateInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28880,12 +29067,13 @@ impl<'a> BindImagePlaneMemoryInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindImagePlaneMemoryInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -28944,12 +29132,13 @@ impl<'a> ImagePlaneMemoryRequirementsInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImagePlaneMemoryRequirementsInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29009,12 +29198,13 @@ impl<'a> PhysicalDeviceSamplerYcbcrConversionFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSamplerYcbcrConversionFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29074,12 +29264,13 @@ impl<'a> SamplerYcbcrConversionImageFormatPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SamplerYcbcrConversionImageFormatPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29139,12 +29330,13 @@ impl<'a> TextureLODGatherFormatPropertiesAMDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> TextureLODGatherFormatPropertiesAMDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29214,12 +29406,13 @@ impl<'a> ConditionalRenderingBeginInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ConditionalRenderingBeginInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29275,12 +29468,13 @@ impl<'a> ProtectedSubmitInfoBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ProtectedSubmitInfoBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29340,12 +29534,13 @@ impl<'a> PhysicalDeviceProtectedMemoryFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceProtectedMemoryFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29404,12 +29599,13 @@ impl<'a> PhysicalDeviceProtectedMemoryPropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceProtectedMemoryPropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29476,12 +29672,13 @@ impl<'a> DeviceQueueInfo2Builder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceQueueInfo2Builder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29558,12 +29755,13 @@ impl<'a> PipelineCoverageToColorStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineCoverageToColorStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29633,12 +29831,13 @@ impl<'a> PhysicalDeviceSamplerFilterMinmaxPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSamplerFilterMinmaxPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29760,12 +29959,13 @@ impl<'a> SampleLocationsInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SampleLocationsInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -29934,12 +30134,13 @@ impl<'a> RenderPassSampleLocationsBeginInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassSampleLocationsBeginInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30010,12 +30211,13 @@ impl<'a> PipelineSampleLocationsStateCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineSampleLocationsStateCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30110,12 +30312,13 @@ impl<'a> PhysicalDeviceSampleLocationsPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceSampleLocationsPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30173,12 +30376,13 @@ impl<'a> MultisamplePropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MultisamplePropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30237,12 +30441,13 @@ impl<'a> SamplerReductionModeCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SamplerReductionModeCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30302,12 +30507,13 @@ impl<'a> PhysicalDeviceBlendOperationAdvancedFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceBlendOperationAdvancedFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30413,12 +30619,13 @@ impl<'a> PhysicalDeviceBlendOperationAdvancedPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceBlendOperationAdvancedPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30498,12 +30705,13 @@ impl<'a> PipelineColorBlendAdvancedStateCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineColorBlendAdvancedStateCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30574,12 +30782,13 @@ impl<'a> PhysicalDeviceInlineUniformBlockFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceInlineUniformBlockFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30680,12 +30889,13 @@ impl<'a> PhysicalDeviceInlineUniformBlockPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceInlineUniformBlockPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30744,12 +30954,13 @@ impl<'a> WriteDescriptorSetInlineUniformBlockEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> WriteDescriptorSetInlineUniformBlockEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30808,12 +31019,13 @@ impl<'a> DescriptorPoolInlineUniformBlockCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorPoolInlineUniformBlockCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30905,12 +31117,13 @@ impl<'a> PipelineCoverageModulationStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineCoverageModulationStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -30974,12 +31187,13 @@ impl<'a> ImageFormatListCreateInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageFormatListCreateInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31049,12 +31263,13 @@ impl<'a> ValidationCacheCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ValidationCacheCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31113,12 +31328,13 @@ impl<'a> ShaderModuleValidationCacheCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ShaderModuleValidationCacheCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31186,12 +31402,13 @@ impl<'a> PhysicalDeviceMaintenance3PropertiesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMaintenance3PropertiesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31246,12 +31463,13 @@ impl<'a> DescriptorSetLayoutSupportBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetLayoutSupportBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31311,12 +31529,13 @@ impl<'a> PhysicalDeviceShaderDrawParameterFeaturesBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShaderDrawParameterFeaturesBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31363,6 +31582,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> { pub fn shader_float16( mut self, @@ -31378,11 +31602,16 @@ impl<'a> PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> { self.inner.shader_int8 = shader_int8.into(); self } - pub fn next(mut self, next: &'a mut T) -> PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> - where - T: ExtendsPhysicalDeviceFloat16Int8FeaturesKHR, - { - self.inner.p_next = next as *mut T as *mut c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> PhysicalDeviceFloat16Int8FeaturesKHRBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceFloat16Int8FeaturesKHR { @@ -31457,6 +31686,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceFloatControlsPropertiesKHRBuilder<' &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceFloatControlsPropertiesKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceFloatControlsPropertiesKHRBuilder<'a> { pub fn separate_denorm_settings( mut self, @@ -31580,11 +31814,16 @@ impl<'a> PhysicalDeviceFloatControlsPropertiesKHRBuilder<'a> { self.inner.shader_rounding_mode_rtz_float64 = shader_rounding_mode_rtz_float64.into(); self } - pub fn next(mut self, next: &'a mut T) -> PhysicalDeviceFloatControlsPropertiesKHRBuilder<'a> - where - T: ExtendsPhysicalDeviceFloatControlsPropertiesKHR, - { - self.inner.p_next = next as *mut T as *mut c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> PhysicalDeviceFloatControlsPropertiesKHRBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceFloatControlsPropertiesKHR { @@ -31656,12 +31895,13 @@ impl<'a> NativeBufferANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> NativeBufferANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31887,12 +32127,13 @@ impl<'a> DeviceQueueGlobalPriorityCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceQueueGlobalPriorityCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -31965,12 +32206,13 @@ impl<'a> DebugUtilsObjectNameInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugUtilsObjectNameInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32046,12 +32288,13 @@ impl<'a> DebugUtilsObjectTagInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugUtilsObjectTagInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32112,12 +32355,13 @@ impl<'a> DebugUtilsLabelEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugUtilsLabelEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32228,12 +32472,13 @@ impl<'a> DebugUtilsMessengerCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugUtilsMessengerCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32354,12 +32599,13 @@ impl<'a> DebugUtilsMessengerCallbackDataEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DebugUtilsMessengerCallbackDataEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32427,12 +32673,13 @@ impl<'a> ImportMemoryHostPointerInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportMemoryHostPointerInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32490,12 +32737,13 @@ impl<'a> MemoryHostPointerPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryHostPointerPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32554,12 +32802,13 @@ impl<'a> PhysicalDeviceExternalMemoryHostPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExternalMemoryHostPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32698,12 +32947,13 @@ impl<'a> PhysicalDeviceConservativeRasterizationPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceConservativeRasterizationPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32761,12 +33011,13 @@ impl<'a> CalibratedTimestampInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CalibratedTimestampInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -32942,12 +33193,13 @@ impl<'a> PhysicalDeviceShaderCorePropertiesAMDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShaderCorePropertiesAMDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33027,12 +33279,13 @@ impl<'a> PipelineRasterizationConservativeStateCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineRasterizationConservativeStateCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33292,12 +33545,13 @@ impl<'a> PhysicalDeviceDescriptorIndexingFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceDescriptorIndexingFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33594,12 +33848,13 @@ impl<'a> PhysicalDeviceDescriptorIndexingPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceDescriptorIndexingPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33661,12 +33916,13 @@ impl<'a> DescriptorSetLayoutBindingFlagsCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetLayoutBindingFlagsCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33731,12 +33987,13 @@ impl<'a> DescriptorSetVariableDescriptorCountAllocateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetVariableDescriptorCountAllocateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33798,12 +34055,13 @@ impl<'a> DescriptorSetVariableDescriptorCountLayoutSupportEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DescriptorSetVariableDescriptorCountLayoutSupportEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33921,12 +34179,13 @@ impl<'a> AttachmentDescription2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AttachmentDescription2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -33996,12 +34255,13 @@ impl<'a> AttachmentReference2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AttachmentReference2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34126,12 +34386,13 @@ impl<'a> SubpassDescription2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SubpassDescription2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34243,12 +34504,13 @@ impl<'a> SubpassDependency2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SubpassDependency2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34351,12 +34613,13 @@ impl<'a> RenderPassCreateInfo2KHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RenderPassCreateInfo2KHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34411,12 +34674,13 @@ impl<'a> SubpassBeginInfoKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SubpassBeginInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34465,12 +34729,13 @@ impl<'a> ::std::ops::DerefMut for SubpassEndInfoKHRBuilder<'a> { impl<'a> SubpassEndInfoKHRBuilder<'a> { pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> SubpassEndInfoKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34577,12 +34842,13 @@ impl<'a> PipelineVertexInputDivisorStateCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineVertexInputDivisorStateCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34641,12 +34907,13 @@ impl<'a> PhysicalDeviceVertexAttributeDivisorPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceVertexAttributeDivisorPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34729,12 +34996,13 @@ impl<'a> PhysicalDevicePCIBusInfoPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDevicePCIBusInfoPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34793,12 +35061,13 @@ impl<'a> ImportAndroidHardwareBufferInfoANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImportAndroidHardwareBufferInfoANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34857,12 +35126,13 @@ impl<'a> AndroidHardwareBufferUsageANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AndroidHardwareBufferUsageANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34929,12 +35199,13 @@ impl<'a> AndroidHardwareBufferPropertiesANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AndroidHardwareBufferPropertiesANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -34992,12 +35263,13 @@ impl<'a> MemoryGetAndroidHardwareBufferInfoANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> MemoryGetAndroidHardwareBufferInfoANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35122,12 +35394,13 @@ impl<'a> AndroidHardwareBufferFormatPropertiesANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AndroidHardwareBufferFormatPropertiesANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35189,12 +35462,13 @@ impl<'a> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35251,12 +35525,13 @@ impl<'a> ExternalFormatANDROIDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ExternalFormatANDROIDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35335,12 +35610,13 @@ impl<'a> PhysicalDevice8BitStorageFeaturesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDevice8BitStorageFeaturesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35409,12 +35685,13 @@ impl<'a> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35483,12 +35760,13 @@ impl<'a> PhysicalDeviceVulkanMemoryModelFeaturesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceVulkanMemoryModelFeaturesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35557,12 +35835,13 @@ impl<'a> PhysicalDeviceShaderAtomicInt64FeaturesKHRBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShaderAtomicInt64FeaturesKHRBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35633,12 +35912,13 @@ impl<'a> PhysicalDeviceVertexAttributeDivisorFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceVertexAttributeDivisorFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35697,12 +35977,13 @@ impl<'a> QueueFamilyCheckpointPropertiesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> QueueFamilyCheckpointPropertiesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35766,12 +36047,13 @@ impl<'a> CheckpointDataNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> CheckpointDataNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -35821,6 +36103,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceDepthStencilResolvePropertiesKHRBui &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceDepthStencilResolvePropertiesKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceDepthStencilResolvePropertiesKHRBuilder<'a> { pub fn supported_depth_resolve_modes( mut self, @@ -35850,14 +36137,16 @@ impl<'a> PhysicalDeviceDepthStencilResolvePropertiesKHRBuilder<'a> { self.inner.independent_resolve = independent_resolve.into(); self } - pub fn next( + pub fn next( mut self, next: &'a mut T, - ) -> PhysicalDeviceDepthStencilResolvePropertiesKHRBuilder<'a> - where - T: ExtendsPhysicalDeviceDepthStencilResolvePropertiesKHR, - { - self.inner.p_next = next as *mut T as *mut c_void; + ) -> PhysicalDeviceDepthStencilResolvePropertiesKHRBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceDepthStencilResolvePropertiesKHR { @@ -35904,6 +36193,11 @@ impl<'a> ::std::ops::Deref for SubpassDescriptionDepthStencilResolveKHRBuilder<' &self.inner } } +impl<'a> ::std::ops::DerefMut for SubpassDescriptionDepthStencilResolveKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> SubpassDescriptionDepthStencilResolveKHRBuilder<'a> { pub fn depth_resolve_mode( mut self, @@ -35926,11 +36220,16 @@ impl<'a> SubpassDescriptionDepthStencilResolveKHRBuilder<'a> { self.inner.p_depth_stencil_resolve_attachment = depth_stencil_resolve_attachment; self } - pub fn next(mut self, next: &'a T) -> SubpassDescriptionDepthStencilResolveKHRBuilder<'a> - where - T: ExtendsSubpassDescriptionDepthStencilResolveKHR, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> SubpassDescriptionDepthStencilResolveKHRBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> SubpassDescriptionDepthStencilResolveKHR { @@ -35985,12 +36284,13 @@ impl<'a> ImageViewASTCDecodeModeEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageViewASTCDecodeModeEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36050,12 +36350,13 @@ impl<'a> PhysicalDeviceASTCDecodeFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceASTCDecodeFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36124,12 +36425,13 @@ impl<'a> PhysicalDeviceTransformFeedbackFeaturesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceTransformFeedbackFeaturesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36274,12 +36576,13 @@ impl<'a> PhysicalDeviceTransformFeedbackPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceTransformFeedbackPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36350,12 +36653,13 @@ impl<'a> PipelineRasterizationStateStreamCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineRasterizationStateStreamCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36415,12 +36719,13 @@ impl<'a> PhysicalDeviceRepresentativeFragmentTestFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceRepresentativeFragmentTestFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36482,12 +36787,13 @@ impl<'a> PipelineRepresentativeFragmentTestStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineRepresentativeFragmentTestStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36547,12 +36853,13 @@ impl<'a> PhysicalDeviceExclusiveScissorFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceExclusiveScissorFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36617,12 +36924,13 @@ impl<'a> PipelineViewportExclusiveScissorStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportExclusiveScissorStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36682,12 +36990,13 @@ impl<'a> PhysicalDeviceCornerSampledImageFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceCornerSampledImageFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36756,12 +37065,13 @@ impl<'a> PhysicalDeviceComputeShaderDerivativesFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceComputeShaderDerivativesFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36821,12 +37131,13 @@ impl<'a> PhysicalDeviceFragmentShaderBarycentricFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceFragmentShaderBarycentricFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -36886,12 +37197,13 @@ impl<'a> PhysicalDeviceShaderImageFootprintFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShaderImageFootprintFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37015,12 +37327,13 @@ impl<'a> PipelineViewportShadingRateImageStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportShadingRateImageStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37089,12 +37402,13 @@ impl<'a> PhysicalDeviceShadingRateImageFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShadingRateImageFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37171,12 +37485,13 @@ impl<'a> PhysicalDeviceShadingRateImagePropertiesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceShadingRateImagePropertiesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37362,12 +37677,13 @@ impl<'a> PipelineViewportCoarseSampleOrderStateCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PipelineViewportCoarseSampleOrderStateCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37436,12 +37752,13 @@ impl<'a> PhysicalDeviceMeshShaderFeaturesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMeshShaderFeaturesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37608,12 +37925,13 @@ impl<'a> PhysicalDeviceMeshShaderPropertiesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceMeshShaderPropertiesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37749,12 +38067,13 @@ impl<'a> RayTracingShaderGroupCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RayTracingShaderGroupCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37869,12 +38188,13 @@ impl<'a> RayTracingPipelineCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> RayTracingPipelineCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -37992,12 +38312,13 @@ impl<'a> GeometryTrianglesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> GeometryTrianglesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38068,14 +38389,12 @@ impl<'a> GeometryAABBNVBuilder<'a> { self.inner.offset = offset; self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> GeometryAABBNVBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> GeometryAABBNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38182,14 +38501,12 @@ impl<'a> GeometryNVBuilder<'a> { self.inner.flags = flags; self } - pub fn next( - mut self, - next: &'a mut impl ::std::ops::DerefMut, - ) -> GeometryNVBuilder<'a> { + pub fn next(mut self, next: &'a mut T) -> GeometryNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38271,12 +38588,13 @@ impl<'a> AccelerationStructureInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AccelerationStructureInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38343,12 +38661,13 @@ impl<'a> AccelerationStructureCreateInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AccelerationStructureCreateInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38436,12 +38755,13 @@ impl<'a> BindAccelerationStructureMemoryInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> BindAccelerationStructureMemoryInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38503,12 +38823,13 @@ impl<'a> WriteDescriptorSetAccelerationStructureNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> WriteDescriptorSetAccelerationStructureNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38575,12 +38896,13 @@ impl<'a> AccelerationStructureMemoryRequirementsInfoNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> AccelerationStructureMemoryRequirementsInfoNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38703,12 +39025,13 @@ impl<'a> PhysicalDeviceRayTracingPropertiesNVBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceRayTracingPropertiesNVBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38770,12 +39093,13 @@ impl<'a> DrmFormatModifierPropertiesListEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DrmFormatModifierPropertiesListEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38911,12 +39235,13 @@ impl<'a> PhysicalDeviceImageDrmFormatModifierInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> PhysicalDeviceImageDrmFormatModifierInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -38978,12 +39303,13 @@ impl<'a> ImageDrmFormatModifierListCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageDrmFormatModifierListCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -39054,12 +39380,13 @@ impl<'a> ImageDrmFormatModifierExplicitCreateInfoEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageDrmFormatModifierExplicitCreateInfoEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -39117,12 +39444,13 @@ impl<'a> ImageDrmFormatModifierPropertiesEXTBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> ImageDrmFormatModifierPropertiesEXTBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -39167,6 +39495,11 @@ impl<'a> ::std::ops::Deref for ImageStencilUsageCreateInfoEXTBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for ImageStencilUsageCreateInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> ImageStencilUsageCreateInfoEXTBuilder<'a> { pub fn stencil_usage( mut self, @@ -39175,11 +39508,16 @@ impl<'a> ImageStencilUsageCreateInfoEXTBuilder<'a> { self.inner.stencil_usage = stencil_usage; self } - pub fn next(mut self, next: &'a T) -> ImageStencilUsageCreateInfoEXTBuilder<'a> - where - T: ExtendsImageStencilUsageCreateInfoEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> ImageStencilUsageCreateInfoEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> ImageStencilUsageCreateInfoEXT { @@ -39237,12 +39575,13 @@ impl<'a> DeviceMemoryOverallocationCreateInfoAMDBuilder<'a> { } pub fn next( mut self, - next: &'a mut impl ::std::ops::DerefMut, + next: &'a mut T, ) -> DeviceMemoryOverallocationCreateInfoAMDBuilder<'a> { unsafe { - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -39291,6 +39630,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceFragmentDensityMapFeaturesEXTBuilde &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceFragmentDensityMapFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceFragmentDensityMapFeaturesEXTBuilder<'a> { pub fn fragment_density_map( mut self, @@ -39314,14 +39658,16 @@ impl<'a> PhysicalDeviceFragmentDensityMapFeaturesEXTBuilder<'a> { fragment_density_map_non_subsampled_images.into(); self } - pub fn next( + pub fn next( mut self, next: &'a mut T, - ) -> PhysicalDeviceFragmentDensityMapFeaturesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceFragmentDensityMapFeaturesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + ) -> PhysicalDeviceFragmentDensityMapFeaturesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceFragmentDensityMapFeaturesEXT { @@ -39368,6 +39714,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceFragmentDensityMapPropertiesEXTBuil &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceFragmentDensityMapPropertiesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceFragmentDensityMapPropertiesEXTBuilder<'a> { pub fn min_fragment_density_texel_size( mut self, @@ -39390,14 +39741,16 @@ impl<'a> PhysicalDeviceFragmentDensityMapPropertiesEXTBuilder<'a> { self.inner.fragment_density_invocations = fragment_density_invocations.into(); self } - pub fn next( + pub fn next( mut self, next: &'a mut T, - ) -> PhysicalDeviceFragmentDensityMapPropertiesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceFragmentDensityMapPropertiesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + ) -> PhysicalDeviceFragmentDensityMapPropertiesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceFragmentDensityMapPropertiesEXT { @@ -39440,6 +39793,11 @@ impl<'a> ::std::ops::Deref for RenderPassFragmentDensityMapCreateInfoEXTBuilder< &self.inner } } +impl<'a> ::std::ops::DerefMut for RenderPassFragmentDensityMapCreateInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> RenderPassFragmentDensityMapCreateInfoEXTBuilder<'a> { pub fn fragment_density_map_attachment( mut self, @@ -39448,11 +39806,16 @@ impl<'a> RenderPassFragmentDensityMapCreateInfoEXTBuilder<'a> { self.inner.fragment_density_map_attachment = fragment_density_map_attachment; self } - pub fn next(mut self, next: &'a T) -> RenderPassFragmentDensityMapCreateInfoEXTBuilder<'a> - where - T: ExtendsRenderPassFragmentDensityMapCreateInfoEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> RenderPassFragmentDensityMapCreateInfoEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> RenderPassFragmentDensityMapCreateInfoEXT { @@ -39496,6 +39859,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder<'a> { pub fn scalar_block_layout( mut self, @@ -39504,14 +39872,16 @@ impl<'a> PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder<'a> { self.inner.scalar_block_layout = scalar_block_layout.into(); self } - pub fn next( + pub fn next( mut self, next: &'a mut T, - ) -> PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceScalarBlockLayoutFeaturesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + ) -> PhysicalDeviceScalarBlockLayoutFeaturesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceScalarBlockLayoutFeaturesEXT { @@ -39556,6 +39926,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a> { pub fn heap_budget( mut self, @@ -39571,11 +39946,16 @@ impl<'a> PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a> { self.inner.heap_usage = heap_usage; self } - pub fn next(mut self, next: &'a mut T) -> PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceMemoryBudgetPropertiesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> PhysicalDeviceMemoryBudgetPropertiesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceMemoryBudgetPropertiesEXT { @@ -39619,6 +39999,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a> { pub fn memory_priority( mut self, @@ -39627,11 +40012,16 @@ impl<'a> PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a> { self.inner.memory_priority = memory_priority.into(); self } - pub fn next(mut self, next: &'a mut T) -> PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceMemoryPriorityFeaturesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> PhysicalDeviceMemoryPriorityFeaturesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceMemoryPriorityFeaturesEXT { @@ -39674,16 +40064,26 @@ impl<'a> ::std::ops::Deref for MemoryPriorityAllocateInfoEXTBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for MemoryPriorityAllocateInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> MemoryPriorityAllocateInfoEXTBuilder<'a> { pub fn priority(mut self, priority: f32) -> MemoryPriorityAllocateInfoEXTBuilder<'a> { self.inner.priority = priority; self } - pub fn next(mut self, next: &'a T) -> MemoryPriorityAllocateInfoEXTBuilder<'a> - where - T: ExtendsMemoryPriorityAllocateInfoEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> MemoryPriorityAllocateInfoEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> MemoryPriorityAllocateInfoEXT { @@ -39731,6 +40131,11 @@ impl<'a> ::std::ops::Deref for PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> &self.inner } } +impl<'a> ::std::ops::DerefMut for PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> { pub fn buffer_device_address( mut self, @@ -39754,11 +40159,16 @@ impl<'a> PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> { self.inner.buffer_device_address_multi_device = buffer_device_address_multi_device.into(); self } - pub fn next(mut self, next: &'a mut T) -> PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> - where - T: ExtendsPhysicalDeviceBufferAddressFeaturesEXT, - { - self.inner.p_next = next as *mut T as *mut c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> PhysicalDeviceBufferAddressFeaturesEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> PhysicalDeviceBufferAddressFeaturesEXT { @@ -39800,16 +40210,26 @@ impl<'a> ::std::ops::Deref for BufferDeviceAddressInfoEXTBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for BufferDeviceAddressInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> BufferDeviceAddressInfoEXTBuilder<'a> { pub fn buffer(mut self, buffer: Buffer) -> BufferDeviceAddressInfoEXTBuilder<'a> { self.inner.buffer = buffer; self } - pub fn next(mut self, next: &'a T) -> BufferDeviceAddressInfoEXTBuilder<'a> - where - T: ExtendsBufferDeviceAddressInfoEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> BufferDeviceAddressInfoEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> BufferDeviceAddressInfoEXT { @@ -39852,6 +40272,11 @@ impl<'a> ::std::ops::Deref for BufferDeviceAddressCreateInfoEXTBuilder<'a> { &self.inner } } +impl<'a> ::std::ops::DerefMut for BufferDeviceAddressCreateInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} impl<'a> BufferDeviceAddressCreateInfoEXTBuilder<'a> { pub fn device_address( mut self, @@ -39860,11 +40285,16 @@ impl<'a> BufferDeviceAddressCreateInfoEXTBuilder<'a> { self.inner.device_address = device_address; self } - pub fn next(mut self, next: &'a T) -> BufferDeviceAddressCreateInfoEXTBuilder<'a> - where - T: ExtendsBufferDeviceAddressCreateInfoEXT, - { - self.inner.p_next = next as *const T as *const c_void; + pub fn next( + mut self, + next: &'a mut T, + ) -> BufferDeviceAddressCreateInfoEXTBuilder<'a> { + unsafe { + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + (*last_extension).p_next = next as *mut T as *mut _; + } self } pub fn build(self) -> BufferDeviceAddressCreateInfoEXT { @@ -57349,35 +57779,60 @@ fn display_flags( } Ok(()) } -<<<<<<< HEAD -impl fmt::Display for CommandBufferLevel { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::PRIMARY => Some("PRIMARY"), - Self::SECONDARY => Some("SECONDARY"), -======= -impl fmt::Display for DescriptorSetLayoutCreateFlags { +impl fmt::Display for MemoryPropertyFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - ( - DescriptorSetLayoutCreateFlags::PUSH_DESCRIPTOR_KHR.0, - "PUSH_DESCRIPTOR_KHR", - ), - ( - DescriptorSetLayoutCreateFlags::UPDATE_AFTER_BIND_POOL_EXT.0, - "UPDATE_AFTER_BIND_POOL_EXT", - ), + (MemoryPropertyFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), + (MemoryPropertyFlags::HOST_VISIBLE.0, "HOST_VISIBLE"), + (MemoryPropertyFlags::HOST_COHERENT.0, "HOST_COHERENT"), + (MemoryPropertyFlags::HOST_CACHED.0, "HOST_CACHED"), + (MemoryPropertyFlags::LAZILY_ALLOCATED.0, "LAZILY_ALLOCATED"), + (MemoryPropertyFlags::PROTECTED.0, "PROTECTED"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for AccelerationStructureMemoryRequirementsTypeNV { +impl fmt::Display for ObjectType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::OBJECT => Some("OBJECT"), - Self::BUILD_SCRATCH => Some("BUILD_SCRATCH"), - Self::UPDATE_SCRATCH => Some("UPDATE_SCRATCH"), ->>>>>>> Implement extension chaining + Self::UNKNOWN => Some("UNKNOWN"), + Self::INSTANCE => Some("INSTANCE"), + Self::PHYSICAL_DEVICE => Some("PHYSICAL_DEVICE"), + Self::DEVICE => Some("DEVICE"), + Self::QUEUE => Some("QUEUE"), + Self::SEMAPHORE => Some("SEMAPHORE"), + Self::COMMAND_BUFFER => Some("COMMAND_BUFFER"), + Self::FENCE => Some("FENCE"), + Self::DEVICE_MEMORY => Some("DEVICE_MEMORY"), + Self::BUFFER => Some("BUFFER"), + Self::IMAGE => Some("IMAGE"), + Self::EVENT => Some("EVENT"), + Self::QUERY_POOL => Some("QUERY_POOL"), + Self::BUFFER_VIEW => Some("BUFFER_VIEW"), + Self::IMAGE_VIEW => Some("IMAGE_VIEW"), + Self::SHADER_MODULE => Some("SHADER_MODULE"), + Self::PIPELINE_CACHE => Some("PIPELINE_CACHE"), + Self::PIPELINE_LAYOUT => Some("PIPELINE_LAYOUT"), + Self::RENDER_PASS => Some("RENDER_PASS"), + Self::PIPELINE => Some("PIPELINE"), + Self::DESCRIPTOR_SET_LAYOUT => Some("DESCRIPTOR_SET_LAYOUT"), + Self::SAMPLER => Some("SAMPLER"), + Self::DESCRIPTOR_POOL => Some("DESCRIPTOR_POOL"), + Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), + Self::FRAMEBUFFER => Some("FRAMEBUFFER"), + Self::COMMAND_POOL => Some("COMMAND_POOL"), + Self::SURFACE_KHR => Some("SURFACE_KHR"), + Self::SWAPCHAIN_KHR => Some("SWAPCHAIN_KHR"), + Self::DISPLAY_KHR => Some("DISPLAY_KHR"), + Self::DISPLAY_MODE_KHR => Some("DISPLAY_MODE_KHR"), + Self::DEBUG_REPORT_CALLBACK_EXT => Some("DEBUG_REPORT_CALLBACK_EXT"), + Self::OBJECT_TABLE_NVX => Some("OBJECT_TABLE_NVX"), + Self::INDIRECT_COMMANDS_LAYOUT_NVX => Some("INDIRECT_COMMANDS_LAYOUT_NVX"), + Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"), + Self::VALIDATION_CACHE_EXT => Some("VALIDATION_CACHE_EXT"), + Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), + Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"), + Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"), _ => None, }; if let Some(x) = name { @@ -57387,20 +57842,12 @@ impl fmt::Display for AccelerationStructureMemoryRequirementsTypeNV { } } } -<<<<<<< HEAD impl fmt::Display for MemoryOverallocationBehaviorAMD { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { Self::DEFAULT => Some("DEFAULT"), Self::ALLOWED => Some("ALLOWED"), Self::DISALLOWED => Some("DISALLOWED"), -======= -impl fmt::Display for CopyAccelerationStructureModeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::CLONE => Some("CLONE"), - Self::COMPACT => Some("COMPACT"), ->>>>>>> Implement extension chaining _ => None, }; if let Some(x) = name { @@ -57410,62 +57857,60 @@ impl fmt::Display for CopyAccelerationStructureModeNV { } } } -<<<<<<< HEAD -impl fmt::Display for SubpassContents { +impl fmt::Display for SubpassDescriptionFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::INLINE => Some("INLINE"), - Self::SECONDARY_COMMAND_BUFFERS => Some("SECONDARY_COMMAND_BUFFERS"), -======= -impl fmt::Display for AccelerationStructureTypeNV { + const KNOWN: &[(Flags, &str)] = &[ + ( + SubpassDescriptionFlags::PER_VIEW_ATTRIBUTES_NVX.0, + "PER_VIEW_ATTRIBUTES_NVX", + ), + ( + SubpassDescriptionFlags::PER_VIEW_POSITION_X_ONLY_NVX.0, + "PER_VIEW_POSITION_X_ONLY_NVX", + ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for BufferCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TOP_LEVEL => Some("TOP_LEVEL"), - Self::BOTTOM_LEVEL => Some("BOTTOM_LEVEL"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } + const KNOWN: &[(Flags, &str)] = &[ + (BufferCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), + (BufferCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), + (BufferCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), + ( + BufferCreateFlags::DEVICE_ADDRESS_CAPTURE_REPLAY_EXT.0, + "DEVICE_ADDRESS_CAPTURE_REPLAY_EXT", + ), + (BufferCreateFlags::PROTECTED.0, "PROTECTED"), + ]; + display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ColorSpaceKHR { +impl fmt::Display for ImageAspectFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::SRGB_NONLINEAR => Some("SRGB_NONLINEAR"), - Self::DISPLAY_P3_NONLINEAR_EXT => Some("DISPLAY_P3_NONLINEAR_EXT"), - Self::EXTENDED_SRGB_LINEAR_EXT => Some("EXTENDED_SRGB_LINEAR_EXT"), - Self::DCI_P3_LINEAR_EXT => Some("DCI_P3_LINEAR_EXT"), - Self::DCI_P3_NONLINEAR_EXT => Some("DCI_P3_NONLINEAR_EXT"), - Self::BT709_LINEAR_EXT => Some("BT709_LINEAR_EXT"), - Self::BT709_NONLINEAR_EXT => Some("BT709_NONLINEAR_EXT"), - Self::BT2020_LINEAR_EXT => Some("BT2020_LINEAR_EXT"), - Self::HDR10_ST2084_EXT => Some("HDR10_ST2084_EXT"), - Self::DOLBYVISION_EXT => Some("DOLBYVISION_EXT"), - Self::HDR10_HLG_EXT => Some("HDR10_HLG_EXT"), - Self::ADOBERGB_LINEAR_EXT => Some("ADOBERGB_LINEAR_EXT"), - Self::ADOBERGB_NONLINEAR_EXT => Some("ADOBERGB_NONLINEAR_EXT"), - Self::PASS_THROUGH_EXT => Some("PASS_THROUGH_EXT"), - Self::EXTENDED_SRGB_NONLINEAR_EXT => Some("EXTENDED_SRGB_NONLINEAR_EXT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } + const KNOWN: &[(Flags, &str)] = &[ + (ImageAspectFlags::COLOR.0, "COLOR"), + (ImageAspectFlags::DEPTH.0, "DEPTH"), + (ImageAspectFlags::STENCIL.0, "STENCIL"), + (ImageAspectFlags::METADATA.0, "METADATA"), + (ImageAspectFlags::MEMORY_PLANE_0_EXT.0, "MEMORY_PLANE_0_EXT"), + (ImageAspectFlags::MEMORY_PLANE_1_EXT.0, "MEMORY_PLANE_1_EXT"), + (ImageAspectFlags::MEMORY_PLANE_2_EXT.0, "MEMORY_PLANE_2_EXT"), + (ImageAspectFlags::MEMORY_PLANE_3_EXT.0, "MEMORY_PLANE_3_EXT"), + (ImageAspectFlags::PLANE_0.0, "PLANE_0"), + (ImageAspectFlags::PLANE_1.0, "PLANE_1"), + (ImageAspectFlags::PLANE_2.0, "PLANE_2"), + ]; + display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ObjectEntryTypeNVX { +impl fmt::Display for Filter { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::PIPELINE => Some("PIPELINE"), - Self::INDEX_BUFFER => Some("INDEX_BUFFER"), - Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), - Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), + Self::NEAREST => Some("NEAREST"), + Self::LINEAR => Some("LINEAR"), + Self::CUBIC_IMG => Some("CUBIC_IMG"), _ => None, }; if let Some(x) = name { @@ -57475,17 +57920,13 @@ impl fmt::Display for ObjectEntryTypeNVX { } } } -impl fmt::Display for StencilOp { +impl fmt::Display for PolygonMode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::KEEP => Some("KEEP"), - Self::ZERO => Some("ZERO"), - Self::REPLACE => Some("REPLACE"), - Self::INCREMENT_AND_CLAMP => Some("INCREMENT_AND_CLAMP"), - Self::DECREMENT_AND_CLAMP => Some("DECREMENT_AND_CLAMP"), - Self::INVERT => Some("INVERT"), - Self::INCREMENT_AND_WRAP => Some("INCREMENT_AND_WRAP"), - Self::DECREMENT_AND_WRAP => Some("DECREMENT_AND_WRAP"), + Self::FILL => Some("FILL"), + Self::LINE => Some("LINE"), + Self::POINT => Some("POINT"), + Self::FILL_RECTANGLE_NV => Some("FILL_RECTANGLE_NV"), _ => None, }; if let Some(x) = name { @@ -57495,182 +57936,110 @@ impl fmt::Display for StencilOp { } } } -impl fmt::Display for QueryControlFlags { +impl fmt::Display for FormatFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(QueryControlFlags::PRECISE.0, "PRECISE")]; + const KNOWN : & [ ( Flags , & str ) ] = & [ ( FormatFeatureFlags :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC" ) , ( FormatFeatureFlags :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC" ) , ( FormatFeatureFlags :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND" ) , ( FormatFeatureFlags :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT" ) , ( FormatFeatureFlags :: BLIT_SRC . 0 , "BLIT_SRC" ) , ( FormatFeatureFlags :: BLIT_DST . 0 , "BLIT_DST" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_CUBIC_IMG . 0 , "SAMPLED_IMAGE_FILTER_CUBIC_IMG" ) , ( FormatFeatureFlags :: RESERVED_27_KHR . 0 , "RESERVED_27_KHR" ) , ( FormatFeatureFlags :: RESERVED_28_KHR . 0 , "RESERVED_28_KHR" ) , ( FormatFeatureFlags :: RESERVED_25_KHR . 0 , "RESERVED_25_KHR" ) , ( FormatFeatureFlags :: RESERVED_26_KHR . 0 , "RESERVED_26_KHR" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_MINMAX_EXT . 0 , "SAMPLED_IMAGE_FILTER_MINMAX_EXT" ) , ( FormatFeatureFlags :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT" ) , ( FormatFeatureFlags :: TRANSFER_SRC . 0 , "TRANSFER_SRC" ) , ( FormatFeatureFlags :: TRANSFER_DST . 0 , "TRANSFER_DST" ) , ( FormatFeatureFlags :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE" ) , ( FormatFeatureFlags :: DISJOINT . 0 , "DISJOINT" ) , ( FormatFeatureFlags :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES" ) ] ; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SurfaceTransformFlagsKHR { +impl fmt::Display for DependencyFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (SurfaceTransformFlagsKHR::IDENTITY.0, "IDENTITY"), - (SurfaceTransformFlagsKHR::ROTATE_90.0, "ROTATE_90"), - (SurfaceTransformFlagsKHR::ROTATE_180.0, "ROTATE_180"), - (SurfaceTransformFlagsKHR::ROTATE_270.0, "ROTATE_270"), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR.0, - "HORIZONTAL_MIRROR", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_90.0, - "HORIZONTAL_MIRROR_ROTATE_90", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_180.0, - "HORIZONTAL_MIRROR_ROTATE_180", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_270.0, - "HORIZONTAL_MIRROR_ROTATE_270", - ), - (SurfaceTransformFlagsKHR::INHERIT.0, "INHERIT"), + (DependencyFlags::BY_REGION.0, "BY_REGION"), + (DependencyFlags::DEVICE_GROUP.0, "DEVICE_GROUP"), + (DependencyFlags::VIEW_LOCAL.0, "VIEW_LOCAL"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for CommandPoolCreateFlags { +impl fmt::Display for MemoryHeapFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (CommandPoolCreateFlags::TRANSIENT.0, "TRANSIENT"), - ( - CommandPoolCreateFlags::RESET_COMMAND_BUFFER.0, - "RESET_COMMAND_BUFFER", - ), - (CommandPoolCreateFlags::PROTECTED.0, "PROTECTED"), + (MemoryHeapFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), + (MemoryHeapFlags::MULTI_INSTANCE.0, "MULTI_INSTANCE"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ExternalSemaphoreHandleTypeFlags { +impl fmt::Display for LogicOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD.0, - "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD", - ), - ( - ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32.0, - "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32", - ), - ( - ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT.0, - "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT", - ), - ( - ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE.0, - "EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE", - ), - ( - ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD.0, - "EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD", - ), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::CLEAR => Some("CLEAR"), + Self::AND => Some("AND"), + Self::AND_REVERSE => Some("AND_REVERSE"), + Self::COPY => Some("COPY"), + Self::AND_INVERTED => Some("AND_INVERTED"), + Self::NO_OP => Some("NO_OP"), + Self::XOR => Some("XOR"), + Self::OR => Some("OR"), + Self::NOR => Some("NOR"), + Self::EQUIVALENT => Some("EQUIVALENT"), + Self::INVERT => Some("INVERT"), + Self::OR_REVERSE => Some("OR_REVERSE"), + Self::COPY_INVERTED => Some("COPY_INVERTED"), + Self::OR_INVERTED => Some("OR_INVERTED"), + Self::NAND => Some("NAND"), + Self::SET => Some("SET"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for ExternalSemaphoreFeatureFlags { +impl fmt::Display for DisplayPlaneAlphaFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (DisplayPlaneAlphaFlagsKHR::OPAQUE.0, "OPAQUE"), + (DisplayPlaneAlphaFlagsKHR::GLOBAL.0, "GLOBAL"), + (DisplayPlaneAlphaFlagsKHR::PER_PIXEL.0, "PER_PIXEL"), ( - ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE.0, - "EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE", - ), - ( - ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE.0, - "EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE", + DisplayPlaneAlphaFlagsKHR::PER_PIXEL_PREMULTIPLIED.0, + "PER_PIXEL_PREMULTIPLIED", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for GeometryFlagsNV { +impl fmt::Display for DebugReportFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (GeometryFlagsNV::OPAQUE.0, "OPAQUE"), + (DebugReportFlagsEXT::INFORMATION.0, "INFORMATION"), + (DebugReportFlagsEXT::WARNING.0, "WARNING"), ( - GeometryFlagsNV::NO_DUPLICATE_ANY_HIT_INVOCATION.0, - "NO_DUPLICATE_ANY_HIT_INVOCATION", + DebugReportFlagsEXT::PERFORMANCE_WARNING.0, + "PERFORMANCE_WARNING", ), + (DebugReportFlagsEXT::ERROR.0, "ERROR"), + (DebugReportFlagsEXT::DEBUG.0, "DEBUG"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for PipelineBindPoint { +impl fmt::Display for ImageLayout { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::GRAPHICS => Some("GRAPHICS"), - Self::COMPUTE => Some("COMPUTE"), - Self::RAY_TRACING_NV => Some("RAY_TRACING_NV"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for QueryResultFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (QueryResultFlags::TYPE_64.0, "TYPE_64"), - (QueryResultFlags::WAIT.0, "WAIT"), - (QueryResultFlags::WITH_AVAILABILITY.0, "WITH_AVAILABILITY"), - (QueryResultFlags::PARTIAL.0, "PARTIAL"), -======= -impl fmt::Display for BufferUsageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (BufferUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), - (BufferUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), - ( - BufferUsageFlags::UNIFORM_TEXEL_BUFFER.0, - "UNIFORM_TEXEL_BUFFER", - ), - ( - BufferUsageFlags::STORAGE_TEXEL_BUFFER.0, - "STORAGE_TEXEL_BUFFER", - ), - (BufferUsageFlags::UNIFORM_BUFFER.0, "UNIFORM_BUFFER"), - (BufferUsageFlags::STORAGE_BUFFER.0, "STORAGE_BUFFER"), - (BufferUsageFlags::INDEX_BUFFER.0, "INDEX_BUFFER"), - (BufferUsageFlags::VERTEX_BUFFER.0, "VERTEX_BUFFER"), - (BufferUsageFlags::INDIRECT_BUFFER.0, "INDIRECT_BUFFER"), - ( - BufferUsageFlags::TRANSFORM_FEEDBACK_BUFFER_EXT.0, - "TRANSFORM_FEEDBACK_BUFFER_EXT", - ), - ( - BufferUsageFlags::TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT", - ), - ( - BufferUsageFlags::CONDITIONAL_RENDERING_EXT.0, - "CONDITIONAL_RENDERING_EXT", - ), - (BufferUsageFlags::RAY_TRACING_NV.0, "RAY_TRACING_NV"), ->>>>>>> Implement extension chaining - ]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for GeometryTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TRIANGLES => Some("TRIANGLES"), - Self::AABBS => Some("AABBS"), -======= -impl fmt::Display for ImageTiling { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OPTIMAL => Some("OPTIMAL"), - Self::LINEAR => Some("LINEAR"), - Self::DRM_FORMAT_MODIFIER_EXT => Some("DRM_FORMAT_MODIFIER_EXT"), ->>>>>>> Implement extension chaining + Self::UNDEFINED => Some("UNDEFINED"), + Self::GENERAL => Some("GENERAL"), + Self::COLOR_ATTACHMENT_OPTIMAL => Some("COLOR_ATTACHMENT_OPTIMAL"), + Self::DEPTH_STENCIL_ATTACHMENT_OPTIMAL => Some("DEPTH_STENCIL_ATTACHMENT_OPTIMAL"), + Self::DEPTH_STENCIL_READ_ONLY_OPTIMAL => Some("DEPTH_STENCIL_READ_ONLY_OPTIMAL"), + Self::SHADER_READ_ONLY_OPTIMAL => Some("SHADER_READ_ONLY_OPTIMAL"), + Self::TRANSFER_SRC_OPTIMAL => Some("TRANSFER_SRC_OPTIMAL"), + Self::TRANSFER_DST_OPTIMAL => Some("TRANSFER_DST_OPTIMAL"), + Self::PREINITIALIZED => Some("PREINITIALIZED"), + Self::PRESENT_SRC_KHR => Some("PRESENT_SRC_KHR"), + Self::SHARED_PRESENT_KHR => Some("SHARED_PRESENT_KHR"), + Self::SHADING_RATE_OPTIMAL_NV => Some("SHADING_RATE_OPTIMAL_NV"), + Self::FRAGMENT_DENSITY_MAP_OPTIMAL_EXT => Some("FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"), + Self::DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL => { + Some("DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL") + } + Self::DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL => { + Some("DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL") + } _ => None, }; if let Some(x) = name { @@ -57680,307 +58049,73 @@ impl fmt::Display for ImageTiling { } } } -<<<<<<< HEAD -impl fmt::Display for DebugReportObjectTypeEXT { -======= -impl fmt::Display for CommandBufferUsageFlags { +impl fmt::Display for BuildAccelerationStructureFlagsNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - CommandBufferUsageFlags::ONE_TIME_SUBMIT.0, - "ONE_TIME_SUBMIT", + BuildAccelerationStructureFlagsNV::ALLOW_UPDATE.0, + "ALLOW_UPDATE", ), ( - CommandBufferUsageFlags::RENDER_PASS_CONTINUE.0, - "RENDER_PASS_CONTINUE", + BuildAccelerationStructureFlagsNV::ALLOW_COMPACTION.0, + "ALLOW_COMPACTION", ), ( - CommandBufferUsageFlags::SIMULTANEOUS_USE.0, - "SIMULTANEOUS_USE", + BuildAccelerationStructureFlagsNV::PREFER_FAST_TRACE.0, + "PREFER_FAST_TRACE", ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ObjectType { ->>>>>>> Implement extension chaining - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNKNOWN => Some("UNKNOWN"), - Self::INSTANCE => Some("INSTANCE"), - Self::PHYSICAL_DEVICE => Some("PHYSICAL_DEVICE"), - Self::DEVICE => Some("DEVICE"), - Self::QUEUE => Some("QUEUE"), - Self::SEMAPHORE => Some("SEMAPHORE"), - Self::COMMAND_BUFFER => Some("COMMAND_BUFFER"), - Self::FENCE => Some("FENCE"), - Self::DEVICE_MEMORY => Some("DEVICE_MEMORY"), - Self::BUFFER => Some("BUFFER"), - Self::IMAGE => Some("IMAGE"), - Self::EVENT => Some("EVENT"), - Self::QUERY_POOL => Some("QUERY_POOL"), - Self::BUFFER_VIEW => Some("BUFFER_VIEW"), - Self::IMAGE_VIEW => Some("IMAGE_VIEW"), - Self::SHADER_MODULE => Some("SHADER_MODULE"), - Self::PIPELINE_CACHE => Some("PIPELINE_CACHE"), - Self::PIPELINE_LAYOUT => Some("PIPELINE_LAYOUT"), - Self::RENDER_PASS => Some("RENDER_PASS"), - Self::PIPELINE => Some("PIPELINE"), - Self::DESCRIPTOR_SET_LAYOUT => Some("DESCRIPTOR_SET_LAYOUT"), - Self::SAMPLER => Some("SAMPLER"), - Self::DESCRIPTOR_POOL => Some("DESCRIPTOR_POOL"), - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::FRAMEBUFFER => Some("FRAMEBUFFER"), - Self::COMMAND_POOL => Some("COMMAND_POOL"), - Self::SURFACE_KHR => Some("SURFACE_KHR"), - Self::SWAPCHAIN_KHR => Some("SWAPCHAIN_KHR"), - Self::DEBUG_REPORT_CALLBACK => Some("DEBUG_REPORT_CALLBACK"), - Self::DISPLAY_KHR => Some("DISPLAY_KHR"), - Self::DISPLAY_MODE_KHR => Some("DISPLAY_MODE_KHR"), - Self::OBJECT_TABLE_NVX => Some("OBJECT_TABLE_NVX"), - Self::INDIRECT_COMMANDS_LAYOUT_NVX => Some("INDIRECT_COMMANDS_LAYOUT_NVX"), - Self::VALIDATION_CACHE => Some("VALIDATION_CACHE"), - Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"), - Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"), - Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for SamplerCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SamplerCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"), ( - SamplerCreateFlags::SUBSAMPLED_COARSE_RECONSTRUCTION_EXT.0, - "SUBSAMPLED_COARSE_RECONSTRUCTION_EXT", + BuildAccelerationStructureFlagsNV::PREFER_FAST_BUILD.0, + "PREFER_FAST_BUILD", + ), + ( + BuildAccelerationStructureFlagsNV::LOW_MEMORY.0, + "LOW_MEMORY", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ResolveModeFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ResolveModeFlagsKHR::NONE.0, "NONE"), - (ResolveModeFlagsKHR::SAMPLE_ZERO.0, "SAMPLE_ZERO"), - (ResolveModeFlagsKHR::AVERAGE.0, "AVERAGE"), - (ResolveModeFlagsKHR::MIN.0, "MIN"), - (ResolveModeFlagsKHR::MAX.0, "MAX"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for DriverIdKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::AMD_PROPRIETARY => Some("AMD_PROPRIETARY"), - Self::AMD_OPEN_SOURCE => Some("AMD_OPEN_SOURCE"), - Self::MESA_RADV => Some("MESA_RADV"), - Self::NVIDIA_PROPRIETARY => Some("NVIDIA_PROPRIETARY"), - Self::INTEL_PROPRIETARY_WINDOWS => Some("INTEL_PROPRIETARY_WINDOWS"), - Self::INTEL_OPEN_SOURCE_MESA => Some("INTEL_OPEN_SOURCE_MESA"), - Self::IMAGINATION_PROPRIETARY => Some("IMAGINATION_PROPRIETARY"), - Self::QUALCOMM_PROPRIETARY => Some("QUALCOMM_PROPRIETARY"), - Self::ARM_PROPRIETARY => Some("ARM_PROPRIETARY"), - Self::GOOGLE_PASTEL => Some("GOOGLE_PASTEL"), -======= -impl fmt::Display for BorderColor { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::FLOAT_TRANSPARENT_BLACK => Some("FLOAT_TRANSPARENT_BLACK"), - Self::INT_TRANSPARENT_BLACK => Some("INT_TRANSPARENT_BLACK"), - Self::FLOAT_OPAQUE_BLACK => Some("FLOAT_OPAQUE_BLACK"), - Self::INT_OPAQUE_BLACK => Some("INT_OPAQUE_BLACK"), - Self::FLOAT_OPAQUE_WHITE => Some("FLOAT_OPAQUE_WHITE"), - Self::INT_OPAQUE_WHITE => Some("INT_OPAQUE_WHITE"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for PipelineStageFlags { +impl fmt::Display for DescriptorBindingFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (PipelineStageFlags::TOP_OF_PIPE.0, "TOP_OF_PIPE"), - (PipelineStageFlags::DRAW_INDIRECT.0, "DRAW_INDIRECT"), - (PipelineStageFlags::VERTEX_INPUT.0, "VERTEX_INPUT"), - (PipelineStageFlags::VERTEX_SHADER.0, "VERTEX_SHADER"), - ( - PipelineStageFlags::TESSELLATION_CONTROL_SHADER.0, - "TESSELLATION_CONTROL_SHADER", - ), - ( - PipelineStageFlags::TESSELLATION_EVALUATION_SHADER.0, - "TESSELLATION_EVALUATION_SHADER", - ), - (PipelineStageFlags::GEOMETRY_SHADER.0, "GEOMETRY_SHADER"), - (PipelineStageFlags::FRAGMENT_SHADER.0, "FRAGMENT_SHADER"), - ( - PipelineStageFlags::EARLY_FRAGMENT_TESTS.0, - "EARLY_FRAGMENT_TESTS", - ), - ( - PipelineStageFlags::LATE_FRAGMENT_TESTS.0, - "LATE_FRAGMENT_TESTS", - ), - ( - PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT.0, - "COLOR_ATTACHMENT_OUTPUT", - ), - (PipelineStageFlags::COMPUTE_SHADER.0, "COMPUTE_SHADER"), - (PipelineStageFlags::TRANSFER.0, "TRANSFER"), - (PipelineStageFlags::BOTTOM_OF_PIPE.0, "BOTTOM_OF_PIPE"), - (PipelineStageFlags::HOST.0, "HOST"), - (PipelineStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), - (PipelineStageFlags::ALL_COMMANDS.0, "ALL_COMMANDS"), - (PipelineStageFlags::RESERVED_27_KHR.0, "RESERVED_27_KHR"), - (PipelineStageFlags::RESERVED_26_KHR.0, "RESERVED_26_KHR"), - ( - PipelineStageFlags::TRANSFORM_FEEDBACK_EXT.0, - "TRANSFORM_FEEDBACK_EXT", - ), - ( - PipelineStageFlags::CONDITIONAL_RENDERING_EXT.0, - "CONDITIONAL_RENDERING_EXT", - ), - ( - PipelineStageFlags::COMMAND_PROCESS_NVX.0, - "COMMAND_PROCESS_NVX", - ), ( - PipelineStageFlags::SHADING_RATE_IMAGE_NV.0, - "SHADING_RATE_IMAGE_NV", + DescriptorBindingFlagsEXT::UPDATE_AFTER_BIND.0, + "UPDATE_AFTER_BIND", ), ( - PipelineStageFlags::RAY_TRACING_SHADER_NV.0, - "RAY_TRACING_SHADER_NV", + DescriptorBindingFlagsEXT::UPDATE_UNUSED_WHILE_PENDING.0, + "UPDATE_UNUSED_WHILE_PENDING", ), ( - PipelineStageFlags::ACCELERATION_STRUCTURE_BUILD_NV.0, - "ACCELERATION_STRUCTURE_BUILD_NV", + DescriptorBindingFlagsEXT::PARTIALLY_BOUND.0, + "PARTIALLY_BOUND", ), - (PipelineStageFlags::TASK_SHADER_NV.0, "TASK_SHADER_NV"), - (PipelineStageFlags::MESH_SHADER_NV.0, "MESH_SHADER_NV"), ( - PipelineStageFlags::FRAGMENT_DENSITY_PROCESS_EXT.0, - "FRAGMENT_DENSITY_PROCESS_EXT", + DescriptorBindingFlagsEXT::VARIABLE_DESCRIPTOR_COUNT.0, + "VARIABLE_DESCRIPTOR_COUNT", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SamplerMipmapMode { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NEAREST => Some("NEAREST"), - Self::LINEAR => Some("LINEAR"), -======= -impl fmt::Display for AttachmentStoreOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::STORE => Some("STORE"), - Self::DONT_CARE => Some("DONT_CARE"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for DisplayEventTypeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::FIRST_PIXEL_OUT => Some("FIRST_PIXEL_OUT"), -======= -impl fmt::Display for SharingMode { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::EXCLUSIVE => Some("EXCLUSIVE"), - Self::CONCURRENT => Some("CONCURRENT"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for ColorComponentFlags { +impl fmt::Display for CommandPoolCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (ColorComponentFlags::R.0, "R"), - (ColorComponentFlags::G.0, "G"), - (ColorComponentFlags::B.0, "B"), - (ColorComponentFlags::A.0, "A"), + (CommandPoolCreateFlags::TRANSIENT.0, "TRANSIENT"), + ( + CommandPoolCreateFlags::RESET_COMMAND_BUFFER.0, + "RESET_COMMAND_BUFFER", + ), + (CommandPoolCreateFlags::PROTECTED.0, "PROTECTED"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DeviceQueueCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(DeviceQueueCreateFlags::PROTECTED.0, "PROTECTED")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ImageViewCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[( - ImageViewCreateFlags::FRAGMENT_DENSITY_MAP_DYNAMIC_EXT.0, - "FRAGMENT_DENSITY_MAP_DYNAMIC_EXT", - )]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for RayTracingShaderGroupTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::GENERAL => Some("GENERAL"), - Self::TRIANGLES_HIT_GROUP => Some("TRIANGLES_HIT_GROUP"), - Self::PROCEDURAL_HIT_GROUP => Some("PROCEDURAL_HIT_GROUP"), -======= -impl fmt::Display for BlendFactor { +impl fmt::Display for DisplayEventTypeEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ZERO => Some("ZERO"), - Self::ONE => Some("ONE"), - Self::SRC_COLOR => Some("SRC_COLOR"), - Self::ONE_MINUS_SRC_COLOR => Some("ONE_MINUS_SRC_COLOR"), - Self::DST_COLOR => Some("DST_COLOR"), - Self::ONE_MINUS_DST_COLOR => Some("ONE_MINUS_DST_COLOR"), - Self::SRC_ALPHA => Some("SRC_ALPHA"), - Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"), - Self::DST_ALPHA => Some("DST_ALPHA"), - Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"), - Self::CONSTANT_COLOR => Some("CONSTANT_COLOR"), - Self::ONE_MINUS_CONSTANT_COLOR => Some("ONE_MINUS_CONSTANT_COLOR"), - Self::CONSTANT_ALPHA => Some("CONSTANT_ALPHA"), - Self::ONE_MINUS_CONSTANT_ALPHA => Some("ONE_MINUS_CONSTANT_ALPHA"), - Self::SRC_ALPHA_SATURATE => Some("SRC_ALPHA_SATURATE"), - Self::SRC1_COLOR => Some("SRC1_COLOR"), - Self::ONE_MINUS_SRC1_COLOR => Some("ONE_MINUS_SRC1_COLOR"), - Self::SRC1_ALPHA => Some("SRC1_ALPHA"), - Self::ONE_MINUS_SRC1_ALPHA => Some("ONE_MINUS_SRC1_ALPHA"), ->>>>>>> Implement extension chaining + Self::FIRST_PIXEL_OUT => Some("FIRST_PIXEL_OUT"), _ => None, }; if let Some(x) = name { @@ -57988,7 +58123,6 @@ impl fmt::Display for BlendFactor { } else { write!(f, "{}", self.0) } -<<<<<<< HEAD } } impl fmt::Display for CullModeFlags { @@ -58000,57 +58134,25 @@ impl fmt::Display for CullModeFlags { (CullModeFlags::FRONT_AND_BACK.0, "FRONT_AND_BACK"), ]; display_flags(f, KNOWN, self.0) -======= ->>>>>>> Implement extension chaining } } -impl fmt::Display for ValidationFeatureDisableEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ALL => Some("ALL"), - Self::SHADERS => Some("SHADERS"), - Self::THREAD_SAFETY => Some("THREAD_SAFETY"), - Self::API_PARAMETERS => Some("API_PARAMETERS"), - Self::OBJECT_LIFETIMES => Some("OBJECT_LIFETIMES"), - Self::CORE_CHECKS => Some("CORE_CHECKS"), - Self::UNIQUE_HANDLES => Some("UNIQUE_HANDLES"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD impl fmt::Display for AttachmentDescriptionFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[(AttachmentDescriptionFlags::MAY_ALIAS.0, "MAY_ALIAS")]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DisplayPlaneAlphaFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DisplayPlaneAlphaFlagsKHR::OPAQUE.0, "OPAQUE"), - (DisplayPlaneAlphaFlagsKHR::GLOBAL.0, "GLOBAL"), - (DisplayPlaneAlphaFlagsKHR::PER_PIXEL.0, "PER_PIXEL"), - ( - DisplayPlaneAlphaFlagsKHR::PER_PIXEL_PREMULTIPLIED.0, - "PER_PIXEL_PREMULTIPLIED", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for QueueGlobalPriorityEXT { +impl fmt::Display for IndirectCommandsTokenTypeNVX { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::LOW => Some("LOW"), - Self::MEDIUM => Some("MEDIUM"), - Self::HIGH => Some("HIGH"), - Self::REALTIME => Some("REALTIME"), + Self::PIPELINE => Some("PIPELINE"), + Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), + Self::INDEX_BUFFER => Some("INDEX_BUFFER"), + Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), + Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), + Self::DRAW_INDEXED => Some("DRAW_INDEXED"), + Self::DRAW => Some("DRAW"), + Self::DISPATCH => Some("DISPATCH"), _ => None, }; if let Some(x) = name { @@ -58060,63 +58162,34 @@ impl fmt::Display for QueueGlobalPriorityEXT { } } } -impl fmt::Display for GeometryInstanceFlagsNV { +impl fmt::Display for DebugUtilsMessageSeverityFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - ( - GeometryInstanceFlagsNV::TRIANGLE_CULL_DISABLE.0, - "TRIANGLE_CULL_DISABLE", - ), - ( - GeometryInstanceFlagsNV::TRIANGLE_FRONT_COUNTERCLOCKWISE.0, - "TRIANGLE_FRONT_COUNTERCLOCKWISE", - ), - (GeometryInstanceFlagsNV::FORCE_OPAQUE.0, "FORCE_OPAQUE"), - ( - GeometryInstanceFlagsNV::FORCE_NO_OPAQUE.0, - "FORCE_NO_OPAQUE", - ), + (DebugUtilsMessageSeverityFlagsEXT::VERBOSE.0, "VERBOSE"), + (DebugUtilsMessageSeverityFlagsEXT::INFO.0, "INFO"), + (DebugUtilsMessageSeverityFlagsEXT::WARNING.0, "WARNING"), + (DebugUtilsMessageSeverityFlagsEXT::ERROR.0, "ERROR"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ShadingRatePaletteEntryNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NO_INVOCATIONS => Some("NO_INVOCATIONS"), - Self::TYPE_16_INVOCATIONS_PER_PIXEL => Some("TYPE_16_INVOCATIONS_PER_PIXEL"), - Self::TYPE_8_INVOCATIONS_PER_PIXEL => Some("TYPE_8_INVOCATIONS_PER_PIXEL"), - Self::TYPE_4_INVOCATIONS_PER_PIXEL => Some("TYPE_4_INVOCATIONS_PER_PIXEL"), - Self::TYPE_2_INVOCATIONS_PER_PIXEL => Some("TYPE_2_INVOCATIONS_PER_PIXEL"), - Self::TYPE_1_INVOCATION_PER_PIXEL => Some("TYPE_1_INVOCATION_PER_PIXEL"), - Self::TYPE_1_INVOCATION_PER_2X1_PIXELS => Some("TYPE_1_INVOCATION_PER_2X1_PIXELS"), - Self::TYPE_1_INVOCATION_PER_1X2_PIXELS => Some("TYPE_1_INVOCATION_PER_1X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_2X2_PIXELS => Some("TYPE_1_INVOCATION_PER_2X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_4X2_PIXELS => Some("TYPE_1_INVOCATION_PER_4X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_2X4_PIXELS => Some("TYPE_1_INVOCATION_PER_2X4_PIXELS"), - Self::TYPE_1_INVOCATION_PER_4X4_PIXELS => Some("TYPE_1_INVOCATION_PER_4X4_PIXELS"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SparseMemoryBindFlags { +impl fmt::Display for CompositeAlphaFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(SparseMemoryBindFlags::METADATA.0, "METADATA")]; + const KNOWN: &[(Flags, &str)] = &[ + (CompositeAlphaFlagsKHR::OPAQUE.0, "OPAQUE"), + (CompositeAlphaFlagsKHR::PRE_MULTIPLIED.0, "PRE_MULTIPLIED"), + (CompositeAlphaFlagsKHR::POST_MULTIPLIED.0, "POST_MULTIPLIED"), + (CompositeAlphaFlagsKHR::INHERIT.0, "INHERIT"), + ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for PolygonMode { +impl fmt::Display for AttachmentLoadOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::FILL => Some("FILL"), - Self::LINE => Some("LINE"), - Self::POINT => Some("POINT"), - Self::FILL_RECTANGLE_NV => Some("FILL_RECTANGLE_NV"), + Self::LOAD => Some("LOAD"), + Self::CLEAR => Some("CLEAR"), + Self::DONT_CARE => Some("DONT_CARE"), _ => None, }; if let Some(x) = name { @@ -58132,2688 +58205,631 @@ impl fmt::Display for SemaphoreImportFlags { display_flags(f, KNOWN, self.0) } } -impl fmt::Display for PipelineCacheHeaderVersion { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ONE => Some("ONE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SurfaceCounterFlagsEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(SurfaceCounterFlagsEXT::VBLANK.0, "VBLANK")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for BlendOp { +impl fmt::Display for StructureType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ADD => Some("ADD"), - Self::SUBTRACT => Some("SUBTRACT"), - Self::REVERSE_SUBTRACT => Some("REVERSE_SUBTRACT"), - Self::MIN => Some("MIN"), - Self::MAX => Some("MAX"), - Self::ZERO_EXT => Some("ZERO_EXT"), - Self::SRC_EXT => Some("SRC_EXT"), - Self::DST_EXT => Some("DST_EXT"), - Self::SRC_OVER_EXT => Some("SRC_OVER_EXT"), - Self::DST_OVER_EXT => Some("DST_OVER_EXT"), - Self::SRC_IN_EXT => Some("SRC_IN_EXT"), - Self::DST_IN_EXT => Some("DST_IN_EXT"), - Self::SRC_OUT_EXT => Some("SRC_OUT_EXT"), - Self::DST_OUT_EXT => Some("DST_OUT_EXT"), - Self::SRC_ATOP_EXT => Some("SRC_ATOP_EXT"), - Self::DST_ATOP_EXT => Some("DST_ATOP_EXT"), - Self::XOR_EXT => Some("XOR_EXT"), - Self::MULTIPLY_EXT => Some("MULTIPLY_EXT"), - Self::SCREEN_EXT => Some("SCREEN_EXT"), - Self::OVERLAY_EXT => Some("OVERLAY_EXT"), - Self::DARKEN_EXT => Some("DARKEN_EXT"), - Self::LIGHTEN_EXT => Some("LIGHTEN_EXT"), - Self::COLORDODGE_EXT => Some("COLORDODGE_EXT"), - Self::COLORBURN_EXT => Some("COLORBURN_EXT"), - Self::HARDLIGHT_EXT => Some("HARDLIGHT_EXT"), - Self::SOFTLIGHT_EXT => Some("SOFTLIGHT_EXT"), - Self::DIFFERENCE_EXT => Some("DIFFERENCE_EXT"), - Self::EXCLUSION_EXT => Some("EXCLUSION_EXT"), - Self::INVERT_EXT => Some("INVERT_EXT"), - Self::INVERT_RGB_EXT => Some("INVERT_RGB_EXT"), - Self::LINEARDODGE_EXT => Some("LINEARDODGE_EXT"), - Self::LINEARBURN_EXT => Some("LINEARBURN_EXT"), - Self::VIVIDLIGHT_EXT => Some("VIVIDLIGHT_EXT"), - Self::LINEARLIGHT_EXT => Some("LINEARLIGHT_EXT"), - Self::PINLIGHT_EXT => Some("PINLIGHT_EXT"), - Self::HARDMIX_EXT => Some("HARDMIX_EXT"), - Self::HSL_HUE_EXT => Some("HSL_HUE_EXT"), - Self::HSL_SATURATION_EXT => Some("HSL_SATURATION_EXT"), - Self::HSL_COLOR_EXT => Some("HSL_COLOR_EXT"), - Self::HSL_LUMINOSITY_EXT => Some("HSL_LUMINOSITY_EXT"), - Self::PLUS_EXT => Some("PLUS_EXT"), - Self::PLUS_CLAMPED_EXT => Some("PLUS_CLAMPED_EXT"), - Self::PLUS_CLAMPED_ALPHA_EXT => Some("PLUS_CLAMPED_ALPHA_EXT"), - Self::PLUS_DARKER_EXT => Some("PLUS_DARKER_EXT"), - Self::MINUS_EXT => Some("MINUS_EXT"), - Self::MINUS_CLAMPED_EXT => Some("MINUS_CLAMPED_EXT"), - Self::CONTRAST_EXT => Some("CONTRAST_EXT"), - Self::INVERT_OVG_EXT => Some("INVERT_OVG_EXT"), - Self::RED_EXT => Some("RED_EXT"), - Self::GREEN_EXT => Some("GREEN_EXT"), - Self::BLUE_EXT => Some("BLUE_EXT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CompareOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NEVER => Some("NEVER"), - Self::LESS => Some("LESS"), - Self::EQUAL => Some("EQUAL"), - Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"), - Self::GREATER => Some("GREATER"), - Self::NOT_EQUAL => Some("NOT_EQUAL"), - Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"), - Self::ALWAYS => Some("ALWAYS"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for PipelineCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - PipelineCreateFlags::DISABLE_OPTIMIZATION.0, - "DISABLE_OPTIMIZATION", - ), - ( - PipelineCreateFlags::ALLOW_DERIVATIVES.0, - "ALLOW_DERIVATIVES", - ), - (PipelineCreateFlags::DERIVATIVE.0, "DERIVATIVE"), - (PipelineCreateFlags::DEFER_COMPILE_NV.0, "DEFER_COMPILE_NV"), - ( - PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0, - "VIEW_INDEX_FROM_DEVICE_INDEX", - ), - (PipelineCreateFlags::DISPATCH_BASE.0, "DISPATCH_BASE"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for MemoryAllocateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(MemoryAllocateFlags::DEVICE_MASK.0, "DEVICE_MASK")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for DebugUtilsMessageTypeFlagsEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DebugUtilsMessageTypeFlagsEXT::GENERAL.0, "GENERAL"), - (DebugUtilsMessageTypeFlagsEXT::VALIDATION.0, "VALIDATION"), - (DebugUtilsMessageTypeFlagsEXT::PERFORMANCE.0, "PERFORMANCE"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for BufferUsageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (BufferUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), - (BufferUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), - ( - BufferUsageFlags::UNIFORM_TEXEL_BUFFER.0, - "UNIFORM_TEXEL_BUFFER", - ), - ( - BufferUsageFlags::STORAGE_TEXEL_BUFFER.0, - "STORAGE_TEXEL_BUFFER", - ), - (BufferUsageFlags::UNIFORM_BUFFER.0, "UNIFORM_BUFFER"), - (BufferUsageFlags::STORAGE_BUFFER.0, "STORAGE_BUFFER"), - (BufferUsageFlags::INDEX_BUFFER.0, "INDEX_BUFFER"), - (BufferUsageFlags::VERTEX_BUFFER.0, "VERTEX_BUFFER"), - (BufferUsageFlags::INDIRECT_BUFFER.0, "INDIRECT_BUFFER"), - (BufferUsageFlags::RESERVED_15_KHR.0, "RESERVED_15_KHR"), - (BufferUsageFlags::RESERVED_16_KHR.0, "RESERVED_16_KHR"), - (BufferUsageFlags::RESERVED_13_KHR.0, "RESERVED_13_KHR"), - (BufferUsageFlags::RESERVED_14_KHR.0, "RESERVED_14_KHR"), - ( - BufferUsageFlags::TRANSFORM_FEEDBACK_BUFFER_EXT.0, - "TRANSFORM_FEEDBACK_BUFFER_EXT", - ), - ( - BufferUsageFlags::TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT", - ), - ( - BufferUsageFlags::CONDITIONAL_RENDERING_EXT.0, - "CONDITIONAL_RENDERING_EXT", - ), - (BufferUsageFlags::RAY_TRACING_NV.0, "RAY_TRACING_NV"), - ( - BufferUsageFlags::SHADER_DEVICE_ADDRESS_EXT.0, - "SHADER_DEVICE_ADDRESS_EXT", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for StencilOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::KEEP => Some("KEEP"), - Self::ZERO => Some("ZERO"), - Self::REPLACE => Some("REPLACE"), - Self::INCREMENT_AND_CLAMP => Some("INCREMENT_AND_CLAMP"), - Self::DECREMENT_AND_CLAMP => Some("DECREMENT_AND_CLAMP"), - Self::INVERT => Some("INVERT"), - Self::INCREMENT_AND_WRAP => Some("INCREMENT_AND_WRAP"), - Self::DECREMENT_AND_WRAP => Some("DECREMENT_AND_WRAP"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for AttachmentStoreOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::STORE => Some("STORE"), - Self::DONT_CARE => Some("DONT_CARE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CopyAccelerationStructureModeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::CLONE => Some("CLONE"), - Self::COMPACT => Some("COMPACT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for QueueFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (QueueFlags::GRAPHICS.0, "GRAPHICS"), - (QueueFlags::COMPUTE.0, "COMPUTE"), - (QueueFlags::TRANSFER.0, "TRANSFER"), - (QueueFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (QueueFlags::RESERVED_6_KHR.0, "RESERVED_6_KHR"), - (QueueFlags::RESERVED_5_KHR.0, "RESERVED_5_KHR"), - (QueueFlags::PROTECTED.0, "PROTECTED"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for AccelerationStructureMemoryRequirementsTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OBJECT => Some("OBJECT"), - Self::BUILD_SCRATCH => Some("BUILD_SCRATCH"), - Self::UPDATE_SCRATCH => Some("UPDATE_SCRATCH"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ConservativeRasterizationModeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DISABLED => Some("DISABLED"), - Self::OVERESTIMATE => Some("OVERESTIMATE"), - Self::UNDERESTIMATE => Some("UNDERESTIMATE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for PointClippingBehavior { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ALL_CLIP_PLANES => Some("ALL_CLIP_PLANES"), - Self::USER_CLIP_PLANES_ONLY => Some("USER_CLIP_PLANES_ONLY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DiscardRectangleModeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::INCLUSIVE => Some("INCLUSIVE"), - Self::EXCLUSIVE => Some("EXCLUSIVE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DescriptorPoolCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - DescriptorPoolCreateFlags::FREE_DESCRIPTOR_SET.0, - "FREE_DESCRIPTOR_SET", - ), - ( - DescriptorPoolCreateFlags::UPDATE_AFTER_BIND_EXT.0, - "UPDATE_AFTER_BIND_EXT", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -======= -impl fmt::Display for FormatFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [ ( Flags , & str ) ] = & [ ( FormatFeatureFlags :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC" ) , ( FormatFeatureFlags :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC" ) , ( FormatFeatureFlags :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND" ) , ( FormatFeatureFlags :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT" ) , ( FormatFeatureFlags :: BLIT_SRC . 0 , "BLIT_SRC" ) , ( FormatFeatureFlags :: BLIT_DST . 0 , "BLIT_DST" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_CUBIC_IMG . 0 , "SAMPLED_IMAGE_FILTER_CUBIC_IMG" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_MINMAX_EXT . 0 , "SAMPLED_IMAGE_FILTER_MINMAX_EXT" ) , ( FormatFeatureFlags :: RESERVED_24_EXT . 0 , "RESERVED_24_EXT" ) , ( FormatFeatureFlags :: TRANSFER_SRC . 0 , "TRANSFER_SRC" ) , ( FormatFeatureFlags :: TRANSFER_DST . 0 , "TRANSFER_DST" ) , ( FormatFeatureFlags :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE" ) , ( FormatFeatureFlags :: DISJOINT . 0 , "DISJOINT" ) , ( FormatFeatureFlags :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES" ) ] ; - display_flags(f, KNOWN, self.0) - } -} ->>>>>>> Implement extension chaining -impl fmt::Display for CompositeAlphaFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (CompositeAlphaFlagsKHR::OPAQUE.0, "OPAQUE"), - (CompositeAlphaFlagsKHR::PRE_MULTIPLIED.0, "PRE_MULTIPLIED"), - (CompositeAlphaFlagsKHR::POST_MULTIPLIED.0, "POST_MULTIPLIED"), - (CompositeAlphaFlagsKHR::INHERIT.0, "INHERIT"), - ]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for ImageTiling { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OPTIMAL => Some("OPTIMAL"), - Self::LINEAR => Some("LINEAR"), - Self::DRM_FORMAT_MODIFIER_EXT => Some("DRM_FORMAT_MODIFIER_EXT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CommandBufferUsageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - CommandBufferUsageFlags::ONE_TIME_SUBMIT.0, - "ONE_TIME_SUBMIT", - ), - ( - CommandBufferUsageFlags::RENDER_PASS_CONTINUE.0, - "RENDER_PASS_CONTINUE", - ), - ( - CommandBufferUsageFlags::SIMULTANEOUS_USE.0, - "SIMULTANEOUS_USE", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for PresentModeKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::IMMEDIATE => Some("IMMEDIATE"), - Self::MAILBOX => Some("MAILBOX"), - Self::FIFO => Some("FIFO"), - Self::FIFO_RELAXED => Some("FIFO_RELAXED"), - Self::SHARED_DEMAND_REFRESH => Some("SHARED_DEMAND_REFRESH"), - Self::SHARED_CONTINUOUS_REFRESH => Some("SHARED_CONTINUOUS_REFRESH"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ValidationCacheHeaderVersionEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ONE => Some("ONE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for AccelerationStructureTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TOP_LEVEL => Some("TOP_LEVEL"), - Self::BOTTOM_LEVEL => Some("BOTTOM_LEVEL"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DeviceGroupPresentModeFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DeviceGroupPresentModeFlagsKHR::LOCAL.0, "LOCAL"), - (DeviceGroupPresentModeFlagsKHR::REMOTE.0, "REMOTE"), - (DeviceGroupPresentModeFlagsKHR::SUM.0, "SUM"), - ( - DeviceGroupPresentModeFlagsKHR::LOCAL_MULTI_DEVICE.0, - "LOCAL_MULTI_DEVICE", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SurfaceTransformFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SurfaceTransformFlagsKHR::IDENTITY.0, "IDENTITY"), - (SurfaceTransformFlagsKHR::ROTATE_90.0, "ROTATE_90"), - (SurfaceTransformFlagsKHR::ROTATE_180.0, "ROTATE_180"), - (SurfaceTransformFlagsKHR::ROTATE_270.0, "ROTATE_270"), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR.0, - "HORIZONTAL_MIRROR", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_90.0, - "HORIZONTAL_MIRROR_ROTATE_90", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_180.0, - "HORIZONTAL_MIRROR_ROTATE_180", - ), - ( - SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_270.0, - "HORIZONTAL_MIRROR_ROTATE_270", - ), - (SurfaceTransformFlagsKHR::INHERIT.0, "INHERIT"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for RasterizationOrderAMD { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::STRICT => Some("STRICT"), - Self::RELAXED => Some("RELAXED"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for MemoryHeapFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (MemoryHeapFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), - (MemoryHeapFlags::MULTI_INSTANCE.0, "MULTI_INSTANCE"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ChromaLocation { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::COSITED_EVEN => Some("COSITED_EVEN"), - Self::MIDPOINT => Some("MIDPOINT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SamplerYcbcrRange { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ITU_FULL => Some("ITU_FULL"), - Self::ITU_NARROW => Some("ITU_NARROW"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for BufferCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (BufferCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (BufferCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), - (BufferCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), - ( - BufferCreateFlags::DEVICE_ADDRESS_CAPTURE_REPLAY_EXT.0, - "DEVICE_ADDRESS_CAPTURE_REPLAY_EXT", - ), - (BufferCreateFlags::PROTECTED.0, "PROTECTED"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SamplerYcbcrModelConversion { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::RGB_IDENTITY => Some("RGB_IDENTITY"), - Self::YCBCR_IDENTITY => Some("YCBCR_IDENTITY"), - Self::YCBCR_709 => Some("YCBCR_709"), - Self::YCBCR_601 => Some("YCBCR_601"), - Self::YCBCR_2020 => Some("YCBCR_2020"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CoarseSampleOrderTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DEFAULT => Some("DEFAULT"), - Self::CUSTOM => Some("CUSTOM"), - Self::PIXEL_MAJOR => Some("PIXEL_MAJOR"), - Self::SAMPLE_MAJOR => Some("SAMPLE_MAJOR"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for InternalAllocationType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::EXECUTABLE => Some("EXECUTABLE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ImageType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TYPE_1D => Some("TYPE_1D"), - Self::TYPE_2D => Some("TYPE_2D"), - Self::TYPE_3D => Some("TYPE_3D"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for TessellationDomainOrigin { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UPPER_LEFT => Some("UPPER_LEFT"), - Self::LOWER_LEFT => Some("LOWER_LEFT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ExternalSemaphoreFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE.0, - "EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE", - ), - ( - ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE.0, - "EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ObjectEntryTypeNVX { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::PIPELINE => Some("PIPELINE"), - Self::INDEX_BUFFER => Some("INDEX_BUFFER"), - Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), - Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ImageUsageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ImageUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), - (ImageUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), - (ImageUsageFlags::SAMPLED.0, "SAMPLED"), - (ImageUsageFlags::STORAGE.0, "STORAGE"), - (ImageUsageFlags::COLOR_ATTACHMENT.0, "COLOR_ATTACHMENT"), - ( - ImageUsageFlags::DEPTH_STENCIL_ATTACHMENT.0, - "DEPTH_STENCIL_ATTACHMENT", - ), - ( - ImageUsageFlags::TRANSIENT_ATTACHMENT.0, - "TRANSIENT_ATTACHMENT", - ), - (ImageUsageFlags::INPUT_ATTACHMENT.0, "INPUT_ATTACHMENT"), - (ImageUsageFlags::RESERVED_13_KHR.0, "RESERVED_13_KHR"), - (ImageUsageFlags::RESERVED_14_KHR.0, "RESERVED_14_KHR"), - (ImageUsageFlags::RESERVED_15_KHR.0, "RESERVED_15_KHR"), - (ImageUsageFlags::RESERVED_10_KHR.0, "RESERVED_10_KHR"), - (ImageUsageFlags::RESERVED_11_KHR.0, "RESERVED_11_KHR"), - (ImageUsageFlags::RESERVED_12_KHR.0, "RESERVED_12_KHR"), - ( - ImageUsageFlags::SHADING_RATE_IMAGE_NV.0, - "SHADING_RATE_IMAGE_NV", - ), - ( - ImageUsageFlags::FRAGMENT_DENSITY_MAP_EXT.0, - "FRAGMENT_DENSITY_MAP_EXT", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SwapchainCreateFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - SwapchainCreateFlagsKHR::SPLIT_INSTANCE_BIND_REGIONS.0, - "SPLIT_INSTANCE_BIND_REGIONS", - ), - (SwapchainCreateFlagsKHR::PROTECTED.0, "PROTECTED"), - (SwapchainCreateFlagsKHR::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for Format { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNDEFINED => Some("UNDEFINED"), - Self::R4G4_UNORM_PACK8 => Some("R4G4_UNORM_PACK8"), - Self::R4G4B4A4_UNORM_PACK16 => Some("R4G4B4A4_UNORM_PACK16"), - Self::B4G4R4A4_UNORM_PACK16 => Some("B4G4R4A4_UNORM_PACK16"), - Self::R5G6B5_UNORM_PACK16 => Some("R5G6B5_UNORM_PACK16"), - Self::B5G6R5_UNORM_PACK16 => Some("B5G6R5_UNORM_PACK16"), - Self::R5G5B5A1_UNORM_PACK16 => Some("R5G5B5A1_UNORM_PACK16"), - Self::B5G5R5A1_UNORM_PACK16 => Some("B5G5R5A1_UNORM_PACK16"), - Self::A1R5G5B5_UNORM_PACK16 => Some("A1R5G5B5_UNORM_PACK16"), - Self::R8_UNORM => Some("R8_UNORM"), - Self::R8_SNORM => Some("R8_SNORM"), - Self::R8_USCALED => Some("R8_USCALED"), - Self::R8_SSCALED => Some("R8_SSCALED"), - Self::R8_UINT => Some("R8_UINT"), - Self::R8_SINT => Some("R8_SINT"), - Self::R8_SRGB => Some("R8_SRGB"), - Self::R8G8_UNORM => Some("R8G8_UNORM"), - Self::R8G8_SNORM => Some("R8G8_SNORM"), - Self::R8G8_USCALED => Some("R8G8_USCALED"), - Self::R8G8_SSCALED => Some("R8G8_SSCALED"), - Self::R8G8_UINT => Some("R8G8_UINT"), - Self::R8G8_SINT => Some("R8G8_SINT"), - Self::R8G8_SRGB => Some("R8G8_SRGB"), - Self::R8G8B8_UNORM => Some("R8G8B8_UNORM"), - Self::R8G8B8_SNORM => Some("R8G8B8_SNORM"), - Self::R8G8B8_USCALED => Some("R8G8B8_USCALED"), - Self::R8G8B8_SSCALED => Some("R8G8B8_SSCALED"), - Self::R8G8B8_UINT => Some("R8G8B8_UINT"), - Self::R8G8B8_SINT => Some("R8G8B8_SINT"), - Self::R8G8B8_SRGB => Some("R8G8B8_SRGB"), - Self::B8G8R8_UNORM => Some("B8G8R8_UNORM"), - Self::B8G8R8_SNORM => Some("B8G8R8_SNORM"), - Self::B8G8R8_USCALED => Some("B8G8R8_USCALED"), - Self::B8G8R8_SSCALED => Some("B8G8R8_SSCALED"), - Self::B8G8R8_UINT => Some("B8G8R8_UINT"), - Self::B8G8R8_SINT => Some("B8G8R8_SINT"), - Self::B8G8R8_SRGB => Some("B8G8R8_SRGB"), - Self::R8G8B8A8_UNORM => Some("R8G8B8A8_UNORM"), - Self::R8G8B8A8_SNORM => Some("R8G8B8A8_SNORM"), - Self::R8G8B8A8_USCALED => Some("R8G8B8A8_USCALED"), - Self::R8G8B8A8_SSCALED => Some("R8G8B8A8_SSCALED"), - Self::R8G8B8A8_UINT => Some("R8G8B8A8_UINT"), - Self::R8G8B8A8_SINT => Some("R8G8B8A8_SINT"), - Self::R8G8B8A8_SRGB => Some("R8G8B8A8_SRGB"), - Self::B8G8R8A8_UNORM => Some("B8G8R8A8_UNORM"), - Self::B8G8R8A8_SNORM => Some("B8G8R8A8_SNORM"), - Self::B8G8R8A8_USCALED => Some("B8G8R8A8_USCALED"), - Self::B8G8R8A8_SSCALED => Some("B8G8R8A8_SSCALED"), - Self::B8G8R8A8_UINT => Some("B8G8R8A8_UINT"), - Self::B8G8R8A8_SINT => Some("B8G8R8A8_SINT"), - Self::B8G8R8A8_SRGB => Some("B8G8R8A8_SRGB"), - Self::A8B8G8R8_UNORM_PACK32 => Some("A8B8G8R8_UNORM_PACK32"), - Self::A8B8G8R8_SNORM_PACK32 => Some("A8B8G8R8_SNORM_PACK32"), - Self::A8B8G8R8_USCALED_PACK32 => Some("A8B8G8R8_USCALED_PACK32"), - Self::A8B8G8R8_SSCALED_PACK32 => Some("A8B8G8R8_SSCALED_PACK32"), - Self::A8B8G8R8_UINT_PACK32 => Some("A8B8G8R8_UINT_PACK32"), - Self::A8B8G8R8_SINT_PACK32 => Some("A8B8G8R8_SINT_PACK32"), - Self::A8B8G8R8_SRGB_PACK32 => Some("A8B8G8R8_SRGB_PACK32"), - Self::A2R10G10B10_UNORM_PACK32 => Some("A2R10G10B10_UNORM_PACK32"), - Self::A2R10G10B10_SNORM_PACK32 => Some("A2R10G10B10_SNORM_PACK32"), - Self::A2R10G10B10_USCALED_PACK32 => Some("A2R10G10B10_USCALED_PACK32"), - Self::A2R10G10B10_SSCALED_PACK32 => Some("A2R10G10B10_SSCALED_PACK32"), - Self::A2R10G10B10_UINT_PACK32 => Some("A2R10G10B10_UINT_PACK32"), - Self::A2R10G10B10_SINT_PACK32 => Some("A2R10G10B10_SINT_PACK32"), - Self::A2B10G10R10_UNORM_PACK32 => Some("A2B10G10R10_UNORM_PACK32"), - Self::A2B10G10R10_SNORM_PACK32 => Some("A2B10G10R10_SNORM_PACK32"), - Self::A2B10G10R10_USCALED_PACK32 => Some("A2B10G10R10_USCALED_PACK32"), - Self::A2B10G10R10_SSCALED_PACK32 => Some("A2B10G10R10_SSCALED_PACK32"), - Self::A2B10G10R10_UINT_PACK32 => Some("A2B10G10R10_UINT_PACK32"), - Self::A2B10G10R10_SINT_PACK32 => Some("A2B10G10R10_SINT_PACK32"), - Self::R16_UNORM => Some("R16_UNORM"), - Self::R16_SNORM => Some("R16_SNORM"), - Self::R16_USCALED => Some("R16_USCALED"), - Self::R16_SSCALED => Some("R16_SSCALED"), - Self::R16_UINT => Some("R16_UINT"), - Self::R16_SINT => Some("R16_SINT"), - Self::R16_SFLOAT => Some("R16_SFLOAT"), - Self::R16G16_UNORM => Some("R16G16_UNORM"), - Self::R16G16_SNORM => Some("R16G16_SNORM"), - Self::R16G16_USCALED => Some("R16G16_USCALED"), - Self::R16G16_SSCALED => Some("R16G16_SSCALED"), - Self::R16G16_UINT => Some("R16G16_UINT"), - Self::R16G16_SINT => Some("R16G16_SINT"), - Self::R16G16_SFLOAT => Some("R16G16_SFLOAT"), - Self::R16G16B16_UNORM => Some("R16G16B16_UNORM"), - Self::R16G16B16_SNORM => Some("R16G16B16_SNORM"), - Self::R16G16B16_USCALED => Some("R16G16B16_USCALED"), - Self::R16G16B16_SSCALED => Some("R16G16B16_SSCALED"), - Self::R16G16B16_UINT => Some("R16G16B16_UINT"), - Self::R16G16B16_SINT => Some("R16G16B16_SINT"), - Self::R16G16B16_SFLOAT => Some("R16G16B16_SFLOAT"), - Self::R16G16B16A16_UNORM => Some("R16G16B16A16_UNORM"), - Self::R16G16B16A16_SNORM => Some("R16G16B16A16_SNORM"), - Self::R16G16B16A16_USCALED => Some("R16G16B16A16_USCALED"), - Self::R16G16B16A16_SSCALED => Some("R16G16B16A16_SSCALED"), - Self::R16G16B16A16_UINT => Some("R16G16B16A16_UINT"), - Self::R16G16B16A16_SINT => Some("R16G16B16A16_SINT"), - Self::R16G16B16A16_SFLOAT => Some("R16G16B16A16_SFLOAT"), - Self::R32_UINT => Some("R32_UINT"), - Self::R32_SINT => Some("R32_SINT"), - Self::R32_SFLOAT => Some("R32_SFLOAT"), - Self::R32G32_UINT => Some("R32G32_UINT"), - Self::R32G32_SINT => Some("R32G32_SINT"), - Self::R32G32_SFLOAT => Some("R32G32_SFLOAT"), - Self::R32G32B32_UINT => Some("R32G32B32_UINT"), - Self::R32G32B32_SINT => Some("R32G32B32_SINT"), - Self::R32G32B32_SFLOAT => Some("R32G32B32_SFLOAT"), - Self::R32G32B32A32_UINT => Some("R32G32B32A32_UINT"), - Self::R32G32B32A32_SINT => Some("R32G32B32A32_SINT"), - Self::R32G32B32A32_SFLOAT => Some("R32G32B32A32_SFLOAT"), - Self::R64_UINT => Some("R64_UINT"), - Self::R64_SINT => Some("R64_SINT"), - Self::R64_SFLOAT => Some("R64_SFLOAT"), - Self::R64G64_UINT => Some("R64G64_UINT"), - Self::R64G64_SINT => Some("R64G64_SINT"), - Self::R64G64_SFLOAT => Some("R64G64_SFLOAT"), - Self::R64G64B64_UINT => Some("R64G64B64_UINT"), - Self::R64G64B64_SINT => Some("R64G64B64_SINT"), - Self::R64G64B64_SFLOAT => Some("R64G64B64_SFLOAT"), - Self::R64G64B64A64_UINT => Some("R64G64B64A64_UINT"), - Self::R64G64B64A64_SINT => Some("R64G64B64A64_SINT"), - Self::R64G64B64A64_SFLOAT => Some("R64G64B64A64_SFLOAT"), - Self::B10G11R11_UFLOAT_PACK32 => Some("B10G11R11_UFLOAT_PACK32"), - Self::E5B9G9R9_UFLOAT_PACK32 => Some("E5B9G9R9_UFLOAT_PACK32"), - Self::D16_UNORM => Some("D16_UNORM"), - Self::X8_D24_UNORM_PACK32 => Some("X8_D24_UNORM_PACK32"), - Self::D32_SFLOAT => Some("D32_SFLOAT"), - Self::S8_UINT => Some("S8_UINT"), - Self::D16_UNORM_S8_UINT => Some("D16_UNORM_S8_UINT"), - Self::D24_UNORM_S8_UINT => Some("D24_UNORM_S8_UINT"), - Self::D32_SFLOAT_S8_UINT => Some("D32_SFLOAT_S8_UINT"), - Self::BC1_RGB_UNORM_BLOCK => Some("BC1_RGB_UNORM_BLOCK"), - Self::BC1_RGB_SRGB_BLOCK => Some("BC1_RGB_SRGB_BLOCK"), - Self::BC1_RGBA_UNORM_BLOCK => Some("BC1_RGBA_UNORM_BLOCK"), - Self::BC1_RGBA_SRGB_BLOCK => Some("BC1_RGBA_SRGB_BLOCK"), - Self::BC2_UNORM_BLOCK => Some("BC2_UNORM_BLOCK"), - Self::BC2_SRGB_BLOCK => Some("BC2_SRGB_BLOCK"), - Self::BC3_UNORM_BLOCK => Some("BC3_UNORM_BLOCK"), - Self::BC3_SRGB_BLOCK => Some("BC3_SRGB_BLOCK"), - Self::BC4_UNORM_BLOCK => Some("BC4_UNORM_BLOCK"), - Self::BC4_SNORM_BLOCK => Some("BC4_SNORM_BLOCK"), - Self::BC5_UNORM_BLOCK => Some("BC5_UNORM_BLOCK"), - Self::BC5_SNORM_BLOCK => Some("BC5_SNORM_BLOCK"), - Self::BC6H_UFLOAT_BLOCK => Some("BC6H_UFLOAT_BLOCK"), - Self::BC6H_SFLOAT_BLOCK => Some("BC6H_SFLOAT_BLOCK"), - Self::BC7_UNORM_BLOCK => Some("BC7_UNORM_BLOCK"), - Self::BC7_SRGB_BLOCK => Some("BC7_SRGB_BLOCK"), - Self::ETC2_R8G8B8_UNORM_BLOCK => Some("ETC2_R8G8B8_UNORM_BLOCK"), - Self::ETC2_R8G8B8_SRGB_BLOCK => Some("ETC2_R8G8B8_SRGB_BLOCK"), - Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some("ETC2_R8G8B8A1_UNORM_BLOCK"), - Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some("ETC2_R8G8B8A1_SRGB_BLOCK"), - Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some("ETC2_R8G8B8A8_UNORM_BLOCK"), - Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some("ETC2_R8G8B8A8_SRGB_BLOCK"), - Self::EAC_R11_UNORM_BLOCK => Some("EAC_R11_UNORM_BLOCK"), - Self::EAC_R11_SNORM_BLOCK => Some("EAC_R11_SNORM_BLOCK"), - Self::EAC_R11G11_UNORM_BLOCK => Some("EAC_R11G11_UNORM_BLOCK"), - Self::EAC_R11G11_SNORM_BLOCK => Some("EAC_R11G11_SNORM_BLOCK"), - Self::ASTC_4X4_UNORM_BLOCK => Some("ASTC_4X4_UNORM_BLOCK"), - Self::ASTC_4X4_SRGB_BLOCK => Some("ASTC_4X4_SRGB_BLOCK"), - Self::ASTC_5X4_UNORM_BLOCK => Some("ASTC_5X4_UNORM_BLOCK"), - Self::ASTC_5X4_SRGB_BLOCK => Some("ASTC_5X4_SRGB_BLOCK"), - Self::ASTC_5X5_UNORM_BLOCK => Some("ASTC_5X5_UNORM_BLOCK"), - Self::ASTC_5X5_SRGB_BLOCK => Some("ASTC_5X5_SRGB_BLOCK"), - Self::ASTC_6X5_UNORM_BLOCK => Some("ASTC_6X5_UNORM_BLOCK"), - Self::ASTC_6X5_SRGB_BLOCK => Some("ASTC_6X5_SRGB_BLOCK"), - Self::ASTC_6X6_UNORM_BLOCK => Some("ASTC_6X6_UNORM_BLOCK"), - Self::ASTC_6X6_SRGB_BLOCK => Some("ASTC_6X6_SRGB_BLOCK"), - Self::ASTC_8X5_UNORM_BLOCK => Some("ASTC_8X5_UNORM_BLOCK"), - Self::ASTC_8X5_SRGB_BLOCK => Some("ASTC_8X5_SRGB_BLOCK"), - Self::ASTC_8X6_UNORM_BLOCK => Some("ASTC_8X6_UNORM_BLOCK"), - Self::ASTC_8X6_SRGB_BLOCK => Some("ASTC_8X6_SRGB_BLOCK"), - Self::ASTC_8X8_UNORM_BLOCK => Some("ASTC_8X8_UNORM_BLOCK"), - Self::ASTC_8X8_SRGB_BLOCK => Some("ASTC_8X8_SRGB_BLOCK"), - Self::ASTC_10X5_UNORM_BLOCK => Some("ASTC_10X5_UNORM_BLOCK"), - Self::ASTC_10X5_SRGB_BLOCK => Some("ASTC_10X5_SRGB_BLOCK"), - Self::ASTC_10X6_UNORM_BLOCK => Some("ASTC_10X6_UNORM_BLOCK"), - Self::ASTC_10X6_SRGB_BLOCK => Some("ASTC_10X6_SRGB_BLOCK"), - Self::ASTC_10X8_UNORM_BLOCK => Some("ASTC_10X8_UNORM_BLOCK"), - Self::ASTC_10X8_SRGB_BLOCK => Some("ASTC_10X8_SRGB_BLOCK"), - Self::ASTC_10X10_UNORM_BLOCK => Some("ASTC_10X10_UNORM_BLOCK"), - Self::ASTC_10X10_SRGB_BLOCK => Some("ASTC_10X10_SRGB_BLOCK"), - Self::ASTC_12X10_UNORM_BLOCK => Some("ASTC_12X10_UNORM_BLOCK"), - Self::ASTC_12X10_SRGB_BLOCK => Some("ASTC_12X10_SRGB_BLOCK"), - Self::ASTC_12X12_UNORM_BLOCK => Some("ASTC_12X12_UNORM_BLOCK"), - Self::ASTC_12X12_SRGB_BLOCK => Some("ASTC_12X12_SRGB_BLOCK"), - Self::PVRTC1_2BPP_UNORM_BLOCK_IMG => Some("PVRTC1_2BPP_UNORM_BLOCK_IMG"), - Self::PVRTC1_4BPP_UNORM_BLOCK_IMG => Some("PVRTC1_4BPP_UNORM_BLOCK_IMG"), - Self::PVRTC2_2BPP_UNORM_BLOCK_IMG => Some("PVRTC2_2BPP_UNORM_BLOCK_IMG"), - Self::PVRTC2_4BPP_UNORM_BLOCK_IMG => Some("PVRTC2_4BPP_UNORM_BLOCK_IMG"), - Self::PVRTC1_2BPP_SRGB_BLOCK_IMG => Some("PVRTC1_2BPP_SRGB_BLOCK_IMG"), - Self::PVRTC1_4BPP_SRGB_BLOCK_IMG => Some("PVRTC1_4BPP_SRGB_BLOCK_IMG"), - Self::PVRTC2_2BPP_SRGB_BLOCK_IMG => Some("PVRTC2_2BPP_SRGB_BLOCK_IMG"), - Self::PVRTC2_4BPP_SRGB_BLOCK_IMG => Some("PVRTC2_4BPP_SRGB_BLOCK_IMG"), - Self::G8B8G8R8_422_UNORM => Some("G8B8G8R8_422_UNORM"), - Self::B8G8R8G8_422_UNORM => Some("B8G8R8G8_422_UNORM"), - Self::G8_B8_R8_3PLANE_420_UNORM => Some("G8_B8_R8_3PLANE_420_UNORM"), - Self::G8_B8R8_2PLANE_420_UNORM => Some("G8_B8R8_2PLANE_420_UNORM"), - Self::G8_B8_R8_3PLANE_422_UNORM => Some("G8_B8_R8_3PLANE_422_UNORM"), - Self::G8_B8R8_2PLANE_422_UNORM => Some("G8_B8R8_2PLANE_422_UNORM"), - Self::G8_B8_R8_3PLANE_444_UNORM => Some("G8_B8_R8_3PLANE_444_UNORM"), - Self::R10X6_UNORM_PACK16 => Some("R10X6_UNORM_PACK16"), - Self::R10X6G10X6_UNORM_2PACK16 => Some("R10X6G10X6_UNORM_2PACK16"), - Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some("R10X6G10X6B10X6A10X6_UNORM_4PACK16"), - Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { - Some("G10X6B10X6G10X6R10X6_422_UNORM_4PACK16") - } - Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { - Some("B10X6G10X6R10X6G10X6_422_UNORM_4PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16") - } - Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { - Some("G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16") - } - Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { - Some("G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16") - } - Self::R12X4_UNORM_PACK16 => Some("R12X4_UNORM_PACK16"), - Self::R12X4G12X4_UNORM_2PACK16 => Some("R12X4G12X4_UNORM_2PACK16"), - Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some("R12X4G12X4B12X4A12X4_UNORM_4PACK16"), - Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { - Some("G12X4B12X4G12X4R12X4_422_UNORM_4PACK16") - } - Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { - Some("B12X4G12X4R12X4G12X4_422_UNORM_4PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16") - } - Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { - Some("G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16") - } - Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { - Some("G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16") - } - Self::G16B16G16R16_422_UNORM => Some("G16B16G16R16_422_UNORM"), - Self::B16G16R16G16_422_UNORM => Some("B16G16R16G16_422_UNORM"), - Self::G16_B16_R16_3PLANE_420_UNORM => Some("G16_B16_R16_3PLANE_420_UNORM"), - Self::G16_B16R16_2PLANE_420_UNORM => Some("G16_B16R16_2PLANE_420_UNORM"), - Self::G16_B16_R16_3PLANE_422_UNORM => Some("G16_B16_R16_3PLANE_422_UNORM"), - Self::G16_B16R16_2PLANE_422_UNORM => Some("G16_B16R16_2PLANE_422_UNORM"), - Self::G16_B16_R16_3PLANE_444_UNORM => Some("G16_B16_R16_3PLANE_444_UNORM"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for VendorId { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::VIV => Some("VIV"), - Self::VSI => Some("VSI"), - Self::KAZAN => Some("KAZAN"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for RenderPassCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = - &[(RenderPassCreateFlags::RESERVED_0_KHR.0, "RESERVED_0_KHR")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for FrontFace { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::COUNTER_CLOCKWISE => Some("COUNTER_CLOCKWISE"), - Self::CLOCKWISE => Some("CLOCKWISE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for BlendOverlapEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNCORRELATED => Some("UNCORRELATED"), - Self::DISJOINT => Some("DISJOINT"), - Self::CONJOINT => Some("CONJOINT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -======= ->>>>>>> Implement extension chaining -impl fmt::Display for CommandBufferResetFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[( - CommandBufferResetFlags::RELEASE_RESOURCES.0, - "RELEASE_RESOURCES", - )]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for IndirectCommandsTokenTypeNVX { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::PIPELINE => Some("PIPELINE"), - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::INDEX_BUFFER => Some("INDEX_BUFFER"), - Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), - Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), - Self::DRAW_INDEXED => Some("DRAW_INDEXED"), - Self::DRAW => Some("DRAW"), - Self::DISPATCH => Some("DISPATCH"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DescriptorUpdateTemplateType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ObjectType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNKNOWN => Some("UNKNOWN"), - Self::INSTANCE => Some("INSTANCE"), - Self::PHYSICAL_DEVICE => Some("PHYSICAL_DEVICE"), - Self::DEVICE => Some("DEVICE"), - Self::QUEUE => Some("QUEUE"), - Self::SEMAPHORE => Some("SEMAPHORE"), - Self::COMMAND_BUFFER => Some("COMMAND_BUFFER"), - Self::FENCE => Some("FENCE"), - Self::DEVICE_MEMORY => Some("DEVICE_MEMORY"), - Self::BUFFER => Some("BUFFER"), - Self::IMAGE => Some("IMAGE"), - Self::EVENT => Some("EVENT"), - Self::QUERY_POOL => Some("QUERY_POOL"), - Self::BUFFER_VIEW => Some("BUFFER_VIEW"), - Self::IMAGE_VIEW => Some("IMAGE_VIEW"), - Self::SHADER_MODULE => Some("SHADER_MODULE"), - Self::PIPELINE_CACHE => Some("PIPELINE_CACHE"), - Self::PIPELINE_LAYOUT => Some("PIPELINE_LAYOUT"), - Self::RENDER_PASS => Some("RENDER_PASS"), - Self::PIPELINE => Some("PIPELINE"), - Self::DESCRIPTOR_SET_LAYOUT => Some("DESCRIPTOR_SET_LAYOUT"), - Self::SAMPLER => Some("SAMPLER"), - Self::DESCRIPTOR_POOL => Some("DESCRIPTOR_POOL"), - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::FRAMEBUFFER => Some("FRAMEBUFFER"), - Self::COMMAND_POOL => Some("COMMAND_POOL"), - Self::SURFACE_KHR => Some("SURFACE_KHR"), - Self::SWAPCHAIN_KHR => Some("SWAPCHAIN_KHR"), - Self::DISPLAY_KHR => Some("DISPLAY_KHR"), - Self::DISPLAY_MODE_KHR => Some("DISPLAY_MODE_KHR"), - Self::DEBUG_REPORT_CALLBACK_EXT => Some("DEBUG_REPORT_CALLBACK_EXT"), - Self::OBJECT_TABLE_NVX => Some("OBJECT_TABLE_NVX"), - Self::INDIRECT_COMMANDS_LAYOUT_NVX => Some("INDIRECT_COMMANDS_LAYOUT_NVX"), - Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"), - Self::VALIDATION_CACHE_EXT => Some("VALIDATION_CACHE_EXT"), - Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), - Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"), - Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for BorderColor { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::FLOAT_TRANSPARENT_BLACK => Some("FLOAT_TRANSPARENT_BLACK"), - Self::INT_TRANSPARENT_BLACK => Some("INT_TRANSPARENT_BLACK"), - Self::FLOAT_OPAQUE_BLACK => Some("FLOAT_OPAQUE_BLACK"), - Self::INT_OPAQUE_BLACK => Some("INT_OPAQUE_BLACK"), - Self::FLOAT_OPAQUE_WHITE => Some("FLOAT_OPAQUE_WHITE"), - Self::INT_OPAQUE_WHITE => Some("INT_OPAQUE_WHITE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CoverageModulationModeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NONE => Some("NONE"), - Self::RGB => Some("RGB"), - Self::ALPHA => Some("ALPHA"), - Self::RGBA => Some("RGBA"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ShaderInfoTypeAMD { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::STATISTICS => Some("STATISTICS"), - Self::BINARY => Some("BINARY"), - Self::DISASSEMBLY => Some("DISASSEMBLY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ShaderStageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ShaderStageFlags::VERTEX.0, "VERTEX"), - ( - ShaderStageFlags::TESSELLATION_CONTROL.0, - "TESSELLATION_CONTROL", - ), - ( - ShaderStageFlags::TESSELLATION_EVALUATION.0, - "TESSELLATION_EVALUATION", - ), - (ShaderStageFlags::GEOMETRY.0, "GEOMETRY"), - (ShaderStageFlags::FRAGMENT.0, "FRAGMENT"), - (ShaderStageFlags::COMPUTE.0, "COMPUTE"), - (ShaderStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), - (ShaderStageFlags::ALL.0, "ALL"), - (ShaderStageFlags::RAYGEN_NV.0, "RAYGEN_NV"), - (ShaderStageFlags::ANY_HIT_NV.0, "ANY_HIT_NV"), - (ShaderStageFlags::CLOSEST_HIT_NV.0, "CLOSEST_HIT_NV"), - (ShaderStageFlags::MISS_NV.0, "MISS_NV"), - (ShaderStageFlags::INTERSECTION_NV.0, "INTERSECTION_NV"), - (ShaderStageFlags::CALLABLE_NV.0, "CALLABLE_NV"), - (ShaderStageFlags::TASK_NV.0, "TASK_NV"), - (ShaderStageFlags::MESH_NV.0, "MESH_NV"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SharingMode { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::EXCLUSIVE => Some("EXCLUSIVE"), - Self::CONCURRENT => Some("CONCURRENT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SystemAllocationScope { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::COMMAND => Some("COMMAND"), - Self::OBJECT => Some("OBJECT"), - Self::CACHE => Some("CACHE"), - Self::DEVICE => Some("DEVICE"), - Self::INSTANCE => Some("INSTANCE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ExternalMemoryFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY.0, - "EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY", - ), - ( - ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_EXPORTABLE.0, - "EXTERNAL_MEMORY_FEATURE_EXPORTABLE", - ), - ( - ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_IMPORTABLE.0, - "EXTERNAL_MEMORY_FEATURE_IMPORTABLE", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for AccessFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - AccessFlags::INDIRECT_COMMAND_READ.0, - "INDIRECT_COMMAND_READ", - ), - (AccessFlags::INDEX_READ.0, "INDEX_READ"), - ( - AccessFlags::VERTEX_ATTRIBUTE_READ.0, - "VERTEX_ATTRIBUTE_READ", - ), - (AccessFlags::UNIFORM_READ.0, "UNIFORM_READ"), - ( - AccessFlags::INPUT_ATTACHMENT_READ.0, - "INPUT_ATTACHMENT_READ", - ), - (AccessFlags::SHADER_READ.0, "SHADER_READ"), - (AccessFlags::SHADER_WRITE.0, "SHADER_WRITE"), - ( - AccessFlags::COLOR_ATTACHMENT_READ.0, - "COLOR_ATTACHMENT_READ", - ), - ( - AccessFlags::COLOR_ATTACHMENT_WRITE.0, - "COLOR_ATTACHMENT_WRITE", - ), - ( - AccessFlags::DEPTH_STENCIL_ATTACHMENT_READ.0, - "DEPTH_STENCIL_ATTACHMENT_READ", - ), - ( - AccessFlags::DEPTH_STENCIL_ATTACHMENT_WRITE.0, - "DEPTH_STENCIL_ATTACHMENT_WRITE", - ), - (AccessFlags::TRANSFER_READ.0, "TRANSFER_READ"), - (AccessFlags::TRANSFER_WRITE.0, "TRANSFER_WRITE"), - (AccessFlags::HOST_READ.0, "HOST_READ"), - (AccessFlags::HOST_WRITE.0, "HOST_WRITE"), - (AccessFlags::MEMORY_READ.0, "MEMORY_READ"), - (AccessFlags::MEMORY_WRITE.0, "MEMORY_WRITE"), - (AccessFlags::RESERVED_30_KHR.0, "RESERVED_30_KHR"), - (AccessFlags::RESERVED_31_KHR.0, "RESERVED_31_KHR"), - (AccessFlags::RESERVED_28_KHR.0, "RESERVED_28_KHR"), - (AccessFlags::RESERVED_29_KHR.0, "RESERVED_29_KHR"), - ( - AccessFlags::TRANSFORM_FEEDBACK_WRITE_EXT.0, - "TRANSFORM_FEEDBACK_WRITE_EXT", - ), - ( - AccessFlags::TRANSFORM_FEEDBACK_COUNTER_READ_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_READ_EXT", - ), - ( - AccessFlags::TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT", - ), - ( - AccessFlags::CONDITIONAL_RENDERING_READ_EXT.0, - "CONDITIONAL_RENDERING_READ_EXT", - ), - ( - AccessFlags::COMMAND_PROCESS_READ_NVX.0, - "COMMAND_PROCESS_READ_NVX", - ), - ( - AccessFlags::COMMAND_PROCESS_WRITE_NVX.0, - "COMMAND_PROCESS_WRITE_NVX", - ), - ( - AccessFlags::COLOR_ATTACHMENT_READ_NONCOHERENT_EXT.0, - "COLOR_ATTACHMENT_READ_NONCOHERENT_EXT", - ), - ( - AccessFlags::SHADING_RATE_IMAGE_READ_NV.0, - "SHADING_RATE_IMAGE_READ_NV", - ), - ( - AccessFlags::ACCELERATION_STRUCTURE_READ_NV.0, - "ACCELERATION_STRUCTURE_READ_NV", - ), - ( - AccessFlags::ACCELERATION_STRUCTURE_WRITE_NV.0, - "ACCELERATION_STRUCTURE_WRITE_NV", - ), - ( - AccessFlags::FRAGMENT_DENSITY_MAP_READ_EXT.0, - "FRAGMENT_DENSITY_MAP_READ_EXT", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ImageLayout { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNDEFINED => Some("UNDEFINED"), - Self::GENERAL => Some("GENERAL"), - Self::COLOR_ATTACHMENT_OPTIMAL => Some("COLOR_ATTACHMENT_OPTIMAL"), - Self::DEPTH_STENCIL_ATTACHMENT_OPTIMAL => Some("DEPTH_STENCIL_ATTACHMENT_OPTIMAL"), - Self::DEPTH_STENCIL_READ_ONLY_OPTIMAL => Some("DEPTH_STENCIL_READ_ONLY_OPTIMAL"), - Self::SHADER_READ_ONLY_OPTIMAL => Some("SHADER_READ_ONLY_OPTIMAL"), - Self::TRANSFER_SRC_OPTIMAL => Some("TRANSFER_SRC_OPTIMAL"), - Self::TRANSFER_DST_OPTIMAL => Some("TRANSFER_DST_OPTIMAL"), - Self::PREINITIALIZED => Some("PREINITIALIZED"), - Self::PRESENT_SRC_KHR => Some("PRESENT_SRC_KHR"), - Self::SHARED_PRESENT_KHR => Some("SHARED_PRESENT_KHR"), - Self::SHADING_RATE_OPTIMAL_NV => Some("SHADING_RATE_OPTIMAL_NV"), - Self::FRAGMENT_DENSITY_MAP_OPTIMAL_EXT => Some("FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"), - Self::DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL => { - Some("DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL") - } - Self::DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL => { - Some("DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL") - } - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for Filter { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NEAREST => Some("NEAREST"), - Self::LINEAR => Some("LINEAR"), - Self::CUBIC_IMG => Some("CUBIC_IMG"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DescriptorSetLayoutCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - DescriptorSetLayoutCreateFlags::PUSH_DESCRIPTOR_KHR.0, - "PUSH_DESCRIPTOR_KHR", - ), - ( - DescriptorSetLayoutCreateFlags::UPDATE_AFTER_BIND_POOL_EXT.0, - "UPDATE_AFTER_BIND_POOL_EXT", - ), -======= -impl fmt::Display for DebugReportFlagsEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DebugReportFlagsEXT::INFORMATION.0, "INFORMATION"), - (DebugReportFlagsEXT::WARNING.0, "WARNING"), - ( - DebugReportFlagsEXT::PERFORMANCE_WARNING.0, - "PERFORMANCE_WARNING", - ), - (DebugReportFlagsEXT::ERROR.0, "ERROR"), - (DebugReportFlagsEXT::DEBUG.0, "DEBUG"), ->>>>>>> Implement extension chaining - ]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for QueryPipelineStatisticFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - QueryPipelineStatisticFlags::INPUT_ASSEMBLY_VERTICES.0, - "INPUT_ASSEMBLY_VERTICES", - ), - ( - QueryPipelineStatisticFlags::INPUT_ASSEMBLY_PRIMITIVES.0, - "INPUT_ASSEMBLY_PRIMITIVES", - ), - ( - QueryPipelineStatisticFlags::VERTEX_SHADER_INVOCATIONS.0, - "VERTEX_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::GEOMETRY_SHADER_INVOCATIONS.0, - "GEOMETRY_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::GEOMETRY_SHADER_PRIMITIVES.0, - "GEOMETRY_SHADER_PRIMITIVES", - ), - ( - QueryPipelineStatisticFlags::CLIPPING_INVOCATIONS.0, - "CLIPPING_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::CLIPPING_PRIMITIVES.0, - "CLIPPING_PRIMITIVES", - ), - ( - QueryPipelineStatisticFlags::FRAGMENT_SHADER_INVOCATIONS.0, - "FRAGMENT_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::TESSELLATION_CONTROL_SHADER_PATCHES.0, - "TESSELLATION_CONTROL_SHADER_PATCHES", - ), - ( - QueryPipelineStatisticFlags::TESSELLATION_EVALUATION_SHADER_INVOCATIONS.0, - "TESSELLATION_EVALUATION_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::COMPUTE_SHADER_INVOCATIONS.0, - "COMPUTE_SHADER_INVOCATIONS", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SamplerAddressMode { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::REPEAT => Some("REPEAT"), - Self::MIRRORED_REPEAT => Some("MIRRORED_REPEAT"), - Self::CLAMP_TO_EDGE => Some("CLAMP_TO_EDGE"), - Self::CLAMP_TO_BORDER => Some("CLAMP_TO_BORDER"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DescriptorType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::SAMPLER => Some("SAMPLER"), - Self::COMBINED_IMAGE_SAMPLER => Some("COMBINED_IMAGE_SAMPLER"), - Self::SAMPLED_IMAGE => Some("SAMPLED_IMAGE"), - Self::STORAGE_IMAGE => Some("STORAGE_IMAGE"), - Self::UNIFORM_TEXEL_BUFFER => Some("UNIFORM_TEXEL_BUFFER"), - Self::STORAGE_TEXEL_BUFFER => Some("STORAGE_TEXEL_BUFFER"), - Self::UNIFORM_BUFFER => Some("UNIFORM_BUFFER"), - Self::STORAGE_BUFFER => Some("STORAGE_BUFFER"), - Self::UNIFORM_BUFFER_DYNAMIC => Some("UNIFORM_BUFFER_DYNAMIC"), - Self::STORAGE_BUFFER_DYNAMIC => Some("STORAGE_BUFFER_DYNAMIC"), - Self::INPUT_ATTACHMENT => Some("INPUT_ATTACHMENT"), - Self::INLINE_UNIFORM_BLOCK_EXT => Some("INLINE_UNIFORM_BLOCK_EXT"), - Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ColorSpaceKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::SRGB_NONLINEAR => Some("SRGB_NONLINEAR"), - Self::DISPLAY_P3_NONLINEAR_EXT => Some("DISPLAY_P3_NONLINEAR_EXT"), - Self::EXTENDED_SRGB_LINEAR_EXT => Some("EXTENDED_SRGB_LINEAR_EXT"), - Self::DCI_P3_LINEAR_EXT => Some("DCI_P3_LINEAR_EXT"), - Self::DCI_P3_NONLINEAR_EXT => Some("DCI_P3_NONLINEAR_EXT"), - Self::BT709_LINEAR_EXT => Some("BT709_LINEAR_EXT"), - Self::BT709_NONLINEAR_EXT => Some("BT709_NONLINEAR_EXT"), - Self::BT2020_LINEAR_EXT => Some("BT2020_LINEAR_EXT"), - Self::HDR10_ST2084_EXT => Some("HDR10_ST2084_EXT"), - Self::DOLBYVISION_EXT => Some("DOLBYVISION_EXT"), - Self::HDR10_HLG_EXT => Some("HDR10_HLG_EXT"), - Self::ADOBERGB_LINEAR_EXT => Some("ADOBERGB_LINEAR_EXT"), - Self::ADOBERGB_NONLINEAR_EXT => Some("ADOBERGB_NONLINEAR_EXT"), - Self::PASS_THROUGH_EXT => Some("PASS_THROUGH_EXT"), - Self::EXTENDED_SRGB_NONLINEAR_EXT => Some("EXTENDED_SRGB_NONLINEAR_EXT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for BlendFactor { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ZERO => Some("ZERO"), - Self::ONE => Some("ONE"), - Self::SRC_COLOR => Some("SRC_COLOR"), - Self::ONE_MINUS_SRC_COLOR => Some("ONE_MINUS_SRC_COLOR"), - Self::DST_COLOR => Some("DST_COLOR"), - Self::ONE_MINUS_DST_COLOR => Some("ONE_MINUS_DST_COLOR"), - Self::SRC_ALPHA => Some("SRC_ALPHA"), - Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"), - Self::DST_ALPHA => Some("DST_ALPHA"), - Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"), - Self::CONSTANT_COLOR => Some("CONSTANT_COLOR"), - Self::ONE_MINUS_CONSTANT_COLOR => Some("ONE_MINUS_CONSTANT_COLOR"), - Self::CONSTANT_ALPHA => Some("CONSTANT_ALPHA"), - Self::ONE_MINUS_CONSTANT_ALPHA => Some("ONE_MINUS_CONSTANT_ALPHA"), - Self::SRC_ALPHA_SATURATE => Some("SRC_ALPHA_SATURATE"), - Self::SRC1_COLOR => Some("SRC1_COLOR"), - Self::ONE_MINUS_SRC1_COLOR => Some("ONE_MINUS_SRC1_COLOR"), - Self::SRC1_ALPHA => Some("SRC1_ALPHA"), - Self::ONE_MINUS_SRC1_ALPHA => Some("ONE_MINUS_SRC1_ALPHA"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -======= ->>>>>>> Implement extension chaining -impl fmt::Display for StructureType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::APPLICATION_INFO => Some("APPLICATION_INFO"), - Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"), - Self::DEVICE_QUEUE_CREATE_INFO => Some("DEVICE_QUEUE_CREATE_INFO"), - Self::DEVICE_CREATE_INFO => Some("DEVICE_CREATE_INFO"), - Self::SUBMIT_INFO => Some("SUBMIT_INFO"), - Self::MEMORY_ALLOCATE_INFO => Some("MEMORY_ALLOCATE_INFO"), - Self::MAPPED_MEMORY_RANGE => Some("MAPPED_MEMORY_RANGE"), - Self::BIND_SPARSE_INFO => Some("BIND_SPARSE_INFO"), - Self::FENCE_CREATE_INFO => Some("FENCE_CREATE_INFO"), - Self::SEMAPHORE_CREATE_INFO => Some("SEMAPHORE_CREATE_INFO"), - Self::EVENT_CREATE_INFO => Some("EVENT_CREATE_INFO"), - Self::QUERY_POOL_CREATE_INFO => Some("QUERY_POOL_CREATE_INFO"), - Self::BUFFER_CREATE_INFO => Some("BUFFER_CREATE_INFO"), - Self::BUFFER_VIEW_CREATE_INFO => Some("BUFFER_VIEW_CREATE_INFO"), - Self::IMAGE_CREATE_INFO => Some("IMAGE_CREATE_INFO"), - Self::IMAGE_VIEW_CREATE_INFO => Some("IMAGE_VIEW_CREATE_INFO"), - Self::SHADER_MODULE_CREATE_INFO => Some("SHADER_MODULE_CREATE_INFO"), - Self::PIPELINE_CACHE_CREATE_INFO => Some("PIPELINE_CACHE_CREATE_INFO"), - Self::PIPELINE_SHADER_STAGE_CREATE_INFO => Some("PIPELINE_SHADER_STAGE_CREATE_INFO"), - Self::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO => { - Some("PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO") - } - Self::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO => { - Some("PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO") - } - Self::PIPELINE_TESSELLATION_STATE_CREATE_INFO => { - Some("PIPELINE_TESSELLATION_STATE_CREATE_INFO") - } - Self::PIPELINE_VIEWPORT_STATE_CREATE_INFO => { - Some("PIPELINE_VIEWPORT_STATE_CREATE_INFO") - } - Self::PIPELINE_RASTERIZATION_STATE_CREATE_INFO => { - Some("PIPELINE_RASTERIZATION_STATE_CREATE_INFO") - } - Self::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO => { - Some("PIPELINE_MULTISAMPLE_STATE_CREATE_INFO") - } - Self::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO => { - Some("PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO") - } - Self::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO => { - Some("PIPELINE_COLOR_BLEND_STATE_CREATE_INFO") - } - Self::PIPELINE_DYNAMIC_STATE_CREATE_INFO => Some("PIPELINE_DYNAMIC_STATE_CREATE_INFO"), - Self::GRAPHICS_PIPELINE_CREATE_INFO => Some("GRAPHICS_PIPELINE_CREATE_INFO"), - Self::COMPUTE_PIPELINE_CREATE_INFO => Some("COMPUTE_PIPELINE_CREATE_INFO"), - Self::PIPELINE_LAYOUT_CREATE_INFO => Some("PIPELINE_LAYOUT_CREATE_INFO"), - Self::SAMPLER_CREATE_INFO => Some("SAMPLER_CREATE_INFO"), - Self::DESCRIPTOR_SET_LAYOUT_CREATE_INFO => Some("DESCRIPTOR_SET_LAYOUT_CREATE_INFO"), - Self::DESCRIPTOR_POOL_CREATE_INFO => Some("DESCRIPTOR_POOL_CREATE_INFO"), - Self::DESCRIPTOR_SET_ALLOCATE_INFO => Some("DESCRIPTOR_SET_ALLOCATE_INFO"), - Self::WRITE_DESCRIPTOR_SET => Some("WRITE_DESCRIPTOR_SET"), - Self::COPY_DESCRIPTOR_SET => Some("COPY_DESCRIPTOR_SET"), - Self::FRAMEBUFFER_CREATE_INFO => Some("FRAMEBUFFER_CREATE_INFO"), - Self::RENDER_PASS_CREATE_INFO => Some("RENDER_PASS_CREATE_INFO"), - Self::COMMAND_POOL_CREATE_INFO => Some("COMMAND_POOL_CREATE_INFO"), - Self::COMMAND_BUFFER_ALLOCATE_INFO => Some("COMMAND_BUFFER_ALLOCATE_INFO"), - Self::COMMAND_BUFFER_INHERITANCE_INFO => Some("COMMAND_BUFFER_INHERITANCE_INFO"), - Self::COMMAND_BUFFER_BEGIN_INFO => Some("COMMAND_BUFFER_BEGIN_INFO"), - Self::RENDER_PASS_BEGIN_INFO => Some("RENDER_PASS_BEGIN_INFO"), - Self::BUFFER_MEMORY_BARRIER => Some("BUFFER_MEMORY_BARRIER"), - Self::IMAGE_MEMORY_BARRIER => Some("IMAGE_MEMORY_BARRIER"), - Self::MEMORY_BARRIER => Some("MEMORY_BARRIER"), - Self::LOADER_INSTANCE_CREATE_INFO => Some("LOADER_INSTANCE_CREATE_INFO"), - Self::LOADER_DEVICE_CREATE_INFO => Some("LOADER_DEVICE_CREATE_INFO"), - Self::SWAPCHAIN_CREATE_INFO_KHR => Some("SWAPCHAIN_CREATE_INFO_KHR"), - Self::PRESENT_INFO_KHR => Some("PRESENT_INFO_KHR"), - Self::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR => { - Some("DEVICE_GROUP_PRESENT_CAPABILITIES_KHR") - } - Self::IMAGE_SWAPCHAIN_CREATE_INFO_KHR => Some("IMAGE_SWAPCHAIN_CREATE_INFO_KHR"), - Self::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR => { - Some("BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR") - } - Self::ACQUIRE_NEXT_IMAGE_INFO_KHR => Some("ACQUIRE_NEXT_IMAGE_INFO_KHR"), - Self::DEVICE_GROUP_PRESENT_INFO_KHR => Some("DEVICE_GROUP_PRESENT_INFO_KHR"), - Self::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR => { - Some("DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR") - } - Self::DISPLAY_MODE_CREATE_INFO_KHR => Some("DISPLAY_MODE_CREATE_INFO_KHR"), - Self::DISPLAY_SURFACE_CREATE_INFO_KHR => Some("DISPLAY_SURFACE_CREATE_INFO_KHR"), - Self::DISPLAY_PRESENT_INFO_KHR => Some("DISPLAY_PRESENT_INFO_KHR"), - Self::XLIB_SURFACE_CREATE_INFO_KHR => Some("XLIB_SURFACE_CREATE_INFO_KHR"), - Self::XCB_SURFACE_CREATE_INFO_KHR => Some("XCB_SURFACE_CREATE_INFO_KHR"), - Self::WAYLAND_SURFACE_CREATE_INFO_KHR => Some("WAYLAND_SURFACE_CREATE_INFO_KHR"), - Self::ANDROID_SURFACE_CREATE_INFO_KHR => Some("ANDROID_SURFACE_CREATE_INFO_KHR"), - Self::WIN32_SURFACE_CREATE_INFO_KHR => Some("WIN32_SURFACE_CREATE_INFO_KHR"), - Self::NATIVE_BUFFER_ANDROID => Some("NATIVE_BUFFER_ANDROID"), - Self::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT => { - Some("DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT") - } - Self::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD => { - Some("PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD") - } - Self::DEBUG_MARKER_OBJECT_NAME_INFO_EXT => Some("DEBUG_MARKER_OBJECT_NAME_INFO_EXT"), - Self::DEBUG_MARKER_OBJECT_TAG_INFO_EXT => Some("DEBUG_MARKER_OBJECT_TAG_INFO_EXT"), - Self::DEBUG_MARKER_MARKER_INFO_EXT => Some("DEBUG_MARKER_MARKER_INFO_EXT"), - Self::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV => { - Some("DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV") - } - Self::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV => { - Some("DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV") - } - Self::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV => { - Some("DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV") - } - Self::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT") - } - Self::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT => { - Some("PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT") - } - Self::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD => { - Some("TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD") - } - Self::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV => { - Some("PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV") - } - Self::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV => { - Some("EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV") - } - Self::EXPORT_MEMORY_ALLOCATE_INFO_NV => Some("EXPORT_MEMORY_ALLOCATE_INFO_NV"), - Self::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV => Some("IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"), - Self::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV => Some("EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"), - Self::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV => { - Some("WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV") - } - Self::VALIDATION_FLAGS_EXT => Some("VALIDATION_FLAGS_EXT"), - Self::VI_SURFACE_CREATE_INFO_NN => Some("VI_SURFACE_CREATE_INFO_NN"), - Self::IMAGE_VIEW_ASTC_DECODE_MODE_EXT => Some("IMAGE_VIEW_ASTC_DECODE_MODE_EXT"), - Self::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT") - } - Self::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR => { - Some("IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR") - } - Self::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR => { - Some("EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR") - } - Self::MEMORY_WIN32_HANDLE_PROPERTIES_KHR => Some("MEMORY_WIN32_HANDLE_PROPERTIES_KHR"), - Self::MEMORY_GET_WIN32_HANDLE_INFO_KHR => Some("MEMORY_GET_WIN32_HANDLE_INFO_KHR"), - Self::IMPORT_MEMORY_FD_INFO_KHR => Some("IMPORT_MEMORY_FD_INFO_KHR"), - Self::MEMORY_FD_PROPERTIES_KHR => Some("MEMORY_FD_PROPERTIES_KHR"), - Self::MEMORY_GET_FD_INFO_KHR => Some("MEMORY_GET_FD_INFO_KHR"), - Self::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR => { - Some("WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR") - } - Self::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR => { - Some("IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR") - } - Self::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR => { - Some("EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR") - } - Self::D3D12_FENCE_SUBMIT_INFO_KHR => Some("D3D12_FENCE_SUBMIT_INFO_KHR"), - Self::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR => { - Some("SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR") - } - Self::IMPORT_SEMAPHORE_FD_INFO_KHR => Some("IMPORT_SEMAPHORE_FD_INFO_KHR"), - Self::SEMAPHORE_GET_FD_INFO_KHR => Some("SEMAPHORE_GET_FD_INFO_KHR"), - Self::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR => { - Some("PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR") - } - Self::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT => { - Some("COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT") - } - Self::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT") - } - Self::CONDITIONAL_RENDERING_BEGIN_INFO_EXT => { - Some("CONDITIONAL_RENDERING_BEGIN_INFO_EXT") - } - Self::PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR => { - Some("PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR") - } - Self::PRESENT_REGIONS_KHR => Some("PRESENT_REGIONS_KHR"), - Self::OBJECT_TABLE_CREATE_INFO_NVX => Some("OBJECT_TABLE_CREATE_INFO_NVX"), - Self::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX => { - Some("INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX") - } - Self::CMD_PROCESS_COMMANDS_INFO_NVX => Some("CMD_PROCESS_COMMANDS_INFO_NVX"), - Self::CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX => { - Some("CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX") - } - Self::DEVICE_GENERATED_COMMANDS_LIMITS_NVX => { - Some("DEVICE_GENERATED_COMMANDS_LIMITS_NVX") - } - Self::DEVICE_GENERATED_COMMANDS_FEATURES_NVX => { - Some("DEVICE_GENERATED_COMMANDS_FEATURES_NVX") - } - Self::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV => { - Some("PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV") - } - Self::SURFACE_CAPABILITIES_2_EXT => Some("SURFACE_CAPABILITIES_2_EXT"), - Self::DISPLAY_POWER_INFO_EXT => Some("DISPLAY_POWER_INFO_EXT"), - Self::DEVICE_EVENT_INFO_EXT => Some("DEVICE_EVENT_INFO_EXT"), - Self::DISPLAY_EVENT_INFO_EXT => Some("DISPLAY_EVENT_INFO_EXT"), - Self::SWAPCHAIN_COUNTER_CREATE_INFO_EXT => Some("SWAPCHAIN_COUNTER_CREATE_INFO_EXT"), - Self::PRESENT_TIMES_INFO_GOOGLE => Some("PRESENT_TIMES_INFO_GOOGLE"), - Self::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX => { - Some("PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX") - } - Self::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV => { - Some("PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV") - } - Self::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT") - } - Self::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT => { - Some("PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT") - } - Self::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT => { - Some("PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT") - } - Self::HDR_METADATA_EXT => Some("HDR_METADATA_EXT"), - Self::ATTACHMENT_DESCRIPTION_2_KHR => Some("ATTACHMENT_DESCRIPTION_2_KHR"), - Self::ATTACHMENT_REFERENCE_2_KHR => Some("ATTACHMENT_REFERENCE_2_KHR"), - Self::SUBPASS_DESCRIPTION_2_KHR => Some("SUBPASS_DESCRIPTION_2_KHR"), - Self::SUBPASS_DEPENDENCY_2_KHR => Some("SUBPASS_DEPENDENCY_2_KHR"), - Self::RENDER_PASS_CREATE_INFO_2_KHR => Some("RENDER_PASS_CREATE_INFO_2_KHR"), - Self::SUBPASS_BEGIN_INFO_KHR => Some("SUBPASS_BEGIN_INFO_KHR"), - Self::SUBPASS_END_INFO_KHR => Some("SUBPASS_END_INFO_KHR"), - Self::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR => { - Some("SHARED_PRESENT_SURFACE_CAPABILITIES_KHR") - } - Self::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR => Some("IMPORT_FENCE_WIN32_HANDLE_INFO_KHR"), - Self::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR => Some("EXPORT_FENCE_WIN32_HANDLE_INFO_KHR"), - Self::FENCE_GET_WIN32_HANDLE_INFO_KHR => Some("FENCE_GET_WIN32_HANDLE_INFO_KHR"), - Self::IMPORT_FENCE_FD_INFO_KHR => Some("IMPORT_FENCE_FD_INFO_KHR"), - Self::FENCE_GET_FD_INFO_KHR => Some("FENCE_GET_FD_INFO_KHR"), - Self::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR => Some("PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"), - Self::SURFACE_CAPABILITIES_2_KHR => Some("SURFACE_CAPABILITIES_2_KHR"), - Self::SURFACE_FORMAT_2_KHR => Some("SURFACE_FORMAT_2_KHR"), - Self::DISPLAY_PROPERTIES_2_KHR => Some("DISPLAY_PROPERTIES_2_KHR"), - Self::DISPLAY_PLANE_PROPERTIES_2_KHR => Some("DISPLAY_PLANE_PROPERTIES_2_KHR"), - Self::DISPLAY_MODE_PROPERTIES_2_KHR => Some("DISPLAY_MODE_PROPERTIES_2_KHR"), - Self::DISPLAY_PLANE_INFO_2_KHR => Some("DISPLAY_PLANE_INFO_2_KHR"), - Self::DISPLAY_PLANE_CAPABILITIES_2_KHR => Some("DISPLAY_PLANE_CAPABILITIES_2_KHR"), - Self::IOS_SURFACE_CREATE_INFO_M => Some("IOS_SURFACE_CREATE_INFO_M"), - Self::MACOS_SURFACE_CREATE_INFO_M => Some("MACOS_SURFACE_CREATE_INFO_M"), - Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"), - Self::DEBUG_UTILS_OBJECT_TAG_INFO_EXT => Some("DEBUG_UTILS_OBJECT_TAG_INFO_EXT"), - Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"), - Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => { - Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT") - } - Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => { - Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT") - } - Self::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID => { - Some("ANDROID_HARDWARE_BUFFER_USAGE_ANDROID") - } - Self::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID => { - Some("ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID") - } - Self::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID => { - Some("ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID") - } - Self::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID => { - Some("IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID") - } - Self::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID => { - Some("MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID") - } - Self::EXTERNAL_FORMAT_ANDROID => Some("EXTERNAL_FORMAT_ANDROID"), - Self::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT") - } - Self::SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT => { - Some("SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT") - } - Self::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT => { - Some("WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT") - } - Self::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT => { - Some("DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT") - } - Self::SAMPLE_LOCATIONS_INFO_EXT => Some("SAMPLE_LOCATIONS_INFO_EXT"), - Self::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT => { - Some("RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT") - } - Self::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT => { - Some("PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT") - } - Self::MULTISAMPLE_PROPERTIES_EXT => Some("MULTISAMPLE_PROPERTIES_EXT"), - Self::IMAGE_FORMAT_LIST_CREATE_INFO_KHR => Some("IMAGE_FORMAT_LIST_CREATE_INFO_KHR"), - Self::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT") - } - Self::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT => { - Some("PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT") - } - Self::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV => { - Some("PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV") - } - Self::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV => { - Some("PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV") - } - Self::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT => { - Some("DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT") - } - Self::DRM_FORMAT_MODIFIER_PROPERTIES_EXT => Some("DRM_FORMAT_MODIFIER_PROPERTIES_EXT"), - Self::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT => { - Some("PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT") - } - Self::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT => { - Some("IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT") - } - Self::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT => { - Some("IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT") - } - Self::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT => { - Some("IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT") - } - Self::VALIDATION_CACHE_CREATE_INFO_EXT => Some("VALIDATION_CACHE_CREATE_INFO_EXT"), - Self::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT => { - Some("SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT") - } - Self::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT => { - Some("DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT") - } - Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT => { - Some("DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT") - } - Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT => { - Some("DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT") - } - Self::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV => { - Some("PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV") - } - Self::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV => { - Some("PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV") - } - Self::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV => { - Some("PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV") - } - Self::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV => { - Some("PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV") - } - Self::RAY_TRACING_PIPELINE_CREATE_INFO_NV => { - Some("RAY_TRACING_PIPELINE_CREATE_INFO_NV") - } - Self::ACCELERATION_STRUCTURE_CREATE_INFO_NV => { - Some("ACCELERATION_STRUCTURE_CREATE_INFO_NV") - } - Self::GEOMETRY_NV => Some("GEOMETRY_NV"), - Self::GEOMETRY_TRIANGLES_NV => Some("GEOMETRY_TRIANGLES_NV"), - Self::GEOMETRY_AABB_NV => Some("GEOMETRY_AABB_NV"), - Self::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV => { - Some("BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV") - } - Self::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV => { - Some("WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV") - } - Self::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV => { - Some("ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV") - } - Self::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV => { - Some("PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV") - } - Self::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV => { - Some("RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV") - } - Self::ACCELERATION_STRUCTURE_INFO_NV => Some("ACCELERATION_STRUCTURE_INFO_NV"), - Self::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV => { - Some("PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV") - } - Self::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV => { - Some("PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV") - } - Self::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT => { - Some("DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR => { - Some("PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR") - } - Self::IMPORT_MEMORY_HOST_POINTER_INFO_EXT => { - Some("IMPORT_MEMORY_HOST_POINTER_INFO_EXT") - } - Self::MEMORY_HOST_POINTER_PROPERTIES_EXT => Some("MEMORY_HOST_POINTER_PROPERTIES_EXT"), - Self::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT") - } - Self::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR => { - Some("PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR") - } - Self::CALIBRATED_TIMESTAMP_INFO_EXT => Some("CALIBRATED_TIMESTAMP_INFO_EXT"), - Self::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD => { - Some("PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD") - } - Self::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD => { - Some("DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD") - } - Self::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT") - } - Self::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT => { - Some("PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR => { - Some("PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR") - } - Self::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR => { - Some("PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR") - } - Self::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR => { - Some("PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR") - } - Self::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR => { - Some("SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR") - } - Self::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV => { - Some("PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV") - } - Self::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV => { - Some("PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV") - } - Self::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV => { - Some("PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV") - } - Self::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV => { - Some("PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV") - } - Self::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV => { - Some("PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV") - } - Self::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV => { - Some("PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV") - } - Self::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV => { - Some("PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV") - } - Self::CHECKPOINT_DATA_NV => Some("CHECKPOINT_DATA_NV"), - Self::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV => { - Some("QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV") - } - Self::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR => { - Some("PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR") - } - Self::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT") - } - Self::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA => { - Some("IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA") - } - Self::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT") - } - Self::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT => { - Some("RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT") - } - Self::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT") - } - Self::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT => { - Some("PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT") - } - Self::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT") - } - Self::MEMORY_PRIORITY_ALLOCATE_INFO_EXT => Some("MEMORY_PRIORITY_ALLOCATE_INFO_EXT"), - Self::PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT => { - Some("PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT") - } - Self::BUFFER_DEVICE_ADDRESS_INFO_EXT => Some("BUFFER_DEVICE_ADDRESS_INFO_EXT"), - Self::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT => { - Some("BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT") - } - Self::IMAGE_STENCIL_USAGE_CREATE_INFO_EXT => { - Some("IMAGE_STENCIL_USAGE_CREATE_INFO_EXT") - } - Self::VALIDATION_FEATURES_EXT => Some("VALIDATION_FEATURES_EXT"), - Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => { - Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES") - } - Self::BIND_BUFFER_MEMORY_INFO => Some("BIND_BUFFER_MEMORY_INFO"), - Self::BIND_IMAGE_MEMORY_INFO => Some("BIND_IMAGE_MEMORY_INFO"), - Self::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES => { - Some("PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES") - } - Self::MEMORY_DEDICATED_REQUIREMENTS => Some("MEMORY_DEDICATED_REQUIREMENTS"), - Self::MEMORY_DEDICATED_ALLOCATE_INFO => Some("MEMORY_DEDICATED_ALLOCATE_INFO"), - Self::MEMORY_ALLOCATE_FLAGS_INFO => Some("MEMORY_ALLOCATE_FLAGS_INFO"), - Self::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO => { - Some("DEVICE_GROUP_RENDER_PASS_BEGIN_INFO") - } - Self::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO => { - Some("DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO") - } - Self::DEVICE_GROUP_SUBMIT_INFO => Some("DEVICE_GROUP_SUBMIT_INFO"), - Self::DEVICE_GROUP_BIND_SPARSE_INFO => Some("DEVICE_GROUP_BIND_SPARSE_INFO"), - Self::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO => { - Some("BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO") - } - Self::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO => { - Some("BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO") - } - Self::PHYSICAL_DEVICE_GROUP_PROPERTIES => Some("PHYSICAL_DEVICE_GROUP_PROPERTIES"), - Self::DEVICE_GROUP_DEVICE_CREATE_INFO => Some("DEVICE_GROUP_DEVICE_CREATE_INFO"), - Self::BUFFER_MEMORY_REQUIREMENTS_INFO_2 => Some("BUFFER_MEMORY_REQUIREMENTS_INFO_2"), - Self::IMAGE_MEMORY_REQUIREMENTS_INFO_2 => Some("IMAGE_MEMORY_REQUIREMENTS_INFO_2"), - Self::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 => { - Some("IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2") - } - Self::MEMORY_REQUIREMENTS_2 => Some("MEMORY_REQUIREMENTS_2"), - Self::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 => Some("SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"), - Self::PHYSICAL_DEVICE_FEATURES_2 => Some("PHYSICAL_DEVICE_FEATURES_2"), - Self::PHYSICAL_DEVICE_PROPERTIES_2 => Some("PHYSICAL_DEVICE_PROPERTIES_2"), - Self::FORMAT_PROPERTIES_2 => Some("FORMAT_PROPERTIES_2"), - Self::IMAGE_FORMAT_PROPERTIES_2 => Some("IMAGE_FORMAT_PROPERTIES_2"), - Self::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 => { - Some("PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2") - } - Self::QUEUE_FAMILY_PROPERTIES_2 => Some("QUEUE_FAMILY_PROPERTIES_2"), - Self::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 => { - Some("PHYSICAL_DEVICE_MEMORY_PROPERTIES_2") - } - Self::SPARSE_IMAGE_FORMAT_PROPERTIES_2 => Some("SPARSE_IMAGE_FORMAT_PROPERTIES_2"), - Self::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 => { - Some("PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2") - } - Self::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES => { - Some("PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES") - } - Self::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO => { - Some("RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO") - } - Self::IMAGE_VIEW_USAGE_CREATE_INFO => Some("IMAGE_VIEW_USAGE_CREATE_INFO"), - Self::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO => { - Some("PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO") - } - Self::RENDER_PASS_MULTIVIEW_CREATE_INFO => Some("RENDER_PASS_MULTIVIEW_CREATE_INFO"), - Self::PHYSICAL_DEVICE_MULTIVIEW_FEATURES => Some("PHYSICAL_DEVICE_MULTIVIEW_FEATURES"), - Self::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES => { - Some("PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES") - } - Self::PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES => { - Some("PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES") - } - Self::PROTECTED_SUBMIT_INFO => Some("PROTECTED_SUBMIT_INFO"), - Self::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES => { - Some("PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES") - } - Self::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES => { - Some("PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES") - } - Self::DEVICE_QUEUE_INFO_2 => Some("DEVICE_QUEUE_INFO_2"), - Self::SAMPLER_YCBCR_CONVERSION_CREATE_INFO => { - Some("SAMPLER_YCBCR_CONVERSION_CREATE_INFO") - } - Self::SAMPLER_YCBCR_CONVERSION_INFO => Some("SAMPLER_YCBCR_CONVERSION_INFO"), - Self::BIND_IMAGE_PLANE_MEMORY_INFO => Some("BIND_IMAGE_PLANE_MEMORY_INFO"), - Self::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO => { - Some("IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO") - } - Self::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES => { - Some("PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES") - } - Self::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES => { - Some("SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES") - } - Self::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO => { - Some("DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO") - } - Self::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO => { - Some("PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO") - } - Self::EXTERNAL_IMAGE_FORMAT_PROPERTIES => Some("EXTERNAL_IMAGE_FORMAT_PROPERTIES"), - Self::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO => { - Some("PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO") - } - Self::EXTERNAL_BUFFER_PROPERTIES => Some("EXTERNAL_BUFFER_PROPERTIES"), - Self::PHYSICAL_DEVICE_ID_PROPERTIES => Some("PHYSICAL_DEVICE_ID_PROPERTIES"), - Self::EXTERNAL_MEMORY_BUFFER_CREATE_INFO => Some("EXTERNAL_MEMORY_BUFFER_CREATE_INFO"), - Self::EXTERNAL_MEMORY_IMAGE_CREATE_INFO => Some("EXTERNAL_MEMORY_IMAGE_CREATE_INFO"), - Self::EXPORT_MEMORY_ALLOCATE_INFO => Some("EXPORT_MEMORY_ALLOCATE_INFO"), - Self::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO => { - Some("PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO") - } - Self::EXTERNAL_FENCE_PROPERTIES => Some("EXTERNAL_FENCE_PROPERTIES"), - Self::EXPORT_FENCE_CREATE_INFO => Some("EXPORT_FENCE_CREATE_INFO"), - Self::EXPORT_SEMAPHORE_CREATE_INFO => Some("EXPORT_SEMAPHORE_CREATE_INFO"), - Self::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO => { - Some("PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO") - } - Self::EXTERNAL_SEMAPHORE_PROPERTIES => Some("EXTERNAL_SEMAPHORE_PROPERTIES"), - Self::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES => { - Some("PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES") - } - Self::DESCRIPTOR_SET_LAYOUT_SUPPORT => Some("DESCRIPTOR_SET_LAYOUT_SUPPORT"), - Self::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES => { - Some("PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES") - } - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for GeometryFlagsNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (GeometryFlagsNV::OPAQUE.0, "OPAQUE"), - ( - GeometryFlagsNV::NO_DUPLICATE_ANY_HIT_INVOCATION.0, - "NO_DUPLICATE_ANY_HIT_INVOCATION", - ), -======= -impl fmt::Display for StencilFaceFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (StencilFaceFlags::FRONT.0, "FRONT"), - (StencilFaceFlags::BACK.0, "BACK"), - ( - StencilFaceFlags::STENCIL_FRONT_AND_BACK.0, - "STENCIL_FRONT_AND_BACK", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for SwapchainCreateFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - SwapchainCreateFlagsKHR::SPLIT_INSTANCE_BIND_REGIONS.0, - "SPLIT_INSTANCE_BIND_REGIONS", - ), - (SwapchainCreateFlagsKHR::PROTECTED.0, "PROTECTED"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ShadingRatePaletteEntryNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NO_INVOCATIONS => Some("NO_INVOCATIONS"), - Self::TYPE_16_INVOCATIONS_PER_PIXEL => Some("TYPE_16_INVOCATIONS_PER_PIXEL"), - Self::TYPE_8_INVOCATIONS_PER_PIXEL => Some("TYPE_8_INVOCATIONS_PER_PIXEL"), - Self::TYPE_4_INVOCATIONS_PER_PIXEL => Some("TYPE_4_INVOCATIONS_PER_PIXEL"), - Self::TYPE_2_INVOCATIONS_PER_PIXEL => Some("TYPE_2_INVOCATIONS_PER_PIXEL"), - Self::TYPE_1_INVOCATION_PER_PIXEL => Some("TYPE_1_INVOCATION_PER_PIXEL"), - Self::TYPE_1_INVOCATION_PER_2X1_PIXELS => Some("TYPE_1_INVOCATION_PER_2X1_PIXELS"), - Self::TYPE_1_INVOCATION_PER_1X2_PIXELS => Some("TYPE_1_INVOCATION_PER_1X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_2X2_PIXELS => Some("TYPE_1_INVOCATION_PER_2X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_4X2_PIXELS => Some("TYPE_1_INVOCATION_PER_4X2_PIXELS"), - Self::TYPE_1_INVOCATION_PER_2X4_PIXELS => Some("TYPE_1_INVOCATION_PER_2X4_PIXELS"), - Self::TYPE_1_INVOCATION_PER_4X4_PIXELS => Some("TYPE_1_INVOCATION_PER_4X4_PIXELS"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ExternalFenceHandleTypeFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD.0, - "EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for PeerMemoryFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (PeerMemoryFeatureFlags::COPY_SRC.0, "COPY_SRC"), - (PeerMemoryFeatureFlags::COPY_DST.0, "COPY_DST"), - (PeerMemoryFeatureFlags::GENERIC_SRC.0, "GENERIC_SRC"), - (PeerMemoryFeatureFlags::GENERIC_DST.0, "GENERIC_DST"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for AccessFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - AccessFlags::INDIRECT_COMMAND_READ.0, - "INDIRECT_COMMAND_READ", - ), - (AccessFlags::INDEX_READ.0, "INDEX_READ"), - ( - AccessFlags::VERTEX_ATTRIBUTE_READ.0, - "VERTEX_ATTRIBUTE_READ", - ), - (AccessFlags::UNIFORM_READ.0, "UNIFORM_READ"), - ( - AccessFlags::INPUT_ATTACHMENT_READ.0, - "INPUT_ATTACHMENT_READ", - ), - (AccessFlags::SHADER_READ.0, "SHADER_READ"), - (AccessFlags::SHADER_WRITE.0, "SHADER_WRITE"), - ( - AccessFlags::COLOR_ATTACHMENT_READ.0, - "COLOR_ATTACHMENT_READ", - ), - ( - AccessFlags::COLOR_ATTACHMENT_WRITE.0, - "COLOR_ATTACHMENT_WRITE", - ), - ( - AccessFlags::DEPTH_STENCIL_ATTACHMENT_READ.0, - "DEPTH_STENCIL_ATTACHMENT_READ", - ), - ( - AccessFlags::DEPTH_STENCIL_ATTACHMENT_WRITE.0, - "DEPTH_STENCIL_ATTACHMENT_WRITE", - ), - (AccessFlags::TRANSFER_READ.0, "TRANSFER_READ"), - (AccessFlags::TRANSFER_WRITE.0, "TRANSFER_WRITE"), - (AccessFlags::HOST_READ.0, "HOST_READ"), - (AccessFlags::HOST_WRITE.0, "HOST_WRITE"), - (AccessFlags::MEMORY_READ.0, "MEMORY_READ"), - (AccessFlags::MEMORY_WRITE.0, "MEMORY_WRITE"), - ( - AccessFlags::TRANSFORM_FEEDBACK_WRITE_EXT.0, - "TRANSFORM_FEEDBACK_WRITE_EXT", - ), - ( - AccessFlags::TRANSFORM_FEEDBACK_COUNTER_READ_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_READ_EXT", - ), - ( - AccessFlags::TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT.0, - "TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT", - ), - ( - AccessFlags::CONDITIONAL_RENDERING_READ_EXT.0, - "CONDITIONAL_RENDERING_READ_EXT", - ), - ( - AccessFlags::COMMAND_PROCESS_READ_NVX.0, - "COMMAND_PROCESS_READ_NVX", - ), - ( - AccessFlags::COMMAND_PROCESS_WRITE_NVX.0, - "COMMAND_PROCESS_WRITE_NVX", - ), - ( - AccessFlags::COLOR_ATTACHMENT_READ_NONCOHERENT_EXT.0, - "COLOR_ATTACHMENT_READ_NONCOHERENT_EXT", - ), - ( - AccessFlags::SHADING_RATE_IMAGE_READ_NV.0, - "SHADING_RATE_IMAGE_READ_NV", - ), - ( - AccessFlags::ACCELERATION_STRUCTURE_READ_NV.0, - "ACCELERATION_STRUCTURE_READ_NV", - ), - ( - AccessFlags::ACCELERATION_STRUCTURE_WRITE_NV.0, - "ACCELERATION_STRUCTURE_WRITE_NV", - ), - (AccessFlags::RESERVED_24_EXT.0, "RESERVED_24_EXT"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ImageCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ImageCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (ImageCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), - (ImageCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), - (ImageCreateFlags::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), - (ImageCreateFlags::CUBE_COMPATIBLE.0, "CUBE_COMPATIBLE"), - (ImageCreateFlags::CORNER_SAMPLED_NV.0, "CORNER_SAMPLED_NV"), - ( - ImageCreateFlags::SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT.0, - "SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT", - ), - (ImageCreateFlags::RESERVED_14_EXT.0, "RESERVED_14_EXT"), - (ImageCreateFlags::ALIAS.0, "ALIAS"), - ( - ImageCreateFlags::SPLIT_INSTANCE_BIND_REGIONS.0, - "SPLIT_INSTANCE_BIND_REGIONS", - ), - ( - ImageCreateFlags::TYPE_2D_ARRAY_COMPATIBLE.0, - "TYPE_2D_ARRAY_COMPATIBLE", - ), - ( - ImageCreateFlags::BLOCK_TEXEL_VIEW_COMPATIBLE.0, - "BLOCK_TEXEL_VIEW_COMPATIBLE", - ), - (ImageCreateFlags::EXTENDED_USAGE.0, "EXTENDED_USAGE"), - (ImageCreateFlags::PROTECTED.0, "PROTECTED"), - (ImageCreateFlags::DISJOINT.0, "DISJOINT"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ImageViewType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TYPE_1D => Some("TYPE_1D"), - Self::TYPE_2D => Some("TYPE_2D"), - Self::TYPE_3D => Some("TYPE_3D"), - Self::CUBE => Some("CUBE"), - Self::TYPE_1D_ARRAY => Some("TYPE_1D_ARRAY"), - Self::TYPE_2D_ARRAY => Some("TYPE_2D_ARRAY"), - Self::CUBE_ARRAY => Some("CUBE_ARRAY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for FenceCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(FenceCreateFlags::SIGNALED.0, "SIGNALED")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for PrimitiveTopology { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::POINT_LIST => Some("POINT_LIST"), - Self::LINE_LIST => Some("LINE_LIST"), - Self::LINE_STRIP => Some("LINE_STRIP"), - Self::TRIANGLE_LIST => Some("TRIANGLE_LIST"), - Self::TRIANGLE_STRIP => Some("TRIANGLE_STRIP"), - Self::TRIANGLE_FAN => Some("TRIANGLE_FAN"), - Self::LINE_LIST_WITH_ADJACENCY => Some("LINE_LIST_WITH_ADJACENCY"), - Self::LINE_STRIP_WITH_ADJACENCY => Some("LINE_STRIP_WITH_ADJACENCY"), - Self::TRIANGLE_LIST_WITH_ADJACENCY => Some("TRIANGLE_LIST_WITH_ADJACENCY"), - Self::TRIANGLE_STRIP_WITH_ADJACENCY => Some("TRIANGLE_STRIP_WITH_ADJACENCY"), - Self::PATCH_LIST => Some("PATCH_LIST"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DisplayEventTypeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::FIRST_PIXEL_OUT => Some("FIRST_PIXEL_OUT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SamplerYcbcrModelConversion { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::RGB_IDENTITY => Some("RGB_IDENTITY"), - Self::YCBCR_IDENTITY => Some("YCBCR_IDENTITY"), - Self::YCBCR_709 => Some("YCBCR_709"), - Self::YCBCR_601 => Some("YCBCR_601"), - Self::YCBCR_2020 => Some("YCBCR_2020"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ShaderInfoTypeAMD { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::STATISTICS => Some("STATISTICS"), - Self::BINARY => Some("BINARY"), - Self::DISASSEMBLY => Some("DISASSEMBLY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ExternalMemoryFeatureFlagsNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV.0, - "EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV", - ), - ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV.0, - "EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV", - ), - ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV.0, - "EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV", - ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ComponentSwizzle { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::IDENTITY => Some("IDENTITY"), - Self::ZERO => Some("ZERO"), - Self::ONE => Some("ONE"), - Self::R => Some("R"), - Self::G => Some("G"), - Self::B => Some("B"), - Self::A => Some("A"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for IndexType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UINT16 => Some("UINT16"), - Self::UINT32 => Some("UINT32"), - Self::NONE_NV => Some("NONE_NV"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SamplerAddressMode { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::REPEAT => Some("REPEAT"), - Self::MIRRORED_REPEAT => Some("MIRRORED_REPEAT"), - Self::CLAMP_TO_EDGE => Some("CLAMP_TO_EDGE"), - Self::CLAMP_TO_BORDER => Some("CLAMP_TO_BORDER"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for PhysicalDeviceType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OTHER => Some("OTHER"), - Self::INTEGRATED_GPU => Some("INTEGRATED_GPU"), - Self::DISCRETE_GPU => Some("DISCRETE_GPU"), - Self::VIRTUAL_GPU => Some("VIRTUAL_GPU"), - Self::CPU => Some("CPU"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for BlendOverlapEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UNCORRELATED => Some("UNCORRELATED"), - Self::DISJOINT => Some("DISJOINT"), - Self::CONJOINT => Some("CONJOINT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for Filter { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NEAREST => Some("NEAREST"), - Self::LINEAR => Some("LINEAR"), - Self::CUBIC_IMG => Some("CUBIC_IMG"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DebugUtilsMessageTypeFlagsEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DebugUtilsMessageTypeFlagsEXT::GENERAL.0, "GENERAL"), - (DebugUtilsMessageTypeFlagsEXT::VALIDATION.0, "VALIDATION"), - (DebugUtilsMessageTypeFlagsEXT::PERFORMANCE.0, "PERFORMANCE"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for QueryResultFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (QueryResultFlags::TYPE_64.0, "TYPE_64"), - (QueryResultFlags::WAIT.0, "WAIT"), - (QueryResultFlags::WITH_AVAILABILITY.0, "WITH_AVAILABILITY"), - (QueryResultFlags::PARTIAL.0, "PARTIAL"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for CoarseSampleOrderTypeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DEFAULT => Some("DEFAULT"), - Self::CUSTOM => Some("CUSTOM"), - Self::PIXEL_MAJOR => Some("PIXEL_MAJOR"), - Self::SAMPLE_MAJOR => Some("SAMPLE_MAJOR"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for LogicOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::CLEAR => Some("CLEAR"), - Self::AND => Some("AND"), - Self::AND_REVERSE => Some("AND_REVERSE"), - Self::COPY => Some("COPY"), - Self::AND_INVERTED => Some("AND_INVERTED"), - Self::NO_OP => Some("NO_OP"), - Self::XOR => Some("XOR"), - Self::OR => Some("OR"), - Self::NOR => Some("NOR"), - Self::EQUIVALENT => Some("EQUIVALENT"), - Self::INVERT => Some("INVERT"), - Self::OR_REVERSE => Some("OR_REVERSE"), - Self::COPY_INVERTED => Some("COPY_INVERTED"), - Self::OR_INVERTED => Some("OR_INVERTED"), - Self::NAND => Some("NAND"), - Self::SET => Some("SET"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for SamplerReductionModeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::WEIGHTED_AVERAGE => Some("WEIGHTED_AVERAGE"), - Self::MIN => Some("MIN"), - Self::MAX => Some("MAX"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for VertexInputRate { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::VERTEX => Some("VERTEX"), - Self::INSTANCE => Some("INSTANCE"), + Self::APPLICATION_INFO => Some("APPLICATION_INFO"), + Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"), + Self::DEVICE_QUEUE_CREATE_INFO => Some("DEVICE_QUEUE_CREATE_INFO"), + Self::DEVICE_CREATE_INFO => Some("DEVICE_CREATE_INFO"), + Self::SUBMIT_INFO => Some("SUBMIT_INFO"), + Self::MEMORY_ALLOCATE_INFO => Some("MEMORY_ALLOCATE_INFO"), + Self::MAPPED_MEMORY_RANGE => Some("MAPPED_MEMORY_RANGE"), + Self::BIND_SPARSE_INFO => Some("BIND_SPARSE_INFO"), + Self::FENCE_CREATE_INFO => Some("FENCE_CREATE_INFO"), + Self::SEMAPHORE_CREATE_INFO => Some("SEMAPHORE_CREATE_INFO"), + Self::EVENT_CREATE_INFO => Some("EVENT_CREATE_INFO"), + Self::QUERY_POOL_CREATE_INFO => Some("QUERY_POOL_CREATE_INFO"), + Self::BUFFER_CREATE_INFO => Some("BUFFER_CREATE_INFO"), + Self::BUFFER_VIEW_CREATE_INFO => Some("BUFFER_VIEW_CREATE_INFO"), + Self::IMAGE_CREATE_INFO => Some("IMAGE_CREATE_INFO"), + Self::IMAGE_VIEW_CREATE_INFO => Some("IMAGE_VIEW_CREATE_INFO"), + Self::SHADER_MODULE_CREATE_INFO => Some("SHADER_MODULE_CREATE_INFO"), + Self::PIPELINE_CACHE_CREATE_INFO => Some("PIPELINE_CACHE_CREATE_INFO"), + Self::PIPELINE_SHADER_STAGE_CREATE_INFO => Some("PIPELINE_SHADER_STAGE_CREATE_INFO"), + Self::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO => { + Some("PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO") + } + Self::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO => { + Some("PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO") + } + Self::PIPELINE_TESSELLATION_STATE_CREATE_INFO => { + Some("PIPELINE_TESSELLATION_STATE_CREATE_INFO") + } + Self::PIPELINE_VIEWPORT_STATE_CREATE_INFO => { + Some("PIPELINE_VIEWPORT_STATE_CREATE_INFO") + } + Self::PIPELINE_RASTERIZATION_STATE_CREATE_INFO => { + Some("PIPELINE_RASTERIZATION_STATE_CREATE_INFO") + } + Self::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO => { + Some("PIPELINE_MULTISAMPLE_STATE_CREATE_INFO") + } + Self::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO => { + Some("PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO") + } + Self::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO => { + Some("PIPELINE_COLOR_BLEND_STATE_CREATE_INFO") + } + Self::PIPELINE_DYNAMIC_STATE_CREATE_INFO => Some("PIPELINE_DYNAMIC_STATE_CREATE_INFO"), + Self::GRAPHICS_PIPELINE_CREATE_INFO => Some("GRAPHICS_PIPELINE_CREATE_INFO"), + Self::COMPUTE_PIPELINE_CREATE_INFO => Some("COMPUTE_PIPELINE_CREATE_INFO"), + Self::PIPELINE_LAYOUT_CREATE_INFO => Some("PIPELINE_LAYOUT_CREATE_INFO"), + Self::SAMPLER_CREATE_INFO => Some("SAMPLER_CREATE_INFO"), + Self::DESCRIPTOR_SET_LAYOUT_CREATE_INFO => Some("DESCRIPTOR_SET_LAYOUT_CREATE_INFO"), + Self::DESCRIPTOR_POOL_CREATE_INFO => Some("DESCRIPTOR_POOL_CREATE_INFO"), + Self::DESCRIPTOR_SET_ALLOCATE_INFO => Some("DESCRIPTOR_SET_ALLOCATE_INFO"), + Self::WRITE_DESCRIPTOR_SET => Some("WRITE_DESCRIPTOR_SET"), + Self::COPY_DESCRIPTOR_SET => Some("COPY_DESCRIPTOR_SET"), + Self::FRAMEBUFFER_CREATE_INFO => Some("FRAMEBUFFER_CREATE_INFO"), + Self::RENDER_PASS_CREATE_INFO => Some("RENDER_PASS_CREATE_INFO"), + Self::COMMAND_POOL_CREATE_INFO => Some("COMMAND_POOL_CREATE_INFO"), + Self::COMMAND_BUFFER_ALLOCATE_INFO => Some("COMMAND_BUFFER_ALLOCATE_INFO"), + Self::COMMAND_BUFFER_INHERITANCE_INFO => Some("COMMAND_BUFFER_INHERITANCE_INFO"), + Self::COMMAND_BUFFER_BEGIN_INFO => Some("COMMAND_BUFFER_BEGIN_INFO"), + Self::RENDER_PASS_BEGIN_INFO => Some("RENDER_PASS_BEGIN_INFO"), + Self::BUFFER_MEMORY_BARRIER => Some("BUFFER_MEMORY_BARRIER"), + Self::IMAGE_MEMORY_BARRIER => Some("IMAGE_MEMORY_BARRIER"), + Self::MEMORY_BARRIER => Some("MEMORY_BARRIER"), + Self::LOADER_INSTANCE_CREATE_INFO => Some("LOADER_INSTANCE_CREATE_INFO"), + Self::LOADER_DEVICE_CREATE_INFO => Some("LOADER_DEVICE_CREATE_INFO"), + Self::SWAPCHAIN_CREATE_INFO_KHR => Some("SWAPCHAIN_CREATE_INFO_KHR"), + Self::PRESENT_INFO_KHR => Some("PRESENT_INFO_KHR"), + Self::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR => { + Some("DEVICE_GROUP_PRESENT_CAPABILITIES_KHR") + } + Self::IMAGE_SWAPCHAIN_CREATE_INFO_KHR => Some("IMAGE_SWAPCHAIN_CREATE_INFO_KHR"), + Self::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR => { + Some("BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR") + } + Self::ACQUIRE_NEXT_IMAGE_INFO_KHR => Some("ACQUIRE_NEXT_IMAGE_INFO_KHR"), + Self::DEVICE_GROUP_PRESENT_INFO_KHR => Some("DEVICE_GROUP_PRESENT_INFO_KHR"), + Self::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR => { + Some("DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR") + } + Self::DISPLAY_MODE_CREATE_INFO_KHR => Some("DISPLAY_MODE_CREATE_INFO_KHR"), + Self::DISPLAY_SURFACE_CREATE_INFO_KHR => Some("DISPLAY_SURFACE_CREATE_INFO_KHR"), + Self::DISPLAY_PRESENT_INFO_KHR => Some("DISPLAY_PRESENT_INFO_KHR"), + Self::XLIB_SURFACE_CREATE_INFO_KHR => Some("XLIB_SURFACE_CREATE_INFO_KHR"), + Self::XCB_SURFACE_CREATE_INFO_KHR => Some("XCB_SURFACE_CREATE_INFO_KHR"), + Self::WAYLAND_SURFACE_CREATE_INFO_KHR => Some("WAYLAND_SURFACE_CREATE_INFO_KHR"), + Self::ANDROID_SURFACE_CREATE_INFO_KHR => Some("ANDROID_SURFACE_CREATE_INFO_KHR"), + Self::WIN32_SURFACE_CREATE_INFO_KHR => Some("WIN32_SURFACE_CREATE_INFO_KHR"), + Self::NATIVE_BUFFER_ANDROID => Some("NATIVE_BUFFER_ANDROID"), + Self::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT => { + Some("DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT") + } + Self::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD => { + Some("PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD") + } + Self::DEBUG_MARKER_OBJECT_NAME_INFO_EXT => Some("DEBUG_MARKER_OBJECT_NAME_INFO_EXT"), + Self::DEBUG_MARKER_OBJECT_TAG_INFO_EXT => Some("DEBUG_MARKER_OBJECT_TAG_INFO_EXT"), + Self::DEBUG_MARKER_MARKER_INFO_EXT => Some("DEBUG_MARKER_MARKER_INFO_EXT"), + Self::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV => { + Some("DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV") + } + Self::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV => { + Some("DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV") + } + Self::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV => { + Some("DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV") + } + Self::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT") + } + Self::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT => { + Some("PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT") + } + Self::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD => { + Some("TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD") + } + Self::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV => { + Some("PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV") + } + Self::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV => { + Some("EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV") + } + Self::EXPORT_MEMORY_ALLOCATE_INFO_NV => Some("EXPORT_MEMORY_ALLOCATE_INFO_NV"), + Self::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV => Some("IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"), + Self::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV => Some("EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"), + Self::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV => { + Some("WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV") + } + Self::VALIDATION_FLAGS_EXT => Some("VALIDATION_FLAGS_EXT"), + Self::VI_SURFACE_CREATE_INFO_NN => Some("VI_SURFACE_CREATE_INFO_NN"), + Self::IMAGE_VIEW_ASTC_DECODE_MODE_EXT => Some("IMAGE_VIEW_ASTC_DECODE_MODE_EXT"), + Self::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT") + } + Self::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR => { + Some("IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR") + } + Self::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR => { + Some("EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR") + } + Self::MEMORY_WIN32_HANDLE_PROPERTIES_KHR => Some("MEMORY_WIN32_HANDLE_PROPERTIES_KHR"), + Self::MEMORY_GET_WIN32_HANDLE_INFO_KHR => Some("MEMORY_GET_WIN32_HANDLE_INFO_KHR"), + Self::IMPORT_MEMORY_FD_INFO_KHR => Some("IMPORT_MEMORY_FD_INFO_KHR"), + Self::MEMORY_FD_PROPERTIES_KHR => Some("MEMORY_FD_PROPERTIES_KHR"), + Self::MEMORY_GET_FD_INFO_KHR => Some("MEMORY_GET_FD_INFO_KHR"), + Self::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR => { + Some("WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR") + } + Self::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR => { + Some("IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR") + } + Self::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR => { + Some("EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR") + } + Self::D3D12_FENCE_SUBMIT_INFO_KHR => Some("D3D12_FENCE_SUBMIT_INFO_KHR"), + Self::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR => { + Some("SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR") + } + Self::IMPORT_SEMAPHORE_FD_INFO_KHR => Some("IMPORT_SEMAPHORE_FD_INFO_KHR"), + Self::SEMAPHORE_GET_FD_INFO_KHR => Some("SEMAPHORE_GET_FD_INFO_KHR"), + Self::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR => { + Some("PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR") + } + Self::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT => { + Some("COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT") + } + Self::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT") + } + Self::CONDITIONAL_RENDERING_BEGIN_INFO_EXT => { + Some("CONDITIONAL_RENDERING_BEGIN_INFO_EXT") + } + Self::PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR => { + Some("PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR") + } + Self::PRESENT_REGIONS_KHR => Some("PRESENT_REGIONS_KHR"), + Self::OBJECT_TABLE_CREATE_INFO_NVX => Some("OBJECT_TABLE_CREATE_INFO_NVX"), + Self::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX => { + Some("INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX") + } + Self::CMD_PROCESS_COMMANDS_INFO_NVX => Some("CMD_PROCESS_COMMANDS_INFO_NVX"), + Self::CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX => { + Some("CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX") + } + Self::DEVICE_GENERATED_COMMANDS_LIMITS_NVX => { + Some("DEVICE_GENERATED_COMMANDS_LIMITS_NVX") + } + Self::DEVICE_GENERATED_COMMANDS_FEATURES_NVX => { + Some("DEVICE_GENERATED_COMMANDS_FEATURES_NVX") + } + Self::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV => { + Some("PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV") + } + Self::SURFACE_CAPABILITIES_2_EXT => Some("SURFACE_CAPABILITIES_2_EXT"), + Self::DISPLAY_POWER_INFO_EXT => Some("DISPLAY_POWER_INFO_EXT"), + Self::DEVICE_EVENT_INFO_EXT => Some("DEVICE_EVENT_INFO_EXT"), + Self::DISPLAY_EVENT_INFO_EXT => Some("DISPLAY_EVENT_INFO_EXT"), + Self::SWAPCHAIN_COUNTER_CREATE_INFO_EXT => Some("SWAPCHAIN_COUNTER_CREATE_INFO_EXT"), + Self::PRESENT_TIMES_INFO_GOOGLE => Some("PRESENT_TIMES_INFO_GOOGLE"), + Self::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX => { + Some("PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX") + } + Self::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV => { + Some("PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV") + } + Self::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT") + } + Self::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT => { + Some("PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT") + } + Self::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT => { + Some("PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT") + } + Self::HDR_METADATA_EXT => Some("HDR_METADATA_EXT"), + Self::ATTACHMENT_DESCRIPTION_2_KHR => Some("ATTACHMENT_DESCRIPTION_2_KHR"), + Self::ATTACHMENT_REFERENCE_2_KHR => Some("ATTACHMENT_REFERENCE_2_KHR"), + Self::SUBPASS_DESCRIPTION_2_KHR => Some("SUBPASS_DESCRIPTION_2_KHR"), + Self::SUBPASS_DEPENDENCY_2_KHR => Some("SUBPASS_DEPENDENCY_2_KHR"), + Self::RENDER_PASS_CREATE_INFO_2_KHR => Some("RENDER_PASS_CREATE_INFO_2_KHR"), + Self::SUBPASS_BEGIN_INFO_KHR => Some("SUBPASS_BEGIN_INFO_KHR"), + Self::SUBPASS_END_INFO_KHR => Some("SUBPASS_END_INFO_KHR"), + Self::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR => { + Some("SHARED_PRESENT_SURFACE_CAPABILITIES_KHR") + } + Self::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR => Some("IMPORT_FENCE_WIN32_HANDLE_INFO_KHR"), + Self::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR => Some("EXPORT_FENCE_WIN32_HANDLE_INFO_KHR"), + Self::FENCE_GET_WIN32_HANDLE_INFO_KHR => Some("FENCE_GET_WIN32_HANDLE_INFO_KHR"), + Self::IMPORT_FENCE_FD_INFO_KHR => Some("IMPORT_FENCE_FD_INFO_KHR"), + Self::FENCE_GET_FD_INFO_KHR => Some("FENCE_GET_FD_INFO_KHR"), + Self::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR => Some("PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"), + Self::SURFACE_CAPABILITIES_2_KHR => Some("SURFACE_CAPABILITIES_2_KHR"), + Self::SURFACE_FORMAT_2_KHR => Some("SURFACE_FORMAT_2_KHR"), + Self::DISPLAY_PROPERTIES_2_KHR => Some("DISPLAY_PROPERTIES_2_KHR"), + Self::DISPLAY_PLANE_PROPERTIES_2_KHR => Some("DISPLAY_PLANE_PROPERTIES_2_KHR"), + Self::DISPLAY_MODE_PROPERTIES_2_KHR => Some("DISPLAY_MODE_PROPERTIES_2_KHR"), + Self::DISPLAY_PLANE_INFO_2_KHR => Some("DISPLAY_PLANE_INFO_2_KHR"), + Self::DISPLAY_PLANE_CAPABILITIES_2_KHR => Some("DISPLAY_PLANE_CAPABILITIES_2_KHR"), + Self::IOS_SURFACE_CREATE_INFO_M => Some("IOS_SURFACE_CREATE_INFO_M"), + Self::MACOS_SURFACE_CREATE_INFO_M => Some("MACOS_SURFACE_CREATE_INFO_M"), + Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"), + Self::DEBUG_UTILS_OBJECT_TAG_INFO_EXT => Some("DEBUG_UTILS_OBJECT_TAG_INFO_EXT"), + Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"), + Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => { + Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT") + } + Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => { + Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT") + } + Self::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID => { + Some("ANDROID_HARDWARE_BUFFER_USAGE_ANDROID") + } + Self::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID => { + Some("ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID") + } + Self::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID => { + Some("ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID") + } + Self::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID => { + Some("IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID") + } + Self::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID => { + Some("MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID") + } + Self::EXTERNAL_FORMAT_ANDROID => Some("EXTERNAL_FORMAT_ANDROID"), + Self::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT") + } + Self::SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT => { + Some("SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT") + } + Self::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT => { + Some("WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT") + } + Self::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT => { + Some("DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT") + } + Self::SAMPLE_LOCATIONS_INFO_EXT => Some("SAMPLE_LOCATIONS_INFO_EXT"), + Self::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT => { + Some("RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT") + } + Self::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT => { + Some("PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT") + } + Self::MULTISAMPLE_PROPERTIES_EXT => Some("MULTISAMPLE_PROPERTIES_EXT"), + Self::IMAGE_FORMAT_LIST_CREATE_INFO_KHR => Some("IMAGE_FORMAT_LIST_CREATE_INFO_KHR"), + Self::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT") + } + Self::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT => { + Some("PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT") + } + Self::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV => { + Some("PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV") + } + Self::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV => { + Some("PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV") + } + Self::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT => { + Some("DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT") + } + Self::DRM_FORMAT_MODIFIER_PROPERTIES_EXT => Some("DRM_FORMAT_MODIFIER_PROPERTIES_EXT"), + Self::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT => { + Some("PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT") + } + Self::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT => { + Some("IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT") + } + Self::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT => { + Some("IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT") + } + Self::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT => { + Some("IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT") + } + Self::VALIDATION_CACHE_CREATE_INFO_EXT => Some("VALIDATION_CACHE_CREATE_INFO_EXT"), + Self::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT => { + Some("SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT") + } + Self::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT => { + Some("DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT") + } + Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT => { + Some("DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT") + } + Self::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT => { + Some("DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT") + } + Self::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV => { + Some("PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV") + } + Self::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV => { + Some("PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV") + } + Self::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV => { + Some("PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV") + } + Self::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV => { + Some("PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV") + } + Self::RAY_TRACING_PIPELINE_CREATE_INFO_NV => { + Some("RAY_TRACING_PIPELINE_CREATE_INFO_NV") + } + Self::ACCELERATION_STRUCTURE_CREATE_INFO_NV => { + Some("ACCELERATION_STRUCTURE_CREATE_INFO_NV") + } + Self::GEOMETRY_NV => Some("GEOMETRY_NV"), + Self::GEOMETRY_TRIANGLES_NV => Some("GEOMETRY_TRIANGLES_NV"), + Self::GEOMETRY_AABB_NV => Some("GEOMETRY_AABB_NV"), + Self::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV => { + Some("BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV") + } + Self::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV => { + Some("WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV") + } + Self::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV => { + Some("ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV") + } + Self::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV => { + Some("PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV") + } + Self::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV => { + Some("RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV") + } + Self::ACCELERATION_STRUCTURE_INFO_NV => Some("ACCELERATION_STRUCTURE_INFO_NV"), + Self::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV => { + Some("PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV") + } + Self::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV => { + Some("PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV") + } + Self::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT => { + Some("DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR => { + Some("PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR") + } + Self::IMPORT_MEMORY_HOST_POINTER_INFO_EXT => { + Some("IMPORT_MEMORY_HOST_POINTER_INFO_EXT") + } + Self::MEMORY_HOST_POINTER_PROPERTIES_EXT => Some("MEMORY_HOST_POINTER_PROPERTIES_EXT"), + Self::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT") + } + Self::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR => { + Some("PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR") + } + Self::CALIBRATED_TIMESTAMP_INFO_EXT => Some("CALIBRATED_TIMESTAMP_INFO_EXT"), + Self::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD => { + Some("PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD") + } + Self::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD => { + Some("DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD") + } + Self::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT") + } + Self::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT => { + Some("PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR => { + Some("PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR") + } + Self::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR => { + Some("PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR") + } + Self::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR => { + Some("PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR") + } + Self::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR => { + Some("SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR") + } + Self::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV => { + Some("PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV") + } + Self::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV => { + Some("PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV") + } + Self::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV => { + Some("PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV") + } + Self::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV => { + Some("PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV") + } + Self::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV => { + Some("PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV") + } + Self::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV => { + Some("PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV") + } + Self::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV => { + Some("PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV") + } + Self::CHECKPOINT_DATA_NV => Some("CHECKPOINT_DATA_NV"), + Self::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV => { + Some("QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV") + } + Self::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR => { + Some("PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR") + } + Self::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT") + } + Self::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA => { + Some("IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA") + } + Self::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT") + } + Self::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT => { + Some("RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT") + } + Self::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT") + } + Self::MEMORY_PRIORITY_ALLOCATE_INFO_EXT => Some("MEMORY_PRIORITY_ALLOCATE_INFO_EXT"), + Self::PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT") + } + Self::BUFFER_DEVICE_ADDRESS_INFO_EXT => Some("BUFFER_DEVICE_ADDRESS_INFO_EXT"), + Self::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT => { + Some("BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT") + } + Self::IMAGE_STENCIL_USAGE_CREATE_INFO_EXT => { + Some("IMAGE_STENCIL_USAGE_CREATE_INFO_EXT") + } + Self::VALIDATION_FEATURES_EXT => Some("VALIDATION_FEATURES_EXT"), + Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => { + Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES") + } + Self::BIND_BUFFER_MEMORY_INFO => Some("BIND_BUFFER_MEMORY_INFO"), + Self::BIND_IMAGE_MEMORY_INFO => Some("BIND_IMAGE_MEMORY_INFO"), + Self::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES => { + Some("PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES") + } + Self::MEMORY_DEDICATED_REQUIREMENTS => Some("MEMORY_DEDICATED_REQUIREMENTS"), + Self::MEMORY_DEDICATED_ALLOCATE_INFO => Some("MEMORY_DEDICATED_ALLOCATE_INFO"), + Self::MEMORY_ALLOCATE_FLAGS_INFO => Some("MEMORY_ALLOCATE_FLAGS_INFO"), + Self::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO => { + Some("DEVICE_GROUP_RENDER_PASS_BEGIN_INFO") + } + Self::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO => { + Some("DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO") + } + Self::DEVICE_GROUP_SUBMIT_INFO => Some("DEVICE_GROUP_SUBMIT_INFO"), + Self::DEVICE_GROUP_BIND_SPARSE_INFO => Some("DEVICE_GROUP_BIND_SPARSE_INFO"), + Self::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO => { + Some("BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO") + } + Self::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO => { + Some("BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO") + } + Self::PHYSICAL_DEVICE_GROUP_PROPERTIES => Some("PHYSICAL_DEVICE_GROUP_PROPERTIES"), + Self::DEVICE_GROUP_DEVICE_CREATE_INFO => Some("DEVICE_GROUP_DEVICE_CREATE_INFO"), + Self::BUFFER_MEMORY_REQUIREMENTS_INFO_2 => Some("BUFFER_MEMORY_REQUIREMENTS_INFO_2"), + Self::IMAGE_MEMORY_REQUIREMENTS_INFO_2 => Some("IMAGE_MEMORY_REQUIREMENTS_INFO_2"), + Self::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 => { + Some("IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2") + } + Self::MEMORY_REQUIREMENTS_2 => Some("MEMORY_REQUIREMENTS_2"), + Self::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 => Some("SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"), + Self::PHYSICAL_DEVICE_FEATURES_2 => Some("PHYSICAL_DEVICE_FEATURES_2"), + Self::PHYSICAL_DEVICE_PROPERTIES_2 => Some("PHYSICAL_DEVICE_PROPERTIES_2"), + Self::FORMAT_PROPERTIES_2 => Some("FORMAT_PROPERTIES_2"), + Self::IMAGE_FORMAT_PROPERTIES_2 => Some("IMAGE_FORMAT_PROPERTIES_2"), + Self::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 => { + Some("PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2") + } + Self::QUEUE_FAMILY_PROPERTIES_2 => Some("QUEUE_FAMILY_PROPERTIES_2"), + Self::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 => { + Some("PHYSICAL_DEVICE_MEMORY_PROPERTIES_2") + } + Self::SPARSE_IMAGE_FORMAT_PROPERTIES_2 => Some("SPARSE_IMAGE_FORMAT_PROPERTIES_2"), + Self::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 => { + Some("PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2") + } + Self::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES => { + Some("PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES") + } + Self::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO => { + Some("RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO") + } + Self::IMAGE_VIEW_USAGE_CREATE_INFO => Some("IMAGE_VIEW_USAGE_CREATE_INFO"), + Self::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO => { + Some("PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO") + } + Self::RENDER_PASS_MULTIVIEW_CREATE_INFO => Some("RENDER_PASS_MULTIVIEW_CREATE_INFO"), + Self::PHYSICAL_DEVICE_MULTIVIEW_FEATURES => Some("PHYSICAL_DEVICE_MULTIVIEW_FEATURES"), + Self::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES => { + Some("PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES") + } + Self::PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES => { + Some("PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES") + } + Self::PROTECTED_SUBMIT_INFO => Some("PROTECTED_SUBMIT_INFO"), + Self::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES => { + Some("PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES") + } + Self::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES => { + Some("PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES") + } + Self::DEVICE_QUEUE_INFO_2 => Some("DEVICE_QUEUE_INFO_2"), + Self::SAMPLER_YCBCR_CONVERSION_CREATE_INFO => { + Some("SAMPLER_YCBCR_CONVERSION_CREATE_INFO") + } + Self::SAMPLER_YCBCR_CONVERSION_INFO => Some("SAMPLER_YCBCR_CONVERSION_INFO"), + Self::BIND_IMAGE_PLANE_MEMORY_INFO => Some("BIND_IMAGE_PLANE_MEMORY_INFO"), + Self::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO => { + Some("IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO") + } + Self::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES => { + Some("PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES") + } + Self::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES => { + Some("SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES") + } + Self::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO => { + Some("DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO") + } + Self::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO => { + Some("PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO") + } + Self::EXTERNAL_IMAGE_FORMAT_PROPERTIES => Some("EXTERNAL_IMAGE_FORMAT_PROPERTIES"), + Self::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO => { + Some("PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO") + } + Self::EXTERNAL_BUFFER_PROPERTIES => Some("EXTERNAL_BUFFER_PROPERTIES"), + Self::PHYSICAL_DEVICE_ID_PROPERTIES => Some("PHYSICAL_DEVICE_ID_PROPERTIES"), + Self::EXTERNAL_MEMORY_BUFFER_CREATE_INFO => Some("EXTERNAL_MEMORY_BUFFER_CREATE_INFO"), + Self::EXTERNAL_MEMORY_IMAGE_CREATE_INFO => Some("EXTERNAL_MEMORY_IMAGE_CREATE_INFO"), + Self::EXPORT_MEMORY_ALLOCATE_INFO => Some("EXPORT_MEMORY_ALLOCATE_INFO"), + Self::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO => { + Some("PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO") + } + Self::EXTERNAL_FENCE_PROPERTIES => Some("EXTERNAL_FENCE_PROPERTIES"), + Self::EXPORT_FENCE_CREATE_INFO => Some("EXPORT_FENCE_CREATE_INFO"), + Self::EXPORT_SEMAPHORE_CREATE_INFO => Some("EXPORT_SEMAPHORE_CREATE_INFO"), + Self::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO => { + Some("PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO") + } + Self::EXTERNAL_SEMAPHORE_PROPERTIES => Some("EXTERNAL_SEMAPHORE_PROPERTIES"), + Self::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES => { + Some("PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES") + } + Self::DESCRIPTOR_SET_LAYOUT_SUPPORT => Some("DESCRIPTOR_SET_LAYOUT_SUPPORT"), + Self::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES => { + Some("PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES") + } _ => None, }; if let Some(x) = name { @@ -60823,296 +58839,176 @@ impl fmt::Display for VertexInputRate { } } } -impl fmt::Display for PipelineCreateFlags { +impl fmt::Display for BufferUsageFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (BufferUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), + (BufferUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), ( - PipelineCreateFlags::DISABLE_OPTIMIZATION.0, - "DISABLE_OPTIMIZATION", + BufferUsageFlags::UNIFORM_TEXEL_BUFFER.0, + "UNIFORM_TEXEL_BUFFER", ), ( - PipelineCreateFlags::ALLOW_DERIVATIVES.0, - "ALLOW_DERIVATIVES", + BufferUsageFlags::STORAGE_TEXEL_BUFFER.0, + "STORAGE_TEXEL_BUFFER", ), - (PipelineCreateFlags::DERIVATIVE.0, "DERIVATIVE"), - (PipelineCreateFlags::DEFER_COMPILE_NV.0, "DEFER_COMPILE_NV"), + (BufferUsageFlags::UNIFORM_BUFFER.0, "UNIFORM_BUFFER"), + (BufferUsageFlags::STORAGE_BUFFER.0, "STORAGE_BUFFER"), + (BufferUsageFlags::INDEX_BUFFER.0, "INDEX_BUFFER"), + (BufferUsageFlags::VERTEX_BUFFER.0, "VERTEX_BUFFER"), + (BufferUsageFlags::INDIRECT_BUFFER.0, "INDIRECT_BUFFER"), + (BufferUsageFlags::RESERVED_15_KHR.0, "RESERVED_15_KHR"), + (BufferUsageFlags::RESERVED_16_KHR.0, "RESERVED_16_KHR"), + (BufferUsageFlags::RESERVED_13_KHR.0, "RESERVED_13_KHR"), + (BufferUsageFlags::RESERVED_14_KHR.0, "RESERVED_14_KHR"), ( - PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0, - "VIEW_INDEX_FROM_DEVICE_INDEX", + BufferUsageFlags::TRANSFORM_FEEDBACK_BUFFER_EXT.0, + "TRANSFORM_FEEDBACK_BUFFER_EXT", + ), + ( + BufferUsageFlags::TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT.0, + "TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT", + ), + ( + BufferUsageFlags::CONDITIONAL_RENDERING_EXT.0, + "CONDITIONAL_RENDERING_EXT", + ), + (BufferUsageFlags::RAY_TRACING_NV.0, "RAY_TRACING_NV"), + ( + BufferUsageFlags::SHADER_DEVICE_ADDRESS_EXT.0, + "SHADER_DEVICE_ADDRESS_EXT", ), - (PipelineCreateFlags::DISPATCH_BASE.0, "DISPATCH_BASE"), ->>>>>>> Implement extension chaining ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for FenceCreateFlags { -======= -impl fmt::Display for MemoryOverallocationBehaviorAMD { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DEFAULT => Some("DEFAULT"), - Self::ALLOWED => Some("ALLOWED"), - Self::DISALLOWED => Some("DISALLOWED"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DynamicState { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::VIEWPORT => Some("VIEWPORT"), - Self::SCISSOR => Some("SCISSOR"), - Self::LINE_WIDTH => Some("LINE_WIDTH"), - Self::DEPTH_BIAS => Some("DEPTH_BIAS"), - Self::BLEND_CONSTANTS => Some("BLEND_CONSTANTS"), - Self::DEPTH_BOUNDS => Some("DEPTH_BOUNDS"), - Self::STENCIL_COMPARE_MASK => Some("STENCIL_COMPARE_MASK"), - Self::STENCIL_WRITE_MASK => Some("STENCIL_WRITE_MASK"), - Self::STENCIL_REFERENCE => Some("STENCIL_REFERENCE"), - Self::VIEWPORT_W_SCALING_NV => Some("VIEWPORT_W_SCALING_NV"), - Self::DISCARD_RECTANGLE_EXT => Some("DISCARD_RECTANGLE_EXT"), - Self::SAMPLE_LOCATIONS_EXT => Some("SAMPLE_LOCATIONS_EXT"), - Self::VIEWPORT_SHADING_RATE_PALETTE_NV => Some("VIEWPORT_SHADING_RATE_PALETTE_NV"), - Self::VIEWPORT_COARSE_SAMPLE_ORDER_NV => Some("VIEWPORT_COARSE_SAMPLE_ORDER_NV"), - Self::EXCLUSIVE_SCISSOR_NV => Some("EXCLUSIVE_SCISSOR_NV"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for DriverIdKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::AMD_PROPRIETARY => Some("AMD_PROPRIETARY"), - Self::AMD_OPEN_SOURCE => Some("AMD_OPEN_SOURCE"), - Self::MESA_RADV => Some("MESA_RADV"), - Self::NVIDIA_PROPRIETARY => Some("NVIDIA_PROPRIETARY"), - Self::INTEL_PROPRIETARY_WINDOWS => Some("INTEL_PROPRIETARY_WINDOWS"), - Self::INTEL_OPEN_SOURCE_MESA => Some("INTEL_OPEN_SOURCE_MESA"), - Self::IMAGINATION_PROPRIETARY => Some("IMAGINATION_PROPRIETARY"), - Self::QUALCOMM_PROPRIETARY => Some("QUALCOMM_PROPRIETARY"), - Self::ARM_PROPRIETARY => Some("ARM_PROPRIETARY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for InternalAllocationType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::EXECUTABLE => Some("EXECUTABLE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for PipelineCacheHeaderVersion { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ONE => Some("ONE"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for MemoryHeapFlags { +impl fmt::Display for ExternalSemaphoreHandleTypeFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (MemoryHeapFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), - (MemoryHeapFlags::MULTI_INSTANCE.0, "MULTI_INSTANCE"), + ( + ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD.0, + "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD", + ), + ( + ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32.0, + "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32", + ), + ( + ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT.0, + "EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT", + ), + ( + ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE.0, + "EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE", + ), + ( + ExternalSemaphoreHandleTypeFlags::EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD.0, + "EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD", + ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ImageAspectFlags { +impl fmt::Display for ExternalMemoryHandleTypeFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ImageAspectFlags::COLOR.0, "COLOR"), - (ImageAspectFlags::DEPTH.0, "DEPTH"), - (ImageAspectFlags::STENCIL.0, "STENCIL"), - (ImageAspectFlags::METADATA.0, "METADATA"), - (ImageAspectFlags::MEMORY_PLANE_0_EXT.0, "MEMORY_PLANE_0_EXT"), - (ImageAspectFlags::MEMORY_PLANE_1_EXT.0, "MEMORY_PLANE_1_EXT"), - (ImageAspectFlags::MEMORY_PLANE_2_EXT.0, "MEMORY_PLANE_2_EXT"), - (ImageAspectFlags::MEMORY_PLANE_3_EXT.0, "MEMORY_PLANE_3_EXT"), - (ImageAspectFlags::PLANE_0.0, "PLANE_0"), - (ImageAspectFlags::PLANE_1.0, "PLANE_1"), - (ImageAspectFlags::PLANE_2.0, "PLANE_2"), - ]; + const KNOWN : & [ ( Flags , & str ) ] = & [ ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY" ) ] ; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for QueueFlags { +impl fmt::Display for PeerMemoryFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (QueueFlags::GRAPHICS.0, "GRAPHICS"), - (QueueFlags::COMPUTE.0, "COMPUTE"), - (QueueFlags::TRANSFER.0, "TRANSFER"), - (QueueFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (QueueFlags::PROTECTED.0, "PROTECTED"), + (PeerMemoryFeatureFlags::COPY_SRC.0, "COPY_SRC"), + (PeerMemoryFeatureFlags::COPY_DST.0, "COPY_DST"), + (PeerMemoryFeatureFlags::GENERIC_SRC.0, "GENERIC_SRC"), + (PeerMemoryFeatureFlags::GENERIC_DST.0, "GENERIC_DST"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for MemoryAllocateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(MemoryAllocateFlags::DEVICE_MASK.0, "DEVICE_MASK")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for CommandBufferLevel { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::PRIMARY => Some("PRIMARY"), - Self::SECONDARY => Some("SECONDARY"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for ConditionalRenderingFlagsEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(ConditionalRenderingFlagsEXT::INVERTED.0, "INVERTED")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for DeviceQueueCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(DeviceQueueCreateFlags::PROTECTED.0, "PROTECTED")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ObjectEntryUsageFlagsNVX { ->>>>>>> Implement extension chaining - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(FenceCreateFlags::SIGNALED.0, "SIGNALED")]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for SubgroupFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SubgroupFeatureFlags::BASIC.0, "BASIC"), - (SubgroupFeatureFlags::VOTE.0, "VOTE"), - (SubgroupFeatureFlags::ARITHMETIC.0, "ARITHMETIC"), - (SubgroupFeatureFlags::BALLOT.0, "BALLOT"), - (SubgroupFeatureFlags::SHUFFLE.0, "SHUFFLE"), - (SubgroupFeatureFlags::SHUFFLE_RELATIVE.0, "SHUFFLE_RELATIVE"), - (SubgroupFeatureFlags::CLUSTERED.0, "CLUSTERED"), - (SubgroupFeatureFlags::QUAD.0, "QUAD"), - (SubgroupFeatureFlags::PARTITIONED_NV.0, "PARTITIONED_NV"), -======= -impl fmt::Display for TessellationDomainOrigin { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::UPPER_LEFT => Some("UPPER_LEFT"), - Self::LOWER_LEFT => Some("LOWER_LEFT"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for CoverageModulationModeNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::NONE => Some("NONE"), - Self::RGB => Some("RGB"), - Self::ALPHA => Some("ALPHA"), - Self::RGBA => Some("RGBA"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for QueryType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OCCLUSION => Some("OCCLUSION"), - Self::PIPELINE_STATISTICS => Some("PIPELINE_STATISTICS"), - Self::TIMESTAMP => Some("TIMESTAMP"), - Self::TRANSFORM_FEEDBACK_STREAM_EXT => Some("TRANSFORM_FEEDBACK_STREAM_EXT"), - Self::ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV => { - Some("ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV") - } - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -impl fmt::Display for GeometryInstanceFlagsNV { +impl fmt::Display for PipelineStageFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (PipelineStageFlags::TOP_OF_PIPE.0, "TOP_OF_PIPE"), + (PipelineStageFlags::DRAW_INDIRECT.0, "DRAW_INDIRECT"), + (PipelineStageFlags::VERTEX_INPUT.0, "VERTEX_INPUT"), + (PipelineStageFlags::VERTEX_SHADER.0, "VERTEX_SHADER"), ( - GeometryInstanceFlagsNV::TRIANGLE_CULL_DISABLE.0, - "TRIANGLE_CULL_DISABLE", + PipelineStageFlags::TESSELLATION_CONTROL_SHADER.0, + "TESSELLATION_CONTROL_SHADER", ), ( - GeometryInstanceFlagsNV::TRIANGLE_FRONT_COUNTERCLOCKWISE.0, - "TRIANGLE_FRONT_COUNTERCLOCKWISE", + PipelineStageFlags::TESSELLATION_EVALUATION_SHADER.0, + "TESSELLATION_EVALUATION_SHADER", ), - (GeometryInstanceFlagsNV::FORCE_OPAQUE.0, "FORCE_OPAQUE"), + (PipelineStageFlags::GEOMETRY_SHADER.0, "GEOMETRY_SHADER"), + (PipelineStageFlags::FRAGMENT_SHADER.0, "FRAGMENT_SHADER"), ( - GeometryInstanceFlagsNV::FORCE_NO_OPAQUE.0, - "FORCE_NO_OPAQUE", + PipelineStageFlags::EARLY_FRAGMENT_TESTS.0, + "EARLY_FRAGMENT_TESTS", + ), + ( + PipelineStageFlags::LATE_FRAGMENT_TESTS.0, + "LATE_FRAGMENT_TESTS", + ), + ( + PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT.0, + "COLOR_ATTACHMENT_OUTPUT", + ), + (PipelineStageFlags::COMPUTE_SHADER.0, "COMPUTE_SHADER"), + (PipelineStageFlags::TRANSFER.0, "TRANSFER"), + (PipelineStageFlags::BOTTOM_OF_PIPE.0, "BOTTOM_OF_PIPE"), + (PipelineStageFlags::HOST.0, "HOST"), + (PipelineStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), + (PipelineStageFlags::ALL_COMMANDS.0, "ALL_COMMANDS"), + (PipelineStageFlags::RESERVED_27_KHR.0, "RESERVED_27_KHR"), + (PipelineStageFlags::RESERVED_26_KHR.0, "RESERVED_26_KHR"), + ( + PipelineStageFlags::TRANSFORM_FEEDBACK_EXT.0, + "TRANSFORM_FEEDBACK_EXT", + ), + ( + PipelineStageFlags::CONDITIONAL_RENDERING_EXT.0, + "CONDITIONAL_RENDERING_EXT", + ), + ( + PipelineStageFlags::COMMAND_PROCESS_NVX.0, + "COMMAND_PROCESS_NVX", + ), + ( + PipelineStageFlags::SHADING_RATE_IMAGE_NV.0, + "SHADING_RATE_IMAGE_NV", + ), + ( + PipelineStageFlags::RAY_TRACING_SHADER_NV.0, + "RAY_TRACING_SHADER_NV", + ), + ( + PipelineStageFlags::ACCELERATION_STRUCTURE_BUILD_NV.0, + "ACCELERATION_STRUCTURE_BUILD_NV", + ), + (PipelineStageFlags::TASK_SHADER_NV.0, "TASK_SHADER_NV"), + (PipelineStageFlags::MESH_SHADER_NV.0, "MESH_SHADER_NV"), + ( + PipelineStageFlags::FRAGMENT_DENSITY_PROCESS_EXT.0, + "FRAGMENT_DENSITY_PROCESS_EXT", ), ->>>>>>> Implement extension chaining ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for DisplayPowerStateEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OFF => Some("OFF"), - Self::SUSPEND => Some("SUSPEND"), - Self::ON => Some("ON"), -======= -impl fmt::Display for DiscardRectangleModeEXT { +impl fmt::Display for QueryType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::INCLUSIVE => Some("INCLUSIVE"), - Self::EXCLUSIVE => Some("EXCLUSIVE"), + Self::OCCLUSION => Some("OCCLUSION"), + Self::PIPELINE_STATISTICS => Some("PIPELINE_STATISTICS"), + Self::TIMESTAMP => Some("TIMESTAMP"), + Self::RESERVED_8 => Some("RESERVED_8"), + Self::RESERVED_4 => Some("RESERVED_4"), + Self::TRANSFORM_FEEDBACK_STREAM_EXT => Some("TRANSFORM_FEEDBACK_STREAM_EXT"), + Self::ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV => { + Some("ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV") + } _ => None, }; if let Some(x) = name { @@ -61122,11 +59018,17 @@ impl fmt::Display for DiscardRectangleModeEXT { } } } -impl fmt::Display for ChromaLocation { +impl fmt::Display for CompareOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::COSITED_EVEN => Some("COSITED_EVEN"), - Self::MIDPOINT => Some("MIDPOINT"), + Self::NEVER => Some("NEVER"), + Self::LESS => Some("LESS"), + Self::EQUAL => Some("EQUAL"), + Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"), + Self::GREATER => Some("GREATER"), + Self::NOT_EQUAL => Some("NOT_EQUAL"), + Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"), + Self::ALWAYS => Some("ALWAYS"), _ => None, }; if let Some(x) = name { @@ -61136,13 +59038,11 @@ impl fmt::Display for ChromaLocation { } } } -impl fmt::Display for PolygonMode { +impl fmt::Display for ValidationCheckEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::FILL => Some("FILL"), - Self::LINE => Some("LINE"), - Self::POINT => Some("POINT"), - Self::FILL_RECTANGLE_NV => Some("FILL_RECTANGLE_NV"), + Self::ALL => Some("ALL"), + Self::SHADERS => Some("SHADERS"), _ => None, }; if let Some(x) = name { @@ -61152,47 +59052,15 @@ impl fmt::Display for PolygonMode { } } } -impl fmt::Display for DebugReportObjectTypeEXT { +impl fmt::Display for PresentModeKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::UNKNOWN => Some("UNKNOWN"), - Self::INSTANCE => Some("INSTANCE"), - Self::PHYSICAL_DEVICE => Some("PHYSICAL_DEVICE"), - Self::DEVICE => Some("DEVICE"), - Self::QUEUE => Some("QUEUE"), - Self::SEMAPHORE => Some("SEMAPHORE"), - Self::COMMAND_BUFFER => Some("COMMAND_BUFFER"), - Self::FENCE => Some("FENCE"), - Self::DEVICE_MEMORY => Some("DEVICE_MEMORY"), - Self::BUFFER => Some("BUFFER"), - Self::IMAGE => Some("IMAGE"), - Self::EVENT => Some("EVENT"), - Self::QUERY_POOL => Some("QUERY_POOL"), - Self::BUFFER_VIEW => Some("BUFFER_VIEW"), - Self::IMAGE_VIEW => Some("IMAGE_VIEW"), - Self::SHADER_MODULE => Some("SHADER_MODULE"), - Self::PIPELINE_CACHE => Some("PIPELINE_CACHE"), - Self::PIPELINE_LAYOUT => Some("PIPELINE_LAYOUT"), - Self::RENDER_PASS => Some("RENDER_PASS"), - Self::PIPELINE => Some("PIPELINE"), - Self::DESCRIPTOR_SET_LAYOUT => Some("DESCRIPTOR_SET_LAYOUT"), - Self::SAMPLER => Some("SAMPLER"), - Self::DESCRIPTOR_POOL => Some("DESCRIPTOR_POOL"), - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::FRAMEBUFFER => Some("FRAMEBUFFER"), - Self::COMMAND_POOL => Some("COMMAND_POOL"), - Self::SURFACE_KHR => Some("SURFACE_KHR"), - Self::SWAPCHAIN_KHR => Some("SWAPCHAIN_KHR"), - Self::DEBUG_REPORT_CALLBACK => Some("DEBUG_REPORT_CALLBACK"), - Self::DISPLAY_KHR => Some("DISPLAY_KHR"), - Self::DISPLAY_MODE_KHR => Some("DISPLAY_MODE_KHR"), - Self::OBJECT_TABLE_NVX => Some("OBJECT_TABLE_NVX"), - Self::INDIRECT_COMMANDS_LAYOUT_NVX => Some("INDIRECT_COMMANDS_LAYOUT_NVX"), - Self::VALIDATION_CACHE => Some("VALIDATION_CACHE"), - Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"), - Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"), - Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), ->>>>>>> Implement extension chaining + Self::IMMEDIATE => Some("IMMEDIATE"), + Self::MAILBOX => Some("MAILBOX"), + Self::FIFO => Some("FIFO"), + Self::FIFO_RELAXED => Some("FIFO_RELAXED"), + Self::SHARED_DEMAND_REFRESH => Some("SHARED_DEMAND_REFRESH"), + Self::SHARED_CONTINUOUS_REFRESH => Some("SHARED_CONTINUOUS_REFRESH"), _ => None, }; if let Some(x) = name { @@ -61202,23 +59070,22 @@ impl fmt::Display for DebugReportObjectTypeEXT { } } } -impl fmt::Display for ObjectEntryUsageFlagsNVX { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ObjectEntryUsageFlagsNVX::GRAPHICS.0, "GRAPHICS"), - (ObjectEntryUsageFlagsNVX::COMPUTE.0, "COMPUTE"), - ]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for ExternalSemaphoreHandleTypeFlags { -======= -impl fmt::Display for FrontFace { +impl fmt::Display for DescriptorType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::COUNTER_CLOCKWISE => Some("COUNTER_CLOCKWISE"), - Self::CLOCKWISE => Some("CLOCKWISE"), + Self::SAMPLER => Some("SAMPLER"), + Self::COMBINED_IMAGE_SAMPLER => Some("COMBINED_IMAGE_SAMPLER"), + Self::SAMPLED_IMAGE => Some("SAMPLED_IMAGE"), + Self::STORAGE_IMAGE => Some("STORAGE_IMAGE"), + Self::UNIFORM_TEXEL_BUFFER => Some("UNIFORM_TEXEL_BUFFER"), + Self::STORAGE_TEXEL_BUFFER => Some("STORAGE_TEXEL_BUFFER"), + Self::UNIFORM_BUFFER => Some("UNIFORM_BUFFER"), + Self::STORAGE_BUFFER => Some("STORAGE_BUFFER"), + Self::UNIFORM_BUFFER_DYNAMIC => Some("UNIFORM_BUFFER_DYNAMIC"), + Self::STORAGE_BUFFER_DYNAMIC => Some("STORAGE_BUFFER_DYNAMIC"), + Self::INPUT_ATTACHMENT => Some("INPUT_ATTACHMENT"), + Self::INLINE_UNIFORM_BLOCK_EXT => Some("INLINE_UNIFORM_BLOCK_EXT"), + Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), _ => None, }; if let Some(x) = name { @@ -61228,17 +59095,12 @@ impl fmt::Display for FrontFace { } } } -impl fmt::Display for CompareOp { +impl fmt::Display for SamplerReductionModeEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::NEVER => Some("NEVER"), - Self::LESS => Some("LESS"), - Self::EQUAL => Some("EQUAL"), - Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"), - Self::GREATER => Some("GREATER"), - Self::NOT_EQUAL => Some("NOT_EQUAL"), - Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"), - Self::ALWAYS => Some("ALWAYS"), + Self::WEIGHTED_AVERAGE => Some("WEIGHTED_AVERAGE"), + Self::MIN => Some("MIN"), + Self::MAX => Some("MAX"), _ => None, }; if let Some(x) = name { @@ -61248,47 +59110,55 @@ impl fmt::Display for CompareOp { } } } -impl fmt::Display for ColorComponentFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ColorComponentFlags::R.0, "R"), - (ColorComponentFlags::G.0, "G"), - (ColorComponentFlags::B.0, "B"), - (ColorComponentFlags::A.0, "A"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ExternalMemoryHandleTypeFlagsNV { ->>>>>>> Implement extension chaining +impl fmt::Display for ImageUsageFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (ImageUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), + (ImageUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), + (ImageUsageFlags::SAMPLED.0, "SAMPLED"), + (ImageUsageFlags::STORAGE.0, "STORAGE"), + (ImageUsageFlags::COLOR_ATTACHMENT.0, "COLOR_ATTACHMENT"), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV", + ImageUsageFlags::DEPTH_STENCIL_ATTACHMENT.0, + "DEPTH_STENCIL_ATTACHMENT", ), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV", + ImageUsageFlags::TRANSIENT_ATTACHMENT.0, + "TRANSIENT_ATTACHMENT", ), + (ImageUsageFlags::INPUT_ATTACHMENT.0, "INPUT_ATTACHMENT"), + (ImageUsageFlags::RESERVED_13_KHR.0, "RESERVED_13_KHR"), + (ImageUsageFlags::RESERVED_14_KHR.0, "RESERVED_14_KHR"), + (ImageUsageFlags::RESERVED_15_KHR.0, "RESERVED_15_KHR"), + (ImageUsageFlags::RESERVED_10_KHR.0, "RESERVED_10_KHR"), + (ImageUsageFlags::RESERVED_11_KHR.0, "RESERVED_11_KHR"), + (ImageUsageFlags::RESERVED_12_KHR.0, "RESERVED_12_KHR"), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV", + ImageUsageFlags::SHADING_RATE_IMAGE_NV.0, + "SHADING_RATE_IMAGE_NV", ), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV", + ImageUsageFlags::FRAGMENT_DENSITY_MAP_EXT.0, + "FRAGMENT_DENSITY_MAP_EXT", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DisplayPowerStateEXT { +impl fmt::Display for ObjectEntryUsageFlagsNVX { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (ObjectEntryUsageFlagsNVX::GRAPHICS.0, "GRAPHICS"), + (ObjectEntryUsageFlagsNVX::COMPUTE.0, "COMPUTE"), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for SamplerMipmapMode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::OFF => Some("OFF"), - Self::SUSPEND => Some("SUSPEND"), - Self::ON => Some("ON"), + Self::NEAREST => Some("NEAREST"), + Self::LINEAR => Some("LINEAR"), _ => None, }; if let Some(x) = name { @@ -61298,48 +59168,74 @@ impl fmt::Display for DisplayPowerStateEXT { } } } -impl fmt::Display for SubpassDescriptionFlags { +impl fmt::Display for ShaderStageFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (ShaderStageFlags::VERTEX.0, "VERTEX"), ( - SubpassDescriptionFlags::PER_VIEW_ATTRIBUTES_NVX.0, - "PER_VIEW_ATTRIBUTES_NVX", + ShaderStageFlags::TESSELLATION_CONTROL.0, + "TESSELLATION_CONTROL", ), ( - SubpassDescriptionFlags::PER_VIEW_POSITION_X_ONLY_NVX.0, - "PER_VIEW_POSITION_X_ONLY_NVX", + ShaderStageFlags::TESSELLATION_EVALUATION.0, + "TESSELLATION_EVALUATION", ), + (ShaderStageFlags::GEOMETRY.0, "GEOMETRY"), + (ShaderStageFlags::FRAGMENT.0, "FRAGMENT"), + (ShaderStageFlags::COMPUTE.0, "COMPUTE"), + (ShaderStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), + (ShaderStageFlags::ALL.0, "ALL"), + (ShaderStageFlags::RAYGEN_NV.0, "RAYGEN_NV"), + (ShaderStageFlags::ANY_HIT_NV.0, "ANY_HIT_NV"), + (ShaderStageFlags::CLOSEST_HIT_NV.0, "CLOSEST_HIT_NV"), + (ShaderStageFlags::MISS_NV.0, "MISS_NV"), + (ShaderStageFlags::INTERSECTION_NV.0, "INTERSECTION_NV"), + (ShaderStageFlags::CALLABLE_NV.0, "CALLABLE_NV"), + (ShaderStageFlags::TASK_NV.0, "TASK_NV"), + (ShaderStageFlags::MESH_NV.0, "MESH_NV"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for IndirectCommandsLayoutUsageFlagsNVX { +impl fmt::Display for SurfaceTransformFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (SurfaceTransformFlagsKHR::IDENTITY.0, "IDENTITY"), + (SurfaceTransformFlagsKHR::ROTATE_90.0, "ROTATE_90"), + (SurfaceTransformFlagsKHR::ROTATE_180.0, "ROTATE_180"), + (SurfaceTransformFlagsKHR::ROTATE_270.0, "ROTATE_270"), ( - IndirectCommandsLayoutUsageFlagsNVX::UNORDERED_SEQUENCES.0, - "UNORDERED_SEQUENCES", + SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR.0, + "HORIZONTAL_MIRROR", ), ( - IndirectCommandsLayoutUsageFlagsNVX::SPARSE_SEQUENCES.0, - "SPARSE_SEQUENCES", + SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_90.0, + "HORIZONTAL_MIRROR_ROTATE_90", ), ( - IndirectCommandsLayoutUsageFlagsNVX::EMPTY_EXECUTIONS.0, - "EMPTY_EXECUTIONS", + SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_180.0, + "HORIZONTAL_MIRROR_ROTATE_180", ), ( - IndirectCommandsLayoutUsageFlagsNVX::INDEXED_SEQUENCES.0, - "INDEXED_SEQUENCES", + SurfaceTransformFlagsKHR::HORIZONTAL_MIRROR_ROTATE_270.0, + "HORIZONTAL_MIRROR_ROTATE_270", ), + (SurfaceTransformFlagsKHR::INHERIT.0, "INHERIT"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DeviceEventTypeEXT { +impl fmt::Display for QueryControlFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[(QueryControlFlags::PRECISE.0, "PRECISE")]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for RasterizationOrderAMD { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::DISPLAY_HOTPLUG => Some("DISPLAY_HOTPLUG"), + Self::STRICT => Some("STRICT"), + Self::RELAXED => Some("RELAXED"), _ => None, }; if let Some(x) = name { @@ -61349,39 +59245,40 @@ impl fmt::Display for DeviceEventTypeEXT { } } } -impl fmt::Display for DeviceGroupPresentModeFlagsKHR { +impl fmt::Display for IndirectCommandsLayoutUsageFlagsNVX { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (DeviceGroupPresentModeFlagsKHR::LOCAL.0, "LOCAL"), - (DeviceGroupPresentModeFlagsKHR::REMOTE.0, "REMOTE"), - (DeviceGroupPresentModeFlagsKHR::SUM.0, "SUM"), ( - DeviceGroupPresentModeFlagsKHR::LOCAL_MULTI_DEVICE.0, - "LOCAL_MULTI_DEVICE", + IndirectCommandsLayoutUsageFlagsNVX::UNORDERED_SEQUENCES.0, + "UNORDERED_SEQUENCES", + ), + ( + IndirectCommandsLayoutUsageFlagsNVX::SPARSE_SEQUENCES.0, + "SPARSE_SEQUENCES", + ), + ( + IndirectCommandsLayoutUsageFlagsNVX::EMPTY_EXECUTIONS.0, + "EMPTY_EXECUTIONS", + ), + ( + IndirectCommandsLayoutUsageFlagsNVX::INDEXED_SEQUENCES.0, + "INDEXED_SEQUENCES", ), ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for DebugReportFlagsEXT { -======= -impl fmt::Display for BufferCreateFlags { +impl fmt::Display for ConditionalRenderingFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (BufferCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (BufferCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), - (BufferCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), - (BufferCreateFlags::PROTECTED.0, "PROTECTED"), - ]; + const KNOWN: &[(Flags, &str)] = &[(ConditionalRenderingFlagsEXT::INVERTED.0, "INVERTED")]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SamplerYcbcrRange { +impl fmt::Display for AccelerationStructureTypeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ITU_FULL => Some("ITU_FULL"), - Self::ITU_NARROW => Some("ITU_NARROW"), + Self::TOP_LEVEL => Some("TOP_LEVEL"), + Self::BOTTOM_LEVEL => Some("BOTTOM_LEVEL"), _ => None, }; if let Some(x) = name { @@ -61391,11 +59288,16 @@ impl fmt::Display for SamplerYcbcrRange { } } } -impl fmt::Display for GeometryTypeNV { +impl fmt::Display for ImageViewType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::TRIANGLES => Some("TRIANGLES"), - Self::AABBS => Some("AABBS"), + Self::TYPE_1D => Some("TYPE_1D"), + Self::TYPE_2D => Some("TYPE_2D"), + Self::TYPE_3D => Some("TYPE_3D"), + Self::CUBE => Some("CUBE"), + Self::TYPE_1D_ARRAY => Some("TYPE_1D_ARRAY"), + Self::TYPE_2D_ARRAY => Some("TYPE_2D_ARRAY"), + Self::CUBE_ARRAY => Some("CUBE_ARRAY"), _ => None, }; if let Some(x) = name { @@ -61405,40 +59307,10 @@ impl fmt::Display for GeometryTypeNV { } } } -impl fmt::Display for BuildAccelerationStructureFlagsNV { ->>>>>>> Implement extension chaining - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DebugReportFlagsEXT::INFORMATION.0, "INFORMATION"), - (DebugReportFlagsEXT::WARNING.0, "WARNING"), - ( - DebugReportFlagsEXT::PERFORMANCE_WARNING.0, - "PERFORMANCE_WARNING", - ), - (DebugReportFlagsEXT::ERROR.0, "ERROR"), - (DebugReportFlagsEXT::DEBUG.0, "DEBUG"), - ]; - display_flags(f, KNOWN, self.0) - } -} -<<<<<<< HEAD -impl fmt::Display for ComponentSwizzle { +impl fmt::Display for ValidationCacheHeaderVersionEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::IDENTITY => Some("IDENTITY"), - Self::ZERO => Some("ZERO"), Self::ONE => Some("ONE"), - Self::R => Some("R"), - Self::G => Some("G"), - Self::B => Some("B"), - Self::A => Some("A"), -======= -impl fmt::Display for ConservativeRasterizationModeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DISABLED => Some("DISABLED"), - Self::OVERESTIMATE => Some("OVERESTIMATE"), - Self::UNDERESTIMATE => Some("UNDERESTIMATE"), _ => None, }; if let Some(x) = name { @@ -61448,12 +59320,12 @@ impl fmt::Display for ConservativeRasterizationModeEXT { } } } -impl fmt::Display for AttachmentLoadOp { +impl fmt::Display for AccelerationStructureMemoryRequirementsTypeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::LOAD => Some("LOAD"), - Self::CLEAR => Some("CLEAR"), - Self::DONT_CARE => Some("DONT_CARE"), + Self::OBJECT => Some("OBJECT"), + Self::BUILD_SCRATCH => Some("BUILD_SCRATCH"), + Self::UPDATE_SCRATCH => Some("UPDATE_SCRATCH"), _ => None, }; if let Some(x) = name { @@ -61463,213 +59335,157 @@ impl fmt::Display for AttachmentLoadOp { } } } -impl fmt::Display for SubgroupFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SubgroupFeatureFlags::BASIC.0, "BASIC"), - (SubgroupFeatureFlags::VOTE.0, "VOTE"), - (SubgroupFeatureFlags::ARITHMETIC.0, "ARITHMETIC"), - (SubgroupFeatureFlags::BALLOT.0, "BALLOT"), - (SubgroupFeatureFlags::SHUFFLE.0, "SHUFFLE"), - (SubgroupFeatureFlags::SHUFFLE_RELATIVE.0, "SHUFFLE_RELATIVE"), - (SubgroupFeatureFlags::CLUSTERED.0, "CLUSTERED"), - (SubgroupFeatureFlags::QUAD.0, "QUAD"), - (SubgroupFeatureFlags::PARTITIONED_NV.0, "PARTITIONED_NV"), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for DisplayPlaneAlphaFlagsKHR { +impl fmt::Display for AccessFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (DisplayPlaneAlphaFlagsKHR::OPAQUE.0, "OPAQUE"), - (DisplayPlaneAlphaFlagsKHR::GLOBAL.0, "GLOBAL"), - (DisplayPlaneAlphaFlagsKHR::PER_PIXEL.0, "PER_PIXEL"), ( - DisplayPlaneAlphaFlagsKHR::PER_PIXEL_PREMULTIPLIED.0, - "PER_PIXEL_PREMULTIPLIED", + AccessFlags::INDIRECT_COMMAND_READ.0, + "INDIRECT_COMMAND_READ", ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for DescriptorUpdateTemplateType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for PhysicalDeviceType { -======= -impl fmt::Display for DescriptorType { ->>>>>>> Implement extension chaining - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OTHER => Some("OTHER"), - Self::INTEGRATED_GPU => Some("INTEGRATED_GPU"), - Self::DISCRETE_GPU => Some("DISCRETE_GPU"), - Self::VIRTUAL_GPU => Some("VIRTUAL_GPU"), - Self::CPU => Some("CPU"), - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for PipelineBindPoint { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::GRAPHICS => Some("GRAPHICS"), - Self::COMPUTE => Some("COMPUTE"), - Self::RAY_TRACING_NV => Some("RAY_TRACING_NV"), -======= -impl fmt::Display for ExternalFenceFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ + (AccessFlags::INDEX_READ.0, "INDEX_READ"), ( - ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_EXPORTABLE.0, - "EXTERNAL_FENCE_FEATURE_EXPORTABLE", + AccessFlags::VERTEX_ATTRIBUTE_READ.0, + "VERTEX_ATTRIBUTE_READ", ), + (AccessFlags::UNIFORM_READ.0, "UNIFORM_READ"), ( - ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_IMPORTABLE.0, - "EXTERNAL_FENCE_FEATURE_IMPORTABLE", + AccessFlags::INPUT_ATTACHMENT_READ.0, + "INPUT_ATTACHMENT_READ", ), - ]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for VendorId { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::VIV => Some("VIV"), - Self::VSI => Some("VSI"), - Self::KAZAN => Some("KAZAN"), ->>>>>>> Implement extension chaining - _ => None, - }; - if let Some(x) = name { - f.write_str(x) - } else { - write!(f, "{}", self.0) - } - } -} -<<<<<<< HEAD -impl fmt::Display for FenceImportFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(FenceImportFlags::TEMPORARY.0, "TEMPORARY")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for TimeDomainEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DEVICE => Some("DEVICE"), - Self::CLOCK_MONOTONIC => Some("CLOCK_MONOTONIC"), - Self::CLOCK_MONOTONIC_RAW => Some("CLOCK_MONOTONIC_RAW"), - Self::QUERY_PERFORMANCE_COUNTER => Some("QUERY_PERFORMANCE_COUNTER"), -======= -impl fmt::Display for PipelineStageFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (PipelineStageFlags::TOP_OF_PIPE.0, "TOP_OF_PIPE"), - (PipelineStageFlags::DRAW_INDIRECT.0, "DRAW_INDIRECT"), - (PipelineStageFlags::VERTEX_INPUT.0, "VERTEX_INPUT"), - (PipelineStageFlags::VERTEX_SHADER.0, "VERTEX_SHADER"), + (AccessFlags::SHADER_READ.0, "SHADER_READ"), + (AccessFlags::SHADER_WRITE.0, "SHADER_WRITE"), ( - PipelineStageFlags::TESSELLATION_CONTROL_SHADER.0, - "TESSELLATION_CONTROL_SHADER", + AccessFlags::COLOR_ATTACHMENT_READ.0, + "COLOR_ATTACHMENT_READ", ), ( - PipelineStageFlags::TESSELLATION_EVALUATION_SHADER.0, - "TESSELLATION_EVALUATION_SHADER", + AccessFlags::COLOR_ATTACHMENT_WRITE.0, + "COLOR_ATTACHMENT_WRITE", ), - (PipelineStageFlags::GEOMETRY_SHADER.0, "GEOMETRY_SHADER"), - (PipelineStageFlags::FRAGMENT_SHADER.0, "FRAGMENT_SHADER"), ( - PipelineStageFlags::EARLY_FRAGMENT_TESTS.0, - "EARLY_FRAGMENT_TESTS", + AccessFlags::DEPTH_STENCIL_ATTACHMENT_READ.0, + "DEPTH_STENCIL_ATTACHMENT_READ", ), ( - PipelineStageFlags::LATE_FRAGMENT_TESTS.0, - "LATE_FRAGMENT_TESTS", + AccessFlags::DEPTH_STENCIL_ATTACHMENT_WRITE.0, + "DEPTH_STENCIL_ATTACHMENT_WRITE", ), + (AccessFlags::TRANSFER_READ.0, "TRANSFER_READ"), + (AccessFlags::TRANSFER_WRITE.0, "TRANSFER_WRITE"), + (AccessFlags::HOST_READ.0, "HOST_READ"), + (AccessFlags::HOST_WRITE.0, "HOST_WRITE"), + (AccessFlags::MEMORY_READ.0, "MEMORY_READ"), + (AccessFlags::MEMORY_WRITE.0, "MEMORY_WRITE"), + (AccessFlags::RESERVED_30_KHR.0, "RESERVED_30_KHR"), + (AccessFlags::RESERVED_31_KHR.0, "RESERVED_31_KHR"), + (AccessFlags::RESERVED_28_KHR.0, "RESERVED_28_KHR"), + (AccessFlags::RESERVED_29_KHR.0, "RESERVED_29_KHR"), ( - PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT.0, - "COLOR_ATTACHMENT_OUTPUT", + AccessFlags::TRANSFORM_FEEDBACK_WRITE_EXT.0, + "TRANSFORM_FEEDBACK_WRITE_EXT", ), - (PipelineStageFlags::COMPUTE_SHADER.0, "COMPUTE_SHADER"), - (PipelineStageFlags::TRANSFER.0, "TRANSFER"), - (PipelineStageFlags::BOTTOM_OF_PIPE.0, "BOTTOM_OF_PIPE"), - (PipelineStageFlags::HOST.0, "HOST"), - (PipelineStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), - (PipelineStageFlags::ALL_COMMANDS.0, "ALL_COMMANDS"), ( - PipelineStageFlags::TRANSFORM_FEEDBACK_EXT.0, - "TRANSFORM_FEEDBACK_EXT", + AccessFlags::TRANSFORM_FEEDBACK_COUNTER_READ_EXT.0, + "TRANSFORM_FEEDBACK_COUNTER_READ_EXT", ), ( - PipelineStageFlags::CONDITIONAL_RENDERING_EXT.0, - "CONDITIONAL_RENDERING_EXT", + AccessFlags::TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT.0, + "TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT", ), ( - PipelineStageFlags::COMMAND_PROCESS_NVX.0, - "COMMAND_PROCESS_NVX", + AccessFlags::CONDITIONAL_RENDERING_READ_EXT.0, + "CONDITIONAL_RENDERING_READ_EXT", ), ( - PipelineStageFlags::SHADING_RATE_IMAGE_NV.0, - "SHADING_RATE_IMAGE_NV", + AccessFlags::COMMAND_PROCESS_READ_NVX.0, + "COMMAND_PROCESS_READ_NVX", + ), + ( + AccessFlags::COMMAND_PROCESS_WRITE_NVX.0, + "COMMAND_PROCESS_WRITE_NVX", + ), + ( + AccessFlags::COLOR_ATTACHMENT_READ_NONCOHERENT_EXT.0, + "COLOR_ATTACHMENT_READ_NONCOHERENT_EXT", + ), + ( + AccessFlags::SHADING_RATE_IMAGE_READ_NV.0, + "SHADING_RATE_IMAGE_READ_NV", + ), + ( + AccessFlags::ACCELERATION_STRUCTURE_READ_NV.0, + "ACCELERATION_STRUCTURE_READ_NV", + ), + ( + AccessFlags::ACCELERATION_STRUCTURE_WRITE_NV.0, + "ACCELERATION_STRUCTURE_WRITE_NV", + ), + ( + AccessFlags::FRAGMENT_DENSITY_MAP_READ_EXT.0, + "FRAGMENT_DENSITY_MAP_READ_EXT", + ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for ObjectEntryTypeNVX { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), + Self::PIPELINE => Some("PIPELINE"), + Self::INDEX_BUFFER => Some("INDEX_BUFFER"), + Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), + Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for QueueGlobalPriorityEXT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::LOW => Some("LOW"), + Self::MEDIUM => Some("MEDIUM"), + Self::HIGH => Some("HIGH"), + Self::REALTIME => Some("REALTIME"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for ExternalMemoryFeatureFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + ( + ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY.0, + "EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY", ), ( - PipelineStageFlags::RAY_TRACING_SHADER_NV.0, - "RAY_TRACING_SHADER_NV", + ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_EXPORTABLE.0, + "EXTERNAL_MEMORY_FEATURE_EXPORTABLE", ), ( - PipelineStageFlags::ACCELERATION_STRUCTURE_BUILD_NV.0, - "ACCELERATION_STRUCTURE_BUILD_NV", + ExternalMemoryFeatureFlags::EXTERNAL_MEMORY_FEATURE_IMPORTABLE.0, + "EXTERNAL_MEMORY_FEATURE_IMPORTABLE", ), - (PipelineStageFlags::TASK_SHADER_NV.0, "TASK_SHADER_NV"), - (PipelineStageFlags::MESH_SHADER_NV.0, "MESH_SHADER_NV"), - (PipelineStageFlags::RESERVED_23_EXT.0, "RESERVED_23_EXT"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ImageLayout { +impl fmt::Display for IndexType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::UNDEFINED => Some("UNDEFINED"), - Self::GENERAL => Some("GENERAL"), - Self::COLOR_ATTACHMENT_OPTIMAL => Some("COLOR_ATTACHMENT_OPTIMAL"), - Self::DEPTH_STENCIL_ATTACHMENT_OPTIMAL => Some("DEPTH_STENCIL_ATTACHMENT_OPTIMAL"), - Self::DEPTH_STENCIL_READ_ONLY_OPTIMAL => Some("DEPTH_STENCIL_READ_ONLY_OPTIMAL"), - Self::SHADER_READ_ONLY_OPTIMAL => Some("SHADER_READ_ONLY_OPTIMAL"), - Self::TRANSFER_SRC_OPTIMAL => Some("TRANSFER_SRC_OPTIMAL"), - Self::TRANSFER_DST_OPTIMAL => Some("TRANSFER_DST_OPTIMAL"), - Self::PREINITIALIZED => Some("PREINITIALIZED"), - Self::PRESENT_SRC_KHR => Some("PRESENT_SRC_KHR"), - Self::SHARED_PRESENT_KHR => Some("SHARED_PRESENT_KHR"), - Self::SHADING_RATE_OPTIMAL_NV => Some("SHADING_RATE_OPTIMAL_NV"), - Self::DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL => { - Some("DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL") - } - Self::DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL => { - Some("DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL") - } ->>>>>>> Implement extension chaining + Self::UINT16 => Some("UINT16"), + Self::UINT32 => Some("UINT32"), + Self::NONE_NV => Some("NONE_NV"), _ => None, }; if let Some(x) = name { @@ -61679,15 +59495,17 @@ impl fmt::Display for ImageLayout { } } } -<<<<<<< HEAD -impl fmt::Display for DescriptorBindingFlagsEXT { +impl fmt::Display for RenderPassCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ -======= -impl fmt::Display for ValidationCacheHeaderVersionEXT { + const KNOWN: &[(Flags, &str)] = + &[(RenderPassCreateFlags::RESERVED_0_KHR.0, "RESERVED_0_KHR")]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for DescriptorUpdateTemplateType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ONE => Some("ONE"), + Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), _ => None, }; if let Some(x) = name { @@ -61697,350 +59515,170 @@ impl fmt::Display for ValidationCacheHeaderVersionEXT { } } } -impl fmt::Display for ExternalMemoryHandleTypeFlags { +impl fmt::Display for TimeDomainEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [ ( Flags , & str ) ] = & [ ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY" ) ] ; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::DEVICE => Some("DEVICE"), + Self::CLOCK_MONOTONIC => Some("CLOCK_MONOTONIC"), + Self::CLOCK_MONOTONIC_RAW => Some("CLOCK_MONOTONIC_RAW"), + Self::QUERY_PERFORMANCE_COUNTER => Some("QUERY_PERFORMANCE_COUNTER"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for ShaderStageFlags { +impl fmt::Display for DeviceGroupPresentModeFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (ShaderStageFlags::VERTEX.0, "VERTEX"), - ( - ShaderStageFlags::TESSELLATION_CONTROL.0, - "TESSELLATION_CONTROL", - ), + (DeviceGroupPresentModeFlagsKHR::LOCAL.0, "LOCAL"), + (DeviceGroupPresentModeFlagsKHR::REMOTE.0, "REMOTE"), + (DeviceGroupPresentModeFlagsKHR::SUM.0, "SUM"), ( - ShaderStageFlags::TESSELLATION_EVALUATION.0, - "TESSELLATION_EVALUATION", + DeviceGroupPresentModeFlagsKHR::LOCAL_MULTI_DEVICE.0, + "LOCAL_MULTI_DEVICE", ), - (ShaderStageFlags::GEOMETRY.0, "GEOMETRY"), - (ShaderStageFlags::FRAGMENT.0, "FRAGMENT"), - (ShaderStageFlags::COMPUTE.0, "COMPUTE"), - (ShaderStageFlags::ALL_GRAPHICS.0, "ALL_GRAPHICS"), - (ShaderStageFlags::ALL.0, "ALL"), - (ShaderStageFlags::RAYGEN_NV.0, "RAYGEN_NV"), - (ShaderStageFlags::ANY_HIT_NV.0, "ANY_HIT_NV"), - (ShaderStageFlags::CLOSEST_HIT_NV.0, "CLOSEST_HIT_NV"), - (ShaderStageFlags::MISS_NV.0, "MISS_NV"), - (ShaderStageFlags::INTERSECTION_NV.0, "INTERSECTION_NV"), - (ShaderStageFlags::CALLABLE_NV.0, "CALLABLE_NV"), - (ShaderStageFlags::TASK_NV.0, "TASK_NV"), - (ShaderStageFlags::MESH_NV.0, "MESH_NV"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SemaphoreImportFlags { +impl fmt::Display for ImageViewCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(SemaphoreImportFlags::TEMPORARY.0, "TEMPORARY")]; + const KNOWN: &[(Flags, &str)] = &[( + ImageViewCreateFlags::FRAGMENT_DENSITY_MAP_DYNAMIC_EXT.0, + "FRAGMENT_DENSITY_MAP_DYNAMIC_EXT", + )]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SurfaceCounterFlagsEXT { +impl fmt::Display for SwapchainCreateFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(SurfaceCounterFlagsEXT::VBLANK.0, "VBLANK")]; + const KNOWN: &[(Flags, &str)] = &[ + ( + SwapchainCreateFlagsKHR::SPLIT_INSTANCE_BIND_REGIONS.0, + "SPLIT_INSTANCE_BIND_REGIONS", + ), + (SwapchainCreateFlagsKHR::PROTECTED.0, "PROTECTED"), + (SwapchainCreateFlagsKHR::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), + ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for SparseMemoryBindFlags { +impl fmt::Display for CoverageModulationModeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(SparseMemoryBindFlags::METADATA.0, "METADATA")]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::NONE => Some("NONE"), + Self::RGB => Some("RGB"), + Self::ALPHA => Some("ALPHA"), + Self::RGBA => Some("RGBA"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for DescriptorBindingFlagsEXT { +impl fmt::Display for MemoryAllocateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ ->>>>>>> Implement extension chaining - ( - DescriptorBindingFlagsEXT::UPDATE_AFTER_BIND.0, - "UPDATE_AFTER_BIND", - ), - ( - DescriptorBindingFlagsEXT::UPDATE_UNUSED_WHILE_PENDING.0, - "UPDATE_UNUSED_WHILE_PENDING", - ), - ( - DescriptorBindingFlagsEXT::PARTIALLY_BOUND.0, - "PARTIALLY_BOUND", - ), - ( - DescriptorBindingFlagsEXT::VARIABLE_DESCRIPTOR_COUNT.0, - "VARIABLE_DESCRIPTOR_COUNT", - ), - ]; + const KNOWN: &[(Flags, &str)] = &[(MemoryAllocateFlags::DEVICE_MASK.0, "DEVICE_MASK")]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for PeerMemoryFeatureFlags { +impl fmt::Display for DebugReportObjectTypeEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (PeerMemoryFeatureFlags::COPY_SRC.0, "COPY_SRC"), - (PeerMemoryFeatureFlags::COPY_DST.0, "COPY_DST"), - (PeerMemoryFeatureFlags::GENERIC_SRC.0, "GENERIC_SRC"), - (PeerMemoryFeatureFlags::GENERIC_DST.0, "GENERIC_DST"), -======= -impl fmt::Display for Format { + let name = match *self { + Self::UNKNOWN => Some("UNKNOWN"), + Self::INSTANCE => Some("INSTANCE"), + Self::PHYSICAL_DEVICE => Some("PHYSICAL_DEVICE"), + Self::DEVICE => Some("DEVICE"), + Self::QUEUE => Some("QUEUE"), + Self::SEMAPHORE => Some("SEMAPHORE"), + Self::COMMAND_BUFFER => Some("COMMAND_BUFFER"), + Self::FENCE => Some("FENCE"), + Self::DEVICE_MEMORY => Some("DEVICE_MEMORY"), + Self::BUFFER => Some("BUFFER"), + Self::IMAGE => Some("IMAGE"), + Self::EVENT => Some("EVENT"), + Self::QUERY_POOL => Some("QUERY_POOL"), + Self::BUFFER_VIEW => Some("BUFFER_VIEW"), + Self::IMAGE_VIEW => Some("IMAGE_VIEW"), + Self::SHADER_MODULE => Some("SHADER_MODULE"), + Self::PIPELINE_CACHE => Some("PIPELINE_CACHE"), + Self::PIPELINE_LAYOUT => Some("PIPELINE_LAYOUT"), + Self::RENDER_PASS => Some("RENDER_PASS"), + Self::PIPELINE => Some("PIPELINE"), + Self::DESCRIPTOR_SET_LAYOUT => Some("DESCRIPTOR_SET_LAYOUT"), + Self::SAMPLER => Some("SAMPLER"), + Self::DESCRIPTOR_POOL => Some("DESCRIPTOR_POOL"), + Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), + Self::FRAMEBUFFER => Some("FRAMEBUFFER"), + Self::COMMAND_POOL => Some("COMMAND_POOL"), + Self::SURFACE_KHR => Some("SURFACE_KHR"), + Self::SWAPCHAIN_KHR => Some("SWAPCHAIN_KHR"), + Self::DEBUG_REPORT_CALLBACK => Some("DEBUG_REPORT_CALLBACK"), + Self::DISPLAY_KHR => Some("DISPLAY_KHR"), + Self::DISPLAY_MODE_KHR => Some("DISPLAY_MODE_KHR"), + Self::OBJECT_TABLE_NVX => Some("OBJECT_TABLE_NVX"), + Self::INDIRECT_COMMANDS_LAYOUT_NVX => Some("INDIRECT_COMMANDS_LAYOUT_NVX"), + Self::VALIDATION_CACHE => Some("VALIDATION_CACHE"), + Self::SAMPLER_YCBCR_CONVERSION => Some("SAMPLER_YCBCR_CONVERSION"), + Self::DESCRIPTOR_UPDATE_TEMPLATE => Some("DESCRIPTOR_UPDATE_TEMPLATE"), + Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for ConservativeRasterizationModeEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::UNDEFINED => Some("UNDEFINED"), - Self::R4G4_UNORM_PACK8 => Some("R4G4_UNORM_PACK8"), - Self::R4G4B4A4_UNORM_PACK16 => Some("R4G4B4A4_UNORM_PACK16"), - Self::B4G4R4A4_UNORM_PACK16 => Some("B4G4R4A4_UNORM_PACK16"), - Self::R5G6B5_UNORM_PACK16 => Some("R5G6B5_UNORM_PACK16"), - Self::B5G6R5_UNORM_PACK16 => Some("B5G6R5_UNORM_PACK16"), - Self::R5G5B5A1_UNORM_PACK16 => Some("R5G5B5A1_UNORM_PACK16"), - Self::B5G5R5A1_UNORM_PACK16 => Some("B5G5R5A1_UNORM_PACK16"), - Self::A1R5G5B5_UNORM_PACK16 => Some("A1R5G5B5_UNORM_PACK16"), - Self::R8_UNORM => Some("R8_UNORM"), - Self::R8_SNORM => Some("R8_SNORM"), - Self::R8_USCALED => Some("R8_USCALED"), - Self::R8_SSCALED => Some("R8_SSCALED"), - Self::R8_UINT => Some("R8_UINT"), - Self::R8_SINT => Some("R8_SINT"), - Self::R8_SRGB => Some("R8_SRGB"), - Self::R8G8_UNORM => Some("R8G8_UNORM"), - Self::R8G8_SNORM => Some("R8G8_SNORM"), - Self::R8G8_USCALED => Some("R8G8_USCALED"), - Self::R8G8_SSCALED => Some("R8G8_SSCALED"), - Self::R8G8_UINT => Some("R8G8_UINT"), - Self::R8G8_SINT => Some("R8G8_SINT"), - Self::R8G8_SRGB => Some("R8G8_SRGB"), - Self::R8G8B8_UNORM => Some("R8G8B8_UNORM"), - Self::R8G8B8_SNORM => Some("R8G8B8_SNORM"), - Self::R8G8B8_USCALED => Some("R8G8B8_USCALED"), - Self::R8G8B8_SSCALED => Some("R8G8B8_SSCALED"), - Self::R8G8B8_UINT => Some("R8G8B8_UINT"), - Self::R8G8B8_SINT => Some("R8G8B8_SINT"), - Self::R8G8B8_SRGB => Some("R8G8B8_SRGB"), - Self::B8G8R8_UNORM => Some("B8G8R8_UNORM"), - Self::B8G8R8_SNORM => Some("B8G8R8_SNORM"), - Self::B8G8R8_USCALED => Some("B8G8R8_USCALED"), - Self::B8G8R8_SSCALED => Some("B8G8R8_SSCALED"), - Self::B8G8R8_UINT => Some("B8G8R8_UINT"), - Self::B8G8R8_SINT => Some("B8G8R8_SINT"), - Self::B8G8R8_SRGB => Some("B8G8R8_SRGB"), - Self::R8G8B8A8_UNORM => Some("R8G8B8A8_UNORM"), - Self::R8G8B8A8_SNORM => Some("R8G8B8A8_SNORM"), - Self::R8G8B8A8_USCALED => Some("R8G8B8A8_USCALED"), - Self::R8G8B8A8_SSCALED => Some("R8G8B8A8_SSCALED"), - Self::R8G8B8A8_UINT => Some("R8G8B8A8_UINT"), - Self::R8G8B8A8_SINT => Some("R8G8B8A8_SINT"), - Self::R8G8B8A8_SRGB => Some("R8G8B8A8_SRGB"), - Self::B8G8R8A8_UNORM => Some("B8G8R8A8_UNORM"), - Self::B8G8R8A8_SNORM => Some("B8G8R8A8_SNORM"), - Self::B8G8R8A8_USCALED => Some("B8G8R8A8_USCALED"), - Self::B8G8R8A8_SSCALED => Some("B8G8R8A8_SSCALED"), - Self::B8G8R8A8_UINT => Some("B8G8R8A8_UINT"), - Self::B8G8R8A8_SINT => Some("B8G8R8A8_SINT"), - Self::B8G8R8A8_SRGB => Some("B8G8R8A8_SRGB"), - Self::A8B8G8R8_UNORM_PACK32 => Some("A8B8G8R8_UNORM_PACK32"), - Self::A8B8G8R8_SNORM_PACK32 => Some("A8B8G8R8_SNORM_PACK32"), - Self::A8B8G8R8_USCALED_PACK32 => Some("A8B8G8R8_USCALED_PACK32"), - Self::A8B8G8R8_SSCALED_PACK32 => Some("A8B8G8R8_SSCALED_PACK32"), - Self::A8B8G8R8_UINT_PACK32 => Some("A8B8G8R8_UINT_PACK32"), - Self::A8B8G8R8_SINT_PACK32 => Some("A8B8G8R8_SINT_PACK32"), - Self::A8B8G8R8_SRGB_PACK32 => Some("A8B8G8R8_SRGB_PACK32"), - Self::A2R10G10B10_UNORM_PACK32 => Some("A2R10G10B10_UNORM_PACK32"), - Self::A2R10G10B10_SNORM_PACK32 => Some("A2R10G10B10_SNORM_PACK32"), - Self::A2R10G10B10_USCALED_PACK32 => Some("A2R10G10B10_USCALED_PACK32"), - Self::A2R10G10B10_SSCALED_PACK32 => Some("A2R10G10B10_SSCALED_PACK32"), - Self::A2R10G10B10_UINT_PACK32 => Some("A2R10G10B10_UINT_PACK32"), - Self::A2R10G10B10_SINT_PACK32 => Some("A2R10G10B10_SINT_PACK32"), - Self::A2B10G10R10_UNORM_PACK32 => Some("A2B10G10R10_UNORM_PACK32"), - Self::A2B10G10R10_SNORM_PACK32 => Some("A2B10G10R10_SNORM_PACK32"), - Self::A2B10G10R10_USCALED_PACK32 => Some("A2B10G10R10_USCALED_PACK32"), - Self::A2B10G10R10_SSCALED_PACK32 => Some("A2B10G10R10_SSCALED_PACK32"), - Self::A2B10G10R10_UINT_PACK32 => Some("A2B10G10R10_UINT_PACK32"), - Self::A2B10G10R10_SINT_PACK32 => Some("A2B10G10R10_SINT_PACK32"), - Self::R16_UNORM => Some("R16_UNORM"), - Self::R16_SNORM => Some("R16_SNORM"), - Self::R16_USCALED => Some("R16_USCALED"), - Self::R16_SSCALED => Some("R16_SSCALED"), - Self::R16_UINT => Some("R16_UINT"), - Self::R16_SINT => Some("R16_SINT"), - Self::R16_SFLOAT => Some("R16_SFLOAT"), - Self::R16G16_UNORM => Some("R16G16_UNORM"), - Self::R16G16_SNORM => Some("R16G16_SNORM"), - Self::R16G16_USCALED => Some("R16G16_USCALED"), - Self::R16G16_SSCALED => Some("R16G16_SSCALED"), - Self::R16G16_UINT => Some("R16G16_UINT"), - Self::R16G16_SINT => Some("R16G16_SINT"), - Self::R16G16_SFLOAT => Some("R16G16_SFLOAT"), - Self::R16G16B16_UNORM => Some("R16G16B16_UNORM"), - Self::R16G16B16_SNORM => Some("R16G16B16_SNORM"), - Self::R16G16B16_USCALED => Some("R16G16B16_USCALED"), - Self::R16G16B16_SSCALED => Some("R16G16B16_SSCALED"), - Self::R16G16B16_UINT => Some("R16G16B16_UINT"), - Self::R16G16B16_SINT => Some("R16G16B16_SINT"), - Self::R16G16B16_SFLOAT => Some("R16G16B16_SFLOAT"), - Self::R16G16B16A16_UNORM => Some("R16G16B16A16_UNORM"), - Self::R16G16B16A16_SNORM => Some("R16G16B16A16_SNORM"), - Self::R16G16B16A16_USCALED => Some("R16G16B16A16_USCALED"), - Self::R16G16B16A16_SSCALED => Some("R16G16B16A16_SSCALED"), - Self::R16G16B16A16_UINT => Some("R16G16B16A16_UINT"), - Self::R16G16B16A16_SINT => Some("R16G16B16A16_SINT"), - Self::R16G16B16A16_SFLOAT => Some("R16G16B16A16_SFLOAT"), - Self::R32_UINT => Some("R32_UINT"), - Self::R32_SINT => Some("R32_SINT"), - Self::R32_SFLOAT => Some("R32_SFLOAT"), - Self::R32G32_UINT => Some("R32G32_UINT"), - Self::R32G32_SINT => Some("R32G32_SINT"), - Self::R32G32_SFLOAT => Some("R32G32_SFLOAT"), - Self::R32G32B32_UINT => Some("R32G32B32_UINT"), - Self::R32G32B32_SINT => Some("R32G32B32_SINT"), - Self::R32G32B32_SFLOAT => Some("R32G32B32_SFLOAT"), - Self::R32G32B32A32_UINT => Some("R32G32B32A32_UINT"), - Self::R32G32B32A32_SINT => Some("R32G32B32A32_SINT"), - Self::R32G32B32A32_SFLOAT => Some("R32G32B32A32_SFLOAT"), - Self::R64_UINT => Some("R64_UINT"), - Self::R64_SINT => Some("R64_SINT"), - Self::R64_SFLOAT => Some("R64_SFLOAT"), - Self::R64G64_UINT => Some("R64G64_UINT"), - Self::R64G64_SINT => Some("R64G64_SINT"), - Self::R64G64_SFLOAT => Some("R64G64_SFLOAT"), - Self::R64G64B64_UINT => Some("R64G64B64_UINT"), - Self::R64G64B64_SINT => Some("R64G64B64_SINT"), - Self::R64G64B64_SFLOAT => Some("R64G64B64_SFLOAT"), - Self::R64G64B64A64_UINT => Some("R64G64B64A64_UINT"), - Self::R64G64B64A64_SINT => Some("R64G64B64A64_SINT"), - Self::R64G64B64A64_SFLOAT => Some("R64G64B64A64_SFLOAT"), - Self::B10G11R11_UFLOAT_PACK32 => Some("B10G11R11_UFLOAT_PACK32"), - Self::E5B9G9R9_UFLOAT_PACK32 => Some("E5B9G9R9_UFLOAT_PACK32"), - Self::D16_UNORM => Some("D16_UNORM"), - Self::X8_D24_UNORM_PACK32 => Some("X8_D24_UNORM_PACK32"), - Self::D32_SFLOAT => Some("D32_SFLOAT"), - Self::S8_UINT => Some("S8_UINT"), - Self::D16_UNORM_S8_UINT => Some("D16_UNORM_S8_UINT"), - Self::D24_UNORM_S8_UINT => Some("D24_UNORM_S8_UINT"), - Self::D32_SFLOAT_S8_UINT => Some("D32_SFLOAT_S8_UINT"), - Self::BC1_RGB_UNORM_BLOCK => Some("BC1_RGB_UNORM_BLOCK"), - Self::BC1_RGB_SRGB_BLOCK => Some("BC1_RGB_SRGB_BLOCK"), - Self::BC1_RGBA_UNORM_BLOCK => Some("BC1_RGBA_UNORM_BLOCK"), - Self::BC1_RGBA_SRGB_BLOCK => Some("BC1_RGBA_SRGB_BLOCK"), - Self::BC2_UNORM_BLOCK => Some("BC2_UNORM_BLOCK"), - Self::BC2_SRGB_BLOCK => Some("BC2_SRGB_BLOCK"), - Self::BC3_UNORM_BLOCK => Some("BC3_UNORM_BLOCK"), - Self::BC3_SRGB_BLOCK => Some("BC3_SRGB_BLOCK"), - Self::BC4_UNORM_BLOCK => Some("BC4_UNORM_BLOCK"), - Self::BC4_SNORM_BLOCK => Some("BC4_SNORM_BLOCK"), - Self::BC5_UNORM_BLOCK => Some("BC5_UNORM_BLOCK"), - Self::BC5_SNORM_BLOCK => Some("BC5_SNORM_BLOCK"), - Self::BC6H_UFLOAT_BLOCK => Some("BC6H_UFLOAT_BLOCK"), - Self::BC6H_SFLOAT_BLOCK => Some("BC6H_SFLOAT_BLOCK"), - Self::BC7_UNORM_BLOCK => Some("BC7_UNORM_BLOCK"), - Self::BC7_SRGB_BLOCK => Some("BC7_SRGB_BLOCK"), - Self::ETC2_R8G8B8_UNORM_BLOCK => Some("ETC2_R8G8B8_UNORM_BLOCK"), - Self::ETC2_R8G8B8_SRGB_BLOCK => Some("ETC2_R8G8B8_SRGB_BLOCK"), - Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some("ETC2_R8G8B8A1_UNORM_BLOCK"), - Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some("ETC2_R8G8B8A1_SRGB_BLOCK"), - Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some("ETC2_R8G8B8A8_UNORM_BLOCK"), - Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some("ETC2_R8G8B8A8_SRGB_BLOCK"), - Self::EAC_R11_UNORM_BLOCK => Some("EAC_R11_UNORM_BLOCK"), - Self::EAC_R11_SNORM_BLOCK => Some("EAC_R11_SNORM_BLOCK"), - Self::EAC_R11G11_UNORM_BLOCK => Some("EAC_R11G11_UNORM_BLOCK"), - Self::EAC_R11G11_SNORM_BLOCK => Some("EAC_R11G11_SNORM_BLOCK"), - Self::ASTC_4X4_UNORM_BLOCK => Some("ASTC_4X4_UNORM_BLOCK"), - Self::ASTC_4X4_SRGB_BLOCK => Some("ASTC_4X4_SRGB_BLOCK"), - Self::ASTC_5X4_UNORM_BLOCK => Some("ASTC_5X4_UNORM_BLOCK"), - Self::ASTC_5X4_SRGB_BLOCK => Some("ASTC_5X4_SRGB_BLOCK"), - Self::ASTC_5X5_UNORM_BLOCK => Some("ASTC_5X5_UNORM_BLOCK"), - Self::ASTC_5X5_SRGB_BLOCK => Some("ASTC_5X5_SRGB_BLOCK"), - Self::ASTC_6X5_UNORM_BLOCK => Some("ASTC_6X5_UNORM_BLOCK"), - Self::ASTC_6X5_SRGB_BLOCK => Some("ASTC_6X5_SRGB_BLOCK"), - Self::ASTC_6X6_UNORM_BLOCK => Some("ASTC_6X6_UNORM_BLOCK"), - Self::ASTC_6X6_SRGB_BLOCK => Some("ASTC_6X6_SRGB_BLOCK"), - Self::ASTC_8X5_UNORM_BLOCK => Some("ASTC_8X5_UNORM_BLOCK"), - Self::ASTC_8X5_SRGB_BLOCK => Some("ASTC_8X5_SRGB_BLOCK"), - Self::ASTC_8X6_UNORM_BLOCK => Some("ASTC_8X6_UNORM_BLOCK"), - Self::ASTC_8X6_SRGB_BLOCK => Some("ASTC_8X6_SRGB_BLOCK"), - Self::ASTC_8X8_UNORM_BLOCK => Some("ASTC_8X8_UNORM_BLOCK"), - Self::ASTC_8X8_SRGB_BLOCK => Some("ASTC_8X8_SRGB_BLOCK"), - Self::ASTC_10X5_UNORM_BLOCK => Some("ASTC_10X5_UNORM_BLOCK"), - Self::ASTC_10X5_SRGB_BLOCK => Some("ASTC_10X5_SRGB_BLOCK"), - Self::ASTC_10X6_UNORM_BLOCK => Some("ASTC_10X6_UNORM_BLOCK"), - Self::ASTC_10X6_SRGB_BLOCK => Some("ASTC_10X6_SRGB_BLOCK"), - Self::ASTC_10X8_UNORM_BLOCK => Some("ASTC_10X8_UNORM_BLOCK"), - Self::ASTC_10X8_SRGB_BLOCK => Some("ASTC_10X8_SRGB_BLOCK"), - Self::ASTC_10X10_UNORM_BLOCK => Some("ASTC_10X10_UNORM_BLOCK"), - Self::ASTC_10X10_SRGB_BLOCK => Some("ASTC_10X10_SRGB_BLOCK"), - Self::ASTC_12X10_UNORM_BLOCK => Some("ASTC_12X10_UNORM_BLOCK"), - Self::ASTC_12X10_SRGB_BLOCK => Some("ASTC_12X10_SRGB_BLOCK"), - Self::ASTC_12X12_UNORM_BLOCK => Some("ASTC_12X12_UNORM_BLOCK"), - Self::ASTC_12X12_SRGB_BLOCK => Some("ASTC_12X12_SRGB_BLOCK"), - Self::PVRTC1_2BPP_UNORM_BLOCK_IMG => Some("PVRTC1_2BPP_UNORM_BLOCK_IMG"), - Self::PVRTC1_4BPP_UNORM_BLOCK_IMG => Some("PVRTC1_4BPP_UNORM_BLOCK_IMG"), - Self::PVRTC2_2BPP_UNORM_BLOCK_IMG => Some("PVRTC2_2BPP_UNORM_BLOCK_IMG"), - Self::PVRTC2_4BPP_UNORM_BLOCK_IMG => Some("PVRTC2_4BPP_UNORM_BLOCK_IMG"), - Self::PVRTC1_2BPP_SRGB_BLOCK_IMG => Some("PVRTC1_2BPP_SRGB_BLOCK_IMG"), - Self::PVRTC1_4BPP_SRGB_BLOCK_IMG => Some("PVRTC1_4BPP_SRGB_BLOCK_IMG"), - Self::PVRTC2_2BPP_SRGB_BLOCK_IMG => Some("PVRTC2_2BPP_SRGB_BLOCK_IMG"), - Self::PVRTC2_4BPP_SRGB_BLOCK_IMG => Some("PVRTC2_4BPP_SRGB_BLOCK_IMG"), - Self::G8B8G8R8_422_UNORM => Some("G8B8G8R8_422_UNORM"), - Self::B8G8R8G8_422_UNORM => Some("B8G8R8G8_422_UNORM"), - Self::G8_B8_R8_3PLANE_420_UNORM => Some("G8_B8_R8_3PLANE_420_UNORM"), - Self::G8_B8R8_2PLANE_420_UNORM => Some("G8_B8R8_2PLANE_420_UNORM"), - Self::G8_B8_R8_3PLANE_422_UNORM => Some("G8_B8_R8_3PLANE_422_UNORM"), - Self::G8_B8R8_2PLANE_422_UNORM => Some("G8_B8R8_2PLANE_422_UNORM"), - Self::G8_B8_R8_3PLANE_444_UNORM => Some("G8_B8_R8_3PLANE_444_UNORM"), - Self::R10X6_UNORM_PACK16 => Some("R10X6_UNORM_PACK16"), - Self::R10X6G10X6_UNORM_2PACK16 => Some("R10X6G10X6_UNORM_2PACK16"), - Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some("R10X6G10X6B10X6A10X6_UNORM_4PACK16"), - Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { - Some("G10X6B10X6G10X6R10X6_422_UNORM_4PACK16") - } - Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { - Some("B10X6G10X6R10X6G10X6_422_UNORM_4PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16") - } - Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { - Some("G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16") - } - Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { - Some("G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16") - } - Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { - Some("G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16") - } - Self::R12X4_UNORM_PACK16 => Some("R12X4_UNORM_PACK16"), - Self::R12X4G12X4_UNORM_2PACK16 => Some("R12X4G12X4_UNORM_2PACK16"), - Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some("R12X4G12X4B12X4A12X4_UNORM_4PACK16"), - Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { - Some("G12X4B12X4G12X4R12X4_422_UNORM_4PACK16") - } - Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { - Some("B12X4G12X4R12X4G12X4_422_UNORM_4PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16") - } - Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { - Some("G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16") - } - Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { - Some("G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16") - } - Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { - Some("G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16") - } - Self::G16B16G16R16_422_UNORM => Some("G16B16G16R16_422_UNORM"), - Self::B16G16R16G16_422_UNORM => Some("B16G16R16G16_422_UNORM"), - Self::G16_B16_R16_3PLANE_420_UNORM => Some("G16_B16_R16_3PLANE_420_UNORM"), - Self::G16_B16R16_2PLANE_420_UNORM => Some("G16_B16R16_2PLANE_420_UNORM"), - Self::G16_B16_R16_3PLANE_422_UNORM => Some("G16_B16_R16_3PLANE_422_UNORM"), - Self::G16_B16R16_2PLANE_422_UNORM => Some("G16_B16R16_2PLANE_422_UNORM"), - Self::G16_B16_R16_3PLANE_444_UNORM => Some("G16_B16_R16_3PLANE_444_UNORM"), + Self::DISABLED => Some("DISABLED"), + Self::OVERESTIMATE => Some("OVERESTIMATE"), + Self::UNDERESTIMATE => Some("UNDERESTIMATE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for DeviceEventTypeEXT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::DISPLAY_HOTPLUG => Some("DISPLAY_HOTPLUG"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for DriverIdKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::AMD_PROPRIETARY => Some("AMD_PROPRIETARY"), + Self::AMD_OPEN_SOURCE => Some("AMD_OPEN_SOURCE"), + Self::MESA_RADV => Some("MESA_RADV"), + Self::NVIDIA_PROPRIETARY => Some("NVIDIA_PROPRIETARY"), + Self::INTEL_PROPRIETARY_WINDOWS => Some("INTEL_PROPRIETARY_WINDOWS"), + Self::INTEL_OPEN_SOURCE_MESA => Some("INTEL_OPEN_SOURCE_MESA"), + Self::IMAGINATION_PROPRIETARY => Some("IMAGINATION_PROPRIETARY"), + Self::QUALCOMM_PROPRIETARY => Some("QUALCOMM_PROPRIETARY"), + Self::ARM_PROPRIETARY => Some("ARM_PROPRIETARY"), + Self::GOOGLE_PASTEL => Some("GOOGLE_PASTEL"), _ => None, }; if let Some(x) = name { @@ -62050,55 +59688,237 @@ impl fmt::Display for Format { } } } -impl fmt::Display for SampleCountFlags { +impl fmt::Display for CopyAccelerationStructureModeNV { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::CLONE => Some("CLONE"), + Self::COMPACT => Some("COMPACT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for ChromaLocation { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::COSITED_EVEN => Some("COSITED_EVEN"), + Self::MIDPOINT => Some("MIDPOINT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for VendorId { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::VIV => Some("VIV"), + Self::VSI => Some("VSI"), + Self::KAZAN => Some("KAZAN"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for QueryPipelineStatisticFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (SampleCountFlags::TYPE_1.0, "TYPE_1"), - (SampleCountFlags::TYPE_2.0, "TYPE_2"), - (SampleCountFlags::TYPE_4.0, "TYPE_4"), - (SampleCountFlags::TYPE_8.0, "TYPE_8"), - (SampleCountFlags::TYPE_16.0, "TYPE_16"), - (SampleCountFlags::TYPE_32.0, "TYPE_32"), - (SampleCountFlags::TYPE_64.0, "TYPE_64"), ->>>>>>> Implement extension chaining + ( + QueryPipelineStatisticFlags::INPUT_ASSEMBLY_VERTICES.0, + "INPUT_ASSEMBLY_VERTICES", + ), + ( + QueryPipelineStatisticFlags::INPUT_ASSEMBLY_PRIMITIVES.0, + "INPUT_ASSEMBLY_PRIMITIVES", + ), + ( + QueryPipelineStatisticFlags::VERTEX_SHADER_INVOCATIONS.0, + "VERTEX_SHADER_INVOCATIONS", + ), + ( + QueryPipelineStatisticFlags::GEOMETRY_SHADER_INVOCATIONS.0, + "GEOMETRY_SHADER_INVOCATIONS", + ), + ( + QueryPipelineStatisticFlags::GEOMETRY_SHADER_PRIMITIVES.0, + "GEOMETRY_SHADER_PRIMITIVES", + ), + ( + QueryPipelineStatisticFlags::CLIPPING_INVOCATIONS.0, + "CLIPPING_INVOCATIONS", + ), + ( + QueryPipelineStatisticFlags::CLIPPING_PRIMITIVES.0, + "CLIPPING_PRIMITIVES", + ), + ( + QueryPipelineStatisticFlags::FRAGMENT_SHADER_INVOCATIONS.0, + "FRAGMENT_SHADER_INVOCATIONS", + ), + ( + QueryPipelineStatisticFlags::TESSELLATION_CONTROL_SHADER_PATCHES.0, + "TESSELLATION_CONTROL_SHADER_PATCHES", + ), + ( + QueryPipelineStatisticFlags::TESSELLATION_EVALUATION_SHADER_INVOCATIONS.0, + "TESSELLATION_EVALUATION_SHADER_INVOCATIONS", + ), + ( + QueryPipelineStatisticFlags::COMPUTE_SHADER_INVOCATIONS.0, + "COMPUTE_SHADER_INVOCATIONS", + ), ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for ConditionalRenderingFlagsEXT { +impl fmt::Display for CommandPoolResetFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(ConditionalRenderingFlagsEXT::INVERTED.0, "INVERTED")]; + const KNOWN: &[(Flags, &str)] = &[( + CommandPoolResetFlags::RELEASE_RESOURCES.0, + "RELEASE_RESOURCES", + )]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DebugUtilsMessageSeverityFlagsEXT { +impl fmt::Display for PipelineBindPoint { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::GRAPHICS => Some("GRAPHICS"), + Self::COMPUTE => Some("COMPUTE"), + Self::RAY_TRACING_NV => Some("RAY_TRACING_NV"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for SharingMode { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::EXCLUSIVE => Some("EXCLUSIVE"), + Self::CONCURRENT => Some("CONCURRENT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for DynamicState { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::VIEWPORT => Some("VIEWPORT"), + Self::SCISSOR => Some("SCISSOR"), + Self::LINE_WIDTH => Some("LINE_WIDTH"), + Self::DEPTH_BIAS => Some("DEPTH_BIAS"), + Self::BLEND_CONSTANTS => Some("BLEND_CONSTANTS"), + Self::DEPTH_BOUNDS => Some("DEPTH_BOUNDS"), + Self::STENCIL_COMPARE_MASK => Some("STENCIL_COMPARE_MASK"), + Self::STENCIL_WRITE_MASK => Some("STENCIL_WRITE_MASK"), + Self::STENCIL_REFERENCE => Some("STENCIL_REFERENCE"), + Self::VIEWPORT_W_SCALING_NV => Some("VIEWPORT_W_SCALING_NV"), + Self::DISCARD_RECTANGLE_EXT => Some("DISCARD_RECTANGLE_EXT"), + Self::SAMPLE_LOCATIONS_EXT => Some("SAMPLE_LOCATIONS_EXT"), + Self::VIEWPORT_SHADING_RATE_PALETTE_NV => Some("VIEWPORT_SHADING_RATE_PALETTE_NV"), + Self::VIEWPORT_COARSE_SAMPLE_ORDER_NV => Some("VIEWPORT_COARSE_SAMPLE_ORDER_NV"), + Self::EXCLUSIVE_SCISSOR_NV => Some("EXCLUSIVE_SCISSOR_NV"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for FenceImportFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[(FenceImportFlags::TEMPORARY.0, "TEMPORARY")]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for TessellationDomainOrigin { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::UPPER_LEFT => Some("UPPER_LEFT"), + Self::LOWER_LEFT => Some("LOWER_LEFT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for FrontFace { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::COUNTER_CLOCKWISE => Some("COUNTER_CLOCKWISE"), + Self::CLOCKWISE => Some("CLOCKWISE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for SparseImageFormatFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (DebugUtilsMessageSeverityFlagsEXT::VERBOSE.0, "VERBOSE"), - (DebugUtilsMessageSeverityFlagsEXT::INFO.0, "INFO"), - (DebugUtilsMessageSeverityFlagsEXT::WARNING.0, "WARNING"), - (DebugUtilsMessageSeverityFlagsEXT::ERROR.0, "ERROR"), + (SparseImageFormatFlags::SINGLE_MIPTAIL.0, "SINGLE_MIPTAIL"), + ( + SparseImageFormatFlags::ALIGNED_MIP_SIZE.0, + "ALIGNED_MIP_SIZE", + ), + ( + SparseImageFormatFlags::NONSTANDARD_BLOCK_SIZE.0, + "NONSTANDARD_BLOCK_SIZE", + ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ExternalFenceFeatureFlags { +impl fmt::Display for SamplerCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (SamplerCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"), ( - ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_EXPORTABLE.0, - "EXTERNAL_FENCE_FEATURE_EXPORTABLE", + SamplerCreateFlags::SUBSAMPLED_COARSE_RECONSTRUCTION_EXT.0, + "SUBSAMPLED_COARSE_RECONSTRUCTION_EXT", ), - ( - ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_IMPORTABLE.0, - "EXTERNAL_FENCE_FEATURE_IMPORTABLE", -======= -impl fmt::Display for RasterizationOrderAMD { + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for ValidationFeatureDisableEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::STRICT => Some("STRICT"), - Self::RELAXED => Some("RELAXED"), + Self::ALL => Some("ALL"), + Self::SHADERS => Some("SHADERS"), + Self::THREAD_SAFETY => Some("THREAD_SAFETY"), + Self::API_PARAMETERS => Some("API_PARAMETERS"), + Self::OBJECT_LIFETIMES => Some("OBJECT_LIFETIMES"), + Self::CORE_CHECKS => Some("CORE_CHECKS"), + Self::UNIQUE_HANDLES => Some("UNIQUE_HANDLES"), _ => None, }; if let Some(x) = name { @@ -62108,31 +59928,66 @@ impl fmt::Display for RasterizationOrderAMD { } } } -impl fmt::Display for DescriptorPoolCreateFlags { +impl fmt::Display for ExternalFenceFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - DescriptorPoolCreateFlags::FREE_DESCRIPTOR_SET.0, - "FREE_DESCRIPTOR_SET", + ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_EXPORTABLE.0, + "EXTERNAL_FENCE_FEATURE_EXPORTABLE", ), ( - DescriptorPoolCreateFlags::UPDATE_AFTER_BIND_EXT.0, - "UPDATE_AFTER_BIND_EXT", ->>>>>>> Implement extension chaining + ExternalFenceFeatureFlags::EXTERNAL_FENCE_FEATURE_IMPORTABLE.0, + "EXTERNAL_FENCE_FEATURE_IMPORTABLE", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for PresentModeKHR { +impl fmt::Display for ExternalFenceHandleTypeFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + ( + ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD.0, + "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD", + ), + ( + ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32.0, + "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32", + ), + ( + ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT.0, + "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT", + ), + ( + ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD.0, + "EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD", + ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for BlendFactor { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::IMMEDIATE => Some("IMMEDIATE"), - Self::MAILBOX => Some("MAILBOX"), - Self::FIFO => Some("FIFO"), - Self::FIFO_RELAXED => Some("FIFO_RELAXED"), - Self::SHARED_DEMAND_REFRESH => Some("SHARED_DEMAND_REFRESH"), - Self::SHARED_CONTINUOUS_REFRESH => Some("SHARED_CONTINUOUS_REFRESH"), + Self::ZERO => Some("ZERO"), + Self::ONE => Some("ONE"), + Self::SRC_COLOR => Some("SRC_COLOR"), + Self::ONE_MINUS_SRC_COLOR => Some("ONE_MINUS_SRC_COLOR"), + Self::DST_COLOR => Some("DST_COLOR"), + Self::ONE_MINUS_DST_COLOR => Some("ONE_MINUS_DST_COLOR"), + Self::SRC_ALPHA => Some("SRC_ALPHA"), + Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"), + Self::DST_ALPHA => Some("DST_ALPHA"), + Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"), + Self::CONSTANT_COLOR => Some("CONSTANT_COLOR"), + Self::ONE_MINUS_CONSTANT_COLOR => Some("ONE_MINUS_CONSTANT_COLOR"), + Self::CONSTANT_ALPHA => Some("CONSTANT_ALPHA"), + Self::ONE_MINUS_CONSTANT_ALPHA => Some("ONE_MINUS_CONSTANT_ALPHA"), + Self::SRC_ALPHA_SATURATE => Some("SRC_ALPHA_SATURATE"), + Self::SRC1_COLOR => Some("SRC1_COLOR"), + Self::ONE_MINUS_SRC1_COLOR => Some("ONE_MINUS_SRC1_COLOR"), + Self::SRC1_ALPHA => Some("SRC1_ALPHA"), + Self::ONE_MINUS_SRC1_ALPHA => Some("ONE_MINUS_SRC1_ALPHA"), _ => None, }; if let Some(x) = name { @@ -62142,26 +59997,60 @@ impl fmt::Display for PresentModeKHR { } } } -<<<<<<< HEAD -impl fmt::Display for LogicOp { +impl fmt::Display for BlendOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::CLEAR => Some("CLEAR"), - Self::AND => Some("AND"), - Self::AND_REVERSE => Some("AND_REVERSE"), - Self::COPY => Some("COPY"), - Self::AND_INVERTED => Some("AND_INVERTED"), - Self::NO_OP => Some("NO_OP"), - Self::XOR => Some("XOR"), - Self::OR => Some("OR"), - Self::NOR => Some("NOR"), - Self::EQUIVALENT => Some("EQUIVALENT"), - Self::INVERT => Some("INVERT"), - Self::OR_REVERSE => Some("OR_REVERSE"), - Self::COPY_INVERTED => Some("COPY_INVERTED"), - Self::OR_INVERTED => Some("OR_INVERTED"), - Self::NAND => Some("NAND"), - Self::SET => Some("SET"), + Self::ADD => Some("ADD"), + Self::SUBTRACT => Some("SUBTRACT"), + Self::REVERSE_SUBTRACT => Some("REVERSE_SUBTRACT"), + Self::MIN => Some("MIN"), + Self::MAX => Some("MAX"), + Self::ZERO_EXT => Some("ZERO_EXT"), + Self::SRC_EXT => Some("SRC_EXT"), + Self::DST_EXT => Some("DST_EXT"), + Self::SRC_OVER_EXT => Some("SRC_OVER_EXT"), + Self::DST_OVER_EXT => Some("DST_OVER_EXT"), + Self::SRC_IN_EXT => Some("SRC_IN_EXT"), + Self::DST_IN_EXT => Some("DST_IN_EXT"), + Self::SRC_OUT_EXT => Some("SRC_OUT_EXT"), + Self::DST_OUT_EXT => Some("DST_OUT_EXT"), + Self::SRC_ATOP_EXT => Some("SRC_ATOP_EXT"), + Self::DST_ATOP_EXT => Some("DST_ATOP_EXT"), + Self::XOR_EXT => Some("XOR_EXT"), + Self::MULTIPLY_EXT => Some("MULTIPLY_EXT"), + Self::SCREEN_EXT => Some("SCREEN_EXT"), + Self::OVERLAY_EXT => Some("OVERLAY_EXT"), + Self::DARKEN_EXT => Some("DARKEN_EXT"), + Self::LIGHTEN_EXT => Some("LIGHTEN_EXT"), + Self::COLORDODGE_EXT => Some("COLORDODGE_EXT"), + Self::COLORBURN_EXT => Some("COLORBURN_EXT"), + Self::HARDLIGHT_EXT => Some("HARDLIGHT_EXT"), + Self::SOFTLIGHT_EXT => Some("SOFTLIGHT_EXT"), + Self::DIFFERENCE_EXT => Some("DIFFERENCE_EXT"), + Self::EXCLUSION_EXT => Some("EXCLUSION_EXT"), + Self::INVERT_EXT => Some("INVERT_EXT"), + Self::INVERT_RGB_EXT => Some("INVERT_RGB_EXT"), + Self::LINEARDODGE_EXT => Some("LINEARDODGE_EXT"), + Self::LINEARBURN_EXT => Some("LINEARBURN_EXT"), + Self::VIVIDLIGHT_EXT => Some("VIVIDLIGHT_EXT"), + Self::LINEARLIGHT_EXT => Some("LINEARLIGHT_EXT"), + Self::PINLIGHT_EXT => Some("PINLIGHT_EXT"), + Self::HARDMIX_EXT => Some("HARDMIX_EXT"), + Self::HSL_HUE_EXT => Some("HSL_HUE_EXT"), + Self::HSL_SATURATION_EXT => Some("HSL_SATURATION_EXT"), + Self::HSL_COLOR_EXT => Some("HSL_COLOR_EXT"), + Self::HSL_LUMINOSITY_EXT => Some("HSL_LUMINOSITY_EXT"), + Self::PLUS_EXT => Some("PLUS_EXT"), + Self::PLUS_CLAMPED_EXT => Some("PLUS_CLAMPED_EXT"), + Self::PLUS_CLAMPED_ALPHA_EXT => Some("PLUS_CLAMPED_ALPHA_EXT"), + Self::PLUS_DARKER_EXT => Some("PLUS_DARKER_EXT"), + Self::MINUS_EXT => Some("MINUS_EXT"), + Self::MINUS_CLAMPED_EXT => Some("MINUS_CLAMPED_EXT"), + Self::CONTRAST_EXT => Some("CONTRAST_EXT"), + Self::INVERT_OVG_EXT => Some("INVERT_OVG_EXT"), + Self::RED_EXT => Some("RED_EXT"), + Self::GREEN_EXT => Some("GREEN_EXT"), + Self::BLUE_EXT => Some("BLUE_EXT"), _ => None, }; if let Some(x) = name { @@ -62171,64 +60060,98 @@ impl fmt::Display for LogicOp { } } } -impl fmt::Display for MemoryPropertyFlags { +impl fmt::Display for ColorSpaceKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (MemoryPropertyFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), - (MemoryPropertyFlags::HOST_VISIBLE.0, "HOST_VISIBLE"), - (MemoryPropertyFlags::HOST_COHERENT.0, "HOST_COHERENT"), - (MemoryPropertyFlags::HOST_CACHED.0, "HOST_CACHED"), - (MemoryPropertyFlags::LAZILY_ALLOCATED.0, "LAZILY_ALLOCATED"), - (MemoryPropertyFlags::PROTECTED.0, "PROTECTED"), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::SRGB_NONLINEAR => Some("SRGB_NONLINEAR"), + Self::DISPLAY_P3_NONLINEAR_EXT => Some("DISPLAY_P3_NONLINEAR_EXT"), + Self::EXTENDED_SRGB_LINEAR_EXT => Some("EXTENDED_SRGB_LINEAR_EXT"), + Self::DCI_P3_LINEAR_EXT => Some("DCI_P3_LINEAR_EXT"), + Self::DCI_P3_NONLINEAR_EXT => Some("DCI_P3_NONLINEAR_EXT"), + Self::BT709_LINEAR_EXT => Some("BT709_LINEAR_EXT"), + Self::BT709_NONLINEAR_EXT => Some("BT709_NONLINEAR_EXT"), + Self::BT2020_LINEAR_EXT => Some("BT2020_LINEAR_EXT"), + Self::HDR10_ST2084_EXT => Some("HDR10_ST2084_EXT"), + Self::DOLBYVISION_EXT => Some("DOLBYVISION_EXT"), + Self::HDR10_HLG_EXT => Some("HDR10_HLG_EXT"), + Self::ADOBERGB_LINEAR_EXT => Some("ADOBERGB_LINEAR_EXT"), + Self::ADOBERGB_NONLINEAR_EXT => Some("ADOBERGB_NONLINEAR_EXT"), + Self::PASS_THROUGH_EXT => Some("PASS_THROUGH_EXT"), + Self::EXTENDED_SRGB_NONLINEAR_EXT => Some("EXTENDED_SRGB_NONLINEAR_EXT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for IndexType { +impl fmt::Display for AttachmentStoreOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::UINT16 => Some("UINT16"), - Self::UINT32 => Some("UINT32"), - Self::NONE_NV => Some("NONE_NV"), -======= -impl fmt::Display for MemoryPropertyFlags { + Self::STORE => Some("STORE"), + Self::DONT_CARE => Some("DONT_CARE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for DiscardRectangleModeEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (MemoryPropertyFlags::DEVICE_LOCAL.0, "DEVICE_LOCAL"), - (MemoryPropertyFlags::HOST_VISIBLE.0, "HOST_VISIBLE"), - (MemoryPropertyFlags::HOST_COHERENT.0, "HOST_COHERENT"), - (MemoryPropertyFlags::HOST_CACHED.0, "HOST_CACHED"), - (MemoryPropertyFlags::LAZILY_ALLOCATED.0, "LAZILY_ALLOCATED"), - (MemoryPropertyFlags::PROTECTED.0, "PROTECTED"), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::INCLUSIVE => Some("INCLUSIVE"), + Self::EXCLUSIVE => Some("EXCLUSIVE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for CullModeFlags { +impl fmt::Display for GeometryTypeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (CullModeFlags::NONE.0, "NONE"), - (CullModeFlags::FRONT.0, "FRONT"), - (CullModeFlags::BACK.0, "BACK"), - (CullModeFlags::FRONT_AND_BACK.0, "FRONT_AND_BACK"), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::TRIANGLES => Some("TRIANGLES"), + Self::AABBS => Some("AABBS"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for RenderPassCreateFlags { +impl fmt::Display for PhysicalDeviceType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = - &[(RenderPassCreateFlags::RESERVED_0_KHR.0, "RESERVED_0_KHR")]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::OTHER => Some("OTHER"), + Self::INTEGRATED_GPU => Some("INTEGRATED_GPU"), + Self::DISCRETE_GPU => Some("DISCRETE_GPU"), + Self::VIRTUAL_GPU => Some("VIRTUAL_GPU"), + Self::CPU => Some("CPU"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for RayTracingShaderGroupTypeNV { +impl fmt::Display for ImageType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::GENERAL => Some("GENERAL"), - Self::TRIANGLES_HIT_GROUP => Some("TRIANGLES_HIT_GROUP"), - Self::PROCEDURAL_HIT_GROUP => Some("PROCEDURAL_HIT_GROUP"), ->>>>>>> Implement extension chaining + Self::TYPE_1D => Some("TYPE_1D"), + Self::TYPE_2D => Some("TYPE_2D"), + Self::TYPE_3D => Some("TYPE_3D"), _ => None, }; if let Some(x) = name { @@ -62238,12 +60161,25 @@ impl fmt::Display for RayTracingShaderGroupTypeNV { } } } -<<<<<<< HEAD -impl fmt::Display for ValidationFeatureEnableEXT { +impl fmt::Display for GeometryFlagsNV { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (GeometryFlagsNV::OPAQUE.0, "OPAQUE"), + ( + GeometryFlagsNV::NO_DUPLICATE_ANY_HIT_INVOCATION.0, + "NO_DUPLICATE_ANY_HIT_INVOCATION", + ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for SamplerAddressMode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::GPU_ASSISTED => Some("GPU_ASSISTED"), - Self::GPU_ASSISTED_RESERVE_BINDING_SLOT => Some("GPU_ASSISTED_RESERVE_BINDING_SLOT"), + Self::REPEAT => Some("REPEAT"), + Self::MIRRORED_REPEAT => Some("MIRRORED_REPEAT"), + Self::CLAMP_TO_EDGE => Some("CLAMP_TO_EDGE"), + Self::CLAMP_TO_BORDER => Some("CLAMP_TO_BORDER"), _ => None, }; if let Some(x) = name { @@ -62253,92 +60189,66 @@ impl fmt::Display for ValidationFeatureEnableEXT { } } } -impl fmt::Display for ExternalMemoryFeatureFlagsNV { +impl fmt::Display for GeometryInstanceFlagsNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV.0, - "EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV", + GeometryInstanceFlagsNV::TRIANGLE_CULL_DISABLE.0, + "TRIANGLE_CULL_DISABLE", ), ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV.0, - "EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV", + GeometryInstanceFlagsNV::TRIANGLE_FRONT_COUNTERCLOCKWISE.0, + "TRIANGLE_FRONT_COUNTERCLOCKWISE", ), + (GeometryInstanceFlagsNV::FORCE_OPAQUE.0, "FORCE_OPAQUE"), ( - ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV.0, - "EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV", + GeometryInstanceFlagsNV::FORCE_NO_OPAQUE.0, + "FORCE_NO_OPAQUE", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for BuildAccelerationStructureFlagsNV { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SparseImageFormatFlags::SINGLE_MIPTAIL.0, "SINGLE_MIPTAIL"), - ( - BuildAccelerationStructureFlagsNV::ALLOW_UPDATE.0, - "ALLOW_UPDATE", - ), - ( - BuildAccelerationStructureFlagsNV::ALLOW_COMPACTION.0, - "ALLOW_COMPACTION", - ), - ( - BuildAccelerationStructureFlagsNV::PREFER_FAST_TRACE.0, - "PREFER_FAST_TRACE", - ), - ( - BuildAccelerationStructureFlagsNV::PREFER_FAST_BUILD.0, - "PREFER_FAST_BUILD", - ), - ( - BuildAccelerationStructureFlagsNV::LOW_MEMORY.0, - "LOW_MEMORY", - ), -======= -impl fmt::Display for ImageUsageFlags { +impl fmt::Display for ExternalSemaphoreFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (ImageUsageFlags::TRANSFER_SRC.0, "TRANSFER_SRC"), - (ImageUsageFlags::TRANSFER_DST.0, "TRANSFER_DST"), - (ImageUsageFlags::SAMPLED.0, "SAMPLED"), - (ImageUsageFlags::STORAGE.0, "STORAGE"), - (ImageUsageFlags::COLOR_ATTACHMENT.0, "COLOR_ATTACHMENT"), - ( - ImageUsageFlags::DEPTH_STENCIL_ATTACHMENT.0, - "DEPTH_STENCIL_ATTACHMENT", - ), ( - ImageUsageFlags::TRANSIENT_ATTACHMENT.0, - "TRANSIENT_ATTACHMENT", + ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE.0, + "EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE", ), - (ImageUsageFlags::INPUT_ATTACHMENT.0, "INPUT_ATTACHMENT"), ( - ImageUsageFlags::SHADING_RATE_IMAGE_NV.0, - "SHADING_RATE_IMAGE_NV", + ExternalSemaphoreFeatureFlags::EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE.0, + "EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE", ), - (ImageUsageFlags::RESERVED_9_EXT.0, "RESERVED_9_EXT"), ->>>>>>> Implement extension chaining ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for PrimitiveTopology { +impl fmt::Display for DeviceQueueCreateFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[(DeviceQueueCreateFlags::PROTECTED.0, "PROTECTED")]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for ImageTiling { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::POINT_LIST => Some("POINT_LIST"), - Self::LINE_LIST => Some("LINE_LIST"), - Self::LINE_STRIP => Some("LINE_STRIP"), - Self::TRIANGLE_LIST => Some("TRIANGLE_LIST"), - Self::TRIANGLE_STRIP => Some("TRIANGLE_STRIP"), - Self::TRIANGLE_FAN => Some("TRIANGLE_FAN"), - Self::LINE_LIST_WITH_ADJACENCY => Some("LINE_LIST_WITH_ADJACENCY"), - Self::LINE_STRIP_WITH_ADJACENCY => Some("LINE_STRIP_WITH_ADJACENCY"), - Self::TRIANGLE_LIST_WITH_ADJACENCY => Some("TRIANGLE_LIST_WITH_ADJACENCY"), - Self::TRIANGLE_STRIP_WITH_ADJACENCY => Some("TRIANGLE_STRIP_WITH_ADJACENCY"), - Self::PATCH_LIST => Some("PATCH_LIST"), + Self::OPTIMAL => Some("OPTIMAL"), + Self::LINEAR => Some("LINEAR"), + Self::DRM_FORMAT_MODIFIER_EXT => Some("DRM_FORMAT_MODIFIER_EXT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for InternalAllocationType { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::EXECUTABLE => Some("EXECUTABLE"), _ => None, }; if let Some(x) = name { @@ -62353,15 +60263,6 @@ impl fmt::Display for VertexInputRate { let name = match *self { Self::VERTEX => Some("VERTEX"), Self::INSTANCE => Some("INSTANCE"), -======= -impl fmt::Display for TimeDomainEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DEVICE => Some("DEVICE"), - Self::CLOCK_MONOTONIC => Some("CLOCK_MONOTONIC"), - Self::CLOCK_MONOTONIC_RAW => Some("CLOCK_MONOTONIC_RAW"), - Self::QUERY_PERFORMANCE_COUNTER => Some("QUERY_PERFORMANCE_COUNTER"), ->>>>>>> Implement extension chaining _ => None, }; if let Some(x) = name { @@ -62371,90 +60272,73 @@ impl fmt::Display for TimeDomainEXT { } } } -<<<<<<< HEAD -impl fmt::Display for IndirectCommandsLayoutUsageFlagsNVX { +impl fmt::Display for ExternalMemoryHandleTypeFlagsNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - IndirectCommandsLayoutUsageFlagsNVX::UNORDERED_SEQUENCES.0, - "UNORDERED_SEQUENCES", + ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV.0, + "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV", ), ( - IndirectCommandsLayoutUsageFlagsNVX::SPARSE_SEQUENCES.0, - "SPARSE_SEQUENCES", + ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV.0, + "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV", ), ( - IndirectCommandsLayoutUsageFlagsNVX::EMPTY_EXECUTIONS.0, - "EMPTY_EXECUTIONS", + ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV.0, + "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV", ), ( - IndirectCommandsLayoutUsageFlagsNVX::INDEXED_SEQUENCES.0, - "INDEXED_SEQUENCES", + ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV.0, + "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV", ), ]; display_flags(f, KNOWN, self.0) } } -======= ->>>>>>> Implement extension chaining -impl fmt::Display for SparseImageFormatFlags { +impl fmt::Display for RayTracingShaderGroupTypeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (SparseImageFormatFlags::SINGLE_MIPTAIL.0, "SINGLE_MIPTAIL"), - ( - SparseImageFormatFlags::ALIGNED_MIP_SIZE.0, - "ALIGNED_MIP_SIZE", -<<<<<<< HEAD - ), - ( - SparseImageFormatFlags::NONSTANDARD_BLOCK_SIZE.0, - "NONSTANDARD_BLOCK_SIZE", - ), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::GENERAL => Some("GENERAL"), + Self::TRIANGLES_HIT_GROUP => Some("TRIANGLES_HIT_GROUP"), + Self::PROCEDURAL_HIT_GROUP => Some("PROCEDURAL_HIT_GROUP"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for ImageCreateFlags { +impl fmt::Display for ShaderInfoTypeAMD { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (ImageCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), - (ImageCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), - (ImageCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), - (ImageCreateFlags::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), - (ImageCreateFlags::CUBE_COMPATIBLE.0, "CUBE_COMPATIBLE"), - (ImageCreateFlags::CORNER_SAMPLED_NV.0, "CORNER_SAMPLED_NV"), - ( - ImageCreateFlags::SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT.0, - "SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT", - ), - (ImageCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"), - (ImageCreateFlags::ALIAS.0, "ALIAS"), - ( - ImageCreateFlags::SPLIT_INSTANCE_BIND_REGIONS.0, - "SPLIT_INSTANCE_BIND_REGIONS", - ), - ( - ImageCreateFlags::TYPE_2D_ARRAY_COMPATIBLE.0, - "TYPE_2D_ARRAY_COMPATIBLE", - ), - ( - ImageCreateFlags::BLOCK_TEXEL_VIEW_COMPATIBLE.0, - "BLOCK_TEXEL_VIEW_COMPATIBLE", -======= - ), - ( - SparseImageFormatFlags::NONSTANDARD_BLOCK_SIZE.0, - "NONSTANDARD_BLOCK_SIZE", ->>>>>>> Implement extension chaining - ), - (ImageCreateFlags::EXTENDED_USAGE.0, "EXTENDED_USAGE"), - (ImageCreateFlags::PROTECTED.0, "PROTECTED"), - (ImageCreateFlags::DISJOINT.0, "DISJOINT"), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::STATISTICS => Some("STATISTICS"), + Self::BINARY => Some("BINARY"), + Self::DISASSEMBLY => Some("DISASSEMBLY"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for CommandBufferLevel { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::PRIMARY => Some("PRIMARY"), + Self::SECONDARY => Some("SECONDARY"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -<<<<<<< HEAD impl fmt::Display for SampleCountFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ @@ -62469,31 +60353,12 @@ impl fmt::Display for SampleCountFlags { display_flags(f, KNOWN, self.0) } } -impl fmt::Display for QueryType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::OCCLUSION => Some("OCCLUSION"), - Self::PIPELINE_STATISTICS => Some("PIPELINE_STATISTICS"), - Self::TIMESTAMP => Some("TIMESTAMP"), - Self::RESERVED_8 => Some("RESERVED_8"), - Self::RESERVED_4 => Some("RESERVED_4"), - Self::TRANSFORM_FEEDBACK_STREAM_EXT => Some("TRANSFORM_FEEDBACK_STREAM_EXT"), - Self::ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV => { - Some("ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV") - } -======= -impl fmt::Display for FenceImportFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(FenceImportFlags::TEMPORARY.0, "TEMPORARY")]; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ValidationCheckEXT { +impl fmt::Display for DisplayPowerStateEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ALL => Some("ALL"), - Self::SHADERS => Some("SHADERS"), ->>>>>>> Implement extension chaining + Self::OFF => Some("OFF"), + Self::SUSPEND => Some("SUSPEND"), + Self::ON => Some("ON"), _ => None, }; if let Some(x) = name { @@ -62503,81 +60368,60 @@ impl fmt::Display for ValidationCheckEXT { } } } -<<<<<<< HEAD -impl fmt::Display for FormatFeatureFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [ ( Flags , & str ) ] = & [ ( FormatFeatureFlags :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE" ) , ( FormatFeatureFlags :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC" ) , ( FormatFeatureFlags :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER" ) , ( FormatFeatureFlags :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC" ) , ( FormatFeatureFlags :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT" ) , ( FormatFeatureFlags :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND" ) , ( FormatFeatureFlags :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT" ) , ( FormatFeatureFlags :: BLIT_SRC . 0 , "BLIT_SRC" ) , ( FormatFeatureFlags :: BLIT_DST . 0 , "BLIT_DST" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_CUBIC_IMG . 0 , "SAMPLED_IMAGE_FILTER_CUBIC_IMG" ) , ( FormatFeatureFlags :: RESERVED_27_KHR . 0 , "RESERVED_27_KHR" ) , ( FormatFeatureFlags :: RESERVED_28_KHR . 0 , "RESERVED_28_KHR" ) , ( FormatFeatureFlags :: RESERVED_25_KHR . 0 , "RESERVED_25_KHR" ) , ( FormatFeatureFlags :: RESERVED_26_KHR . 0 , "RESERVED_26_KHR" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_MINMAX_EXT . 0 , "SAMPLED_IMAGE_FILTER_MINMAX_EXT" ) , ( FormatFeatureFlags :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT" ) , ( FormatFeatureFlags :: TRANSFER_SRC . 0 , "TRANSFER_SRC" ) , ( FormatFeatureFlags :: TRANSFER_DST . 0 , "TRANSFER_DST" ) , ( FormatFeatureFlags :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT" ) , ( FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE" ) , ( FormatFeatureFlags :: DISJOINT . 0 , "DISJOINT" ) , ( FormatFeatureFlags :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES" ) ] ; - display_flags(f, KNOWN, self.0) - } -} -impl fmt::Display for ImageAspectFlags { +impl fmt::Display for ResolveModeFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (ImageAspectFlags::COLOR.0, "COLOR"), - (ImageAspectFlags::DEPTH.0, "DEPTH"), - (ImageAspectFlags::STENCIL.0, "STENCIL"), - (ImageAspectFlags::METADATA.0, "METADATA"), - (ImageAspectFlags::MEMORY_PLANE_0_EXT.0, "MEMORY_PLANE_0_EXT"), - (ImageAspectFlags::MEMORY_PLANE_1_EXT.0, "MEMORY_PLANE_1_EXT"), - (ImageAspectFlags::MEMORY_PLANE_2_EXT.0, "MEMORY_PLANE_2_EXT"), - (ImageAspectFlags::MEMORY_PLANE_3_EXT.0, "MEMORY_PLANE_3_EXT"), - (ImageAspectFlags::PLANE_0.0, "PLANE_0"), - (ImageAspectFlags::PLANE_1.0, "PLANE_1"), - (ImageAspectFlags::PLANE_2.0, "PLANE_2"), + (ResolveModeFlagsKHR::NONE.0, "NONE"), + (ResolveModeFlagsKHR::SAMPLE_ZERO.0, "SAMPLE_ZERO"), + (ResolveModeFlagsKHR::AVERAGE.0, "AVERAGE"), + (ResolveModeFlagsKHR::MIN.0, "MIN"), + (ResolveModeFlagsKHR::MAX.0, "MAX"), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for StencilFaceFlags { +impl fmt::Display for BlendOverlapEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (StencilFaceFlags::FRONT.0, "FRONT"), - (StencilFaceFlags::BACK.0, "BACK"), - ( - StencilFaceFlags::STENCIL_FRONT_AND_BACK.0, - "STENCIL_FRONT_AND_BACK", - ), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::UNCORRELATED => Some("UNCORRELATED"), + Self::DISJOINT => Some("DISJOINT"), + Self::CONJOINT => Some("CONJOINT"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for ExternalFenceHandleTypeFlags { +impl fmt::Display for CoarseSampleOrderTypeNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT.0, - "EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT", - ), - ( - ExternalFenceHandleTypeFlags::EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD.0, - "EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD", - ), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::DEFAULT => Some("DEFAULT"), + Self::CUSTOM => Some("CUSTOM"), + Self::PIXEL_MAJOR => Some("PIXEL_MAJOR"), + Self::SAMPLE_MAJOR => Some("SAMPLE_MAJOR"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for DeviceEventTypeEXT { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::DISPLAY_HOTPLUG => Some("DISPLAY_HOTPLUG"), -======= -impl fmt::Display for SystemAllocationScope { +impl fmt::Display for StencilOp { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::COMMAND => Some("COMMAND"), - Self::OBJECT => Some("OBJECT"), - Self::CACHE => Some("CACHE"), - Self::DEVICE => Some("DEVICE"), - Self::INSTANCE => Some("INSTANCE"), ->>>>>>> Implement extension chaining + Self::KEEP => Some("KEEP"), + Self::ZERO => Some("ZERO"), + Self::REPLACE => Some("REPLACE"), + Self::INCREMENT_AND_CLAMP => Some("INCREMENT_AND_CLAMP"), + Self::DECREMENT_AND_CLAMP => Some("DECREMENT_AND_CLAMP"), + Self::INVERT => Some("INVERT"), + Self::INCREMENT_AND_WRAP => Some("INCREMENT_AND_WRAP"), + Self::DECREMENT_AND_WRAP => Some("DECREMENT_AND_WRAP"), _ => None, }; if let Some(x) = name { @@ -62587,17 +60431,11 @@ impl fmt::Display for SystemAllocationScope { } } } -impl fmt::Display for ViewportCoordinateSwizzleNV { +impl fmt::Display for ValidationFeatureEnableEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::POSITIVE_X => Some("POSITIVE_X"), - Self::NEGATIVE_X => Some("NEGATIVE_X"), - Self::POSITIVE_Y => Some("POSITIVE_Y"), - Self::NEGATIVE_Y => Some("NEGATIVE_Y"), - Self::POSITIVE_Z => Some("POSITIVE_Z"), - Self::NEGATIVE_Z => Some("NEGATIVE_Z"), - Self::POSITIVE_W => Some("POSITIVE_W"), - Self::NEGATIVE_W => Some("NEGATIVE_W"), + Self::GPU_ASSISTED => Some("GPU_ASSISTED"), + Self::GPU_ASSISTED_RESERVE_BINDING_SLOT => Some("GPU_ASSISTED_RESERVE_BINDING_SLOT"), _ => None, }; if let Some(x) = name { @@ -62607,21 +60445,21 @@ impl fmt::Display for ViewportCoordinateSwizzleNV { } } } -<<<<<<< HEAD -impl fmt::Display for AttachmentLoadOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::LOAD => Some("LOAD"), - Self::CLEAR => Some("CLEAR"), - Self::DONT_CARE => Some("DONT_CARE"), -======= -impl fmt::Display for ImageType { +impl fmt::Display for ShadingRatePaletteEntryNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::TYPE_1D => Some("TYPE_1D"), - Self::TYPE_2D => Some("TYPE_2D"), - Self::TYPE_3D => Some("TYPE_3D"), ->>>>>>> Implement extension chaining + Self::NO_INVOCATIONS => Some("NO_INVOCATIONS"), + Self::TYPE_16_INVOCATIONS_PER_PIXEL => Some("TYPE_16_INVOCATIONS_PER_PIXEL"), + Self::TYPE_8_INVOCATIONS_PER_PIXEL => Some("TYPE_8_INVOCATIONS_PER_PIXEL"), + Self::TYPE_4_INVOCATIONS_PER_PIXEL => Some("TYPE_4_INVOCATIONS_PER_PIXEL"), + Self::TYPE_2_INVOCATIONS_PER_PIXEL => Some("TYPE_2_INVOCATIONS_PER_PIXEL"), + Self::TYPE_1_INVOCATION_PER_PIXEL => Some("TYPE_1_INVOCATION_PER_PIXEL"), + Self::TYPE_1_INVOCATION_PER_2X1_PIXELS => Some("TYPE_1_INVOCATION_PER_2X1_PIXELS"), + Self::TYPE_1_INVOCATION_PER_1X2_PIXELS => Some("TYPE_1_INVOCATION_PER_1X2_PIXELS"), + Self::TYPE_1_INVOCATION_PER_2X2_PIXELS => Some("TYPE_1_INVOCATION_PER_2X2_PIXELS"), + Self::TYPE_1_INVOCATION_PER_4X2_PIXELS => Some("TYPE_1_INVOCATION_PER_4X2_PIXELS"), + Self::TYPE_1_INVOCATION_PER_2X4_PIXELS => Some("TYPE_1_INVOCATION_PER_2X4_PIXELS"), + Self::TYPE_1_INVOCATION_PER_4X4_PIXELS => Some("TYPE_1_INVOCATION_PER_4X4_PIXELS"), _ => None, }; if let Some(x) = name { @@ -62631,48 +60469,32 @@ impl fmt::Display for ImageType { } } } -<<<<<<< HEAD -impl fmt::Display for CommandPoolCreateFlags { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (CommandPoolCreateFlags::TRANSIENT.0, "TRANSIENT"), - ( - CommandPoolCreateFlags::RESET_COMMAND_BUFFER.0, - "RESET_COMMAND_BUFFER", - ), - (CommandPoolCreateFlags::PROTECTED.0, "PROTECTED"), -======= -impl fmt::Display for DebugUtilsMessageSeverityFlagsEXT { +impl fmt::Display for ColorComponentFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (DebugUtilsMessageSeverityFlagsEXT::VERBOSE.0, "VERBOSE"), - (DebugUtilsMessageSeverityFlagsEXT::INFO.0, "INFO"), - (DebugUtilsMessageSeverityFlagsEXT::WARNING.0, "WARNING"), - (DebugUtilsMessageSeverityFlagsEXT::ERROR.0, "ERROR"), ->>>>>>> Implement extension chaining + (ColorComponentFlags::R.0, "R"), + (ColorComponentFlags::G.0, "G"), + (ColorComponentFlags::B.0, "B"), + (ColorComponentFlags::A.0, "A"), ]; display_flags(f, KNOWN, self.0) } } -<<<<<<< HEAD -impl fmt::Display for ValidationCheckEXT { +impl fmt::Display for SurfaceCounterFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::ALL => Some("ALL"), - Self::SHADERS => Some("SHADERS"), -======= -impl fmt::Display for IndirectCommandsTokenTypeNVX { + const KNOWN: &[(Flags, &str)] = &[(SurfaceCounterFlagsEXT::VBLANK.0, "VBLANK")]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for BorderColor { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::PIPELINE => Some("PIPELINE"), - Self::DESCRIPTOR_SET => Some("DESCRIPTOR_SET"), - Self::INDEX_BUFFER => Some("INDEX_BUFFER"), - Self::VERTEX_BUFFER => Some("VERTEX_BUFFER"), - Self::PUSH_CONSTANT => Some("PUSH_CONSTANT"), - Self::DRAW_INDEXED => Some("DRAW_INDEXED"), - Self::DRAW => Some("DRAW"), - Self::DISPATCH => Some("DISPATCH"), ->>>>>>> Implement extension chaining + Self::FLOAT_TRANSPARENT_BLACK => Some("FLOAT_TRANSPARENT_BLACK"), + Self::INT_TRANSPARENT_BLACK => Some("INT_TRANSPARENT_BLACK"), + Self::FLOAT_OPAQUE_BLACK => Some("FLOAT_OPAQUE_BLACK"), + Self::INT_OPAQUE_BLACK => Some("INT_OPAQUE_BLACK"), + Self::FLOAT_OPAQUE_WHITE => Some("FLOAT_OPAQUE_WHITE"), + Self::INT_OPAQUE_WHITE => Some("INT_OPAQUE_WHITE"), _ => None, }; if let Some(x) = name { @@ -62682,107 +60504,132 @@ impl fmt::Display for IndirectCommandsTokenTypeNVX { } } } -<<<<<<< HEAD -impl fmt::Display for ExternalMemoryHandleTypeFlags { +impl fmt::Display for FenceCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [ ( Flags , & str ) ] = & [ ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_ANDROID" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION" ) , ( ExternalMemoryHandleTypeFlags :: EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY . 0 , "EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY" ) ] ; + const KNOWN: &[(Flags, &str)] = &[(FenceCreateFlags::SIGNALED.0, "SIGNALED")]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DependencyFlags { +impl fmt::Display for PipelineCacheHeaderVersion { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (DependencyFlags::BY_REGION.0, "BY_REGION"), - (DependencyFlags::DEVICE_GROUP.0, "DEVICE_GROUP"), - (DependencyFlags::VIEW_LOCAL.0, "VIEW_LOCAL"), - ]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::ONE => Some("ONE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for CommandPoolResetFlags { +impl fmt::Display for ViewportCoordinateSwizzleNV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[( - CommandPoolResetFlags::RELEASE_RESOURCES.0, - "RELEASE_RESOURCES", - )]; - display_flags(f, KNOWN, self.0) + let name = match *self { + Self::POSITIVE_X => Some("POSITIVE_X"), + Self::NEGATIVE_X => Some("NEGATIVE_X"), + Self::POSITIVE_Y => Some("POSITIVE_Y"), + Self::NEGATIVE_Y => Some("NEGATIVE_Y"), + Self::POSITIVE_Z => Some("POSITIVE_Z"), + Self::NEGATIVE_Z => Some("NEGATIVE_Z"), + Self::POSITIVE_W => Some("POSITIVE_W"), + Self::NEGATIVE_W => Some("NEGATIVE_W"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } } } -impl fmt::Display for QueryControlFlags { +impl fmt::Display for SubgroupFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(QueryControlFlags::PRECISE.0, "PRECISE")]; + const KNOWN: &[(Flags, &str)] = &[ + (SubgroupFeatureFlags::BASIC.0, "BASIC"), + (SubgroupFeatureFlags::VOTE.0, "VOTE"), + (SubgroupFeatureFlags::ARITHMETIC.0, "ARITHMETIC"), + (SubgroupFeatureFlags::BALLOT.0, "BALLOT"), + (SubgroupFeatureFlags::SHUFFLE.0, "SHUFFLE"), + (SubgroupFeatureFlags::SHUFFLE_RELATIVE.0, "SHUFFLE_RELATIVE"), + (SubgroupFeatureFlags::CLUSTERED.0, "CLUSTERED"), + (SubgroupFeatureFlags::QUAD.0, "QUAD"), + (SubgroupFeatureFlags::PARTITIONED_NV.0, "PARTITIONED_NV"), + ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ImageViewType { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let name = match *self { - Self::TYPE_1D => Some("TYPE_1D"), - Self::TYPE_2D => Some("TYPE_2D"), - Self::TYPE_3D => Some("TYPE_3D"), - Self::CUBE => Some("CUBE"), - Self::TYPE_1D_ARRAY => Some("TYPE_1D_ARRAY"), - Self::TYPE_2D_ARRAY => Some("TYPE_2D_ARRAY"), - Self::CUBE_ARRAY => Some("CUBE_ARRAY"), -======= -impl fmt::Display for QueryPipelineStatisticFlags { +impl fmt::Display for DescriptorPoolCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - QueryPipelineStatisticFlags::INPUT_ASSEMBLY_VERTICES.0, - "INPUT_ASSEMBLY_VERTICES", - ), - ( - QueryPipelineStatisticFlags::INPUT_ASSEMBLY_PRIMITIVES.0, - "INPUT_ASSEMBLY_PRIMITIVES", - ), - ( - QueryPipelineStatisticFlags::VERTEX_SHADER_INVOCATIONS.0, - "VERTEX_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::GEOMETRY_SHADER_INVOCATIONS.0, - "GEOMETRY_SHADER_INVOCATIONS", - ), - ( - QueryPipelineStatisticFlags::GEOMETRY_SHADER_PRIMITIVES.0, - "GEOMETRY_SHADER_PRIMITIVES", + DescriptorPoolCreateFlags::FREE_DESCRIPTOR_SET.0, + "FREE_DESCRIPTOR_SET", ), ( - QueryPipelineStatisticFlags::CLIPPING_INVOCATIONS.0, - "CLIPPING_INVOCATIONS", + DescriptorPoolCreateFlags::UPDATE_AFTER_BIND_EXT.0, + "UPDATE_AFTER_BIND_EXT", ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for DescriptorSetLayoutCreateFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ ( - QueryPipelineStatisticFlags::CLIPPING_PRIMITIVES.0, - "CLIPPING_PRIMITIVES", + DescriptorSetLayoutCreateFlags::PUSH_DESCRIPTOR_KHR.0, + "PUSH_DESCRIPTOR_KHR", ), ( - QueryPipelineStatisticFlags::FRAGMENT_SHADER_INVOCATIONS.0, - "FRAGMENT_SHADER_INVOCATIONS", + DescriptorSetLayoutCreateFlags::UPDATE_AFTER_BIND_POOL_EXT.0, + "UPDATE_AFTER_BIND_POOL_EXT", ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for SystemAllocationScope { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::COMMAND => Some("COMMAND"), + Self::OBJECT => Some("OBJECT"), + Self::CACHE => Some("CACHE"), + Self::DEVICE => Some("DEVICE"), + Self::INSTANCE => Some("INSTANCE"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for CommandBufferUsageFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ ( - QueryPipelineStatisticFlags::TESSELLATION_CONTROL_SHADER_PATCHES.0, - "TESSELLATION_CONTROL_SHADER_PATCHES", + CommandBufferUsageFlags::ONE_TIME_SUBMIT.0, + "ONE_TIME_SUBMIT", ), ( - QueryPipelineStatisticFlags::TESSELLATION_EVALUATION_SHADER_INVOCATIONS.0, - "TESSELLATION_EVALUATION_SHADER_INVOCATIONS", + CommandBufferUsageFlags::RENDER_PASS_CONTINUE.0, + "RENDER_PASS_CONTINUE", ), ( - QueryPipelineStatisticFlags::COMPUTE_SHADER_INVOCATIONS.0, - "COMPUTE_SHADER_INVOCATIONS", + CommandBufferUsageFlags::SIMULTANEOUS_USE.0, + "SIMULTANEOUS_USE", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for QueueGlobalPriorityEXT { +impl fmt::Display for SamplerYcbcrRange { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::LOW => Some("LOW"), - Self::MEDIUM => Some("MEDIUM"), - Self::HIGH => Some("HIGH"), - Self::REALTIME => Some("REALTIME"), + Self::ITU_FULL => Some("ITU_FULL"), + Self::ITU_NARROW => Some("ITU_NARROW"), _ => None, }; if let Some(x) = name { @@ -62792,11 +60639,11 @@ impl fmt::Display for QueueGlobalPriorityEXT { } } } -impl fmt::Display for SubpassContents { +impl fmt::Display for PointClippingBehavior { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::INLINE => Some("INLINE"), - Self::SECONDARY_COMMAND_BUFFERS => Some("SECONDARY_COMMAND_BUFFERS"), + Self::ALL_CLIP_PLANES => Some("ALL_CLIP_PLANES"), + Self::USER_CLIP_PLANES_ONLY => Some("USER_CLIP_PLANES_ONLY"), _ => None, }; if let Some(x) = name { @@ -62806,21 +60653,59 @@ impl fmt::Display for SubpassContents { } } } -impl fmt::Display for CommandPoolResetFlags { +impl fmt::Display for CommandBufferResetFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[( - CommandPoolResetFlags::RELEASE_RESOURCES.0, + CommandBufferResetFlags::RELEASE_RESOURCES.0, "RELEASE_RESOURCES", )]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for PointClippingBehavior { +impl fmt::Display for ImageCreateFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (ImageCreateFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), + (ImageCreateFlags::SPARSE_RESIDENCY.0, "SPARSE_RESIDENCY"), + (ImageCreateFlags::SPARSE_ALIASED.0, "SPARSE_ALIASED"), + (ImageCreateFlags::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), + (ImageCreateFlags::CUBE_COMPATIBLE.0, "CUBE_COMPATIBLE"), + (ImageCreateFlags::CORNER_SAMPLED_NV.0, "CORNER_SAMPLED_NV"), + ( + ImageCreateFlags::SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT.0, + "SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT", + ), + (ImageCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"), + (ImageCreateFlags::ALIAS.0, "ALIAS"), + ( + ImageCreateFlags::SPLIT_INSTANCE_BIND_REGIONS.0, + "SPLIT_INSTANCE_BIND_REGIONS", + ), + ( + ImageCreateFlags::TYPE_2D_ARRAY_COMPATIBLE.0, + "TYPE_2D_ARRAY_COMPATIBLE", + ), + ( + ImageCreateFlags::BLOCK_TEXEL_VIEW_COMPATIBLE.0, + "BLOCK_TEXEL_VIEW_COMPATIBLE", + ), + (ImageCreateFlags::EXTENDED_USAGE.0, "EXTENDED_USAGE"), + (ImageCreateFlags::PROTECTED.0, "PROTECTED"), + (ImageCreateFlags::DISJOINT.0, "DISJOINT"), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for ComponentSwizzle { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::ALL_CLIP_PLANES => Some("ALL_CLIP_PLANES"), - Self::USER_CLIP_PLANES_ONLY => Some("USER_CLIP_PLANES_ONLY"), ->>>>>>> Implement extension chaining + Self::IDENTITY => Some("IDENTITY"), + Self::ZERO => Some("ZERO"), + Self::ONE => Some("ONE"), + Self::R => Some("R"), + Self::G => Some("G"), + Self::B => Some("B"), + Self::A => Some("A"), _ => None, }; if let Some(x) = name { @@ -62830,12 +60715,20 @@ impl fmt::Display for PointClippingBehavior { } } } -impl fmt::Display for SamplerReductionModeEXT { +impl fmt::Display for PrimitiveTopology { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { - Self::WEIGHTED_AVERAGE => Some("WEIGHTED_AVERAGE"), - Self::MIN => Some("MIN"), - Self::MAX => Some("MAX"), + Self::POINT_LIST => Some("POINT_LIST"), + Self::LINE_LIST => Some("LINE_LIST"), + Self::LINE_STRIP => Some("LINE_STRIP"), + Self::TRIANGLE_LIST => Some("TRIANGLE_LIST"), + Self::TRIANGLE_STRIP => Some("TRIANGLE_STRIP"), + Self::TRIANGLE_FAN => Some("TRIANGLE_FAN"), + Self::LINE_LIST_WITH_ADJACENCY => Some("LINE_LIST_WITH_ADJACENCY"), + Self::LINE_STRIP_WITH_ADJACENCY => Some("LINE_STRIP_WITH_ADJACENCY"), + Self::TRIANGLE_LIST_WITH_ADJACENCY => Some("TRIANGLE_LIST_WITH_ADJACENCY"), + Self::TRIANGLE_STRIP_WITH_ADJACENCY => Some("TRIANGLE_STRIP_WITH_ADJACENCY"), + Self::PATCH_LIST => Some("PATCH_LIST"), _ => None, }; if let Some(x) = name { @@ -62845,55 +60738,395 @@ impl fmt::Display for SamplerReductionModeEXT { } } } -<<<<<<< HEAD -impl fmt::Display for SubpassDescriptionFlags { +impl fmt::Display for StencilFaceFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ + (StencilFaceFlags::FRONT.0, "FRONT"), + (StencilFaceFlags::BACK.0, "BACK"), ( - SubpassDescriptionFlags::PER_VIEW_ATTRIBUTES_NVX.0, - "PER_VIEW_ATTRIBUTES_NVX", - ), - ( - SubpassDescriptionFlags::PER_VIEW_POSITION_X_ONLY_NVX.0, - "PER_VIEW_POSITION_X_ONLY_NVX", + StencilFaceFlags::STENCIL_FRONT_AND_BACK.0, + "STENCIL_FRONT_AND_BACK", ), ]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for ExternalMemoryHandleTypeFlagsNV { +impl fmt::Display for DebugUtilsMessageTypeFlagsEXT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (DebugUtilsMessageTypeFlagsEXT::GENERAL.0, "GENERAL"), + (DebugUtilsMessageTypeFlagsEXT::VALIDATION.0, "VALIDATION"), + (DebugUtilsMessageTypeFlagsEXT::PERFORMANCE.0, "PERFORMANCE"), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for PipelineCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV", + PipelineCreateFlags::DISABLE_OPTIMIZATION.0, + "DISABLE_OPTIMIZATION", ), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV", + PipelineCreateFlags::ALLOW_DERIVATIVES.0, + "ALLOW_DERIVATIVES", ), + (PipelineCreateFlags::DERIVATIVE.0, "DERIVATIVE"), + (PipelineCreateFlags::DEFER_COMPILE_NV.0, "DEFER_COMPILE_NV"), ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV", + PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0, + "VIEW_INDEX_FROM_DEVICE_INDEX", ), + (PipelineCreateFlags::DISPATCH_BASE.0, "DISPATCH_BASE"), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for SamplerYcbcrModelConversion { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::RGB_IDENTITY => Some("RGB_IDENTITY"), + Self::YCBCR_IDENTITY => Some("YCBCR_IDENTITY"), + Self::YCBCR_709 => Some("YCBCR_709"), + Self::YCBCR_601 => Some("YCBCR_601"), + Self::YCBCR_2020 => Some("YCBCR_2020"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for ExternalMemoryFeatureFlagsNV { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ ( - ExternalMemoryHandleTypeFlagsNV::EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV.0, - "EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV", + ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV.0, + "EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV", ), -======= -impl fmt::Display for AttachmentDescriptionFlags { + ( + ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV.0, + "EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV", + ), + ( + ExternalMemoryFeatureFlagsNV::EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV.0, + "EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV", + ), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for Format { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[(AttachmentDescriptionFlags::MAY_ALIAS.0, "MAY_ALIAS")]; + let name = match *self { + Self::UNDEFINED => Some("UNDEFINED"), + Self::R4G4_UNORM_PACK8 => Some("R4G4_UNORM_PACK8"), + Self::R4G4B4A4_UNORM_PACK16 => Some("R4G4B4A4_UNORM_PACK16"), + Self::B4G4R4A4_UNORM_PACK16 => Some("B4G4R4A4_UNORM_PACK16"), + Self::R5G6B5_UNORM_PACK16 => Some("R5G6B5_UNORM_PACK16"), + Self::B5G6R5_UNORM_PACK16 => Some("B5G6R5_UNORM_PACK16"), + Self::R5G5B5A1_UNORM_PACK16 => Some("R5G5B5A1_UNORM_PACK16"), + Self::B5G5R5A1_UNORM_PACK16 => Some("B5G5R5A1_UNORM_PACK16"), + Self::A1R5G5B5_UNORM_PACK16 => Some("A1R5G5B5_UNORM_PACK16"), + Self::R8_UNORM => Some("R8_UNORM"), + Self::R8_SNORM => Some("R8_SNORM"), + Self::R8_USCALED => Some("R8_USCALED"), + Self::R8_SSCALED => Some("R8_SSCALED"), + Self::R8_UINT => Some("R8_UINT"), + Self::R8_SINT => Some("R8_SINT"), + Self::R8_SRGB => Some("R8_SRGB"), + Self::R8G8_UNORM => Some("R8G8_UNORM"), + Self::R8G8_SNORM => Some("R8G8_SNORM"), + Self::R8G8_USCALED => Some("R8G8_USCALED"), + Self::R8G8_SSCALED => Some("R8G8_SSCALED"), + Self::R8G8_UINT => Some("R8G8_UINT"), + Self::R8G8_SINT => Some("R8G8_SINT"), + Self::R8G8_SRGB => Some("R8G8_SRGB"), + Self::R8G8B8_UNORM => Some("R8G8B8_UNORM"), + Self::R8G8B8_SNORM => Some("R8G8B8_SNORM"), + Self::R8G8B8_USCALED => Some("R8G8B8_USCALED"), + Self::R8G8B8_SSCALED => Some("R8G8B8_SSCALED"), + Self::R8G8B8_UINT => Some("R8G8B8_UINT"), + Self::R8G8B8_SINT => Some("R8G8B8_SINT"), + Self::R8G8B8_SRGB => Some("R8G8B8_SRGB"), + Self::B8G8R8_UNORM => Some("B8G8R8_UNORM"), + Self::B8G8R8_SNORM => Some("B8G8R8_SNORM"), + Self::B8G8R8_USCALED => Some("B8G8R8_USCALED"), + Self::B8G8R8_SSCALED => Some("B8G8R8_SSCALED"), + Self::B8G8R8_UINT => Some("B8G8R8_UINT"), + Self::B8G8R8_SINT => Some("B8G8R8_SINT"), + Self::B8G8R8_SRGB => Some("B8G8R8_SRGB"), + Self::R8G8B8A8_UNORM => Some("R8G8B8A8_UNORM"), + Self::R8G8B8A8_SNORM => Some("R8G8B8A8_SNORM"), + Self::R8G8B8A8_USCALED => Some("R8G8B8A8_USCALED"), + Self::R8G8B8A8_SSCALED => Some("R8G8B8A8_SSCALED"), + Self::R8G8B8A8_UINT => Some("R8G8B8A8_UINT"), + Self::R8G8B8A8_SINT => Some("R8G8B8A8_SINT"), + Self::R8G8B8A8_SRGB => Some("R8G8B8A8_SRGB"), + Self::B8G8R8A8_UNORM => Some("B8G8R8A8_UNORM"), + Self::B8G8R8A8_SNORM => Some("B8G8R8A8_SNORM"), + Self::B8G8R8A8_USCALED => Some("B8G8R8A8_USCALED"), + Self::B8G8R8A8_SSCALED => Some("B8G8R8A8_SSCALED"), + Self::B8G8R8A8_UINT => Some("B8G8R8A8_UINT"), + Self::B8G8R8A8_SINT => Some("B8G8R8A8_SINT"), + Self::B8G8R8A8_SRGB => Some("B8G8R8A8_SRGB"), + Self::A8B8G8R8_UNORM_PACK32 => Some("A8B8G8R8_UNORM_PACK32"), + Self::A8B8G8R8_SNORM_PACK32 => Some("A8B8G8R8_SNORM_PACK32"), + Self::A8B8G8R8_USCALED_PACK32 => Some("A8B8G8R8_USCALED_PACK32"), + Self::A8B8G8R8_SSCALED_PACK32 => Some("A8B8G8R8_SSCALED_PACK32"), + Self::A8B8G8R8_UINT_PACK32 => Some("A8B8G8R8_UINT_PACK32"), + Self::A8B8G8R8_SINT_PACK32 => Some("A8B8G8R8_SINT_PACK32"), + Self::A8B8G8R8_SRGB_PACK32 => Some("A8B8G8R8_SRGB_PACK32"), + Self::A2R10G10B10_UNORM_PACK32 => Some("A2R10G10B10_UNORM_PACK32"), + Self::A2R10G10B10_SNORM_PACK32 => Some("A2R10G10B10_SNORM_PACK32"), + Self::A2R10G10B10_USCALED_PACK32 => Some("A2R10G10B10_USCALED_PACK32"), + Self::A2R10G10B10_SSCALED_PACK32 => Some("A2R10G10B10_SSCALED_PACK32"), + Self::A2R10G10B10_UINT_PACK32 => Some("A2R10G10B10_UINT_PACK32"), + Self::A2R10G10B10_SINT_PACK32 => Some("A2R10G10B10_SINT_PACK32"), + Self::A2B10G10R10_UNORM_PACK32 => Some("A2B10G10R10_UNORM_PACK32"), + Self::A2B10G10R10_SNORM_PACK32 => Some("A2B10G10R10_SNORM_PACK32"), + Self::A2B10G10R10_USCALED_PACK32 => Some("A2B10G10R10_USCALED_PACK32"), + Self::A2B10G10R10_SSCALED_PACK32 => Some("A2B10G10R10_SSCALED_PACK32"), + Self::A2B10G10R10_UINT_PACK32 => Some("A2B10G10R10_UINT_PACK32"), + Self::A2B10G10R10_SINT_PACK32 => Some("A2B10G10R10_SINT_PACK32"), + Self::R16_UNORM => Some("R16_UNORM"), + Self::R16_SNORM => Some("R16_SNORM"), + Self::R16_USCALED => Some("R16_USCALED"), + Self::R16_SSCALED => Some("R16_SSCALED"), + Self::R16_UINT => Some("R16_UINT"), + Self::R16_SINT => Some("R16_SINT"), + Self::R16_SFLOAT => Some("R16_SFLOAT"), + Self::R16G16_UNORM => Some("R16G16_UNORM"), + Self::R16G16_SNORM => Some("R16G16_SNORM"), + Self::R16G16_USCALED => Some("R16G16_USCALED"), + Self::R16G16_SSCALED => Some("R16G16_SSCALED"), + Self::R16G16_UINT => Some("R16G16_UINT"), + Self::R16G16_SINT => Some("R16G16_SINT"), + Self::R16G16_SFLOAT => Some("R16G16_SFLOAT"), + Self::R16G16B16_UNORM => Some("R16G16B16_UNORM"), + Self::R16G16B16_SNORM => Some("R16G16B16_SNORM"), + Self::R16G16B16_USCALED => Some("R16G16B16_USCALED"), + Self::R16G16B16_SSCALED => Some("R16G16B16_SSCALED"), + Self::R16G16B16_UINT => Some("R16G16B16_UINT"), + Self::R16G16B16_SINT => Some("R16G16B16_SINT"), + Self::R16G16B16_SFLOAT => Some("R16G16B16_SFLOAT"), + Self::R16G16B16A16_UNORM => Some("R16G16B16A16_UNORM"), + Self::R16G16B16A16_SNORM => Some("R16G16B16A16_SNORM"), + Self::R16G16B16A16_USCALED => Some("R16G16B16A16_USCALED"), + Self::R16G16B16A16_SSCALED => Some("R16G16B16A16_SSCALED"), + Self::R16G16B16A16_UINT => Some("R16G16B16A16_UINT"), + Self::R16G16B16A16_SINT => Some("R16G16B16A16_SINT"), + Self::R16G16B16A16_SFLOAT => Some("R16G16B16A16_SFLOAT"), + Self::R32_UINT => Some("R32_UINT"), + Self::R32_SINT => Some("R32_SINT"), + Self::R32_SFLOAT => Some("R32_SFLOAT"), + Self::R32G32_UINT => Some("R32G32_UINT"), + Self::R32G32_SINT => Some("R32G32_SINT"), + Self::R32G32_SFLOAT => Some("R32G32_SFLOAT"), + Self::R32G32B32_UINT => Some("R32G32B32_UINT"), + Self::R32G32B32_SINT => Some("R32G32B32_SINT"), + Self::R32G32B32_SFLOAT => Some("R32G32B32_SFLOAT"), + Self::R32G32B32A32_UINT => Some("R32G32B32A32_UINT"), + Self::R32G32B32A32_SINT => Some("R32G32B32A32_SINT"), + Self::R32G32B32A32_SFLOAT => Some("R32G32B32A32_SFLOAT"), + Self::R64_UINT => Some("R64_UINT"), + Self::R64_SINT => Some("R64_SINT"), + Self::R64_SFLOAT => Some("R64_SFLOAT"), + Self::R64G64_UINT => Some("R64G64_UINT"), + Self::R64G64_SINT => Some("R64G64_SINT"), + Self::R64G64_SFLOAT => Some("R64G64_SFLOAT"), + Self::R64G64B64_UINT => Some("R64G64B64_UINT"), + Self::R64G64B64_SINT => Some("R64G64B64_SINT"), + Self::R64G64B64_SFLOAT => Some("R64G64B64_SFLOAT"), + Self::R64G64B64A64_UINT => Some("R64G64B64A64_UINT"), + Self::R64G64B64A64_SINT => Some("R64G64B64A64_SINT"), + Self::R64G64B64A64_SFLOAT => Some("R64G64B64A64_SFLOAT"), + Self::B10G11R11_UFLOAT_PACK32 => Some("B10G11R11_UFLOAT_PACK32"), + Self::E5B9G9R9_UFLOAT_PACK32 => Some("E5B9G9R9_UFLOAT_PACK32"), + Self::D16_UNORM => Some("D16_UNORM"), + Self::X8_D24_UNORM_PACK32 => Some("X8_D24_UNORM_PACK32"), + Self::D32_SFLOAT => Some("D32_SFLOAT"), + Self::S8_UINT => Some("S8_UINT"), + Self::D16_UNORM_S8_UINT => Some("D16_UNORM_S8_UINT"), + Self::D24_UNORM_S8_UINT => Some("D24_UNORM_S8_UINT"), + Self::D32_SFLOAT_S8_UINT => Some("D32_SFLOAT_S8_UINT"), + Self::BC1_RGB_UNORM_BLOCK => Some("BC1_RGB_UNORM_BLOCK"), + Self::BC1_RGB_SRGB_BLOCK => Some("BC1_RGB_SRGB_BLOCK"), + Self::BC1_RGBA_UNORM_BLOCK => Some("BC1_RGBA_UNORM_BLOCK"), + Self::BC1_RGBA_SRGB_BLOCK => Some("BC1_RGBA_SRGB_BLOCK"), + Self::BC2_UNORM_BLOCK => Some("BC2_UNORM_BLOCK"), + Self::BC2_SRGB_BLOCK => Some("BC2_SRGB_BLOCK"), + Self::BC3_UNORM_BLOCK => Some("BC3_UNORM_BLOCK"), + Self::BC3_SRGB_BLOCK => Some("BC3_SRGB_BLOCK"), + Self::BC4_UNORM_BLOCK => Some("BC4_UNORM_BLOCK"), + Self::BC4_SNORM_BLOCK => Some("BC4_SNORM_BLOCK"), + Self::BC5_UNORM_BLOCK => Some("BC5_UNORM_BLOCK"), + Self::BC5_SNORM_BLOCK => Some("BC5_SNORM_BLOCK"), + Self::BC6H_UFLOAT_BLOCK => Some("BC6H_UFLOAT_BLOCK"), + Self::BC6H_SFLOAT_BLOCK => Some("BC6H_SFLOAT_BLOCK"), + Self::BC7_UNORM_BLOCK => Some("BC7_UNORM_BLOCK"), + Self::BC7_SRGB_BLOCK => Some("BC7_SRGB_BLOCK"), + Self::ETC2_R8G8B8_UNORM_BLOCK => Some("ETC2_R8G8B8_UNORM_BLOCK"), + Self::ETC2_R8G8B8_SRGB_BLOCK => Some("ETC2_R8G8B8_SRGB_BLOCK"), + Self::ETC2_R8G8B8A1_UNORM_BLOCK => Some("ETC2_R8G8B8A1_UNORM_BLOCK"), + Self::ETC2_R8G8B8A1_SRGB_BLOCK => Some("ETC2_R8G8B8A1_SRGB_BLOCK"), + Self::ETC2_R8G8B8A8_UNORM_BLOCK => Some("ETC2_R8G8B8A8_UNORM_BLOCK"), + Self::ETC2_R8G8B8A8_SRGB_BLOCK => Some("ETC2_R8G8B8A8_SRGB_BLOCK"), + Self::EAC_R11_UNORM_BLOCK => Some("EAC_R11_UNORM_BLOCK"), + Self::EAC_R11_SNORM_BLOCK => Some("EAC_R11_SNORM_BLOCK"), + Self::EAC_R11G11_UNORM_BLOCK => Some("EAC_R11G11_UNORM_BLOCK"), + Self::EAC_R11G11_SNORM_BLOCK => Some("EAC_R11G11_SNORM_BLOCK"), + Self::ASTC_4X4_UNORM_BLOCK => Some("ASTC_4X4_UNORM_BLOCK"), + Self::ASTC_4X4_SRGB_BLOCK => Some("ASTC_4X4_SRGB_BLOCK"), + Self::ASTC_5X4_UNORM_BLOCK => Some("ASTC_5X4_UNORM_BLOCK"), + Self::ASTC_5X4_SRGB_BLOCK => Some("ASTC_5X4_SRGB_BLOCK"), + Self::ASTC_5X5_UNORM_BLOCK => Some("ASTC_5X5_UNORM_BLOCK"), + Self::ASTC_5X5_SRGB_BLOCK => Some("ASTC_5X5_SRGB_BLOCK"), + Self::ASTC_6X5_UNORM_BLOCK => Some("ASTC_6X5_UNORM_BLOCK"), + Self::ASTC_6X5_SRGB_BLOCK => Some("ASTC_6X5_SRGB_BLOCK"), + Self::ASTC_6X6_UNORM_BLOCK => Some("ASTC_6X6_UNORM_BLOCK"), + Self::ASTC_6X6_SRGB_BLOCK => Some("ASTC_6X6_SRGB_BLOCK"), + Self::ASTC_8X5_UNORM_BLOCK => Some("ASTC_8X5_UNORM_BLOCK"), + Self::ASTC_8X5_SRGB_BLOCK => Some("ASTC_8X5_SRGB_BLOCK"), + Self::ASTC_8X6_UNORM_BLOCK => Some("ASTC_8X6_UNORM_BLOCK"), + Self::ASTC_8X6_SRGB_BLOCK => Some("ASTC_8X6_SRGB_BLOCK"), + Self::ASTC_8X8_UNORM_BLOCK => Some("ASTC_8X8_UNORM_BLOCK"), + Self::ASTC_8X8_SRGB_BLOCK => Some("ASTC_8X8_SRGB_BLOCK"), + Self::ASTC_10X5_UNORM_BLOCK => Some("ASTC_10X5_UNORM_BLOCK"), + Self::ASTC_10X5_SRGB_BLOCK => Some("ASTC_10X5_SRGB_BLOCK"), + Self::ASTC_10X6_UNORM_BLOCK => Some("ASTC_10X6_UNORM_BLOCK"), + Self::ASTC_10X6_SRGB_BLOCK => Some("ASTC_10X6_SRGB_BLOCK"), + Self::ASTC_10X8_UNORM_BLOCK => Some("ASTC_10X8_UNORM_BLOCK"), + Self::ASTC_10X8_SRGB_BLOCK => Some("ASTC_10X8_SRGB_BLOCK"), + Self::ASTC_10X10_UNORM_BLOCK => Some("ASTC_10X10_UNORM_BLOCK"), + Self::ASTC_10X10_SRGB_BLOCK => Some("ASTC_10X10_SRGB_BLOCK"), + Self::ASTC_12X10_UNORM_BLOCK => Some("ASTC_12X10_UNORM_BLOCK"), + Self::ASTC_12X10_SRGB_BLOCK => Some("ASTC_12X10_SRGB_BLOCK"), + Self::ASTC_12X12_UNORM_BLOCK => Some("ASTC_12X12_UNORM_BLOCK"), + Self::ASTC_12X12_SRGB_BLOCK => Some("ASTC_12X12_SRGB_BLOCK"), + Self::PVRTC1_2BPP_UNORM_BLOCK_IMG => Some("PVRTC1_2BPP_UNORM_BLOCK_IMG"), + Self::PVRTC1_4BPP_UNORM_BLOCK_IMG => Some("PVRTC1_4BPP_UNORM_BLOCK_IMG"), + Self::PVRTC2_2BPP_UNORM_BLOCK_IMG => Some("PVRTC2_2BPP_UNORM_BLOCK_IMG"), + Self::PVRTC2_4BPP_UNORM_BLOCK_IMG => Some("PVRTC2_4BPP_UNORM_BLOCK_IMG"), + Self::PVRTC1_2BPP_SRGB_BLOCK_IMG => Some("PVRTC1_2BPP_SRGB_BLOCK_IMG"), + Self::PVRTC1_4BPP_SRGB_BLOCK_IMG => Some("PVRTC1_4BPP_SRGB_BLOCK_IMG"), + Self::PVRTC2_2BPP_SRGB_BLOCK_IMG => Some("PVRTC2_2BPP_SRGB_BLOCK_IMG"), + Self::PVRTC2_4BPP_SRGB_BLOCK_IMG => Some("PVRTC2_4BPP_SRGB_BLOCK_IMG"), + Self::G8B8G8R8_422_UNORM => Some("G8B8G8R8_422_UNORM"), + Self::B8G8R8G8_422_UNORM => Some("B8G8R8G8_422_UNORM"), + Self::G8_B8_R8_3PLANE_420_UNORM => Some("G8_B8_R8_3PLANE_420_UNORM"), + Self::G8_B8R8_2PLANE_420_UNORM => Some("G8_B8R8_2PLANE_420_UNORM"), + Self::G8_B8_R8_3PLANE_422_UNORM => Some("G8_B8_R8_3PLANE_422_UNORM"), + Self::G8_B8R8_2PLANE_422_UNORM => Some("G8_B8R8_2PLANE_422_UNORM"), + Self::G8_B8_R8_3PLANE_444_UNORM => Some("G8_B8_R8_3PLANE_444_UNORM"), + Self::R10X6_UNORM_PACK16 => Some("R10X6_UNORM_PACK16"), + Self::R10X6G10X6_UNORM_2PACK16 => Some("R10X6G10X6_UNORM_2PACK16"), + Self::R10X6G10X6B10X6A10X6_UNORM_4PACK16 => Some("R10X6G10X6B10X6A10X6_UNORM_4PACK16"), + Self::G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 => { + Some("G10X6B10X6G10X6R10X6_422_UNORM_4PACK16") + } + Self::B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 => { + Some("B10X6G10X6R10X6G10X6_422_UNORM_4PACK16") + } + Self::G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 => { + Some("G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16") + } + Self::G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 => { + Some("G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16") + } + Self::G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 => { + Some("G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16") + } + Self::G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 => { + Some("G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16") + } + Self::G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 => { + Some("G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16") + } + Self::R12X4_UNORM_PACK16 => Some("R12X4_UNORM_PACK16"), + Self::R12X4G12X4_UNORM_2PACK16 => Some("R12X4G12X4_UNORM_2PACK16"), + Self::R12X4G12X4B12X4A12X4_UNORM_4PACK16 => Some("R12X4G12X4B12X4A12X4_UNORM_4PACK16"), + Self::G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 => { + Some("G12X4B12X4G12X4R12X4_422_UNORM_4PACK16") + } + Self::B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 => { + Some("B12X4G12X4R12X4G12X4_422_UNORM_4PACK16") + } + Self::G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 => { + Some("G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16") + } + Self::G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 => { + Some("G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16") + } + Self::G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 => { + Some("G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16") + } + Self::G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 => { + Some("G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16") + } + Self::G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 => { + Some("G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16") + } + Self::G16B16G16R16_422_UNORM => Some("G16B16G16R16_422_UNORM"), + Self::B16G16R16G16_422_UNORM => Some("B16G16R16G16_422_UNORM"), + Self::G16_B16_R16_3PLANE_420_UNORM => Some("G16_B16_R16_3PLANE_420_UNORM"), + Self::G16_B16R16_2PLANE_420_UNORM => Some("G16_B16R16_2PLANE_420_UNORM"), + Self::G16_B16_R16_3PLANE_422_UNORM => Some("G16_B16_R16_3PLANE_422_UNORM"), + Self::G16_B16R16_2PLANE_422_UNORM => Some("G16_B16R16_2PLANE_422_UNORM"), + Self::G16_B16_R16_3PLANE_444_UNORM => Some("G16_B16_R16_3PLANE_444_UNORM"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for SparseMemoryBindFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[(SparseMemoryBindFlags::METADATA.0, "METADATA")]; display_flags(f, KNOWN, self.0) } } -impl fmt::Display for DependencyFlags { +impl fmt::Display for SubpassContents { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::INLINE => Some("INLINE"), + Self::SECONDARY_COMMAND_BUFFERS => Some("SECONDARY_COMMAND_BUFFERS"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + write!(f, "{}", self.0) + } + } +} +impl fmt::Display for QueryResultFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (DependencyFlags::BY_REGION.0, "BY_REGION"), - (DependencyFlags::DEVICE_GROUP.0, "DEVICE_GROUP"), - (DependencyFlags::VIEW_LOCAL.0, "VIEW_LOCAL"), ->>>>>>> Implement extension chaining + (QueryResultFlags::TYPE_64.0, "TYPE_64"), + (QueryResultFlags::WAIT.0, "WAIT"), + (QueryResultFlags::WITH_AVAILABILITY.0, "WITH_AVAILABILITY"), + (QueryResultFlags::PARTIAL.0, "PARTIAL"), + ]; + display_flags(f, KNOWN, self.0) + } +} +impl fmt::Display for QueueFlags { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (QueueFlags::GRAPHICS.0, "GRAPHICS"), + (QueueFlags::COMPUTE.0, "COMPUTE"), + (QueueFlags::TRANSFER.0, "TRANSFER"), + (QueueFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), + (QueueFlags::RESERVED_6_KHR.0, "RESERVED_6_KHR"), + (QueueFlags::RESERVED_5_KHR.0, "RESERVED_5_KHR"), + (QueueFlags::PROTECTED.0, "PROTECTED"), ]; display_flags(f, KNOWN, self.0) } diff --git a/examples/src/lib.rs b/examples/src/lib.rs index cff385bc3..01747a4ea 100644 --- a/examples/src/lib.rs +++ b/examples/src/lib.rs @@ -4,7 +4,6 @@ extern crate ash; extern crate winapi; extern crate winit; - #[cfg(target_os = "macos")] extern crate cocoa; #[cfg(target_os = "macos")] @@ -408,9 +407,9 @@ impl ExampleBase { .build()]; let mut variable_pointers = - vk::PhysicalDeviceVariablePointerFeatures::builder().variable_pointers(true); + vk::PhysicalDeviceVariablePointerFeatures::builder().variable_pointers(true).build(); let mut corner = vk::PhysicalDeviceCornerSampledImageFeaturesNV::builder() - .corner_sampled_image(true); + .corner_sampled_image(true).build(); let mut device_create_info = vk::DeviceCreateInfo::builder() .next(&mut corner) .next(&mut variable_pointers) @@ -419,24 +418,12 @@ impl ExampleBase { .enabled_features(&features) .build(); - let mut chain = - vk::ExtensionChain::from_ptr(&mut device_create_info as *mut _ as *mut _); - println!("{}", (*chain).s_type); - println!("{:?}", (*chain).p_next); - unsafe { - loop { - chain = vk::ExtensionChain::from_ptr((*chain).p_next as *mut _); - println!("{}", (*chain).s_type); - println!("{:?}", (*chain).p_next); - if (*chain).p_next.is_null() { - break; - } - } + for ptr in vk::ptr_chain_iter(&mut device_create_info){ + println!("{:?}", ptr); } - use std::ops::Deref; println!("--"); - println!("{:?}", corner.deref() as *const _); - println!("{:?}", variable_pointers.deref() as *const _); + println!("{:?}", &corner as *const _); + println!("{:?}", &variable_pointers as *const _); let device: Device = instance .create_device(pdevice, &device_create_info, None) .unwrap(); diff --git a/generator/src/lib.rs b/generator/src/lib.rs index f478e42b1..878f58637 100644 --- a/generator/src/lib.rs +++ b/generator/src/lib.rs @@ -1596,11 +1596,13 @@ pub fn derive_setters(_struct: &vkxml::Struct) -> Option { let next_function = if has_next { quote! { - pub fn next(mut self, next: &'a mut impl ::std::ops::DerefMut) -> #name_builder<'a> { + pub fn next(mut self, next: &'a mut T) -> #name_builder<'a> { unsafe{ - let ptr = &mut self.inner as *mut _ as *mut c_void; - let last_extension = ExtensionChain::last_chain(ptr); - (*last_extension).p_next = next.deref_mut() as *mut T as *mut c_void; + let last_extension = ptr_chain_iter(&mut self.inner) + .last() + .expect("Initial ptr was null"); + // Append the extension at the end + (*last_extension).p_next = next as *mut T as *mut _; } self } @@ -2145,33 +2147,23 @@ pub fn write_source_code(path: &Path) { let source_code = quote! { use std::fmt; use std::os::raw::*; - - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct ExtensionChain { - pub s_type: StructureType, - pub p_next: *mut c_void - } - - impl ExtensionChain { - pub unsafe fn from_ptr(ptr: *mut c_void) -> *mut Self { - ::std::mem::transmute(ptr) - } - pub unsafe fn last_chain(ptr: *mut c_void) -> *mut Self { - assert!(!ptr.is_null()); - let mut extension = ExtensionChain::from_ptr(ptr); - while !(*extension).p_next.is_null() { - extension = ExtensionChain::from_ptr((*extension).p_next); + /// `T` has to be a valid xxx_create_info struct. Addtionally all the pointer chains in + /// this iterator are mutable. Make sure that all the objects in this pointer chain have an + /// active `&mut` borrow if you want to update those objects. + pub unsafe fn ptr_chain_iter(ptr: &mut T) -> impl Iterator { + use std::ptr::null_mut; + let ptr: *mut BaseOutStructure = ::std::mem::transmute(ptr); + (0..).scan(ptr, |p_ptr, _|{ + if *p_ptr == null_mut() { + return None; } - extension - } - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct ExtensionChainMut { - pub s_type: StructureType, - pub p_next: *mut c_void + let n_ptr = (**p_ptr).p_next as *mut BaseOutStructure; + let old = *p_ptr; + *p_ptr = n_ptr; + Some(old) + }) } + pub trait Handle { const TYPE: ObjectType; fn as_raw(self) -> u64;