erupt/generated/extensions/
ext_shader_image_atomic_int64.rs1#[doc(alias = "VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION")]
4pub const EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION: u32 = 1;
5#[doc(alias = "VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME")]
7pub const EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_EXT_shader_image_atomic_int64"
9);
10impl crate::vk1_0::StructureType {
12 pub const PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: Self = Self(
13 1000234000,
14 );
15}
16impl<'a> crate::ExtendableFrom<'a, PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>
17for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
18impl<
19 'a,
20> crate::ExtendableFrom<'a, PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'_>>
21for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
22impl<'a> crate::ExtendableFrom<'a, PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>
23for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
24impl<
25 'a,
26> crate::ExtendableFrom<'a, PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'_>>
27for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
28#[doc(alias = "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT")]
30#[derive(Copy, Clone)]
31#[repr(C)]
32pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
33 pub s_type: crate::vk1_0::StructureType,
34 pub p_next: *mut std::ffi::c_void,
35 pub shader_image_int64_atomics: crate::vk1_0::Bool32,
36 pub sparse_image_int64_atomics: crate::vk1_0::Bool32,
37}
38impl PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
39 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
40}
41impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
42 fn default() -> Self {
43 Self {
44 s_type: Self::STRUCTURE_TYPE,
45 p_next: std::ptr::null_mut(),
46 shader_image_int64_atomics: Default::default(),
47 sparse_image_int64_atomics: Default::default(),
48 }
49 }
50}
51impl std::fmt::Debug for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
52 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
53 f.debug_struct("PhysicalDeviceShaderImageAtomicInt64FeaturesEXT")
54 .field("s_type", &self.s_type)
55 .field("p_next", &self.p_next)
56 .field("shader_image_int64_atomics", &(self.shader_image_int64_atomics != 0))
57 .field("sparse_image_int64_atomics", &(self.sparse_image_int64_atomics != 0))
58 .finish()
59 }
60}
61impl PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
62 #[inline]
63 pub fn into_builder<'a>(
64 self,
65 ) -> PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
66 PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder(
67 self,
68 std::marker::PhantomData,
69 )
70 }
71}
72#[derive(Copy, Clone)]
73#[repr(transparent)]
75pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a>(
76 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT,
77 std::marker::PhantomData<&'a ()>,
78);
79impl<'a> PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
80 #[inline]
81 pub fn new() -> PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
82 PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder(
83 Default::default(),
84 std::marker::PhantomData,
85 )
86 }
87 #[inline]
88 #[must_use]
89 pub fn shader_image_int64_atomics(
90 mut self,
91 shader_image_int64_atomics: bool,
92 ) -> Self {
93 self.0.shader_image_int64_atomics = shader_image_int64_atomics as _;
94 self
95 }
96 #[inline]
97 #[must_use]
98 pub fn sparse_image_int64_atomics(
99 mut self,
100 sparse_image_int64_atomics: bool,
101 ) -> Self {
102 self.0.sparse_image_int64_atomics = sparse_image_int64_atomics as _;
103 self
104 }
105 #[inline]
106 pub fn build_dangling(self) -> PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
109 self.0
110 }
111}
112impl<'a> std::default::Default
113for PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
114 fn default() -> PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
115 Self::new()
116 }
117}
118impl<'a> std::fmt::Debug for PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
119 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
120 std::fmt::Debug::fmt(&self.0, f)
121 }
122}
123impl<'a> std::ops::Deref for PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
124 type Target = PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
125 fn deref(&self) -> &Self::Target {
126 &self.0
127 }
128}
129impl<'a> std::ops::DerefMut
130for PhysicalDeviceShaderImageAtomicInt64FeaturesEXTBuilder<'a> {
131 fn deref_mut(&mut self) -> &mut Self::Target {
132 &mut self.0
133 }
134}