/rust/registry/src/index.crates.io-1949cf8c6b5b557f/spirv-0.4.0+sdk-1.4.341.0/autogen_spirv.rs
Line | Count | Source |
1 | | // AUTOMATICALLY GENERATED from the SPIR-V JSON grammar: |
2 | | // external/spirv.core.grammar.json. |
3 | | // DO NOT MODIFY! |
4 | | |
5 | | pub type Word = u32; |
6 | | pub const MAGIC_NUMBER: u32 = 0x07230203; |
7 | | pub const MAJOR_VERSION: u8 = 1u8; |
8 | | pub const MINOR_VERSION: u8 = 6u8; |
9 | | pub const REVISION: u8 = 4u8; |
10 | | bitflags! { # [doc = "SPIR-V operand kind: [ImageOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_image_operands_a_image_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct ImageOperands : u32 { const NONE = 0u32 ; const BIAS = 1u32 ; const LOD = 2u32 ; const GRAD = 4u32 ; const CONST_OFFSET = 8u32 ; const OFFSET = 16u32 ; const CONST_OFFSETS = 32u32 ; const SAMPLE = 64u32 ; const MIN_LOD = 128u32 ; const MAKE_TEXEL_AVAILABLE = 256u32 ; const MAKE_TEXEL_VISIBLE = 512u32 ; const NON_PRIVATE_TEXEL = 1024u32 ; const VOLATILE_TEXEL = 2048u32 ; const SIGN_EXTEND = 4096u32 ; const ZERO_EXTEND = 8192u32 ; const NONTEMPORAL = 16384u32 ; const OFFSETS = 65536u32 ; } } |
11 | | bitflags! { # [doc = "SPIR-V operand kind: [FPFastMathMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fp_fast_math_mode_a_fp_fast_math_mode)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct FPFastMathMode : u32 { const NONE = 0u32 ; const NOT_NAN = 1u32 ; const NOT_INF = 2u32 ; const NSZ = 4u32 ; const ALLOW_RECIP = 8u32 ; const FAST = 16u32 ; const ALLOW_CONTRACT = 65536u32 ; const ALLOW_REASSOC = 131072u32 ; const ALLOW_TRANSFORM = 262144u32 ; } } |
12 | | bitflags! { # [doc = "SPIR-V operand kind: [SelectionControl](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_selection_control_a_selection_control)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct SelectionControl : u32 { const NONE = 0u32 ; const FLATTEN = 1u32 ; const DONT_FLATTEN = 2u32 ; } } |
13 | | bitflags! { # [doc = "SPIR-V operand kind: [LoopControl](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_loop_control_a_loop_control)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct LoopControl : u32 { const NONE = 0u32 ; const UNROLL = 1u32 ; const DONT_UNROLL = 2u32 ; const DEPENDENCY_INFINITE = 4u32 ; const DEPENDENCY_LENGTH = 8u32 ; const MIN_ITERATIONS = 16u32 ; const MAX_ITERATIONS = 32u32 ; const ITERATION_MULTIPLE = 64u32 ; const PEEL_COUNT = 128u32 ; const PARTIAL_COUNT = 256u32 ; const INITIATION_INTERVAL_ALTERA = 65536u32 ; const MAX_CONCURRENCY_ALTERA = 131072u32 ; const DEPENDENCY_ARRAY_ALTERA = 262144u32 ; const PIPELINE_ENABLE_ALTERA = 524288u32 ; const LOOP_COALESCE_ALTERA = 1048576u32 ; const MAX_INTERLEAVING_ALTERA = 2097152u32 ; const SPECULATED_ITERATIONS_ALTERA = 4194304u32 ; const NO_FUSION_ALTERA = 8388608u32 ; const LOOP_COUNT_ALTERA = 16777216u32 ; const MAX_REINVOCATION_DELAY_ALTERA = 33554432u32 ; } } |
14 | | bitflags! { # [doc = "SPIR-V operand kind: [FunctionControl](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_function_control_a_function_control)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct FunctionControl : u32 { const NONE = 0u32 ; const INLINE = 1u32 ; const DONT_INLINE = 2u32 ; const PURE = 4u32 ; const CONST = 8u32 ; const OPT_NONE_EXT = 65536u32 ; } } |
15 | | bitflags! { # [doc = "SPIR-V operand kind: [MemorySemantics](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_memory_semantics_a_memory_semantics)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct MemorySemantics : u32 { const RELAXED = 0u32 ; const ACQUIRE = 2u32 ; const RELEASE = 4u32 ; const ACQUIRE_RELEASE = 8u32 ; const SEQUENTIALLY_CONSISTENT = 16u32 ; const UNIFORM_MEMORY = 64u32 ; const SUBGROUP_MEMORY = 128u32 ; const WORKGROUP_MEMORY = 256u32 ; const CROSS_WORKGROUP_MEMORY = 512u32 ; const ATOMIC_COUNTER_MEMORY = 1024u32 ; const IMAGE_MEMORY = 2048u32 ; const OUTPUT_MEMORY = 4096u32 ; const MAKE_AVAILABLE = 8192u32 ; const MAKE_VISIBLE = 16384u32 ; const VOLATILE = 32768u32 ; } } |
16 | | bitflags! { # [doc = "SPIR-V operand kind: [MemoryAccess](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_memory_access_a_memory_access)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct MemoryAccess : u32 { const NONE = 0u32 ; const VOLATILE = 1u32 ; const ALIGNED = 2u32 ; const NONTEMPORAL = 4u32 ; const MAKE_POINTER_AVAILABLE = 8u32 ; const MAKE_POINTER_VISIBLE = 16u32 ; const NON_PRIVATE_POINTER = 32u32 ; const ALIAS_SCOPE_INTEL_MASK = 65536u32 ; const NO_ALIAS_INTEL_MASK = 131072u32 ; } } |
17 | | bitflags! { # [doc = "SPIR-V operand kind: [KernelProfilingInfo](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_kernel_profiling_info_a_kernel_profiling_info)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct KernelProfilingInfo : u32 { const NONE = 0u32 ; const CMD_EXEC_TIME = 1u32 ; } } |
18 | | bitflags! { # [doc = "SPIR-V operand kind: [RayFlags](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_ray_flags_a_ray_flags)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct RayFlags : u32 { const NONE_KHR = 0u32 ; const OPAQUE_KHR = 1u32 ; const NO_OPAQUE_KHR = 2u32 ; const TERMINATE_ON_FIRST_HIT_KHR = 4u32 ; const SKIP_CLOSEST_HIT_SHADER_KHR = 8u32 ; const CULL_BACK_FACING_TRIANGLES_KHR = 16u32 ; const CULL_FRONT_FACING_TRIANGLES_KHR = 32u32 ; const CULL_OPAQUE_KHR = 64u32 ; const CULL_NO_OPAQUE_KHR = 128u32 ; const SKIP_TRIANGLES_KHR = 256u32 ; const SKIP_AAB_BS_KHR = 512u32 ; const FORCE_OPACITY_MICROMAP2_STATE_EXT = 1024u32 ; } } |
19 | | bitflags! { # [doc = "SPIR-V operand kind: [FragmentShadingRate](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fragment_shading_rate_a_fragment_shading_rate)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct FragmentShadingRate : u32 { const VERTICAL2_PIXELS = 1u32 ; const VERTICAL4_PIXELS = 2u32 ; const HORIZONTAL2_PIXELS = 4u32 ; const HORIZONTAL4_PIXELS = 8u32 ; } } |
20 | | bitflags! { # [doc = "SPIR-V operand kind: [RawAccessChainOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_raw_access_chain_operands_a_raw_access_chain_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct RawAccessChainOperands : u32 { const NONE = 0u32 ; const ROBUSTNESS_PER_COMPONENT_NV = 1u32 ; const ROBUSTNESS_PER_ELEMENT_NV = 2u32 ; } } |
21 | | #[doc = "SPIR-V operand kind: [SourceLanguage](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_source_language_a_source_language)"] |
22 | | #[repr(u32)] |
23 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
24 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
25 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
26 | | #[allow(clippy::upper_case_acronyms)] |
27 | | pub enum SourceLanguage { |
28 | | Unknown = 0u32, |
29 | | ESSL = 1u32, |
30 | | GLSL = 2u32, |
31 | | OpenCL_C = 3u32, |
32 | | OpenCL_CPP = 4u32, |
33 | | HLSL = 5u32, |
34 | | CPP_for_OpenCL = 6u32, |
35 | | SYCL = 7u32, |
36 | | HERO_C = 8u32, |
37 | | NZSL = 9u32, |
38 | | WGSL = 10u32, |
39 | | Slang = 11u32, |
40 | | Zig = 12u32, |
41 | | Rust = 13u32, |
42 | | } |
43 | | impl SourceLanguage { |
44 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
45 | 0 | Some(match n { |
46 | 0 | 0u32..=13u32 => unsafe { core::mem::transmute::<u32, SourceLanguage>(n) }, |
47 | 0 | _ => return None, |
48 | | }) |
49 | 0 | } |
50 | | } |
51 | | #[allow(non_upper_case_globals)] |
52 | | impl SourceLanguage {} |
53 | | impl core::str::FromStr for SourceLanguage { |
54 | | type Err = (); |
55 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
56 | 0 | Ok(match s { |
57 | 0 | "Unknown" => Self::Unknown, |
58 | 0 | "ESSL" => Self::ESSL, |
59 | 0 | "GLSL" => Self::GLSL, |
60 | 0 | "OpenCL_C" => Self::OpenCL_C, |
61 | 0 | "OpenCL_CPP" => Self::OpenCL_CPP, |
62 | 0 | "HLSL" => Self::HLSL, |
63 | 0 | "CPP_for_OpenCL" => Self::CPP_for_OpenCL, |
64 | 0 | "SYCL" => Self::SYCL, |
65 | 0 | "HERO_C" => Self::HERO_C, |
66 | 0 | "NZSL" => Self::NZSL, |
67 | 0 | "WGSL" => Self::WGSL, |
68 | 0 | "Slang" => Self::Slang, |
69 | 0 | "Zig" => Self::Zig, |
70 | 0 | "Rust" => Self::Rust, |
71 | 0 | _ => return Err(()), |
72 | | }) |
73 | 0 | } |
74 | | } |
75 | | #[doc = "SPIR-V operand kind: [ExecutionModel](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_execution_model_a_execution_model)"] |
76 | | #[repr(u32)] |
77 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
78 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
79 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
80 | | #[allow(clippy::upper_case_acronyms)] |
81 | | pub enum ExecutionModel { |
82 | | Vertex = 0u32, |
83 | | TessellationControl = 1u32, |
84 | | TessellationEvaluation = 2u32, |
85 | | Geometry = 3u32, |
86 | | Fragment = 4u32, |
87 | | GLCompute = 5u32, |
88 | | Kernel = 6u32, |
89 | | TaskNV = 5267u32, |
90 | | MeshNV = 5268u32, |
91 | | RayGenerationKHR = 5313u32, |
92 | | IntersectionKHR = 5314u32, |
93 | | AnyHitKHR = 5315u32, |
94 | | ClosestHitKHR = 5316u32, |
95 | | MissKHR = 5317u32, |
96 | | CallableKHR = 5318u32, |
97 | | TaskEXT = 5364u32, |
98 | | MeshEXT = 5365u32, |
99 | | } |
100 | | impl ExecutionModel { |
101 | 1 | pub fn from_u32(n: u32) -> Option<Self> { |
102 | 1 | Some(match n { |
103 | 1 | 0u32..=6u32 => unsafe { core::mem::transmute::<u32, ExecutionModel>(n) }, |
104 | 0 | 5267u32..=5268u32 => unsafe { core::mem::transmute::<u32, ExecutionModel>(n) }, |
105 | 0 | 5313u32..=5318u32 => unsafe { core::mem::transmute::<u32, ExecutionModel>(n) }, |
106 | 0 | 5364u32..=5365u32 => unsafe { core::mem::transmute::<u32, ExecutionModel>(n) }, |
107 | 0 | _ => return None, |
108 | | }) |
109 | 1 | } |
110 | | } |
111 | | #[allow(non_upper_case_globals)] |
112 | | impl ExecutionModel { |
113 | | pub const RayGenerationNV: Self = Self::RayGenerationKHR; |
114 | | pub const IntersectionNV: Self = Self::IntersectionKHR; |
115 | | pub const AnyHitNV: Self = Self::AnyHitKHR; |
116 | | pub const ClosestHitNV: Self = Self::ClosestHitKHR; |
117 | | pub const MissNV: Self = Self::MissKHR; |
118 | | pub const CallableNV: Self = Self::CallableKHR; |
119 | | } |
120 | | impl core::str::FromStr for ExecutionModel { |
121 | | type Err = (); |
122 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
123 | 0 | Ok(match s { |
124 | 0 | "Vertex" => Self::Vertex, |
125 | 0 | "TessellationControl" => Self::TessellationControl, |
126 | 0 | "TessellationEvaluation" => Self::TessellationEvaluation, |
127 | 0 | "Geometry" => Self::Geometry, |
128 | 0 | "Fragment" => Self::Fragment, |
129 | 0 | "GLCompute" => Self::GLCompute, |
130 | 0 | "Kernel" => Self::Kernel, |
131 | 0 | "TaskNV" => Self::TaskNV, |
132 | 0 | "MeshNV" => Self::MeshNV, |
133 | 0 | "RayGenerationKHR" => Self::RayGenerationKHR, |
134 | 0 | "RayGenerationNV" => Self::RayGenerationKHR, |
135 | 0 | "IntersectionKHR" => Self::IntersectionKHR, |
136 | 0 | "IntersectionNV" => Self::IntersectionKHR, |
137 | 0 | "AnyHitKHR" => Self::AnyHitKHR, |
138 | 0 | "AnyHitNV" => Self::AnyHitKHR, |
139 | 0 | "ClosestHitKHR" => Self::ClosestHitKHR, |
140 | 0 | "ClosestHitNV" => Self::ClosestHitKHR, |
141 | 0 | "MissKHR" => Self::MissKHR, |
142 | 0 | "MissNV" => Self::MissKHR, |
143 | 0 | "CallableKHR" => Self::CallableKHR, |
144 | 0 | "CallableNV" => Self::CallableKHR, |
145 | 0 | "TaskEXT" => Self::TaskEXT, |
146 | 0 | "MeshEXT" => Self::MeshEXT, |
147 | 0 | _ => return Err(()), |
148 | | }) |
149 | 0 | } |
150 | | } |
151 | | #[doc = "SPIR-V operand kind: [AddressingModel](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_addressing_model_a_addressing_model)"] |
152 | | #[repr(u32)] |
153 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
154 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
155 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
156 | | #[allow(clippy::upper_case_acronyms)] |
157 | | pub enum AddressingModel { |
158 | | Logical = 0u32, |
159 | | Physical32 = 1u32, |
160 | | Physical64 = 2u32, |
161 | | PhysicalStorageBuffer64 = 5348u32, |
162 | | } |
163 | | impl AddressingModel { |
164 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
165 | 0 | Some(match n { |
166 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, AddressingModel>(n) }, |
167 | 0 | 5348u32 => unsafe { core::mem::transmute::<u32, AddressingModel>(5348u32) }, |
168 | 0 | _ => return None, |
169 | | }) |
170 | 0 | } |
171 | | } |
172 | | #[allow(non_upper_case_globals)] |
173 | | impl AddressingModel { |
174 | | pub const PhysicalStorageBuffer64EXT: Self = Self::PhysicalStorageBuffer64; |
175 | | } |
176 | | impl core::str::FromStr for AddressingModel { |
177 | | type Err = (); |
178 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
179 | 0 | Ok(match s { |
180 | 0 | "Logical" => Self::Logical, |
181 | 0 | "Physical32" => Self::Physical32, |
182 | 0 | "Physical64" => Self::Physical64, |
183 | 0 | "PhysicalStorageBuffer64" => Self::PhysicalStorageBuffer64, |
184 | 0 | "PhysicalStorageBuffer64EXT" => Self::PhysicalStorageBuffer64, |
185 | 0 | _ => return Err(()), |
186 | | }) |
187 | 0 | } |
188 | | } |
189 | | #[doc = "SPIR-V operand kind: [MemoryModel](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_memory_model_a_memory_model)"] |
190 | | #[repr(u32)] |
191 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
192 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
193 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
194 | | #[allow(clippy::upper_case_acronyms)] |
195 | | pub enum MemoryModel { |
196 | | Simple = 0u32, |
197 | | GLSL450 = 1u32, |
198 | | OpenCL = 2u32, |
199 | | Vulkan = 3u32, |
200 | | } |
201 | | impl MemoryModel { |
202 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
203 | 0 | Some(match n { |
204 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, MemoryModel>(n) }, |
205 | 0 | _ => return None, |
206 | | }) |
207 | 0 | } |
208 | | } |
209 | | #[allow(non_upper_case_globals)] |
210 | | impl MemoryModel { |
211 | | pub const VulkanKHR: Self = Self::Vulkan; |
212 | | } |
213 | | impl core::str::FromStr for MemoryModel { |
214 | | type Err = (); |
215 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
216 | 0 | Ok(match s { |
217 | 0 | "Simple" => Self::Simple, |
218 | 0 | "GLSL450" => Self::GLSL450, |
219 | 0 | "OpenCL" => Self::OpenCL, |
220 | 0 | "Vulkan" => Self::Vulkan, |
221 | 0 | "VulkanKHR" => Self::Vulkan, |
222 | 0 | _ => return Err(()), |
223 | | }) |
224 | 0 | } |
225 | | } |
226 | | #[doc = "SPIR-V operand kind: [ExecutionMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_execution_mode_a_execution_mode)"] |
227 | | #[repr(u32)] |
228 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
229 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
230 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
231 | | #[allow(clippy::upper_case_acronyms)] |
232 | | pub enum ExecutionMode { |
233 | | Invocations = 0u32, |
234 | | SpacingEqual = 1u32, |
235 | | SpacingFractionalEven = 2u32, |
236 | | SpacingFractionalOdd = 3u32, |
237 | | VertexOrderCw = 4u32, |
238 | | VertexOrderCcw = 5u32, |
239 | | PixelCenterInteger = 6u32, |
240 | | OriginUpperLeft = 7u32, |
241 | | OriginLowerLeft = 8u32, |
242 | | EarlyFragmentTests = 9u32, |
243 | | PointMode = 10u32, |
244 | | Xfb = 11u32, |
245 | | DepthReplacing = 12u32, |
246 | | DepthGreater = 14u32, |
247 | | DepthLess = 15u32, |
248 | | DepthUnchanged = 16u32, |
249 | | LocalSize = 17u32, |
250 | | LocalSizeHint = 18u32, |
251 | | InputPoints = 19u32, |
252 | | InputLines = 20u32, |
253 | | InputLinesAdjacency = 21u32, |
254 | | Triangles = 22u32, |
255 | | InputTrianglesAdjacency = 23u32, |
256 | | Quads = 24u32, |
257 | | Isolines = 25u32, |
258 | | OutputVertices = 26u32, |
259 | | OutputPoints = 27u32, |
260 | | OutputLineStrip = 28u32, |
261 | | OutputTriangleStrip = 29u32, |
262 | | VecTypeHint = 30u32, |
263 | | ContractionOff = 31u32, |
264 | | Initializer = 33u32, |
265 | | Finalizer = 34u32, |
266 | | SubgroupSize = 35u32, |
267 | | SubgroupsPerWorkgroup = 36u32, |
268 | | SubgroupsPerWorkgroupId = 37u32, |
269 | | LocalSizeId = 38u32, |
270 | | LocalSizeHintId = 39u32, |
271 | | NonCoherentColorAttachmentReadEXT = 4169u32, |
272 | | NonCoherentDepthAttachmentReadEXT = 4170u32, |
273 | | NonCoherentStencilAttachmentReadEXT = 4171u32, |
274 | | SubgroupUniformControlFlowKHR = 4421u32, |
275 | | PostDepthCoverage = 4446u32, |
276 | | DenormPreserve = 4459u32, |
277 | | DenormFlushToZero = 4460u32, |
278 | | SignedZeroInfNanPreserve = 4461u32, |
279 | | RoundingModeRTE = 4462u32, |
280 | | RoundingModeRTZ = 4463u32, |
281 | | NonCoherentTileAttachmentReadQCOM = 4489u32, |
282 | | TileShadingRateQCOM = 4490u32, |
283 | | EarlyAndLateFragmentTestsAMD = 5017u32, |
284 | | StencilRefReplacingEXT = 5027u32, |
285 | | CoalescingAMDX = 5069u32, |
286 | | IsApiEntryAMDX = 5070u32, |
287 | | MaxNodeRecursionAMDX = 5071u32, |
288 | | StaticNumWorkgroupsAMDX = 5072u32, |
289 | | ShaderIndexAMDX = 5073u32, |
290 | | MaxNumWorkgroupsAMDX = 5077u32, |
291 | | StencilRefUnchangedFrontAMD = 5079u32, |
292 | | StencilRefGreaterFrontAMD = 5080u32, |
293 | | StencilRefLessFrontAMD = 5081u32, |
294 | | StencilRefUnchangedBackAMD = 5082u32, |
295 | | StencilRefGreaterBackAMD = 5083u32, |
296 | | StencilRefLessBackAMD = 5084u32, |
297 | | QuadDerivativesKHR = 5088u32, |
298 | | RequireFullQuadsKHR = 5089u32, |
299 | | SharesInputWithAMDX = 5102u32, |
300 | | OutputLinesEXT = 5269u32, |
301 | | OutputPrimitivesEXT = 5270u32, |
302 | | DerivativeGroupQuadsKHR = 5289u32, |
303 | | DerivativeGroupLinearKHR = 5290u32, |
304 | | OutputTrianglesEXT = 5298u32, |
305 | | PixelInterlockOrderedEXT = 5366u32, |
306 | | PixelInterlockUnorderedEXT = 5367u32, |
307 | | SampleInterlockOrderedEXT = 5368u32, |
308 | | SampleInterlockUnorderedEXT = 5369u32, |
309 | | ShadingRateInterlockOrderedEXT = 5370u32, |
310 | | ShadingRateInterlockUnorderedEXT = 5371u32, |
311 | | Shader64BitIndexingEXT = 5427u32, |
312 | | SharedLocalMemorySizeINTEL = 5618u32, |
313 | | RoundingModeRTPINTEL = 5620u32, |
314 | | RoundingModeRTNINTEL = 5621u32, |
315 | | FloatingPointModeALTINTEL = 5622u32, |
316 | | FloatingPointModeIEEEINTEL = 5623u32, |
317 | | MaxWorkgroupSizeINTEL = 5893u32, |
318 | | MaxWorkDimINTEL = 5894u32, |
319 | | NoGlobalOffsetINTEL = 5895u32, |
320 | | NumSIMDWorkitemsINTEL = 5896u32, |
321 | | SchedulerTargetFmaxMhzINTEL = 5903u32, |
322 | | MaximallyReconvergesKHR = 6023u32, |
323 | | FPFastMathDefault = 6028u32, |
324 | | StreamingInterfaceINTEL = 6154u32, |
325 | | RegisterMapInterfaceINTEL = 6160u32, |
326 | | NamedBarrierCountINTEL = 6417u32, |
327 | | MaximumRegistersINTEL = 6461u32, |
328 | | MaximumRegistersIdINTEL = 6462u32, |
329 | | NamedMaximumRegistersINTEL = 6463u32, |
330 | | } |
331 | | impl ExecutionMode { |
332 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
333 | 0 | Some(match n { |
334 | 0 | 0u32..=12u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
335 | 0 | 14u32..=31u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
336 | 0 | 33u32..=39u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
337 | 0 | 4169u32..=4171u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
338 | 0 | 4421u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(4421u32) }, |
339 | 0 | 4446u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(4446u32) }, |
340 | 0 | 4459u32..=4463u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
341 | 0 | 4489u32..=4490u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
342 | 0 | 5017u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5017u32) }, |
343 | 0 | 5027u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5027u32) }, |
344 | 0 | 5069u32..=5073u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
345 | 0 | 5077u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5077u32) }, |
346 | 0 | 5079u32..=5084u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
347 | 0 | 5088u32..=5089u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
348 | 0 | 5102u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5102u32) }, |
349 | 0 | 5269u32..=5270u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
350 | 0 | 5289u32..=5290u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
351 | 0 | 5298u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5298u32) }, |
352 | 0 | 5366u32..=5371u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
353 | 0 | 5427u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5427u32) }, |
354 | 0 | 5618u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5618u32) }, |
355 | 0 | 5620u32..=5623u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
356 | 0 | 5893u32..=5896u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
357 | 0 | 5903u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(5903u32) }, |
358 | 0 | 6023u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(6023u32) }, |
359 | 0 | 6028u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(6028u32) }, |
360 | 0 | 6154u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(6154u32) }, |
361 | 0 | 6160u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(6160u32) }, |
362 | 0 | 6417u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(6417u32) }, |
363 | 0 | 6461u32..=6463u32 => unsafe { core::mem::transmute::<u32, ExecutionMode>(n) }, |
364 | 0 | _ => return None, |
365 | | }) |
366 | 0 | } |
367 | | } |
368 | | #[allow(non_upper_case_globals)] |
369 | | impl ExecutionMode { |
370 | | pub const OutputLinesNV: Self = Self::OutputLinesEXT; |
371 | | pub const OutputPrimitivesNV: Self = Self::OutputPrimitivesEXT; |
372 | | pub const DerivativeGroupQuadsNV: Self = Self::DerivativeGroupQuadsKHR; |
373 | | pub const DerivativeGroupLinearNV: Self = Self::DerivativeGroupLinearKHR; |
374 | | pub const OutputTrianglesNV: Self = Self::OutputTrianglesEXT; |
375 | | } |
376 | | impl core::str::FromStr for ExecutionMode { |
377 | | type Err = (); |
378 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
379 | 0 | Ok(match s { |
380 | 0 | "Invocations" => Self::Invocations, |
381 | 0 | "SpacingEqual" => Self::SpacingEqual, |
382 | 0 | "SpacingFractionalEven" => Self::SpacingFractionalEven, |
383 | 0 | "SpacingFractionalOdd" => Self::SpacingFractionalOdd, |
384 | 0 | "VertexOrderCw" => Self::VertexOrderCw, |
385 | 0 | "VertexOrderCcw" => Self::VertexOrderCcw, |
386 | 0 | "PixelCenterInteger" => Self::PixelCenterInteger, |
387 | 0 | "OriginUpperLeft" => Self::OriginUpperLeft, |
388 | 0 | "OriginLowerLeft" => Self::OriginLowerLeft, |
389 | 0 | "EarlyFragmentTests" => Self::EarlyFragmentTests, |
390 | 0 | "PointMode" => Self::PointMode, |
391 | 0 | "Xfb" => Self::Xfb, |
392 | 0 | "DepthReplacing" => Self::DepthReplacing, |
393 | 0 | "DepthGreater" => Self::DepthGreater, |
394 | 0 | "DepthLess" => Self::DepthLess, |
395 | 0 | "DepthUnchanged" => Self::DepthUnchanged, |
396 | 0 | "LocalSize" => Self::LocalSize, |
397 | 0 | "LocalSizeHint" => Self::LocalSizeHint, |
398 | 0 | "InputPoints" => Self::InputPoints, |
399 | 0 | "InputLines" => Self::InputLines, |
400 | 0 | "InputLinesAdjacency" => Self::InputLinesAdjacency, |
401 | 0 | "Triangles" => Self::Triangles, |
402 | 0 | "InputTrianglesAdjacency" => Self::InputTrianglesAdjacency, |
403 | 0 | "Quads" => Self::Quads, |
404 | 0 | "Isolines" => Self::Isolines, |
405 | 0 | "OutputVertices" => Self::OutputVertices, |
406 | 0 | "OutputPoints" => Self::OutputPoints, |
407 | 0 | "OutputLineStrip" => Self::OutputLineStrip, |
408 | 0 | "OutputTriangleStrip" => Self::OutputTriangleStrip, |
409 | 0 | "VecTypeHint" => Self::VecTypeHint, |
410 | 0 | "ContractionOff" => Self::ContractionOff, |
411 | 0 | "Initializer" => Self::Initializer, |
412 | 0 | "Finalizer" => Self::Finalizer, |
413 | 0 | "SubgroupSize" => Self::SubgroupSize, |
414 | 0 | "SubgroupsPerWorkgroup" => Self::SubgroupsPerWorkgroup, |
415 | 0 | "SubgroupsPerWorkgroupId" => Self::SubgroupsPerWorkgroupId, |
416 | 0 | "LocalSizeId" => Self::LocalSizeId, |
417 | 0 | "LocalSizeHintId" => Self::LocalSizeHintId, |
418 | 0 | "NonCoherentColorAttachmentReadEXT" => Self::NonCoherentColorAttachmentReadEXT, |
419 | 0 | "NonCoherentDepthAttachmentReadEXT" => Self::NonCoherentDepthAttachmentReadEXT, |
420 | 0 | "NonCoherentStencilAttachmentReadEXT" => Self::NonCoherentStencilAttachmentReadEXT, |
421 | 0 | "SubgroupUniformControlFlowKHR" => Self::SubgroupUniformControlFlowKHR, |
422 | 0 | "PostDepthCoverage" => Self::PostDepthCoverage, |
423 | 0 | "DenormPreserve" => Self::DenormPreserve, |
424 | 0 | "DenormFlushToZero" => Self::DenormFlushToZero, |
425 | 0 | "SignedZeroInfNanPreserve" => Self::SignedZeroInfNanPreserve, |
426 | 0 | "RoundingModeRTE" => Self::RoundingModeRTE, |
427 | 0 | "RoundingModeRTZ" => Self::RoundingModeRTZ, |
428 | 0 | "NonCoherentTileAttachmentReadQCOM" => Self::NonCoherentTileAttachmentReadQCOM, |
429 | 0 | "TileShadingRateQCOM" => Self::TileShadingRateQCOM, |
430 | 0 | "EarlyAndLateFragmentTestsAMD" => Self::EarlyAndLateFragmentTestsAMD, |
431 | 0 | "StencilRefReplacingEXT" => Self::StencilRefReplacingEXT, |
432 | 0 | "CoalescingAMDX" => Self::CoalescingAMDX, |
433 | 0 | "IsApiEntryAMDX" => Self::IsApiEntryAMDX, |
434 | 0 | "MaxNodeRecursionAMDX" => Self::MaxNodeRecursionAMDX, |
435 | 0 | "StaticNumWorkgroupsAMDX" => Self::StaticNumWorkgroupsAMDX, |
436 | 0 | "ShaderIndexAMDX" => Self::ShaderIndexAMDX, |
437 | 0 | "MaxNumWorkgroupsAMDX" => Self::MaxNumWorkgroupsAMDX, |
438 | 0 | "StencilRefUnchangedFrontAMD" => Self::StencilRefUnchangedFrontAMD, |
439 | 0 | "StencilRefGreaterFrontAMD" => Self::StencilRefGreaterFrontAMD, |
440 | 0 | "StencilRefLessFrontAMD" => Self::StencilRefLessFrontAMD, |
441 | 0 | "StencilRefUnchangedBackAMD" => Self::StencilRefUnchangedBackAMD, |
442 | 0 | "StencilRefGreaterBackAMD" => Self::StencilRefGreaterBackAMD, |
443 | 0 | "StencilRefLessBackAMD" => Self::StencilRefLessBackAMD, |
444 | 0 | "QuadDerivativesKHR" => Self::QuadDerivativesKHR, |
445 | 0 | "RequireFullQuadsKHR" => Self::RequireFullQuadsKHR, |
446 | 0 | "SharesInputWithAMDX" => Self::SharesInputWithAMDX, |
447 | 0 | "OutputLinesEXT" => Self::OutputLinesEXT, |
448 | 0 | "OutputLinesNV" => Self::OutputLinesEXT, |
449 | 0 | "OutputPrimitivesEXT" => Self::OutputPrimitivesEXT, |
450 | 0 | "OutputPrimitivesNV" => Self::OutputPrimitivesEXT, |
451 | 0 | "DerivativeGroupQuadsKHR" => Self::DerivativeGroupQuadsKHR, |
452 | 0 | "DerivativeGroupQuadsNV" => Self::DerivativeGroupQuadsKHR, |
453 | 0 | "DerivativeGroupLinearKHR" => Self::DerivativeGroupLinearKHR, |
454 | 0 | "DerivativeGroupLinearNV" => Self::DerivativeGroupLinearKHR, |
455 | 0 | "OutputTrianglesEXT" => Self::OutputTrianglesEXT, |
456 | 0 | "OutputTrianglesNV" => Self::OutputTrianglesEXT, |
457 | 0 | "PixelInterlockOrderedEXT" => Self::PixelInterlockOrderedEXT, |
458 | 0 | "PixelInterlockUnorderedEXT" => Self::PixelInterlockUnorderedEXT, |
459 | 0 | "SampleInterlockOrderedEXT" => Self::SampleInterlockOrderedEXT, |
460 | 0 | "SampleInterlockUnorderedEXT" => Self::SampleInterlockUnorderedEXT, |
461 | 0 | "ShadingRateInterlockOrderedEXT" => Self::ShadingRateInterlockOrderedEXT, |
462 | 0 | "ShadingRateInterlockUnorderedEXT" => Self::ShadingRateInterlockUnorderedEXT, |
463 | 0 | "Shader64BitIndexingEXT" => Self::Shader64BitIndexingEXT, |
464 | 0 | "SharedLocalMemorySizeINTEL" => Self::SharedLocalMemorySizeINTEL, |
465 | 0 | "RoundingModeRTPINTEL" => Self::RoundingModeRTPINTEL, |
466 | 0 | "RoundingModeRTNINTEL" => Self::RoundingModeRTNINTEL, |
467 | 0 | "FloatingPointModeALTINTEL" => Self::FloatingPointModeALTINTEL, |
468 | 0 | "FloatingPointModeIEEEINTEL" => Self::FloatingPointModeIEEEINTEL, |
469 | 0 | "MaxWorkgroupSizeINTEL" => Self::MaxWorkgroupSizeINTEL, |
470 | 0 | "MaxWorkDimINTEL" => Self::MaxWorkDimINTEL, |
471 | 0 | "NoGlobalOffsetINTEL" => Self::NoGlobalOffsetINTEL, |
472 | 0 | "NumSIMDWorkitemsINTEL" => Self::NumSIMDWorkitemsINTEL, |
473 | 0 | "SchedulerTargetFmaxMhzINTEL" => Self::SchedulerTargetFmaxMhzINTEL, |
474 | 0 | "MaximallyReconvergesKHR" => Self::MaximallyReconvergesKHR, |
475 | 0 | "FPFastMathDefault" => Self::FPFastMathDefault, |
476 | 0 | "StreamingInterfaceINTEL" => Self::StreamingInterfaceINTEL, |
477 | 0 | "RegisterMapInterfaceINTEL" => Self::RegisterMapInterfaceINTEL, |
478 | 0 | "NamedBarrierCountINTEL" => Self::NamedBarrierCountINTEL, |
479 | 0 | "MaximumRegistersINTEL" => Self::MaximumRegistersINTEL, |
480 | 0 | "MaximumRegistersIdINTEL" => Self::MaximumRegistersIdINTEL, |
481 | 0 | "NamedMaximumRegistersINTEL" => Self::NamedMaximumRegistersINTEL, |
482 | 0 | _ => return Err(()), |
483 | | }) |
484 | 0 | } |
485 | | } |
486 | | #[doc = "SPIR-V operand kind: [StorageClass](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_storage_class_a_storage_class)"] |
487 | | #[repr(u32)] |
488 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
489 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
490 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
491 | | #[allow(clippy::upper_case_acronyms)] |
492 | | pub enum StorageClass { |
493 | | UniformConstant = 0u32, |
494 | | Input = 1u32, |
495 | | Uniform = 2u32, |
496 | | Output = 3u32, |
497 | | Workgroup = 4u32, |
498 | | CrossWorkgroup = 5u32, |
499 | | Private = 6u32, |
500 | | Function = 7u32, |
501 | | Generic = 8u32, |
502 | | PushConstant = 9u32, |
503 | | AtomicCounter = 10u32, |
504 | | Image = 11u32, |
505 | | StorageBuffer = 12u32, |
506 | | TileImageEXT = 4172u32, |
507 | | TileAttachmentQCOM = 4491u32, |
508 | | NodePayloadAMDX = 5068u32, |
509 | | CallableDataKHR = 5328u32, |
510 | | IncomingCallableDataKHR = 5329u32, |
511 | | RayPayloadKHR = 5338u32, |
512 | | HitAttributeKHR = 5339u32, |
513 | | IncomingRayPayloadKHR = 5342u32, |
514 | | ShaderRecordBufferKHR = 5343u32, |
515 | | PhysicalStorageBuffer = 5349u32, |
516 | | HitObjectAttributeNV = 5385u32, |
517 | | TaskPayloadWorkgroupEXT = 5402u32, |
518 | | HitObjectAttributeEXT = 5411u32, |
519 | | CodeSectionINTEL = 5605u32, |
520 | | DeviceOnlyALTERA = 5936u32, |
521 | | HostOnlyALTERA = 5937u32, |
522 | | } |
523 | | impl StorageClass { |
524 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
525 | 0 | Some(match n { |
526 | 0 | 0u32..=12u32 => unsafe { core::mem::transmute::<u32, StorageClass>(n) }, |
527 | 0 | 4172u32 => unsafe { core::mem::transmute::<u32, StorageClass>(4172u32) }, |
528 | 0 | 4491u32 => unsafe { core::mem::transmute::<u32, StorageClass>(4491u32) }, |
529 | 0 | 5068u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5068u32) }, |
530 | 0 | 5328u32..=5329u32 => unsafe { core::mem::transmute::<u32, StorageClass>(n) }, |
531 | 0 | 5338u32..=5339u32 => unsafe { core::mem::transmute::<u32, StorageClass>(n) }, |
532 | 0 | 5342u32..=5343u32 => unsafe { core::mem::transmute::<u32, StorageClass>(n) }, |
533 | 0 | 5349u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5349u32) }, |
534 | 0 | 5385u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5385u32) }, |
535 | 0 | 5402u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5402u32) }, |
536 | 0 | 5411u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5411u32) }, |
537 | 0 | 5605u32 => unsafe { core::mem::transmute::<u32, StorageClass>(5605u32) }, |
538 | 0 | 5936u32..=5937u32 => unsafe { core::mem::transmute::<u32, StorageClass>(n) }, |
539 | 0 | _ => return None, |
540 | | }) |
541 | 0 | } |
542 | | } |
543 | | #[allow(non_upper_case_globals)] |
544 | | impl StorageClass { |
545 | | pub const CallableDataNV: Self = Self::CallableDataKHR; |
546 | | pub const IncomingCallableDataNV: Self = Self::IncomingCallableDataKHR; |
547 | | pub const RayPayloadNV: Self = Self::RayPayloadKHR; |
548 | | pub const HitAttributeNV: Self = Self::HitAttributeKHR; |
549 | | pub const IncomingRayPayloadNV: Self = Self::IncomingRayPayloadKHR; |
550 | | pub const ShaderRecordBufferNV: Self = Self::ShaderRecordBufferKHR; |
551 | | pub const PhysicalStorageBufferEXT: Self = Self::PhysicalStorageBuffer; |
552 | | pub const DeviceOnlyINTEL: Self = Self::DeviceOnlyALTERA; |
553 | | pub const HostOnlyINTEL: Self = Self::HostOnlyALTERA; |
554 | | } |
555 | | impl core::str::FromStr for StorageClass { |
556 | | type Err = (); |
557 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
558 | 0 | Ok(match s { |
559 | 0 | "UniformConstant" => Self::UniformConstant, |
560 | 0 | "Input" => Self::Input, |
561 | 0 | "Uniform" => Self::Uniform, |
562 | 0 | "Output" => Self::Output, |
563 | 0 | "Workgroup" => Self::Workgroup, |
564 | 0 | "CrossWorkgroup" => Self::CrossWorkgroup, |
565 | 0 | "Private" => Self::Private, |
566 | 0 | "Function" => Self::Function, |
567 | 0 | "Generic" => Self::Generic, |
568 | 0 | "PushConstant" => Self::PushConstant, |
569 | 0 | "AtomicCounter" => Self::AtomicCounter, |
570 | 0 | "Image" => Self::Image, |
571 | 0 | "StorageBuffer" => Self::StorageBuffer, |
572 | 0 | "TileImageEXT" => Self::TileImageEXT, |
573 | 0 | "TileAttachmentQCOM" => Self::TileAttachmentQCOM, |
574 | 0 | "NodePayloadAMDX" => Self::NodePayloadAMDX, |
575 | 0 | "CallableDataKHR" => Self::CallableDataKHR, |
576 | 0 | "CallableDataNV" => Self::CallableDataKHR, |
577 | 0 | "IncomingCallableDataKHR" => Self::IncomingCallableDataKHR, |
578 | 0 | "IncomingCallableDataNV" => Self::IncomingCallableDataKHR, |
579 | 0 | "RayPayloadKHR" => Self::RayPayloadKHR, |
580 | 0 | "RayPayloadNV" => Self::RayPayloadKHR, |
581 | 0 | "HitAttributeKHR" => Self::HitAttributeKHR, |
582 | 0 | "HitAttributeNV" => Self::HitAttributeKHR, |
583 | 0 | "IncomingRayPayloadKHR" => Self::IncomingRayPayloadKHR, |
584 | 0 | "IncomingRayPayloadNV" => Self::IncomingRayPayloadKHR, |
585 | 0 | "ShaderRecordBufferKHR" => Self::ShaderRecordBufferKHR, |
586 | 0 | "ShaderRecordBufferNV" => Self::ShaderRecordBufferKHR, |
587 | 0 | "PhysicalStorageBuffer" => Self::PhysicalStorageBuffer, |
588 | 0 | "PhysicalStorageBufferEXT" => Self::PhysicalStorageBuffer, |
589 | 0 | "HitObjectAttributeNV" => Self::HitObjectAttributeNV, |
590 | 0 | "TaskPayloadWorkgroupEXT" => Self::TaskPayloadWorkgroupEXT, |
591 | 0 | "HitObjectAttributeEXT" => Self::HitObjectAttributeEXT, |
592 | 0 | "CodeSectionINTEL" => Self::CodeSectionINTEL, |
593 | 0 | "DeviceOnlyALTERA" => Self::DeviceOnlyALTERA, |
594 | 0 | "DeviceOnlyINTEL" => Self::DeviceOnlyALTERA, |
595 | 0 | "HostOnlyALTERA" => Self::HostOnlyALTERA, |
596 | 0 | "HostOnlyINTEL" => Self::HostOnlyALTERA, |
597 | 0 | _ => return Err(()), |
598 | | }) |
599 | 0 | } |
600 | | } |
601 | | #[doc = "SPIR-V operand kind: [Dim](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_dim_a_dim)"] |
602 | | #[repr(u32)] |
603 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
604 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
605 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
606 | | #[allow(clippy::upper_case_acronyms)] |
607 | | pub enum Dim { |
608 | | Dim1D = 0u32, |
609 | | Dim2D = 1u32, |
610 | | Dim3D = 2u32, |
611 | | DimCube = 3u32, |
612 | | DimRect = 4u32, |
613 | | DimBuffer = 5u32, |
614 | | DimSubpassData = 6u32, |
615 | | DimTileImageDataEXT = 4173u32, |
616 | | } |
617 | | impl Dim { |
618 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
619 | 0 | Some(match n { |
620 | 0 | 0u32..=6u32 => unsafe { core::mem::transmute::<u32, Dim>(n) }, |
621 | 0 | 4173u32 => unsafe { core::mem::transmute::<u32, Dim>(4173u32) }, |
622 | 0 | _ => return None, |
623 | | }) |
624 | 0 | } |
625 | | } |
626 | | #[allow(non_upper_case_globals)] |
627 | | impl Dim {} |
628 | | impl core::str::FromStr for Dim { |
629 | | type Err = (); |
630 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
631 | 0 | Ok(match s { |
632 | 0 | "Dim1D" => Self::Dim1D, |
633 | 0 | "Dim2D" => Self::Dim2D, |
634 | 0 | "Dim3D" => Self::Dim3D, |
635 | 0 | "DimCube" => Self::DimCube, |
636 | 0 | "DimRect" => Self::DimRect, |
637 | 0 | "DimBuffer" => Self::DimBuffer, |
638 | 0 | "DimSubpassData" => Self::DimSubpassData, |
639 | 0 | "DimTileImageDataEXT" => Self::DimTileImageDataEXT, |
640 | 0 | _ => return Err(()), |
641 | | }) |
642 | 0 | } |
643 | | } |
644 | | #[doc = "SPIR-V operand kind: [SamplerAddressingMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_sampler_addressing_mode_a_sampler_addressing_mode)"] |
645 | | #[repr(u32)] |
646 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
647 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
648 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
649 | | #[allow(clippy::upper_case_acronyms)] |
650 | | pub enum SamplerAddressingMode { |
651 | | None = 0u32, |
652 | | ClampToEdge = 1u32, |
653 | | Clamp = 2u32, |
654 | | Repeat = 3u32, |
655 | | RepeatMirrored = 4u32, |
656 | | } |
657 | | impl SamplerAddressingMode { |
658 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
659 | 0 | Some(match n { |
660 | 0 | 0u32..=4u32 => unsafe { core::mem::transmute::<u32, SamplerAddressingMode>(n) }, |
661 | 0 | _ => return None, |
662 | | }) |
663 | 0 | } |
664 | | } |
665 | | #[allow(non_upper_case_globals)] |
666 | | impl SamplerAddressingMode {} |
667 | | impl core::str::FromStr for SamplerAddressingMode { |
668 | | type Err = (); |
669 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
670 | 0 | Ok(match s { |
671 | 0 | "None" => Self::None, |
672 | 0 | "ClampToEdge" => Self::ClampToEdge, |
673 | 0 | "Clamp" => Self::Clamp, |
674 | 0 | "Repeat" => Self::Repeat, |
675 | 0 | "RepeatMirrored" => Self::RepeatMirrored, |
676 | 0 | _ => return Err(()), |
677 | | }) |
678 | 0 | } |
679 | | } |
680 | | #[doc = "SPIR-V operand kind: [SamplerFilterMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_sampler_filter_mode_a_sampler_filter_mode)"] |
681 | | #[repr(u32)] |
682 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
683 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
684 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
685 | | #[allow(clippy::upper_case_acronyms)] |
686 | | pub enum SamplerFilterMode { |
687 | | Nearest = 0u32, |
688 | | Linear = 1u32, |
689 | | } |
690 | | impl SamplerFilterMode { |
691 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
692 | 0 | Some(match n { |
693 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, SamplerFilterMode>(n) }, |
694 | 0 | _ => return None, |
695 | | }) |
696 | 0 | } |
697 | | } |
698 | | #[allow(non_upper_case_globals)] |
699 | | impl SamplerFilterMode {} |
700 | | impl core::str::FromStr for SamplerFilterMode { |
701 | | type Err = (); |
702 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
703 | 0 | Ok(match s { |
704 | 0 | "Nearest" => Self::Nearest, |
705 | 0 | "Linear" => Self::Linear, |
706 | 0 | _ => return Err(()), |
707 | | }) |
708 | 0 | } |
709 | | } |
710 | | #[doc = "SPIR-V operand kind: [ImageFormat](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_image_format_a_image_format)"] |
711 | | #[repr(u32)] |
712 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
713 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
714 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
715 | | #[allow(clippy::upper_case_acronyms)] |
716 | | pub enum ImageFormat { |
717 | | Unknown = 0u32, |
718 | | Rgba32f = 1u32, |
719 | | Rgba16f = 2u32, |
720 | | R32f = 3u32, |
721 | | Rgba8 = 4u32, |
722 | | Rgba8Snorm = 5u32, |
723 | | Rg32f = 6u32, |
724 | | Rg16f = 7u32, |
725 | | R11fG11fB10f = 8u32, |
726 | | R16f = 9u32, |
727 | | Rgba16 = 10u32, |
728 | | Rgb10A2 = 11u32, |
729 | | Rg16 = 12u32, |
730 | | Rg8 = 13u32, |
731 | | R16 = 14u32, |
732 | | R8 = 15u32, |
733 | | Rgba16Snorm = 16u32, |
734 | | Rg16Snorm = 17u32, |
735 | | Rg8Snorm = 18u32, |
736 | | R16Snorm = 19u32, |
737 | | R8Snorm = 20u32, |
738 | | Rgba32i = 21u32, |
739 | | Rgba16i = 22u32, |
740 | | Rgba8i = 23u32, |
741 | | R32i = 24u32, |
742 | | Rg32i = 25u32, |
743 | | Rg16i = 26u32, |
744 | | Rg8i = 27u32, |
745 | | R16i = 28u32, |
746 | | R8i = 29u32, |
747 | | Rgba32ui = 30u32, |
748 | | Rgba16ui = 31u32, |
749 | | Rgba8ui = 32u32, |
750 | | R32ui = 33u32, |
751 | | Rgb10a2ui = 34u32, |
752 | | Rg32ui = 35u32, |
753 | | Rg16ui = 36u32, |
754 | | Rg8ui = 37u32, |
755 | | R16ui = 38u32, |
756 | | R8ui = 39u32, |
757 | | R64ui = 40u32, |
758 | | R64i = 41u32, |
759 | | } |
760 | | impl ImageFormat { |
761 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
762 | 0 | Some(match n { |
763 | 0 | 0u32..=41u32 => unsafe { core::mem::transmute::<u32, ImageFormat>(n) }, |
764 | 0 | _ => return None, |
765 | | }) |
766 | 0 | } |
767 | | } |
768 | | #[allow(non_upper_case_globals)] |
769 | | impl ImageFormat {} |
770 | | impl core::str::FromStr for ImageFormat { |
771 | | type Err = (); |
772 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
773 | 0 | Ok(match s { |
774 | 0 | "Unknown" => Self::Unknown, |
775 | 0 | "Rgba32f" => Self::Rgba32f, |
776 | 0 | "Rgba16f" => Self::Rgba16f, |
777 | 0 | "R32f" => Self::R32f, |
778 | 0 | "Rgba8" => Self::Rgba8, |
779 | 0 | "Rgba8Snorm" => Self::Rgba8Snorm, |
780 | 0 | "Rg32f" => Self::Rg32f, |
781 | 0 | "Rg16f" => Self::Rg16f, |
782 | 0 | "R11fG11fB10f" => Self::R11fG11fB10f, |
783 | 0 | "R16f" => Self::R16f, |
784 | 0 | "Rgba16" => Self::Rgba16, |
785 | 0 | "Rgb10A2" => Self::Rgb10A2, |
786 | 0 | "Rg16" => Self::Rg16, |
787 | 0 | "Rg8" => Self::Rg8, |
788 | 0 | "R16" => Self::R16, |
789 | 0 | "R8" => Self::R8, |
790 | 0 | "Rgba16Snorm" => Self::Rgba16Snorm, |
791 | 0 | "Rg16Snorm" => Self::Rg16Snorm, |
792 | 0 | "Rg8Snorm" => Self::Rg8Snorm, |
793 | 0 | "R16Snorm" => Self::R16Snorm, |
794 | 0 | "R8Snorm" => Self::R8Snorm, |
795 | 0 | "Rgba32i" => Self::Rgba32i, |
796 | 0 | "Rgba16i" => Self::Rgba16i, |
797 | 0 | "Rgba8i" => Self::Rgba8i, |
798 | 0 | "R32i" => Self::R32i, |
799 | 0 | "Rg32i" => Self::Rg32i, |
800 | 0 | "Rg16i" => Self::Rg16i, |
801 | 0 | "Rg8i" => Self::Rg8i, |
802 | 0 | "R16i" => Self::R16i, |
803 | 0 | "R8i" => Self::R8i, |
804 | 0 | "Rgba32ui" => Self::Rgba32ui, |
805 | 0 | "Rgba16ui" => Self::Rgba16ui, |
806 | 0 | "Rgba8ui" => Self::Rgba8ui, |
807 | 0 | "R32ui" => Self::R32ui, |
808 | 0 | "Rgb10a2ui" => Self::Rgb10a2ui, |
809 | 0 | "Rg32ui" => Self::Rg32ui, |
810 | 0 | "Rg16ui" => Self::Rg16ui, |
811 | 0 | "Rg8ui" => Self::Rg8ui, |
812 | 0 | "R16ui" => Self::R16ui, |
813 | 0 | "R8ui" => Self::R8ui, |
814 | 0 | "R64ui" => Self::R64ui, |
815 | 0 | "R64i" => Self::R64i, |
816 | 0 | _ => return Err(()), |
817 | | }) |
818 | 0 | } |
819 | | } |
820 | | #[doc = "SPIR-V operand kind: [ImageChannelOrder](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_image_channel_order_a_image_channel_order)"] |
821 | | #[repr(u32)] |
822 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
823 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
824 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
825 | | #[allow(clippy::upper_case_acronyms)] |
826 | | pub enum ImageChannelOrder { |
827 | | R = 0u32, |
828 | | A = 1u32, |
829 | | RG = 2u32, |
830 | | RA = 3u32, |
831 | | RGB = 4u32, |
832 | | RGBA = 5u32, |
833 | | BGRA = 6u32, |
834 | | ARGB = 7u32, |
835 | | Intensity = 8u32, |
836 | | Luminance = 9u32, |
837 | | Rx = 10u32, |
838 | | RGx = 11u32, |
839 | | RGBx = 12u32, |
840 | | Depth = 13u32, |
841 | | DepthStencil = 14u32, |
842 | | sRGB = 15u32, |
843 | | sRGBx = 16u32, |
844 | | sRGBA = 17u32, |
845 | | sBGRA = 18u32, |
846 | | ABGR = 19u32, |
847 | | } |
848 | | impl ImageChannelOrder { |
849 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
850 | 0 | Some(match n { |
851 | 0 | 0u32..=19u32 => unsafe { core::mem::transmute::<u32, ImageChannelOrder>(n) }, |
852 | 0 | _ => return None, |
853 | | }) |
854 | 0 | } |
855 | | } |
856 | | #[allow(non_upper_case_globals)] |
857 | | impl ImageChannelOrder {} |
858 | | impl core::str::FromStr for ImageChannelOrder { |
859 | | type Err = (); |
860 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
861 | 0 | Ok(match s { |
862 | 0 | "R" => Self::R, |
863 | 0 | "A" => Self::A, |
864 | 0 | "RG" => Self::RG, |
865 | 0 | "RA" => Self::RA, |
866 | 0 | "RGB" => Self::RGB, |
867 | 0 | "RGBA" => Self::RGBA, |
868 | 0 | "BGRA" => Self::BGRA, |
869 | 0 | "ARGB" => Self::ARGB, |
870 | 0 | "Intensity" => Self::Intensity, |
871 | 0 | "Luminance" => Self::Luminance, |
872 | 0 | "Rx" => Self::Rx, |
873 | 0 | "RGx" => Self::RGx, |
874 | 0 | "RGBx" => Self::RGBx, |
875 | 0 | "Depth" => Self::Depth, |
876 | 0 | "DepthStencil" => Self::DepthStencil, |
877 | 0 | "sRGB" => Self::sRGB, |
878 | 0 | "sRGBx" => Self::sRGBx, |
879 | 0 | "sRGBA" => Self::sRGBA, |
880 | 0 | "sBGRA" => Self::sBGRA, |
881 | 0 | "ABGR" => Self::ABGR, |
882 | 0 | _ => return Err(()), |
883 | | }) |
884 | 0 | } |
885 | | } |
886 | | #[doc = "SPIR-V operand kind: [ImageChannelDataType](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_image_channel_data_type_a_image_channel_data_type)"] |
887 | | #[repr(u32)] |
888 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
889 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
890 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
891 | | #[allow(clippy::upper_case_acronyms)] |
892 | | pub enum ImageChannelDataType { |
893 | | SnormInt8 = 0u32, |
894 | | SnormInt16 = 1u32, |
895 | | UnormInt8 = 2u32, |
896 | | UnormInt16 = 3u32, |
897 | | UnormShort565 = 4u32, |
898 | | UnormShort555 = 5u32, |
899 | | UnormInt101010 = 6u32, |
900 | | SignedInt8 = 7u32, |
901 | | SignedInt16 = 8u32, |
902 | | SignedInt32 = 9u32, |
903 | | UnsignedInt8 = 10u32, |
904 | | UnsignedInt16 = 11u32, |
905 | | UnsignedInt32 = 12u32, |
906 | | HalfFloat = 13u32, |
907 | | Float = 14u32, |
908 | | UnormInt24 = 15u32, |
909 | | UnormInt101010_2 = 16u32, |
910 | | UnormInt10X6EXT = 17u32, |
911 | | UnsignedIntRaw10EXT = 19u32, |
912 | | UnsignedIntRaw12EXT = 20u32, |
913 | | UnormInt2_101010EXT = 21u32, |
914 | | UnsignedInt10X6EXT = 22u32, |
915 | | UnsignedInt12X4EXT = 23u32, |
916 | | UnsignedInt14X2EXT = 24u32, |
917 | | UnormInt12X4EXT = 25u32, |
918 | | UnormInt14X2EXT = 26u32, |
919 | | } |
920 | | impl ImageChannelDataType { |
921 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
922 | 0 | Some(match n { |
923 | 0 | 0u32..=17u32 => unsafe { core::mem::transmute::<u32, ImageChannelDataType>(n) }, |
924 | 0 | 19u32..=26u32 => unsafe { core::mem::transmute::<u32, ImageChannelDataType>(n) }, |
925 | 0 | _ => return None, |
926 | | }) |
927 | 0 | } |
928 | | } |
929 | | #[allow(non_upper_case_globals)] |
930 | | impl ImageChannelDataType {} |
931 | | impl core::str::FromStr for ImageChannelDataType { |
932 | | type Err = (); |
933 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
934 | 0 | Ok(match s { |
935 | 0 | "SnormInt8" => Self::SnormInt8, |
936 | 0 | "SnormInt16" => Self::SnormInt16, |
937 | 0 | "UnormInt8" => Self::UnormInt8, |
938 | 0 | "UnormInt16" => Self::UnormInt16, |
939 | 0 | "UnormShort565" => Self::UnormShort565, |
940 | 0 | "UnormShort555" => Self::UnormShort555, |
941 | 0 | "UnormInt101010" => Self::UnormInt101010, |
942 | 0 | "SignedInt8" => Self::SignedInt8, |
943 | 0 | "SignedInt16" => Self::SignedInt16, |
944 | 0 | "SignedInt32" => Self::SignedInt32, |
945 | 0 | "UnsignedInt8" => Self::UnsignedInt8, |
946 | 0 | "UnsignedInt16" => Self::UnsignedInt16, |
947 | 0 | "UnsignedInt32" => Self::UnsignedInt32, |
948 | 0 | "HalfFloat" => Self::HalfFloat, |
949 | 0 | "Float" => Self::Float, |
950 | 0 | "UnormInt24" => Self::UnormInt24, |
951 | 0 | "UnormInt101010_2" => Self::UnormInt101010_2, |
952 | 0 | "UnormInt10X6EXT" => Self::UnormInt10X6EXT, |
953 | 0 | "UnsignedIntRaw10EXT" => Self::UnsignedIntRaw10EXT, |
954 | 0 | "UnsignedIntRaw12EXT" => Self::UnsignedIntRaw12EXT, |
955 | 0 | "UnormInt2_101010EXT" => Self::UnormInt2_101010EXT, |
956 | 0 | "UnsignedInt10X6EXT" => Self::UnsignedInt10X6EXT, |
957 | 0 | "UnsignedInt12X4EXT" => Self::UnsignedInt12X4EXT, |
958 | 0 | "UnsignedInt14X2EXT" => Self::UnsignedInt14X2EXT, |
959 | 0 | "UnormInt12X4EXT" => Self::UnormInt12X4EXT, |
960 | 0 | "UnormInt14X2EXT" => Self::UnormInt14X2EXT, |
961 | 0 | _ => return Err(()), |
962 | | }) |
963 | 0 | } |
964 | | } |
965 | | #[doc = "SPIR-V operand kind: [FPRoundingMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fp_rounding_mode_a_fp_rounding_mode)"] |
966 | | #[repr(u32)] |
967 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
968 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
969 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
970 | | #[allow(clippy::upper_case_acronyms)] |
971 | | pub enum FPRoundingMode { |
972 | | RTE = 0u32, |
973 | | RTZ = 1u32, |
974 | | RTP = 2u32, |
975 | | RTN = 3u32, |
976 | | } |
977 | | impl FPRoundingMode { |
978 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
979 | 0 | Some(match n { |
980 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, FPRoundingMode>(n) }, |
981 | 0 | _ => return None, |
982 | | }) |
983 | 0 | } |
984 | | } |
985 | | #[allow(non_upper_case_globals)] |
986 | | impl FPRoundingMode {} |
987 | | impl core::str::FromStr for FPRoundingMode { |
988 | | type Err = (); |
989 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
990 | 0 | Ok(match s { |
991 | 0 | "RTE" => Self::RTE, |
992 | 0 | "RTZ" => Self::RTZ, |
993 | 0 | "RTP" => Self::RTP, |
994 | 0 | "RTN" => Self::RTN, |
995 | 0 | _ => return Err(()), |
996 | | }) |
997 | 0 | } |
998 | | } |
999 | | #[doc = "SPIR-V operand kind: [FPDenormMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fp_denorm_mode_a_fp_denorm_mode)"] |
1000 | | #[repr(u32)] |
1001 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1002 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1003 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1004 | | #[allow(clippy::upper_case_acronyms)] |
1005 | | pub enum FPDenormMode { |
1006 | | Preserve = 0u32, |
1007 | | FlushToZero = 1u32, |
1008 | | } |
1009 | | impl FPDenormMode { |
1010 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1011 | 0 | Some(match n { |
1012 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, FPDenormMode>(n) }, |
1013 | 0 | _ => return None, |
1014 | | }) |
1015 | 0 | } |
1016 | | } |
1017 | | #[allow(non_upper_case_globals)] |
1018 | | impl FPDenormMode {} |
1019 | | impl core::str::FromStr for FPDenormMode { |
1020 | | type Err = (); |
1021 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1022 | 0 | Ok(match s { |
1023 | 0 | "Preserve" => Self::Preserve, |
1024 | 0 | "FlushToZero" => Self::FlushToZero, |
1025 | 0 | _ => return Err(()), |
1026 | | }) |
1027 | 0 | } |
1028 | | } |
1029 | | #[doc = "SPIR-V operand kind: [QuantizationModes](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_quantization_modes_a_quantization_modes)"] |
1030 | | #[repr(u32)] |
1031 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1032 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1033 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1034 | | #[allow(clippy::upper_case_acronyms)] |
1035 | | pub enum QuantizationModes { |
1036 | | TRN = 0u32, |
1037 | | TRN_ZERO = 1u32, |
1038 | | RND = 2u32, |
1039 | | RND_ZERO = 3u32, |
1040 | | RND_INF = 4u32, |
1041 | | RND_MIN_INF = 5u32, |
1042 | | RND_CONV = 6u32, |
1043 | | RND_CONV_ODD = 7u32, |
1044 | | } |
1045 | | impl QuantizationModes { |
1046 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1047 | 0 | Some(match n { |
1048 | 0 | 0u32..=7u32 => unsafe { core::mem::transmute::<u32, QuantizationModes>(n) }, |
1049 | 0 | _ => return None, |
1050 | | }) |
1051 | 0 | } |
1052 | | } |
1053 | | #[allow(non_upper_case_globals)] |
1054 | | impl QuantizationModes {} |
1055 | | impl core::str::FromStr for QuantizationModes { |
1056 | | type Err = (); |
1057 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1058 | 0 | Ok(match s { |
1059 | 0 | "TRN" => Self::TRN, |
1060 | 0 | "TRN_ZERO" => Self::TRN_ZERO, |
1061 | 0 | "RND" => Self::RND, |
1062 | 0 | "RND_ZERO" => Self::RND_ZERO, |
1063 | 0 | "RND_INF" => Self::RND_INF, |
1064 | 0 | "RND_MIN_INF" => Self::RND_MIN_INF, |
1065 | 0 | "RND_CONV" => Self::RND_CONV, |
1066 | 0 | "RND_CONV_ODD" => Self::RND_CONV_ODD, |
1067 | 0 | _ => return Err(()), |
1068 | | }) |
1069 | 0 | } |
1070 | | } |
1071 | | #[doc = "SPIR-V operand kind: [FPOperationMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fp_operation_mode_a_fp_operation_mode)"] |
1072 | | #[repr(u32)] |
1073 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1074 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1075 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1076 | | #[allow(clippy::upper_case_acronyms)] |
1077 | | pub enum FPOperationMode { |
1078 | | IEEE = 0u32, |
1079 | | ALT = 1u32, |
1080 | | } |
1081 | | impl FPOperationMode { |
1082 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1083 | 0 | Some(match n { |
1084 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, FPOperationMode>(n) }, |
1085 | 0 | _ => return None, |
1086 | | }) |
1087 | 0 | } |
1088 | | } |
1089 | | #[allow(non_upper_case_globals)] |
1090 | | impl FPOperationMode {} |
1091 | | impl core::str::FromStr for FPOperationMode { |
1092 | | type Err = (); |
1093 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1094 | 0 | Ok(match s { |
1095 | 0 | "IEEE" => Self::IEEE, |
1096 | 0 | "ALT" => Self::ALT, |
1097 | 0 | _ => return Err(()), |
1098 | | }) |
1099 | 0 | } |
1100 | | } |
1101 | | #[doc = "SPIR-V operand kind: [OverflowModes](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_overflow_modes_a_overflow_modes)"] |
1102 | | #[repr(u32)] |
1103 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1104 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1105 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1106 | | #[allow(clippy::upper_case_acronyms)] |
1107 | | pub enum OverflowModes { |
1108 | | WRAP = 0u32, |
1109 | | SAT = 1u32, |
1110 | | SAT_ZERO = 2u32, |
1111 | | SAT_SYM = 3u32, |
1112 | | } |
1113 | | impl OverflowModes { |
1114 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1115 | 0 | Some(match n { |
1116 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, OverflowModes>(n) }, |
1117 | 0 | _ => return None, |
1118 | | }) |
1119 | 0 | } |
1120 | | } |
1121 | | #[allow(non_upper_case_globals)] |
1122 | | impl OverflowModes {} |
1123 | | impl core::str::FromStr for OverflowModes { |
1124 | | type Err = (); |
1125 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1126 | 0 | Ok(match s { |
1127 | 0 | "WRAP" => Self::WRAP, |
1128 | 0 | "SAT" => Self::SAT, |
1129 | 0 | "SAT_ZERO" => Self::SAT_ZERO, |
1130 | 0 | "SAT_SYM" => Self::SAT_SYM, |
1131 | 0 | _ => return Err(()), |
1132 | | }) |
1133 | 0 | } |
1134 | | } |
1135 | | #[doc = "SPIR-V operand kind: [LinkageType](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_linkage_type_a_linkage_type)"] |
1136 | | #[repr(u32)] |
1137 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1138 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1139 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1140 | | #[allow(clippy::upper_case_acronyms)] |
1141 | | pub enum LinkageType { |
1142 | | Export = 0u32, |
1143 | | Import = 1u32, |
1144 | | LinkOnceODR = 2u32, |
1145 | | } |
1146 | | impl LinkageType { |
1147 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1148 | 0 | Some(match n { |
1149 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, LinkageType>(n) }, |
1150 | 0 | _ => return None, |
1151 | | }) |
1152 | 0 | } |
1153 | | } |
1154 | | #[allow(non_upper_case_globals)] |
1155 | | impl LinkageType {} |
1156 | | impl core::str::FromStr for LinkageType { |
1157 | | type Err = (); |
1158 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1159 | 0 | Ok(match s { |
1160 | 0 | "Export" => Self::Export, |
1161 | 0 | "Import" => Self::Import, |
1162 | 0 | "LinkOnceODR" => Self::LinkOnceODR, |
1163 | 0 | _ => return Err(()), |
1164 | | }) |
1165 | 0 | } |
1166 | | } |
1167 | | #[doc = "SPIR-V operand kind: [AccessQualifier](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_access_qualifier_a_access_qualifier)"] |
1168 | | #[repr(u32)] |
1169 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1170 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1171 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1172 | | #[allow(clippy::upper_case_acronyms)] |
1173 | | pub enum AccessQualifier { |
1174 | | ReadOnly = 0u32, |
1175 | | WriteOnly = 1u32, |
1176 | | ReadWrite = 2u32, |
1177 | | } |
1178 | | impl AccessQualifier { |
1179 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1180 | 0 | Some(match n { |
1181 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, AccessQualifier>(n) }, |
1182 | 0 | _ => return None, |
1183 | | }) |
1184 | 0 | } |
1185 | | } |
1186 | | #[allow(non_upper_case_globals)] |
1187 | | impl AccessQualifier {} |
1188 | | impl core::str::FromStr for AccessQualifier { |
1189 | | type Err = (); |
1190 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1191 | 0 | Ok(match s { |
1192 | 0 | "ReadOnly" => Self::ReadOnly, |
1193 | 0 | "WriteOnly" => Self::WriteOnly, |
1194 | 0 | "ReadWrite" => Self::ReadWrite, |
1195 | 0 | _ => return Err(()), |
1196 | | }) |
1197 | 0 | } |
1198 | | } |
1199 | | #[doc = "SPIR-V operand kind: [HostAccessQualifier](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_host_access_qualifier_a_host_access_qualifier)"] |
1200 | | #[repr(u32)] |
1201 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1202 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1203 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1204 | | #[allow(clippy::upper_case_acronyms)] |
1205 | | pub enum HostAccessQualifier { |
1206 | | NoneINTEL = 0u32, |
1207 | | ReadINTEL = 1u32, |
1208 | | WriteINTEL = 2u32, |
1209 | | ReadWriteINTEL = 3u32, |
1210 | | } |
1211 | | impl HostAccessQualifier { |
1212 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1213 | 0 | Some(match n { |
1214 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, HostAccessQualifier>(n) }, |
1215 | 0 | _ => return None, |
1216 | | }) |
1217 | 0 | } |
1218 | | } |
1219 | | #[allow(non_upper_case_globals)] |
1220 | | impl HostAccessQualifier {} |
1221 | | impl core::str::FromStr for HostAccessQualifier { |
1222 | | type Err = (); |
1223 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1224 | 0 | Ok(match s { |
1225 | 0 | "NoneINTEL" => Self::NoneINTEL, |
1226 | 0 | "ReadINTEL" => Self::ReadINTEL, |
1227 | 0 | "WriteINTEL" => Self::WriteINTEL, |
1228 | 0 | "ReadWriteINTEL" => Self::ReadWriteINTEL, |
1229 | 0 | _ => return Err(()), |
1230 | | }) |
1231 | 0 | } |
1232 | | } |
1233 | | #[doc = "SPIR-V operand kind: [FunctionParameterAttribute](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_function_parameter_attribute_a_function_parameter_attribute)"] |
1234 | | #[repr(u32)] |
1235 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1236 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1237 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1238 | | #[allow(clippy::upper_case_acronyms)] |
1239 | | pub enum FunctionParameterAttribute { |
1240 | | Zext = 0u32, |
1241 | | Sext = 1u32, |
1242 | | ByVal = 2u32, |
1243 | | Sret = 3u32, |
1244 | | NoAlias = 4u32, |
1245 | | NoCapture = 5u32, |
1246 | | NoWrite = 6u32, |
1247 | | NoReadWrite = 7u32, |
1248 | | RuntimeAlignedALTERA = 5940u32, |
1249 | | } |
1250 | | impl FunctionParameterAttribute { |
1251 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1252 | 0 | Some(match n { |
1253 | 0 | 0u32..=7u32 => unsafe { core::mem::transmute::<u32, FunctionParameterAttribute>(n) }, |
1254 | 0 | 5940u32 => unsafe { core::mem::transmute::<u32, FunctionParameterAttribute>(5940u32) }, |
1255 | 0 | _ => return None, |
1256 | | }) |
1257 | 0 | } |
1258 | | } |
1259 | | #[allow(non_upper_case_globals)] |
1260 | | impl FunctionParameterAttribute { |
1261 | | pub const RuntimeAlignedINTEL: Self = Self::RuntimeAlignedALTERA; |
1262 | | } |
1263 | | impl core::str::FromStr for FunctionParameterAttribute { |
1264 | | type Err = (); |
1265 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1266 | 0 | Ok(match s { |
1267 | 0 | "Zext" => Self::Zext, |
1268 | 0 | "Sext" => Self::Sext, |
1269 | 0 | "ByVal" => Self::ByVal, |
1270 | 0 | "Sret" => Self::Sret, |
1271 | 0 | "NoAlias" => Self::NoAlias, |
1272 | 0 | "NoCapture" => Self::NoCapture, |
1273 | 0 | "NoWrite" => Self::NoWrite, |
1274 | 0 | "NoReadWrite" => Self::NoReadWrite, |
1275 | 0 | "RuntimeAlignedALTERA" => Self::RuntimeAlignedALTERA, |
1276 | 0 | "RuntimeAlignedINTEL" => Self::RuntimeAlignedALTERA, |
1277 | 0 | _ => return Err(()), |
1278 | | }) |
1279 | 0 | } |
1280 | | } |
1281 | | #[doc = "SPIR-V operand kind: [Decoration](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_decoration_a_decoration)"] |
1282 | | #[repr(u32)] |
1283 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1284 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1285 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1286 | | #[allow(clippy::upper_case_acronyms)] |
1287 | | pub enum Decoration { |
1288 | | RelaxedPrecision = 0u32, |
1289 | | SpecId = 1u32, |
1290 | | Block = 2u32, |
1291 | | BufferBlock = 3u32, |
1292 | | RowMajor = 4u32, |
1293 | | ColMajor = 5u32, |
1294 | | ArrayStride = 6u32, |
1295 | | MatrixStride = 7u32, |
1296 | | GLSLShared = 8u32, |
1297 | | GLSLPacked = 9u32, |
1298 | | CPacked = 10u32, |
1299 | | BuiltIn = 11u32, |
1300 | | NoPerspective = 13u32, |
1301 | | Flat = 14u32, |
1302 | | Patch = 15u32, |
1303 | | Centroid = 16u32, |
1304 | | Sample = 17u32, |
1305 | | Invariant = 18u32, |
1306 | | Restrict = 19u32, |
1307 | | Aliased = 20u32, |
1308 | | Volatile = 21u32, |
1309 | | Constant = 22u32, |
1310 | | Coherent = 23u32, |
1311 | | NonWritable = 24u32, |
1312 | | NonReadable = 25u32, |
1313 | | Uniform = 26u32, |
1314 | | UniformId = 27u32, |
1315 | | SaturatedConversion = 28u32, |
1316 | | Stream = 29u32, |
1317 | | Location = 30u32, |
1318 | | Component = 31u32, |
1319 | | Index = 32u32, |
1320 | | Binding = 33u32, |
1321 | | DescriptorSet = 34u32, |
1322 | | Offset = 35u32, |
1323 | | XfbBuffer = 36u32, |
1324 | | XfbStride = 37u32, |
1325 | | FuncParamAttr = 38u32, |
1326 | | FPRoundingMode = 39u32, |
1327 | | FPFastMathMode = 40u32, |
1328 | | LinkageAttributes = 41u32, |
1329 | | NoContraction = 42u32, |
1330 | | InputAttachmentIndex = 43u32, |
1331 | | Alignment = 44u32, |
1332 | | MaxByteOffset = 45u32, |
1333 | | AlignmentId = 46u32, |
1334 | | MaxByteOffsetId = 47u32, |
1335 | | SaturatedToLargestFloat8NormalConversionEXT = 4216u32, |
1336 | | NoSignedWrap = 4469u32, |
1337 | | NoUnsignedWrap = 4470u32, |
1338 | | WeightTextureQCOM = 4487u32, |
1339 | | BlockMatchTextureQCOM = 4488u32, |
1340 | | BlockMatchSamplerQCOM = 4499u32, |
1341 | | ExplicitInterpAMD = 4999u32, |
1342 | | NodeSharesPayloadLimitsWithAMDX = 5019u32, |
1343 | | NodeMaxPayloadsAMDX = 5020u32, |
1344 | | TrackFinishWritingAMDX = 5078u32, |
1345 | | PayloadNodeNameAMDX = 5091u32, |
1346 | | PayloadNodeBaseIndexAMDX = 5098u32, |
1347 | | PayloadNodeSparseArrayAMDX = 5099u32, |
1348 | | PayloadNodeArraySizeAMDX = 5100u32, |
1349 | | PayloadDispatchIndirectAMDX = 5105u32, |
1350 | | ArrayStrideIdEXT = 5124u32, |
1351 | | OffsetIdEXT = 5125u32, |
1352 | | OverrideCoverageNV = 5248u32, |
1353 | | PassthroughNV = 5250u32, |
1354 | | ViewportRelativeNV = 5252u32, |
1355 | | SecondaryViewportRelativeNV = 5256u32, |
1356 | | PerPrimitiveEXT = 5271u32, |
1357 | | PerViewNV = 5272u32, |
1358 | | PerTaskNV = 5273u32, |
1359 | | PerVertexKHR = 5285u32, |
1360 | | NonUniform = 5300u32, |
1361 | | RestrictPointer = 5355u32, |
1362 | | AliasedPointer = 5356u32, |
1363 | | MemberOffsetNV = 5358u32, |
1364 | | HitObjectShaderRecordBufferNV = 5386u32, |
1365 | | HitObjectShaderRecordBufferEXT = 5389u32, |
1366 | | BankNV = 5397u32, |
1367 | | BindlessSamplerNV = 5398u32, |
1368 | | BindlessImageNV = 5399u32, |
1369 | | BoundSamplerNV = 5400u32, |
1370 | | BoundImageNV = 5401u32, |
1371 | | SIMTCallINTEL = 5599u32, |
1372 | | ReferencedIndirectlyINTEL = 5602u32, |
1373 | | ClobberINTEL = 5607u32, |
1374 | | SideEffectsINTEL = 5608u32, |
1375 | | VectorComputeVariableINTEL = 5624u32, |
1376 | | FuncParamIOKindINTEL = 5625u32, |
1377 | | VectorComputeFunctionINTEL = 5626u32, |
1378 | | StackCallINTEL = 5627u32, |
1379 | | GlobalVariableOffsetINTEL = 5628u32, |
1380 | | CounterBuffer = 5634u32, |
1381 | | UserSemantic = 5635u32, |
1382 | | UserTypeGOOGLE = 5636u32, |
1383 | | FunctionRoundingModeINTEL = 5822u32, |
1384 | | FunctionDenormModeINTEL = 5823u32, |
1385 | | RegisterALTERA = 5825u32, |
1386 | | MemoryALTERA = 5826u32, |
1387 | | NumbanksALTERA = 5827u32, |
1388 | | BankwidthALTERA = 5828u32, |
1389 | | MaxPrivateCopiesALTERA = 5829u32, |
1390 | | SinglepumpALTERA = 5830u32, |
1391 | | DoublepumpALTERA = 5831u32, |
1392 | | MaxReplicatesALTERA = 5832u32, |
1393 | | SimpleDualPortALTERA = 5833u32, |
1394 | | MergeALTERA = 5834u32, |
1395 | | BankBitsALTERA = 5835u32, |
1396 | | ForcePow2DepthALTERA = 5836u32, |
1397 | | StridesizeALTERA = 5883u32, |
1398 | | WordsizeALTERA = 5884u32, |
1399 | | TrueDualPortALTERA = 5885u32, |
1400 | | BurstCoalesceALTERA = 5899u32, |
1401 | | CacheSizeALTERA = 5900u32, |
1402 | | DontStaticallyCoalesceALTERA = 5901u32, |
1403 | | PrefetchALTERA = 5902u32, |
1404 | | StallEnableALTERA = 5905u32, |
1405 | | FuseLoopsInFunctionALTERA = 5907u32, |
1406 | | MathOpDSPModeALTERA = 5909u32, |
1407 | | AliasScopeINTEL = 5914u32, |
1408 | | NoAliasINTEL = 5915u32, |
1409 | | InitiationIntervalALTERA = 5917u32, |
1410 | | MaxConcurrencyALTERA = 5918u32, |
1411 | | PipelineEnableALTERA = 5919u32, |
1412 | | BufferLocationALTERA = 5921u32, |
1413 | | IOPipeStorageALTERA = 5944u32, |
1414 | | FunctionFloatingPointModeINTEL = 6080u32, |
1415 | | SingleElementVectorINTEL = 6085u32, |
1416 | | VectorComputeCallableFunctionINTEL = 6087u32, |
1417 | | MediaBlockIOINTEL = 6140u32, |
1418 | | StallFreeALTERA = 6151u32, |
1419 | | FPMaxErrorDecorationINTEL = 6170u32, |
1420 | | LatencyControlLabelALTERA = 6172u32, |
1421 | | LatencyControlConstraintALTERA = 6173u32, |
1422 | | ConduitKernelArgumentALTERA = 6175u32, |
1423 | | RegisterMapKernelArgumentALTERA = 6176u32, |
1424 | | MMHostInterfaceAddressWidthALTERA = 6177u32, |
1425 | | MMHostInterfaceDataWidthALTERA = 6178u32, |
1426 | | MMHostInterfaceLatencyALTERA = 6179u32, |
1427 | | MMHostInterfaceReadWriteModeALTERA = 6180u32, |
1428 | | MMHostInterfaceMaxBurstALTERA = 6181u32, |
1429 | | MMHostInterfaceWaitRequestALTERA = 6182u32, |
1430 | | StableKernelArgumentALTERA = 6183u32, |
1431 | | HostAccessINTEL = 6188u32, |
1432 | | InitModeALTERA = 6190u32, |
1433 | | ImplementInRegisterMapALTERA = 6191u32, |
1434 | | ConditionalINTEL = 6247u32, |
1435 | | CacheControlLoadINTEL = 6442u32, |
1436 | | CacheControlStoreINTEL = 6443u32, |
1437 | | } |
1438 | | impl Decoration { |
1439 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1440 | 0 | Some(match n { |
1441 | 0 | 0u32..=11u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1442 | 0 | 13u32..=47u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1443 | 0 | 4216u32 => unsafe { core::mem::transmute::<u32, Decoration>(4216u32) }, |
1444 | 0 | 4469u32..=4470u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1445 | 0 | 4487u32..=4488u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1446 | 0 | 4499u32 => unsafe { core::mem::transmute::<u32, Decoration>(4499u32) }, |
1447 | 0 | 4999u32 => unsafe { core::mem::transmute::<u32, Decoration>(4999u32) }, |
1448 | 0 | 5019u32..=5020u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1449 | 0 | 5078u32 => unsafe { core::mem::transmute::<u32, Decoration>(5078u32) }, |
1450 | 0 | 5091u32 => unsafe { core::mem::transmute::<u32, Decoration>(5091u32) }, |
1451 | 0 | 5098u32..=5100u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1452 | 0 | 5105u32 => unsafe { core::mem::transmute::<u32, Decoration>(5105u32) }, |
1453 | 0 | 5124u32..=5125u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1454 | 0 | 5248u32 => unsafe { core::mem::transmute::<u32, Decoration>(5248u32) }, |
1455 | 0 | 5250u32 => unsafe { core::mem::transmute::<u32, Decoration>(5250u32) }, |
1456 | 0 | 5252u32 => unsafe { core::mem::transmute::<u32, Decoration>(5252u32) }, |
1457 | 0 | 5256u32 => unsafe { core::mem::transmute::<u32, Decoration>(5256u32) }, |
1458 | 0 | 5271u32..=5273u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1459 | 0 | 5285u32 => unsafe { core::mem::transmute::<u32, Decoration>(5285u32) }, |
1460 | 0 | 5300u32 => unsafe { core::mem::transmute::<u32, Decoration>(5300u32) }, |
1461 | 0 | 5355u32..=5356u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1462 | 0 | 5358u32 => unsafe { core::mem::transmute::<u32, Decoration>(5358u32) }, |
1463 | 0 | 5386u32 => unsafe { core::mem::transmute::<u32, Decoration>(5386u32) }, |
1464 | 0 | 5389u32 => unsafe { core::mem::transmute::<u32, Decoration>(5389u32) }, |
1465 | 0 | 5397u32..=5401u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1466 | 0 | 5599u32 => unsafe { core::mem::transmute::<u32, Decoration>(5599u32) }, |
1467 | 0 | 5602u32 => unsafe { core::mem::transmute::<u32, Decoration>(5602u32) }, |
1468 | 0 | 5607u32..=5608u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1469 | 0 | 5624u32..=5628u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1470 | 0 | 5634u32..=5636u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1471 | 0 | 5822u32..=5823u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1472 | 0 | 5825u32..=5836u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1473 | 0 | 5883u32..=5885u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1474 | 0 | 5899u32..=5902u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1475 | 0 | 5905u32 => unsafe { core::mem::transmute::<u32, Decoration>(5905u32) }, |
1476 | 0 | 5907u32 => unsafe { core::mem::transmute::<u32, Decoration>(5907u32) }, |
1477 | 0 | 5909u32 => unsafe { core::mem::transmute::<u32, Decoration>(5909u32) }, |
1478 | 0 | 5914u32..=5915u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1479 | 0 | 5917u32..=5919u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1480 | 0 | 5921u32 => unsafe { core::mem::transmute::<u32, Decoration>(5921u32) }, |
1481 | 0 | 5944u32 => unsafe { core::mem::transmute::<u32, Decoration>(5944u32) }, |
1482 | 0 | 6080u32 => unsafe { core::mem::transmute::<u32, Decoration>(6080u32) }, |
1483 | 0 | 6085u32 => unsafe { core::mem::transmute::<u32, Decoration>(6085u32) }, |
1484 | 0 | 6087u32 => unsafe { core::mem::transmute::<u32, Decoration>(6087u32) }, |
1485 | 0 | 6140u32 => unsafe { core::mem::transmute::<u32, Decoration>(6140u32) }, |
1486 | 0 | 6151u32 => unsafe { core::mem::transmute::<u32, Decoration>(6151u32) }, |
1487 | 0 | 6170u32 => unsafe { core::mem::transmute::<u32, Decoration>(6170u32) }, |
1488 | 0 | 6172u32..=6173u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1489 | 0 | 6175u32..=6183u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1490 | 0 | 6188u32 => unsafe { core::mem::transmute::<u32, Decoration>(6188u32) }, |
1491 | 0 | 6190u32..=6191u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1492 | 0 | 6247u32 => unsafe { core::mem::transmute::<u32, Decoration>(6247u32) }, |
1493 | 0 | 6442u32..=6443u32 => unsafe { core::mem::transmute::<u32, Decoration>(n) }, |
1494 | 0 | _ => return None, |
1495 | | }) |
1496 | 0 | } |
1497 | | } |
1498 | | #[allow(non_upper_case_globals)] |
1499 | | impl Decoration { |
1500 | | pub const PerPrimitiveNV: Self = Self::PerPrimitiveEXT; |
1501 | | pub const PerVertexNV: Self = Self::PerVertexKHR; |
1502 | | pub const NonUniformEXT: Self = Self::NonUniform; |
1503 | | pub const RestrictPointerEXT: Self = Self::RestrictPointer; |
1504 | | pub const AliasedPointerEXT: Self = Self::AliasedPointer; |
1505 | | pub const HlslCounterBufferGOOGLE: Self = Self::CounterBuffer; |
1506 | | pub const HlslSemanticGOOGLE: Self = Self::UserSemantic; |
1507 | | pub const RegisterINTEL: Self = Self::RegisterALTERA; |
1508 | | pub const MemoryINTEL: Self = Self::MemoryALTERA; |
1509 | | pub const NumbanksINTEL: Self = Self::NumbanksALTERA; |
1510 | | pub const BankwidthINTEL: Self = Self::BankwidthALTERA; |
1511 | | pub const MaxPrivateCopiesINTEL: Self = Self::MaxPrivateCopiesALTERA; |
1512 | | pub const SinglepumpINTEL: Self = Self::SinglepumpALTERA; |
1513 | | pub const DoublepumpINTEL: Self = Self::DoublepumpALTERA; |
1514 | | pub const MaxReplicatesINTEL: Self = Self::MaxReplicatesALTERA; |
1515 | | pub const SimpleDualPortINTEL: Self = Self::SimpleDualPortALTERA; |
1516 | | pub const MergeINTEL: Self = Self::MergeALTERA; |
1517 | | pub const BankBitsINTEL: Self = Self::BankBitsALTERA; |
1518 | | pub const ForcePow2DepthINTEL: Self = Self::ForcePow2DepthALTERA; |
1519 | | pub const StridesizeINTEL: Self = Self::StridesizeALTERA; |
1520 | | pub const WordsizeINTEL: Self = Self::WordsizeALTERA; |
1521 | | pub const TrueDualPortINTEL: Self = Self::TrueDualPortALTERA; |
1522 | | pub const BurstCoalesceINTEL: Self = Self::BurstCoalesceALTERA; |
1523 | | pub const CacheSizeINTEL: Self = Self::CacheSizeALTERA; |
1524 | | pub const DontStaticallyCoalesceINTEL: Self = Self::DontStaticallyCoalesceALTERA; |
1525 | | pub const PrefetchINTEL: Self = Self::PrefetchALTERA; |
1526 | | pub const StallEnableINTEL: Self = Self::StallEnableALTERA; |
1527 | | pub const FuseLoopsInFunctionINTEL: Self = Self::FuseLoopsInFunctionALTERA; |
1528 | | pub const MathOpDSPModeINTEL: Self = Self::MathOpDSPModeALTERA; |
1529 | | pub const InitiationIntervalINTEL: Self = Self::InitiationIntervalALTERA; |
1530 | | pub const MaxConcurrencyINTEL: Self = Self::MaxConcurrencyALTERA; |
1531 | | pub const PipelineEnableINTEL: Self = Self::PipelineEnableALTERA; |
1532 | | pub const BufferLocationINTEL: Self = Self::BufferLocationALTERA; |
1533 | | pub const IOPipeStorageINTEL: Self = Self::IOPipeStorageALTERA; |
1534 | | pub const StallFreeINTEL: Self = Self::StallFreeALTERA; |
1535 | | pub const LatencyControlLabelINTEL: Self = Self::LatencyControlLabelALTERA; |
1536 | | pub const LatencyControlConstraintINTEL: Self = Self::LatencyControlConstraintALTERA; |
1537 | | pub const ConduitKernelArgumentINTEL: Self = Self::ConduitKernelArgumentALTERA; |
1538 | | pub const RegisterMapKernelArgumentINTEL: Self = Self::RegisterMapKernelArgumentALTERA; |
1539 | | pub const MMHostInterfaceAddressWidthINTEL: Self = Self::MMHostInterfaceAddressWidthALTERA; |
1540 | | pub const MMHostInterfaceDataWidthINTEL: Self = Self::MMHostInterfaceDataWidthALTERA; |
1541 | | pub const MMHostInterfaceLatencyINTEL: Self = Self::MMHostInterfaceLatencyALTERA; |
1542 | | pub const MMHostInterfaceReadWriteModeINTEL: Self = Self::MMHostInterfaceReadWriteModeALTERA; |
1543 | | pub const MMHostInterfaceMaxBurstINTEL: Self = Self::MMHostInterfaceMaxBurstALTERA; |
1544 | | pub const MMHostInterfaceWaitRequestINTEL: Self = Self::MMHostInterfaceWaitRequestALTERA; |
1545 | | pub const StableKernelArgumentINTEL: Self = Self::StableKernelArgumentALTERA; |
1546 | | pub const InitModeINTEL: Self = Self::InitModeALTERA; |
1547 | | pub const ImplementInRegisterMapINTEL: Self = Self::ImplementInRegisterMapALTERA; |
1548 | | } |
1549 | | impl core::str::FromStr for Decoration { |
1550 | | type Err = (); |
1551 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1552 | 0 | Ok(match s { |
1553 | 0 | "RelaxedPrecision" => Self::RelaxedPrecision, |
1554 | 0 | "SpecId" => Self::SpecId, |
1555 | 0 | "Block" => Self::Block, |
1556 | 0 | "BufferBlock" => Self::BufferBlock, |
1557 | 0 | "RowMajor" => Self::RowMajor, |
1558 | 0 | "ColMajor" => Self::ColMajor, |
1559 | 0 | "ArrayStride" => Self::ArrayStride, |
1560 | 0 | "MatrixStride" => Self::MatrixStride, |
1561 | 0 | "GLSLShared" => Self::GLSLShared, |
1562 | 0 | "GLSLPacked" => Self::GLSLPacked, |
1563 | 0 | "CPacked" => Self::CPacked, |
1564 | 0 | "BuiltIn" => Self::BuiltIn, |
1565 | 0 | "NoPerspective" => Self::NoPerspective, |
1566 | 0 | "Flat" => Self::Flat, |
1567 | 0 | "Patch" => Self::Patch, |
1568 | 0 | "Centroid" => Self::Centroid, |
1569 | 0 | "Sample" => Self::Sample, |
1570 | 0 | "Invariant" => Self::Invariant, |
1571 | 0 | "Restrict" => Self::Restrict, |
1572 | 0 | "Aliased" => Self::Aliased, |
1573 | 0 | "Volatile" => Self::Volatile, |
1574 | 0 | "Constant" => Self::Constant, |
1575 | 0 | "Coherent" => Self::Coherent, |
1576 | 0 | "NonWritable" => Self::NonWritable, |
1577 | 0 | "NonReadable" => Self::NonReadable, |
1578 | 0 | "Uniform" => Self::Uniform, |
1579 | 0 | "UniformId" => Self::UniformId, |
1580 | 0 | "SaturatedConversion" => Self::SaturatedConversion, |
1581 | 0 | "Stream" => Self::Stream, |
1582 | 0 | "Location" => Self::Location, |
1583 | 0 | "Component" => Self::Component, |
1584 | 0 | "Index" => Self::Index, |
1585 | 0 | "Binding" => Self::Binding, |
1586 | 0 | "DescriptorSet" => Self::DescriptorSet, |
1587 | 0 | "Offset" => Self::Offset, |
1588 | 0 | "XfbBuffer" => Self::XfbBuffer, |
1589 | 0 | "XfbStride" => Self::XfbStride, |
1590 | 0 | "FuncParamAttr" => Self::FuncParamAttr, |
1591 | 0 | "FPRoundingMode" => Self::FPRoundingMode, |
1592 | 0 | "FPFastMathMode" => Self::FPFastMathMode, |
1593 | 0 | "LinkageAttributes" => Self::LinkageAttributes, |
1594 | 0 | "NoContraction" => Self::NoContraction, |
1595 | 0 | "InputAttachmentIndex" => Self::InputAttachmentIndex, |
1596 | 0 | "Alignment" => Self::Alignment, |
1597 | 0 | "MaxByteOffset" => Self::MaxByteOffset, |
1598 | 0 | "AlignmentId" => Self::AlignmentId, |
1599 | 0 | "MaxByteOffsetId" => Self::MaxByteOffsetId, |
1600 | 0 | "SaturatedToLargestFloat8NormalConversionEXT" => { |
1601 | 0 | Self::SaturatedToLargestFloat8NormalConversionEXT |
1602 | | } |
1603 | 0 | "NoSignedWrap" => Self::NoSignedWrap, |
1604 | 0 | "NoUnsignedWrap" => Self::NoUnsignedWrap, |
1605 | 0 | "WeightTextureQCOM" => Self::WeightTextureQCOM, |
1606 | 0 | "BlockMatchTextureQCOM" => Self::BlockMatchTextureQCOM, |
1607 | 0 | "BlockMatchSamplerQCOM" => Self::BlockMatchSamplerQCOM, |
1608 | 0 | "ExplicitInterpAMD" => Self::ExplicitInterpAMD, |
1609 | 0 | "NodeSharesPayloadLimitsWithAMDX" => Self::NodeSharesPayloadLimitsWithAMDX, |
1610 | 0 | "NodeMaxPayloadsAMDX" => Self::NodeMaxPayloadsAMDX, |
1611 | 0 | "TrackFinishWritingAMDX" => Self::TrackFinishWritingAMDX, |
1612 | 0 | "PayloadNodeNameAMDX" => Self::PayloadNodeNameAMDX, |
1613 | 0 | "PayloadNodeBaseIndexAMDX" => Self::PayloadNodeBaseIndexAMDX, |
1614 | 0 | "PayloadNodeSparseArrayAMDX" => Self::PayloadNodeSparseArrayAMDX, |
1615 | 0 | "PayloadNodeArraySizeAMDX" => Self::PayloadNodeArraySizeAMDX, |
1616 | 0 | "PayloadDispatchIndirectAMDX" => Self::PayloadDispatchIndirectAMDX, |
1617 | 0 | "ArrayStrideIdEXT" => Self::ArrayStrideIdEXT, |
1618 | 0 | "OffsetIdEXT" => Self::OffsetIdEXT, |
1619 | 0 | "OverrideCoverageNV" => Self::OverrideCoverageNV, |
1620 | 0 | "PassthroughNV" => Self::PassthroughNV, |
1621 | 0 | "ViewportRelativeNV" => Self::ViewportRelativeNV, |
1622 | 0 | "SecondaryViewportRelativeNV" => Self::SecondaryViewportRelativeNV, |
1623 | 0 | "PerPrimitiveEXT" => Self::PerPrimitiveEXT, |
1624 | 0 | "PerPrimitiveNV" => Self::PerPrimitiveEXT, |
1625 | 0 | "PerViewNV" => Self::PerViewNV, |
1626 | 0 | "PerTaskNV" => Self::PerTaskNV, |
1627 | 0 | "PerVertexKHR" => Self::PerVertexKHR, |
1628 | 0 | "PerVertexNV" => Self::PerVertexKHR, |
1629 | 0 | "NonUniform" => Self::NonUniform, |
1630 | 0 | "NonUniformEXT" => Self::NonUniform, |
1631 | 0 | "RestrictPointer" => Self::RestrictPointer, |
1632 | 0 | "RestrictPointerEXT" => Self::RestrictPointer, |
1633 | 0 | "AliasedPointer" => Self::AliasedPointer, |
1634 | 0 | "AliasedPointerEXT" => Self::AliasedPointer, |
1635 | 0 | "MemberOffsetNV" => Self::MemberOffsetNV, |
1636 | 0 | "HitObjectShaderRecordBufferNV" => Self::HitObjectShaderRecordBufferNV, |
1637 | 0 | "HitObjectShaderRecordBufferEXT" => Self::HitObjectShaderRecordBufferEXT, |
1638 | 0 | "BankNV" => Self::BankNV, |
1639 | 0 | "BindlessSamplerNV" => Self::BindlessSamplerNV, |
1640 | 0 | "BindlessImageNV" => Self::BindlessImageNV, |
1641 | 0 | "BoundSamplerNV" => Self::BoundSamplerNV, |
1642 | 0 | "BoundImageNV" => Self::BoundImageNV, |
1643 | 0 | "SIMTCallINTEL" => Self::SIMTCallINTEL, |
1644 | 0 | "ReferencedIndirectlyINTEL" => Self::ReferencedIndirectlyINTEL, |
1645 | 0 | "ClobberINTEL" => Self::ClobberINTEL, |
1646 | 0 | "SideEffectsINTEL" => Self::SideEffectsINTEL, |
1647 | 0 | "VectorComputeVariableINTEL" => Self::VectorComputeVariableINTEL, |
1648 | 0 | "FuncParamIOKindINTEL" => Self::FuncParamIOKindINTEL, |
1649 | 0 | "VectorComputeFunctionINTEL" => Self::VectorComputeFunctionINTEL, |
1650 | 0 | "StackCallINTEL" => Self::StackCallINTEL, |
1651 | 0 | "GlobalVariableOffsetINTEL" => Self::GlobalVariableOffsetINTEL, |
1652 | 0 | "CounterBuffer" => Self::CounterBuffer, |
1653 | 0 | "HlslCounterBufferGOOGLE" => Self::CounterBuffer, |
1654 | 0 | "UserSemantic" => Self::UserSemantic, |
1655 | 0 | "HlslSemanticGOOGLE" => Self::UserSemantic, |
1656 | 0 | "UserTypeGOOGLE" => Self::UserTypeGOOGLE, |
1657 | 0 | "FunctionRoundingModeINTEL" => Self::FunctionRoundingModeINTEL, |
1658 | 0 | "FunctionDenormModeINTEL" => Self::FunctionDenormModeINTEL, |
1659 | 0 | "RegisterALTERA" => Self::RegisterALTERA, |
1660 | 0 | "RegisterINTEL" => Self::RegisterALTERA, |
1661 | 0 | "MemoryALTERA" => Self::MemoryALTERA, |
1662 | 0 | "MemoryINTEL" => Self::MemoryALTERA, |
1663 | 0 | "NumbanksALTERA" => Self::NumbanksALTERA, |
1664 | 0 | "NumbanksINTEL" => Self::NumbanksALTERA, |
1665 | 0 | "BankwidthALTERA" => Self::BankwidthALTERA, |
1666 | 0 | "BankwidthINTEL" => Self::BankwidthALTERA, |
1667 | 0 | "MaxPrivateCopiesALTERA" => Self::MaxPrivateCopiesALTERA, |
1668 | 0 | "MaxPrivateCopiesINTEL" => Self::MaxPrivateCopiesALTERA, |
1669 | 0 | "SinglepumpALTERA" => Self::SinglepumpALTERA, |
1670 | 0 | "SinglepumpINTEL" => Self::SinglepumpALTERA, |
1671 | 0 | "DoublepumpALTERA" => Self::DoublepumpALTERA, |
1672 | 0 | "DoublepumpINTEL" => Self::DoublepumpALTERA, |
1673 | 0 | "MaxReplicatesALTERA" => Self::MaxReplicatesALTERA, |
1674 | 0 | "MaxReplicatesINTEL" => Self::MaxReplicatesALTERA, |
1675 | 0 | "SimpleDualPortALTERA" => Self::SimpleDualPortALTERA, |
1676 | 0 | "SimpleDualPortINTEL" => Self::SimpleDualPortALTERA, |
1677 | 0 | "MergeALTERA" => Self::MergeALTERA, |
1678 | 0 | "MergeINTEL" => Self::MergeALTERA, |
1679 | 0 | "BankBitsALTERA" => Self::BankBitsALTERA, |
1680 | 0 | "BankBitsINTEL" => Self::BankBitsALTERA, |
1681 | 0 | "ForcePow2DepthALTERA" => Self::ForcePow2DepthALTERA, |
1682 | 0 | "ForcePow2DepthINTEL" => Self::ForcePow2DepthALTERA, |
1683 | 0 | "StridesizeALTERA" => Self::StridesizeALTERA, |
1684 | 0 | "StridesizeINTEL" => Self::StridesizeALTERA, |
1685 | 0 | "WordsizeALTERA" => Self::WordsizeALTERA, |
1686 | 0 | "WordsizeINTEL" => Self::WordsizeALTERA, |
1687 | 0 | "TrueDualPortALTERA" => Self::TrueDualPortALTERA, |
1688 | 0 | "TrueDualPortINTEL" => Self::TrueDualPortALTERA, |
1689 | 0 | "BurstCoalesceALTERA" => Self::BurstCoalesceALTERA, |
1690 | 0 | "BurstCoalesceINTEL" => Self::BurstCoalesceALTERA, |
1691 | 0 | "CacheSizeALTERA" => Self::CacheSizeALTERA, |
1692 | 0 | "CacheSizeINTEL" => Self::CacheSizeALTERA, |
1693 | 0 | "DontStaticallyCoalesceALTERA" => Self::DontStaticallyCoalesceALTERA, |
1694 | 0 | "DontStaticallyCoalesceINTEL" => Self::DontStaticallyCoalesceALTERA, |
1695 | 0 | "PrefetchALTERA" => Self::PrefetchALTERA, |
1696 | 0 | "PrefetchINTEL" => Self::PrefetchALTERA, |
1697 | 0 | "StallEnableALTERA" => Self::StallEnableALTERA, |
1698 | 0 | "StallEnableINTEL" => Self::StallEnableALTERA, |
1699 | 0 | "FuseLoopsInFunctionALTERA" => Self::FuseLoopsInFunctionALTERA, |
1700 | 0 | "FuseLoopsInFunctionINTEL" => Self::FuseLoopsInFunctionALTERA, |
1701 | 0 | "MathOpDSPModeALTERA" => Self::MathOpDSPModeALTERA, |
1702 | 0 | "MathOpDSPModeINTEL" => Self::MathOpDSPModeALTERA, |
1703 | 0 | "AliasScopeINTEL" => Self::AliasScopeINTEL, |
1704 | 0 | "NoAliasINTEL" => Self::NoAliasINTEL, |
1705 | 0 | "InitiationIntervalALTERA" => Self::InitiationIntervalALTERA, |
1706 | 0 | "InitiationIntervalINTEL" => Self::InitiationIntervalALTERA, |
1707 | 0 | "MaxConcurrencyALTERA" => Self::MaxConcurrencyALTERA, |
1708 | 0 | "MaxConcurrencyINTEL" => Self::MaxConcurrencyALTERA, |
1709 | 0 | "PipelineEnableALTERA" => Self::PipelineEnableALTERA, |
1710 | 0 | "PipelineEnableINTEL" => Self::PipelineEnableALTERA, |
1711 | 0 | "BufferLocationALTERA" => Self::BufferLocationALTERA, |
1712 | 0 | "BufferLocationINTEL" => Self::BufferLocationALTERA, |
1713 | 0 | "IOPipeStorageALTERA" => Self::IOPipeStorageALTERA, |
1714 | 0 | "IOPipeStorageINTEL" => Self::IOPipeStorageALTERA, |
1715 | 0 | "FunctionFloatingPointModeINTEL" => Self::FunctionFloatingPointModeINTEL, |
1716 | 0 | "SingleElementVectorINTEL" => Self::SingleElementVectorINTEL, |
1717 | 0 | "VectorComputeCallableFunctionINTEL" => Self::VectorComputeCallableFunctionINTEL, |
1718 | 0 | "MediaBlockIOINTEL" => Self::MediaBlockIOINTEL, |
1719 | 0 | "StallFreeALTERA" => Self::StallFreeALTERA, |
1720 | 0 | "StallFreeINTEL" => Self::StallFreeALTERA, |
1721 | 0 | "FPMaxErrorDecorationINTEL" => Self::FPMaxErrorDecorationINTEL, |
1722 | 0 | "LatencyControlLabelALTERA" => Self::LatencyControlLabelALTERA, |
1723 | 0 | "LatencyControlLabelINTEL" => Self::LatencyControlLabelALTERA, |
1724 | 0 | "LatencyControlConstraintALTERA" => Self::LatencyControlConstraintALTERA, |
1725 | 0 | "LatencyControlConstraintINTEL" => Self::LatencyControlConstraintALTERA, |
1726 | 0 | "ConduitKernelArgumentALTERA" => Self::ConduitKernelArgumentALTERA, |
1727 | 0 | "ConduitKernelArgumentINTEL" => Self::ConduitKernelArgumentALTERA, |
1728 | 0 | "RegisterMapKernelArgumentALTERA" => Self::RegisterMapKernelArgumentALTERA, |
1729 | 0 | "RegisterMapKernelArgumentINTEL" => Self::RegisterMapKernelArgumentALTERA, |
1730 | 0 | "MMHostInterfaceAddressWidthALTERA" => Self::MMHostInterfaceAddressWidthALTERA, |
1731 | 0 | "MMHostInterfaceAddressWidthINTEL" => Self::MMHostInterfaceAddressWidthALTERA, |
1732 | 0 | "MMHostInterfaceDataWidthALTERA" => Self::MMHostInterfaceDataWidthALTERA, |
1733 | 0 | "MMHostInterfaceDataWidthINTEL" => Self::MMHostInterfaceDataWidthALTERA, |
1734 | 0 | "MMHostInterfaceLatencyALTERA" => Self::MMHostInterfaceLatencyALTERA, |
1735 | 0 | "MMHostInterfaceLatencyINTEL" => Self::MMHostInterfaceLatencyALTERA, |
1736 | 0 | "MMHostInterfaceReadWriteModeALTERA" => Self::MMHostInterfaceReadWriteModeALTERA, |
1737 | 0 | "MMHostInterfaceReadWriteModeINTEL" => Self::MMHostInterfaceReadWriteModeALTERA, |
1738 | 0 | "MMHostInterfaceMaxBurstALTERA" => Self::MMHostInterfaceMaxBurstALTERA, |
1739 | 0 | "MMHostInterfaceMaxBurstINTEL" => Self::MMHostInterfaceMaxBurstALTERA, |
1740 | 0 | "MMHostInterfaceWaitRequestALTERA" => Self::MMHostInterfaceWaitRequestALTERA, |
1741 | 0 | "MMHostInterfaceWaitRequestINTEL" => Self::MMHostInterfaceWaitRequestALTERA, |
1742 | 0 | "StableKernelArgumentALTERA" => Self::StableKernelArgumentALTERA, |
1743 | 0 | "StableKernelArgumentINTEL" => Self::StableKernelArgumentALTERA, |
1744 | 0 | "HostAccessINTEL" => Self::HostAccessINTEL, |
1745 | 0 | "InitModeALTERA" => Self::InitModeALTERA, |
1746 | 0 | "InitModeINTEL" => Self::InitModeALTERA, |
1747 | 0 | "ImplementInRegisterMapALTERA" => Self::ImplementInRegisterMapALTERA, |
1748 | 0 | "ImplementInRegisterMapINTEL" => Self::ImplementInRegisterMapALTERA, |
1749 | 0 | "ConditionalINTEL" => Self::ConditionalINTEL, |
1750 | 0 | "CacheControlLoadINTEL" => Self::CacheControlLoadINTEL, |
1751 | 0 | "CacheControlStoreINTEL" => Self::CacheControlStoreINTEL, |
1752 | 0 | _ => return Err(()), |
1753 | | }) |
1754 | 0 | } |
1755 | | } |
1756 | | #[doc = "SPIR-V operand kind: [BuiltIn](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_built_in_a_built_in)"] |
1757 | | #[repr(u32)] |
1758 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
1759 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
1760 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
1761 | | #[allow(clippy::upper_case_acronyms)] |
1762 | | pub enum BuiltIn { |
1763 | | Position = 0u32, |
1764 | | PointSize = 1u32, |
1765 | | ClipDistance = 3u32, |
1766 | | CullDistance = 4u32, |
1767 | | VertexId = 5u32, |
1768 | | InstanceId = 6u32, |
1769 | | PrimitiveId = 7u32, |
1770 | | InvocationId = 8u32, |
1771 | | Layer = 9u32, |
1772 | | ViewportIndex = 10u32, |
1773 | | TessLevelOuter = 11u32, |
1774 | | TessLevelInner = 12u32, |
1775 | | TessCoord = 13u32, |
1776 | | PatchVertices = 14u32, |
1777 | | FragCoord = 15u32, |
1778 | | PointCoord = 16u32, |
1779 | | FrontFacing = 17u32, |
1780 | | SampleId = 18u32, |
1781 | | SamplePosition = 19u32, |
1782 | | SampleMask = 20u32, |
1783 | | FragDepth = 22u32, |
1784 | | HelperInvocation = 23u32, |
1785 | | NumWorkgroups = 24u32, |
1786 | | WorkgroupSize = 25u32, |
1787 | | WorkgroupId = 26u32, |
1788 | | LocalInvocationId = 27u32, |
1789 | | GlobalInvocationId = 28u32, |
1790 | | LocalInvocationIndex = 29u32, |
1791 | | WorkDim = 30u32, |
1792 | | GlobalSize = 31u32, |
1793 | | EnqueuedWorkgroupSize = 32u32, |
1794 | | GlobalOffset = 33u32, |
1795 | | GlobalLinearId = 34u32, |
1796 | | SubgroupSize = 36u32, |
1797 | | SubgroupMaxSize = 37u32, |
1798 | | NumSubgroups = 38u32, |
1799 | | NumEnqueuedSubgroups = 39u32, |
1800 | | SubgroupId = 40u32, |
1801 | | SubgroupLocalInvocationId = 41u32, |
1802 | | VertexIndex = 42u32, |
1803 | | InstanceIndex = 43u32, |
1804 | | CoreIDARM = 4160u32, |
1805 | | CoreCountARM = 4161u32, |
1806 | | CoreMaxIDARM = 4162u32, |
1807 | | WarpIDARM = 4163u32, |
1808 | | WarpMaxIDARM = 4164u32, |
1809 | | SubgroupEqMask = 4416u32, |
1810 | | SubgroupGeMask = 4417u32, |
1811 | | SubgroupGtMask = 4418u32, |
1812 | | SubgroupLeMask = 4419u32, |
1813 | | SubgroupLtMask = 4420u32, |
1814 | | BaseVertex = 4424u32, |
1815 | | BaseInstance = 4425u32, |
1816 | | DrawIndex = 4426u32, |
1817 | | PrimitiveShadingRateKHR = 4432u32, |
1818 | | DeviceIndex = 4438u32, |
1819 | | ViewIndex = 4440u32, |
1820 | | ShadingRateKHR = 4444u32, |
1821 | | TileOffsetQCOM = 4492u32, |
1822 | | TileDimensionQCOM = 4493u32, |
1823 | | TileApronSizeQCOM = 4494u32, |
1824 | | BaryCoordNoPerspAMD = 4992u32, |
1825 | | BaryCoordNoPerspCentroidAMD = 4993u32, |
1826 | | BaryCoordNoPerspSampleAMD = 4994u32, |
1827 | | BaryCoordSmoothAMD = 4995u32, |
1828 | | BaryCoordSmoothCentroidAMD = 4996u32, |
1829 | | BaryCoordSmoothSampleAMD = 4997u32, |
1830 | | BaryCoordPullModelAMD = 4998u32, |
1831 | | FragStencilRefEXT = 5014u32, |
1832 | | RemainingRecursionLevelsAMDX = 5021u32, |
1833 | | ShaderIndexAMDX = 5073u32, |
1834 | | SamplerHeapEXT = 5122u32, |
1835 | | ResourceHeapEXT = 5123u32, |
1836 | | ViewportMaskNV = 5253u32, |
1837 | | SecondaryPositionNV = 5257u32, |
1838 | | SecondaryViewportMaskNV = 5258u32, |
1839 | | PositionPerViewNV = 5261u32, |
1840 | | ViewportMaskPerViewNV = 5262u32, |
1841 | | FullyCoveredEXT = 5264u32, |
1842 | | TaskCountNV = 5274u32, |
1843 | | PrimitiveCountNV = 5275u32, |
1844 | | PrimitiveIndicesNV = 5276u32, |
1845 | | ClipDistancePerViewNV = 5277u32, |
1846 | | CullDistancePerViewNV = 5278u32, |
1847 | | LayerPerViewNV = 5279u32, |
1848 | | MeshViewCountNV = 5280u32, |
1849 | | MeshViewIndicesNV = 5281u32, |
1850 | | BaryCoordKHR = 5286u32, |
1851 | | BaryCoordNoPerspKHR = 5287u32, |
1852 | | FragSizeEXT = 5292u32, |
1853 | | FragInvocationCountEXT = 5293u32, |
1854 | | PrimitivePointIndicesEXT = 5294u32, |
1855 | | PrimitiveLineIndicesEXT = 5295u32, |
1856 | | PrimitiveTriangleIndicesEXT = 5296u32, |
1857 | | CullPrimitiveEXT = 5299u32, |
1858 | | LaunchIdKHR = 5319u32, |
1859 | | LaunchSizeKHR = 5320u32, |
1860 | | WorldRayOriginKHR = 5321u32, |
1861 | | WorldRayDirectionKHR = 5322u32, |
1862 | | ObjectRayOriginKHR = 5323u32, |
1863 | | ObjectRayDirectionKHR = 5324u32, |
1864 | | RayTminKHR = 5325u32, |
1865 | | RayTmaxKHR = 5326u32, |
1866 | | InstanceCustomIndexKHR = 5327u32, |
1867 | | ObjectToWorldKHR = 5330u32, |
1868 | | WorldToObjectKHR = 5331u32, |
1869 | | HitTNV = 5332u32, |
1870 | | HitKindKHR = 5333u32, |
1871 | | CurrentRayTimeNV = 5334u32, |
1872 | | HitTriangleVertexPositionsKHR = 5335u32, |
1873 | | HitMicroTriangleVertexPositionsNV = 5337u32, |
1874 | | HitMicroTriangleVertexBarycentricsNV = 5344u32, |
1875 | | IncomingRayFlagsKHR = 5351u32, |
1876 | | RayGeometryIndexKHR = 5352u32, |
1877 | | HitIsSphereNV = 5359u32, |
1878 | | HitIsLSSNV = 5360u32, |
1879 | | HitSpherePositionNV = 5361u32, |
1880 | | WarpsPerSMNV = 5374u32, |
1881 | | SMCountNV = 5375u32, |
1882 | | WarpIDNV = 5376u32, |
1883 | | SMIDNV = 5377u32, |
1884 | | HitLSSPositionsNV = 5396u32, |
1885 | | HitKindFrontFacingMicroTriangleNV = 5405u32, |
1886 | | HitKindBackFacingMicroTriangleNV = 5406u32, |
1887 | | HitSphereRadiusNV = 5420u32, |
1888 | | HitLSSRadiiNV = 5421u32, |
1889 | | ClusterIDNV = 5436u32, |
1890 | | CullMaskKHR = 6021u32, |
1891 | | } |
1892 | | impl BuiltIn { |
1893 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
1894 | 0 | Some(match n { |
1895 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1896 | 0 | 3u32..=20u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1897 | 0 | 22u32..=34u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1898 | 0 | 36u32..=43u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1899 | 0 | 4160u32..=4164u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1900 | 0 | 4416u32..=4420u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1901 | 0 | 4424u32..=4426u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1902 | 0 | 4432u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(4432u32) }, |
1903 | 0 | 4438u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(4438u32) }, |
1904 | 0 | 4440u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(4440u32) }, |
1905 | 0 | 4444u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(4444u32) }, |
1906 | 0 | 4492u32..=4494u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1907 | 0 | 4992u32..=4998u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1908 | 0 | 5014u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5014u32) }, |
1909 | 0 | 5021u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5021u32) }, |
1910 | 0 | 5073u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5073u32) }, |
1911 | 0 | 5122u32..=5123u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1912 | 0 | 5253u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5253u32) }, |
1913 | 0 | 5257u32..=5258u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1914 | 0 | 5261u32..=5262u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1915 | 0 | 5264u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5264u32) }, |
1916 | 0 | 5274u32..=5281u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1917 | 0 | 5286u32..=5287u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1918 | 0 | 5292u32..=5296u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1919 | 0 | 5299u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5299u32) }, |
1920 | 0 | 5319u32..=5327u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1921 | 0 | 5330u32..=5335u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1922 | 0 | 5337u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5337u32) }, |
1923 | 0 | 5344u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5344u32) }, |
1924 | 0 | 5351u32..=5352u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1925 | 0 | 5359u32..=5361u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1926 | 0 | 5374u32..=5377u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1927 | 0 | 5396u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5396u32) }, |
1928 | 0 | 5405u32..=5406u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1929 | 0 | 5420u32..=5421u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(n) }, |
1930 | 0 | 5436u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(5436u32) }, |
1931 | 0 | 6021u32 => unsafe { core::mem::transmute::<u32, BuiltIn>(6021u32) }, |
1932 | 0 | _ => return None, |
1933 | | }) |
1934 | 0 | } |
1935 | | } |
1936 | | #[allow(non_upper_case_globals)] |
1937 | | impl BuiltIn { |
1938 | | pub const SubgroupEqMaskKHR: Self = Self::SubgroupEqMask; |
1939 | | pub const SubgroupGeMaskKHR: Self = Self::SubgroupGeMask; |
1940 | | pub const SubgroupGtMaskKHR: Self = Self::SubgroupGtMask; |
1941 | | pub const SubgroupLeMaskKHR: Self = Self::SubgroupLeMask; |
1942 | | pub const SubgroupLtMaskKHR: Self = Self::SubgroupLtMask; |
1943 | | pub const BaryCoordNV: Self = Self::BaryCoordKHR; |
1944 | | pub const BaryCoordNoPerspNV: Self = Self::BaryCoordNoPerspKHR; |
1945 | | pub const FragmentSizeNV: Self = Self::FragSizeEXT; |
1946 | | pub const InvocationsPerPixelNV: Self = Self::FragInvocationCountEXT; |
1947 | | pub const LaunchIdNV: Self = Self::LaunchIdKHR; |
1948 | | pub const LaunchSizeNV: Self = Self::LaunchSizeKHR; |
1949 | | pub const WorldRayOriginNV: Self = Self::WorldRayOriginKHR; |
1950 | | pub const WorldRayDirectionNV: Self = Self::WorldRayDirectionKHR; |
1951 | | pub const ObjectRayOriginNV: Self = Self::ObjectRayOriginKHR; |
1952 | | pub const ObjectRayDirectionNV: Self = Self::ObjectRayDirectionKHR; |
1953 | | pub const RayTminNV: Self = Self::RayTminKHR; |
1954 | | pub const RayTmaxNV: Self = Self::RayTmaxKHR; |
1955 | | pub const InstanceCustomIndexNV: Self = Self::InstanceCustomIndexKHR; |
1956 | | pub const ObjectToWorldNV: Self = Self::ObjectToWorldKHR; |
1957 | | pub const WorldToObjectNV: Self = Self::WorldToObjectKHR; |
1958 | | pub const HitKindNV: Self = Self::HitKindKHR; |
1959 | | pub const IncomingRayFlagsNV: Self = Self::IncomingRayFlagsKHR; |
1960 | | } |
1961 | | impl core::str::FromStr for BuiltIn { |
1962 | | type Err = (); |
1963 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
1964 | 0 | Ok(match s { |
1965 | 0 | "Position" => Self::Position, |
1966 | 0 | "PointSize" => Self::PointSize, |
1967 | 0 | "ClipDistance" => Self::ClipDistance, |
1968 | 0 | "CullDistance" => Self::CullDistance, |
1969 | 0 | "VertexId" => Self::VertexId, |
1970 | 0 | "InstanceId" => Self::InstanceId, |
1971 | 0 | "PrimitiveId" => Self::PrimitiveId, |
1972 | 0 | "InvocationId" => Self::InvocationId, |
1973 | 0 | "Layer" => Self::Layer, |
1974 | 0 | "ViewportIndex" => Self::ViewportIndex, |
1975 | 0 | "TessLevelOuter" => Self::TessLevelOuter, |
1976 | 0 | "TessLevelInner" => Self::TessLevelInner, |
1977 | 0 | "TessCoord" => Self::TessCoord, |
1978 | 0 | "PatchVertices" => Self::PatchVertices, |
1979 | 0 | "FragCoord" => Self::FragCoord, |
1980 | 0 | "PointCoord" => Self::PointCoord, |
1981 | 0 | "FrontFacing" => Self::FrontFacing, |
1982 | 0 | "SampleId" => Self::SampleId, |
1983 | 0 | "SamplePosition" => Self::SamplePosition, |
1984 | 0 | "SampleMask" => Self::SampleMask, |
1985 | 0 | "FragDepth" => Self::FragDepth, |
1986 | 0 | "HelperInvocation" => Self::HelperInvocation, |
1987 | 0 | "NumWorkgroups" => Self::NumWorkgroups, |
1988 | 0 | "WorkgroupSize" => Self::WorkgroupSize, |
1989 | 0 | "WorkgroupId" => Self::WorkgroupId, |
1990 | 0 | "LocalInvocationId" => Self::LocalInvocationId, |
1991 | 0 | "GlobalInvocationId" => Self::GlobalInvocationId, |
1992 | 0 | "LocalInvocationIndex" => Self::LocalInvocationIndex, |
1993 | 0 | "WorkDim" => Self::WorkDim, |
1994 | 0 | "GlobalSize" => Self::GlobalSize, |
1995 | 0 | "EnqueuedWorkgroupSize" => Self::EnqueuedWorkgroupSize, |
1996 | 0 | "GlobalOffset" => Self::GlobalOffset, |
1997 | 0 | "GlobalLinearId" => Self::GlobalLinearId, |
1998 | 0 | "SubgroupSize" => Self::SubgroupSize, |
1999 | 0 | "SubgroupMaxSize" => Self::SubgroupMaxSize, |
2000 | 0 | "NumSubgroups" => Self::NumSubgroups, |
2001 | 0 | "NumEnqueuedSubgroups" => Self::NumEnqueuedSubgroups, |
2002 | 0 | "SubgroupId" => Self::SubgroupId, |
2003 | 0 | "SubgroupLocalInvocationId" => Self::SubgroupLocalInvocationId, |
2004 | 0 | "VertexIndex" => Self::VertexIndex, |
2005 | 0 | "InstanceIndex" => Self::InstanceIndex, |
2006 | 0 | "CoreIDARM" => Self::CoreIDARM, |
2007 | 0 | "CoreCountARM" => Self::CoreCountARM, |
2008 | 0 | "CoreMaxIDARM" => Self::CoreMaxIDARM, |
2009 | 0 | "WarpIDARM" => Self::WarpIDARM, |
2010 | 0 | "WarpMaxIDARM" => Self::WarpMaxIDARM, |
2011 | 0 | "SubgroupEqMask" => Self::SubgroupEqMask, |
2012 | 0 | "SubgroupEqMaskKHR" => Self::SubgroupEqMask, |
2013 | 0 | "SubgroupGeMask" => Self::SubgroupGeMask, |
2014 | 0 | "SubgroupGeMaskKHR" => Self::SubgroupGeMask, |
2015 | 0 | "SubgroupGtMask" => Self::SubgroupGtMask, |
2016 | 0 | "SubgroupGtMaskKHR" => Self::SubgroupGtMask, |
2017 | 0 | "SubgroupLeMask" => Self::SubgroupLeMask, |
2018 | 0 | "SubgroupLeMaskKHR" => Self::SubgroupLeMask, |
2019 | 0 | "SubgroupLtMask" => Self::SubgroupLtMask, |
2020 | 0 | "SubgroupLtMaskKHR" => Self::SubgroupLtMask, |
2021 | 0 | "BaseVertex" => Self::BaseVertex, |
2022 | 0 | "BaseInstance" => Self::BaseInstance, |
2023 | 0 | "DrawIndex" => Self::DrawIndex, |
2024 | 0 | "PrimitiveShadingRateKHR" => Self::PrimitiveShadingRateKHR, |
2025 | 0 | "DeviceIndex" => Self::DeviceIndex, |
2026 | 0 | "ViewIndex" => Self::ViewIndex, |
2027 | 0 | "ShadingRateKHR" => Self::ShadingRateKHR, |
2028 | 0 | "TileOffsetQCOM" => Self::TileOffsetQCOM, |
2029 | 0 | "TileDimensionQCOM" => Self::TileDimensionQCOM, |
2030 | 0 | "TileApronSizeQCOM" => Self::TileApronSizeQCOM, |
2031 | 0 | "BaryCoordNoPerspAMD" => Self::BaryCoordNoPerspAMD, |
2032 | 0 | "BaryCoordNoPerspCentroidAMD" => Self::BaryCoordNoPerspCentroidAMD, |
2033 | 0 | "BaryCoordNoPerspSampleAMD" => Self::BaryCoordNoPerspSampleAMD, |
2034 | 0 | "BaryCoordSmoothAMD" => Self::BaryCoordSmoothAMD, |
2035 | 0 | "BaryCoordSmoothCentroidAMD" => Self::BaryCoordSmoothCentroidAMD, |
2036 | 0 | "BaryCoordSmoothSampleAMD" => Self::BaryCoordSmoothSampleAMD, |
2037 | 0 | "BaryCoordPullModelAMD" => Self::BaryCoordPullModelAMD, |
2038 | 0 | "FragStencilRefEXT" => Self::FragStencilRefEXT, |
2039 | 0 | "RemainingRecursionLevelsAMDX" => Self::RemainingRecursionLevelsAMDX, |
2040 | 0 | "ShaderIndexAMDX" => Self::ShaderIndexAMDX, |
2041 | 0 | "SamplerHeapEXT" => Self::SamplerHeapEXT, |
2042 | 0 | "ResourceHeapEXT" => Self::ResourceHeapEXT, |
2043 | 0 | "ViewportMaskNV" => Self::ViewportMaskNV, |
2044 | 0 | "SecondaryPositionNV" => Self::SecondaryPositionNV, |
2045 | 0 | "SecondaryViewportMaskNV" => Self::SecondaryViewportMaskNV, |
2046 | 0 | "PositionPerViewNV" => Self::PositionPerViewNV, |
2047 | 0 | "ViewportMaskPerViewNV" => Self::ViewportMaskPerViewNV, |
2048 | 0 | "FullyCoveredEXT" => Self::FullyCoveredEXT, |
2049 | 0 | "TaskCountNV" => Self::TaskCountNV, |
2050 | 0 | "PrimitiveCountNV" => Self::PrimitiveCountNV, |
2051 | 0 | "PrimitiveIndicesNV" => Self::PrimitiveIndicesNV, |
2052 | 0 | "ClipDistancePerViewNV" => Self::ClipDistancePerViewNV, |
2053 | 0 | "CullDistancePerViewNV" => Self::CullDistancePerViewNV, |
2054 | 0 | "LayerPerViewNV" => Self::LayerPerViewNV, |
2055 | 0 | "MeshViewCountNV" => Self::MeshViewCountNV, |
2056 | 0 | "MeshViewIndicesNV" => Self::MeshViewIndicesNV, |
2057 | 0 | "BaryCoordKHR" => Self::BaryCoordKHR, |
2058 | 0 | "BaryCoordNV" => Self::BaryCoordKHR, |
2059 | 0 | "BaryCoordNoPerspKHR" => Self::BaryCoordNoPerspKHR, |
2060 | 0 | "BaryCoordNoPerspNV" => Self::BaryCoordNoPerspKHR, |
2061 | 0 | "FragSizeEXT" => Self::FragSizeEXT, |
2062 | 0 | "FragmentSizeNV" => Self::FragSizeEXT, |
2063 | 0 | "FragInvocationCountEXT" => Self::FragInvocationCountEXT, |
2064 | 0 | "InvocationsPerPixelNV" => Self::FragInvocationCountEXT, |
2065 | 0 | "PrimitivePointIndicesEXT" => Self::PrimitivePointIndicesEXT, |
2066 | 0 | "PrimitiveLineIndicesEXT" => Self::PrimitiveLineIndicesEXT, |
2067 | 0 | "PrimitiveTriangleIndicesEXT" => Self::PrimitiveTriangleIndicesEXT, |
2068 | 0 | "CullPrimitiveEXT" => Self::CullPrimitiveEXT, |
2069 | 0 | "LaunchIdKHR" => Self::LaunchIdKHR, |
2070 | 0 | "LaunchIdNV" => Self::LaunchIdKHR, |
2071 | 0 | "LaunchSizeKHR" => Self::LaunchSizeKHR, |
2072 | 0 | "LaunchSizeNV" => Self::LaunchSizeKHR, |
2073 | 0 | "WorldRayOriginKHR" => Self::WorldRayOriginKHR, |
2074 | 0 | "WorldRayOriginNV" => Self::WorldRayOriginKHR, |
2075 | 0 | "WorldRayDirectionKHR" => Self::WorldRayDirectionKHR, |
2076 | 0 | "WorldRayDirectionNV" => Self::WorldRayDirectionKHR, |
2077 | 0 | "ObjectRayOriginKHR" => Self::ObjectRayOriginKHR, |
2078 | 0 | "ObjectRayOriginNV" => Self::ObjectRayOriginKHR, |
2079 | 0 | "ObjectRayDirectionKHR" => Self::ObjectRayDirectionKHR, |
2080 | 0 | "ObjectRayDirectionNV" => Self::ObjectRayDirectionKHR, |
2081 | 0 | "RayTminKHR" => Self::RayTminKHR, |
2082 | 0 | "RayTminNV" => Self::RayTminKHR, |
2083 | 0 | "RayTmaxKHR" => Self::RayTmaxKHR, |
2084 | 0 | "RayTmaxNV" => Self::RayTmaxKHR, |
2085 | 0 | "InstanceCustomIndexKHR" => Self::InstanceCustomIndexKHR, |
2086 | 0 | "InstanceCustomIndexNV" => Self::InstanceCustomIndexKHR, |
2087 | 0 | "ObjectToWorldKHR" => Self::ObjectToWorldKHR, |
2088 | 0 | "ObjectToWorldNV" => Self::ObjectToWorldKHR, |
2089 | 0 | "WorldToObjectKHR" => Self::WorldToObjectKHR, |
2090 | 0 | "WorldToObjectNV" => Self::WorldToObjectKHR, |
2091 | 0 | "HitTNV" => Self::HitTNV, |
2092 | 0 | "HitKindKHR" => Self::HitKindKHR, |
2093 | 0 | "HitKindNV" => Self::HitKindKHR, |
2094 | 0 | "CurrentRayTimeNV" => Self::CurrentRayTimeNV, |
2095 | 0 | "HitTriangleVertexPositionsKHR" => Self::HitTriangleVertexPositionsKHR, |
2096 | 0 | "HitMicroTriangleVertexPositionsNV" => Self::HitMicroTriangleVertexPositionsNV, |
2097 | 0 | "HitMicroTriangleVertexBarycentricsNV" => Self::HitMicroTriangleVertexBarycentricsNV, |
2098 | 0 | "IncomingRayFlagsKHR" => Self::IncomingRayFlagsKHR, |
2099 | 0 | "IncomingRayFlagsNV" => Self::IncomingRayFlagsKHR, |
2100 | 0 | "RayGeometryIndexKHR" => Self::RayGeometryIndexKHR, |
2101 | 0 | "HitIsSphereNV" => Self::HitIsSphereNV, |
2102 | 0 | "HitIsLSSNV" => Self::HitIsLSSNV, |
2103 | 0 | "HitSpherePositionNV" => Self::HitSpherePositionNV, |
2104 | 0 | "WarpsPerSMNV" => Self::WarpsPerSMNV, |
2105 | 0 | "SMCountNV" => Self::SMCountNV, |
2106 | 0 | "WarpIDNV" => Self::WarpIDNV, |
2107 | 0 | "SMIDNV" => Self::SMIDNV, |
2108 | 0 | "HitLSSPositionsNV" => Self::HitLSSPositionsNV, |
2109 | 0 | "HitKindFrontFacingMicroTriangleNV" => Self::HitKindFrontFacingMicroTriangleNV, |
2110 | 0 | "HitKindBackFacingMicroTriangleNV" => Self::HitKindBackFacingMicroTriangleNV, |
2111 | 0 | "HitSphereRadiusNV" => Self::HitSphereRadiusNV, |
2112 | 0 | "HitLSSRadiiNV" => Self::HitLSSRadiiNV, |
2113 | 0 | "ClusterIDNV" => Self::ClusterIDNV, |
2114 | 0 | "CullMaskKHR" => Self::CullMaskKHR, |
2115 | 0 | _ => return Err(()), |
2116 | | }) |
2117 | 0 | } |
2118 | | } |
2119 | | #[doc = "SPIR-V operand kind: [Scope](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_scope_a_scope)"] |
2120 | | #[repr(u32)] |
2121 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
2122 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
2123 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
2124 | | #[allow(clippy::upper_case_acronyms)] |
2125 | | pub enum Scope { |
2126 | | CrossDevice = 0u32, |
2127 | | Device = 1u32, |
2128 | | Workgroup = 2u32, |
2129 | | Subgroup = 3u32, |
2130 | | Invocation = 4u32, |
2131 | | QueueFamily = 5u32, |
2132 | | ShaderCallKHR = 6u32, |
2133 | | } |
2134 | | impl Scope { |
2135 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
2136 | 0 | Some(match n { |
2137 | 0 | 0u32..=6u32 => unsafe { core::mem::transmute::<u32, Scope>(n) }, |
2138 | 0 | _ => return None, |
2139 | | }) |
2140 | 0 | } |
2141 | | } |
2142 | | #[allow(non_upper_case_globals)] |
2143 | | impl Scope { |
2144 | | pub const QueueFamilyKHR: Self = Self::QueueFamily; |
2145 | | } |
2146 | | impl core::str::FromStr for Scope { |
2147 | | type Err = (); |
2148 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
2149 | 0 | Ok(match s { |
2150 | 0 | "CrossDevice" => Self::CrossDevice, |
2151 | 0 | "Device" => Self::Device, |
2152 | 0 | "Workgroup" => Self::Workgroup, |
2153 | 0 | "Subgroup" => Self::Subgroup, |
2154 | 0 | "Invocation" => Self::Invocation, |
2155 | 0 | "QueueFamily" => Self::QueueFamily, |
2156 | 0 | "QueueFamilyKHR" => Self::QueueFamily, |
2157 | 0 | "ShaderCallKHR" => Self::ShaderCallKHR, |
2158 | 0 | _ => return Err(()), |
2159 | | }) |
2160 | 0 | } |
2161 | | } |
2162 | | #[doc = "SPIR-V operand kind: [GroupOperation](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_group_operation_a_group_operation)"] |
2163 | | #[repr(u32)] |
2164 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
2165 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
2166 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
2167 | | #[allow(clippy::upper_case_acronyms)] |
2168 | | pub enum GroupOperation { |
2169 | | Reduce = 0u32, |
2170 | | InclusiveScan = 1u32, |
2171 | | ExclusiveScan = 2u32, |
2172 | | ClusteredReduce = 3u32, |
2173 | | PartitionedReduceEXT = 6u32, |
2174 | | PartitionedInclusiveScanEXT = 7u32, |
2175 | | PartitionedExclusiveScanEXT = 8u32, |
2176 | | } |
2177 | | impl GroupOperation { |
2178 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
2179 | 0 | Some(match n { |
2180 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, GroupOperation>(n) }, |
2181 | 0 | 6u32..=8u32 => unsafe { core::mem::transmute::<u32, GroupOperation>(n) }, |
2182 | 0 | _ => return None, |
2183 | | }) |
2184 | 0 | } |
2185 | | } |
2186 | | #[allow(non_upper_case_globals)] |
2187 | | impl GroupOperation { |
2188 | | pub const PartitionedReduceNV: Self = Self::PartitionedReduceEXT; |
2189 | | pub const PartitionedInclusiveScanNV: Self = Self::PartitionedInclusiveScanEXT; |
2190 | | pub const PartitionedExclusiveScanNV: Self = Self::PartitionedExclusiveScanEXT; |
2191 | | } |
2192 | | impl core::str::FromStr for GroupOperation { |
2193 | | type Err = (); |
2194 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
2195 | 0 | Ok(match s { |
2196 | 0 | "Reduce" => Self::Reduce, |
2197 | 0 | "InclusiveScan" => Self::InclusiveScan, |
2198 | 0 | "ExclusiveScan" => Self::ExclusiveScan, |
2199 | 0 | "ClusteredReduce" => Self::ClusteredReduce, |
2200 | 0 | "PartitionedReduceEXT" => Self::PartitionedReduceEXT, |
2201 | 0 | "PartitionedReduceNV" => Self::PartitionedReduceEXT, |
2202 | 0 | "PartitionedInclusiveScanEXT" => Self::PartitionedInclusiveScanEXT, |
2203 | 0 | "PartitionedInclusiveScanNV" => Self::PartitionedInclusiveScanEXT, |
2204 | 0 | "PartitionedExclusiveScanEXT" => Self::PartitionedExclusiveScanEXT, |
2205 | 0 | "PartitionedExclusiveScanNV" => Self::PartitionedExclusiveScanEXT, |
2206 | 0 | _ => return Err(()), |
2207 | | }) |
2208 | 0 | } |
2209 | | } |
2210 | | #[doc = "SPIR-V operand kind: [KernelEnqueueFlags](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_kernel_enqueue_flags_a_kernel_enqueue_flags)"] |
2211 | | #[repr(u32)] |
2212 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
2213 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
2214 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
2215 | | #[allow(clippy::upper_case_acronyms)] |
2216 | | pub enum KernelEnqueueFlags { |
2217 | | NoWait = 0u32, |
2218 | | WaitKernel = 1u32, |
2219 | | WaitWorkGroup = 2u32, |
2220 | | } |
2221 | | impl KernelEnqueueFlags { |
2222 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
2223 | 0 | Some(match n { |
2224 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, KernelEnqueueFlags>(n) }, |
2225 | 0 | _ => return None, |
2226 | | }) |
2227 | 0 | } |
2228 | | } |
2229 | | #[allow(non_upper_case_globals)] |
2230 | | impl KernelEnqueueFlags {} |
2231 | | impl core::str::FromStr for KernelEnqueueFlags { |
2232 | | type Err = (); |
2233 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
2234 | 0 | Ok(match s { |
2235 | 0 | "NoWait" => Self::NoWait, |
2236 | 0 | "WaitKernel" => Self::WaitKernel, |
2237 | 0 | "WaitWorkGroup" => Self::WaitWorkGroup, |
2238 | 0 | _ => return Err(()), |
2239 | | }) |
2240 | 0 | } |
2241 | | } |
2242 | | #[doc = "SPIR-V operand kind: [Capability](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_capability_a_capability)"] |
2243 | | #[repr(u32)] |
2244 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
2245 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
2246 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
2247 | | #[allow(clippy::upper_case_acronyms)] |
2248 | | pub enum Capability { |
2249 | | Matrix = 0u32, |
2250 | | Shader = 1u32, |
2251 | | Geometry = 2u32, |
2252 | | Tessellation = 3u32, |
2253 | | Addresses = 4u32, |
2254 | | Linkage = 5u32, |
2255 | | Kernel = 6u32, |
2256 | | Vector16 = 7u32, |
2257 | | Float16Buffer = 8u32, |
2258 | | Float16 = 9u32, |
2259 | | Float64 = 10u32, |
2260 | | Int64 = 11u32, |
2261 | | Int64Atomics = 12u32, |
2262 | | ImageBasic = 13u32, |
2263 | | ImageReadWrite = 14u32, |
2264 | | ImageMipmap = 15u32, |
2265 | | Pipes = 17u32, |
2266 | | Groups = 18u32, |
2267 | | DeviceEnqueue = 19u32, |
2268 | | LiteralSampler = 20u32, |
2269 | | AtomicStorage = 21u32, |
2270 | | Int16 = 22u32, |
2271 | | TessellationPointSize = 23u32, |
2272 | | GeometryPointSize = 24u32, |
2273 | | ImageGatherExtended = 25u32, |
2274 | | StorageImageMultisample = 27u32, |
2275 | | UniformBufferArrayDynamicIndexing = 28u32, |
2276 | | SampledImageArrayDynamicIndexing = 29u32, |
2277 | | StorageBufferArrayDynamicIndexing = 30u32, |
2278 | | StorageImageArrayDynamicIndexing = 31u32, |
2279 | | ClipDistance = 32u32, |
2280 | | CullDistance = 33u32, |
2281 | | ImageCubeArray = 34u32, |
2282 | | SampleRateShading = 35u32, |
2283 | | ImageRect = 36u32, |
2284 | | SampledRect = 37u32, |
2285 | | GenericPointer = 38u32, |
2286 | | Int8 = 39u32, |
2287 | | InputAttachment = 40u32, |
2288 | | SparseResidency = 41u32, |
2289 | | MinLod = 42u32, |
2290 | | Sampled1D = 43u32, |
2291 | | Image1D = 44u32, |
2292 | | SampledCubeArray = 45u32, |
2293 | | SampledBuffer = 46u32, |
2294 | | ImageBuffer = 47u32, |
2295 | | ImageMSArray = 48u32, |
2296 | | StorageImageExtendedFormats = 49u32, |
2297 | | ImageQuery = 50u32, |
2298 | | DerivativeControl = 51u32, |
2299 | | InterpolationFunction = 52u32, |
2300 | | TransformFeedback = 53u32, |
2301 | | GeometryStreams = 54u32, |
2302 | | StorageImageReadWithoutFormat = 55u32, |
2303 | | StorageImageWriteWithoutFormat = 56u32, |
2304 | | MultiViewport = 57u32, |
2305 | | SubgroupDispatch = 58u32, |
2306 | | NamedBarrier = 59u32, |
2307 | | PipeStorage = 60u32, |
2308 | | GroupNonUniform = 61u32, |
2309 | | GroupNonUniformVote = 62u32, |
2310 | | GroupNonUniformArithmetic = 63u32, |
2311 | | GroupNonUniformBallot = 64u32, |
2312 | | GroupNonUniformShuffle = 65u32, |
2313 | | GroupNonUniformShuffleRelative = 66u32, |
2314 | | GroupNonUniformClustered = 67u32, |
2315 | | GroupNonUniformQuad = 68u32, |
2316 | | ShaderLayer = 69u32, |
2317 | | ShaderViewportIndex = 70u32, |
2318 | | UniformDecoration = 71u32, |
2319 | | CoreBuiltinsARM = 4165u32, |
2320 | | TileImageColorReadAccessEXT = 4166u32, |
2321 | | TileImageDepthReadAccessEXT = 4167u32, |
2322 | | TileImageStencilReadAccessEXT = 4168u32, |
2323 | | TensorsARM = 4174u32, |
2324 | | StorageTensorArrayDynamicIndexingARM = 4175u32, |
2325 | | StorageTensorArrayNonUniformIndexingARM = 4176u32, |
2326 | | GraphARM = 4191u32, |
2327 | | CooperativeMatrixLayoutsARM = 4201u32, |
2328 | | Float8EXT = 4212u32, |
2329 | | Float8CooperativeMatrixEXT = 4213u32, |
2330 | | FragmentShadingRateKHR = 4422u32, |
2331 | | SubgroupBallotKHR = 4423u32, |
2332 | | DrawParameters = 4427u32, |
2333 | | WorkgroupMemoryExplicitLayoutKHR = 4428u32, |
2334 | | WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429u32, |
2335 | | WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430u32, |
2336 | | SubgroupVoteKHR = 4431u32, |
2337 | | StorageBuffer16BitAccess = 4433u32, |
2338 | | UniformAndStorageBuffer16BitAccess = 4434u32, |
2339 | | StoragePushConstant16 = 4435u32, |
2340 | | StorageInputOutput16 = 4436u32, |
2341 | | DeviceGroup = 4437u32, |
2342 | | MultiView = 4439u32, |
2343 | | VariablePointersStorageBuffer = 4441u32, |
2344 | | VariablePointers = 4442u32, |
2345 | | AtomicStorageOps = 4445u32, |
2346 | | SampleMaskPostDepthCoverage = 4447u32, |
2347 | | StorageBuffer8BitAccess = 4448u32, |
2348 | | UniformAndStorageBuffer8BitAccess = 4449u32, |
2349 | | StoragePushConstant8 = 4450u32, |
2350 | | DenormPreserve = 4464u32, |
2351 | | DenormFlushToZero = 4465u32, |
2352 | | SignedZeroInfNanPreserve = 4466u32, |
2353 | | RoundingModeRTE = 4467u32, |
2354 | | RoundingModeRTZ = 4468u32, |
2355 | | RayQueryProvisionalKHR = 4471u32, |
2356 | | RayQueryKHR = 4472u32, |
2357 | | UntypedPointersKHR = 4473u32, |
2358 | | RayTraversalPrimitiveCullingKHR = 4478u32, |
2359 | | RayTracingKHR = 4479u32, |
2360 | | TextureSampleWeightedQCOM = 4484u32, |
2361 | | TextureBoxFilterQCOM = 4485u32, |
2362 | | TextureBlockMatchQCOM = 4486u32, |
2363 | | TileShadingQCOM = 4495u32, |
2364 | | CooperativeMatrixConversionQCOM = 4496u32, |
2365 | | TextureBlockMatch2QCOM = 4498u32, |
2366 | | Float16ImageAMD = 5008u32, |
2367 | | ImageGatherBiasLodAMD = 5009u32, |
2368 | | FragmentMaskAMD = 5010u32, |
2369 | | StencilExportEXT = 5013u32, |
2370 | | ImageReadWriteLodAMD = 5015u32, |
2371 | | Int64ImageEXT = 5016u32, |
2372 | | ShaderClockKHR = 5055u32, |
2373 | | ShaderEnqueueAMDX = 5067u32, |
2374 | | QuadControlKHR = 5087u32, |
2375 | | Int4TypeINTEL = 5112u32, |
2376 | | Int4CooperativeMatrixINTEL = 5114u32, |
2377 | | BFloat16TypeKHR = 5116u32, |
2378 | | BFloat16DotProductKHR = 5117u32, |
2379 | | BFloat16CooperativeMatrixKHR = 5118u32, |
2380 | | DescriptorHeapEXT = 5128u32, |
2381 | | SampleMaskOverrideCoverageNV = 5249u32, |
2382 | | GeometryShaderPassthroughNV = 5251u32, |
2383 | | ShaderViewportIndexLayerEXT = 5254u32, |
2384 | | ShaderViewportMaskNV = 5255u32, |
2385 | | ShaderStereoViewNV = 5259u32, |
2386 | | PerViewAttributesNV = 5260u32, |
2387 | | FragmentFullyCoveredEXT = 5265u32, |
2388 | | MeshShadingNV = 5266u32, |
2389 | | ImageFootprintNV = 5282u32, |
2390 | | MeshShadingEXT = 5283u32, |
2391 | | FragmentBarycentricKHR = 5284u32, |
2392 | | ComputeDerivativeGroupQuadsKHR = 5288u32, |
2393 | | FragmentDensityEXT = 5291u32, |
2394 | | GroupNonUniformPartitionedEXT = 5297u32, |
2395 | | ShaderNonUniform = 5301u32, |
2396 | | RuntimeDescriptorArray = 5302u32, |
2397 | | InputAttachmentArrayDynamicIndexing = 5303u32, |
2398 | | UniformTexelBufferArrayDynamicIndexing = 5304u32, |
2399 | | StorageTexelBufferArrayDynamicIndexing = 5305u32, |
2400 | | UniformBufferArrayNonUniformIndexing = 5306u32, |
2401 | | SampledImageArrayNonUniformIndexing = 5307u32, |
2402 | | StorageBufferArrayNonUniformIndexing = 5308u32, |
2403 | | StorageImageArrayNonUniformIndexing = 5309u32, |
2404 | | InputAttachmentArrayNonUniformIndexing = 5310u32, |
2405 | | UniformTexelBufferArrayNonUniformIndexing = 5311u32, |
2406 | | StorageTexelBufferArrayNonUniformIndexing = 5312u32, |
2407 | | RayTracingPositionFetchKHR = 5336u32, |
2408 | | RayTracingNV = 5340u32, |
2409 | | RayTracingMotionBlurNV = 5341u32, |
2410 | | VulkanMemoryModel = 5345u32, |
2411 | | VulkanMemoryModelDeviceScope = 5346u32, |
2412 | | PhysicalStorageBufferAddresses = 5347u32, |
2413 | | ComputeDerivativeGroupLinearKHR = 5350u32, |
2414 | | RayTracingProvisionalKHR = 5353u32, |
2415 | | CooperativeMatrixNV = 5357u32, |
2416 | | FragmentShaderSampleInterlockEXT = 5363u32, |
2417 | | FragmentShaderShadingRateInterlockEXT = 5372u32, |
2418 | | ShaderSMBuiltinsNV = 5373u32, |
2419 | | FragmentShaderPixelInterlockEXT = 5378u32, |
2420 | | DemoteToHelperInvocation = 5379u32, |
2421 | | DisplacementMicromapNV = 5380u32, |
2422 | | RayTracingOpacityMicromapEXT = 5381u32, |
2423 | | ShaderInvocationReorderNV = 5383u32, |
2424 | | ShaderInvocationReorderEXT = 5388u32, |
2425 | | BindlessTextureNV = 5390u32, |
2426 | | RayQueryPositionFetchKHR = 5391u32, |
2427 | | CooperativeVectorNV = 5394u32, |
2428 | | AtomicFloat16VectorNV = 5404u32, |
2429 | | RayTracingDisplacementMicromapNV = 5409u32, |
2430 | | RawAccessChainsNV = 5414u32, |
2431 | | RayTracingSpheresGeometryNV = 5418u32, |
2432 | | RayTracingLinearSweptSpheresGeometryNV = 5419u32, |
2433 | | PushConstantBanksNV = 5423u32, |
2434 | | LongVectorEXT = 5425u32, |
2435 | | Shader64BitIndexingEXT = 5426u32, |
2436 | | CooperativeMatrixReductionsNV = 5430u32, |
2437 | | CooperativeMatrixConversionsNV = 5431u32, |
2438 | | CooperativeMatrixPerElementOperationsNV = 5432u32, |
2439 | | CooperativeMatrixTensorAddressingNV = 5433u32, |
2440 | | CooperativeMatrixBlockLoadsNV = 5434u32, |
2441 | | CooperativeVectorTrainingNV = 5435u32, |
2442 | | RayTracingClusterAccelerationStructureNV = 5437u32, |
2443 | | TensorAddressingNV = 5439u32, |
2444 | | SubgroupShuffleINTEL = 5568u32, |
2445 | | SubgroupBufferBlockIOINTEL = 5569u32, |
2446 | | SubgroupImageBlockIOINTEL = 5570u32, |
2447 | | SubgroupImageMediaBlockIOINTEL = 5579u32, |
2448 | | RoundToInfinityINTEL = 5582u32, |
2449 | | FloatingPointModeINTEL = 5583u32, |
2450 | | IntegerFunctions2INTEL = 5584u32, |
2451 | | FunctionPointersINTEL = 5603u32, |
2452 | | IndirectReferencesINTEL = 5604u32, |
2453 | | AsmINTEL = 5606u32, |
2454 | | AtomicFloat32MinMaxEXT = 5612u32, |
2455 | | AtomicFloat64MinMaxEXT = 5613u32, |
2456 | | AtomicFloat16MinMaxEXT = 5616u32, |
2457 | | VectorComputeINTEL = 5617u32, |
2458 | | VectorAnyINTEL = 5619u32, |
2459 | | ExpectAssumeKHR = 5629u32, |
2460 | | SubgroupAvcMotionEstimationINTEL = 5696u32, |
2461 | | SubgroupAvcMotionEstimationIntraINTEL = 5697u32, |
2462 | | SubgroupAvcMotionEstimationChromaINTEL = 5698u32, |
2463 | | VariableLengthArrayINTEL = 5817u32, |
2464 | | FunctionFloatControlINTEL = 5821u32, |
2465 | | FPGAMemoryAttributesALTERA = 5824u32, |
2466 | | FPFastMathModeINTEL = 5837u32, |
2467 | | ArbitraryPrecisionIntegersALTERA = 5844u32, |
2468 | | ArbitraryPrecisionFloatingPointALTERA = 5845u32, |
2469 | | UnstructuredLoopControlsINTEL = 5886u32, |
2470 | | FPGALoopControlsALTERA = 5888u32, |
2471 | | KernelAttributesINTEL = 5892u32, |
2472 | | FPGAKernelAttributesINTEL = 5897u32, |
2473 | | FPGAMemoryAccessesALTERA = 5898u32, |
2474 | | FPGAClusterAttributesALTERA = 5904u32, |
2475 | | LoopFuseALTERA = 5906u32, |
2476 | | FPGADSPControlALTERA = 5908u32, |
2477 | | MemoryAccessAliasingINTEL = 5910u32, |
2478 | | FPGAInvocationPipeliningAttributesALTERA = 5916u32, |
2479 | | FPGABufferLocationALTERA = 5920u32, |
2480 | | ArbitraryPrecisionFixedPointALTERA = 5922u32, |
2481 | | USMStorageClassesALTERA = 5935u32, |
2482 | | RuntimeAlignedAttributeALTERA = 5939u32, |
2483 | | IOPipesALTERA = 5943u32, |
2484 | | BlockingPipesALTERA = 5945u32, |
2485 | | FPGARegALTERA = 5948u32, |
2486 | | DotProductInputAll = 6016u32, |
2487 | | DotProductInput4x8Bit = 6017u32, |
2488 | | DotProductInput4x8BitPacked = 6018u32, |
2489 | | DotProduct = 6019u32, |
2490 | | RayCullMaskKHR = 6020u32, |
2491 | | CooperativeMatrixKHR = 6022u32, |
2492 | | ReplicatedCompositesEXT = 6024u32, |
2493 | | BitInstructions = 6025u32, |
2494 | | GroupNonUniformRotateKHR = 6026u32, |
2495 | | FloatControls2 = 6029u32, |
2496 | | FMAKHR = 6030u32, |
2497 | | AtomicFloat32AddEXT = 6033u32, |
2498 | | AtomicFloat64AddEXT = 6034u32, |
2499 | | LongCompositesINTEL = 6089u32, |
2500 | | OptNoneEXT = 6094u32, |
2501 | | AtomicFloat16AddEXT = 6095u32, |
2502 | | DebugInfoModuleINTEL = 6114u32, |
2503 | | BFloat16ConversionINTEL = 6115u32, |
2504 | | SplitBarrierINTEL = 6141u32, |
2505 | | ArithmeticFenceEXT = 6144u32, |
2506 | | FPGAClusterAttributesV2ALTERA = 6150u32, |
2507 | | FPGAKernelAttributesv2INTEL = 6161u32, |
2508 | | TaskSequenceALTERA = 6162u32, |
2509 | | FPMaxErrorINTEL = 6169u32, |
2510 | | FPGALatencyControlALTERA = 6171u32, |
2511 | | FPGAArgumentInterfacesALTERA = 6174u32, |
2512 | | GlobalVariableHostAccessINTEL = 6187u32, |
2513 | | GlobalVariableFPGADecorationsALTERA = 6189u32, |
2514 | | SubgroupBufferPrefetchINTEL = 6220u32, |
2515 | | Subgroup2DBlockIOINTEL = 6228u32, |
2516 | | Subgroup2DBlockTransformINTEL = 6229u32, |
2517 | | Subgroup2DBlockTransposeINTEL = 6230u32, |
2518 | | SubgroupMatrixMultiplyAccumulateINTEL = 6236u32, |
2519 | | TernaryBitwiseFunctionINTEL = 6241u32, |
2520 | | UntypedVariableLengthArrayINTEL = 6243u32, |
2521 | | SpecConditionalINTEL = 6245u32, |
2522 | | FunctionVariantsINTEL = 6246u32, |
2523 | | GroupUniformArithmeticKHR = 6400u32, |
2524 | | TensorFloat32RoundingINTEL = 6425u32, |
2525 | | MaskedGatherScatterINTEL = 6427u32, |
2526 | | CacheControlsINTEL = 6441u32, |
2527 | | RegisterLimitsINTEL = 6460u32, |
2528 | | BindlessImagesINTEL = 6528u32, |
2529 | | } |
2530 | | impl Capability { |
2531 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
2532 | 0 | Some(match n { |
2533 | 0 | 0u32..=15u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2534 | 0 | 17u32..=25u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2535 | 0 | 27u32..=71u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2536 | 0 | 4165u32..=4168u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2537 | 0 | 4174u32..=4176u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2538 | 0 | 4191u32 => unsafe { core::mem::transmute::<u32, Capability>(4191u32) }, |
2539 | 0 | 4201u32 => unsafe { core::mem::transmute::<u32, Capability>(4201u32) }, |
2540 | 0 | 4212u32..=4213u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2541 | 0 | 4422u32..=4423u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2542 | 0 | 4427u32..=4431u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2543 | 0 | 4433u32..=4437u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2544 | 0 | 4439u32 => unsafe { core::mem::transmute::<u32, Capability>(4439u32) }, |
2545 | 0 | 4441u32..=4442u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2546 | 0 | 4445u32 => unsafe { core::mem::transmute::<u32, Capability>(4445u32) }, |
2547 | 0 | 4447u32..=4450u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2548 | 0 | 4464u32..=4468u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2549 | 0 | 4471u32..=4473u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2550 | 0 | 4478u32..=4479u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2551 | 0 | 4484u32..=4486u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2552 | 0 | 4495u32..=4496u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2553 | 0 | 4498u32 => unsafe { core::mem::transmute::<u32, Capability>(4498u32) }, |
2554 | 0 | 5008u32..=5010u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2555 | 0 | 5013u32 => unsafe { core::mem::transmute::<u32, Capability>(5013u32) }, |
2556 | 0 | 5015u32..=5016u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2557 | 0 | 5055u32 => unsafe { core::mem::transmute::<u32, Capability>(5055u32) }, |
2558 | 0 | 5067u32 => unsafe { core::mem::transmute::<u32, Capability>(5067u32) }, |
2559 | 0 | 5087u32 => unsafe { core::mem::transmute::<u32, Capability>(5087u32) }, |
2560 | 0 | 5112u32 => unsafe { core::mem::transmute::<u32, Capability>(5112u32) }, |
2561 | 0 | 5114u32 => unsafe { core::mem::transmute::<u32, Capability>(5114u32) }, |
2562 | 0 | 5116u32..=5118u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2563 | 0 | 5128u32 => unsafe { core::mem::transmute::<u32, Capability>(5128u32) }, |
2564 | 0 | 5249u32 => unsafe { core::mem::transmute::<u32, Capability>(5249u32) }, |
2565 | 0 | 5251u32 => unsafe { core::mem::transmute::<u32, Capability>(5251u32) }, |
2566 | 0 | 5254u32..=5255u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2567 | 0 | 5259u32..=5260u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2568 | 0 | 5265u32..=5266u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2569 | 0 | 5282u32..=5284u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2570 | 0 | 5288u32 => unsafe { core::mem::transmute::<u32, Capability>(5288u32) }, |
2571 | 0 | 5291u32 => unsafe { core::mem::transmute::<u32, Capability>(5291u32) }, |
2572 | 0 | 5297u32 => unsafe { core::mem::transmute::<u32, Capability>(5297u32) }, |
2573 | 0 | 5301u32..=5312u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2574 | 0 | 5336u32 => unsafe { core::mem::transmute::<u32, Capability>(5336u32) }, |
2575 | 0 | 5340u32..=5341u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2576 | 0 | 5345u32..=5347u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2577 | 0 | 5350u32 => unsafe { core::mem::transmute::<u32, Capability>(5350u32) }, |
2578 | 0 | 5353u32 => unsafe { core::mem::transmute::<u32, Capability>(5353u32) }, |
2579 | 0 | 5357u32 => unsafe { core::mem::transmute::<u32, Capability>(5357u32) }, |
2580 | 0 | 5363u32 => unsafe { core::mem::transmute::<u32, Capability>(5363u32) }, |
2581 | 0 | 5372u32..=5373u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2582 | 0 | 5378u32..=5381u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2583 | 0 | 5383u32 => unsafe { core::mem::transmute::<u32, Capability>(5383u32) }, |
2584 | 0 | 5388u32 => unsafe { core::mem::transmute::<u32, Capability>(5388u32) }, |
2585 | 0 | 5390u32..=5391u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2586 | 0 | 5394u32 => unsafe { core::mem::transmute::<u32, Capability>(5394u32) }, |
2587 | 0 | 5404u32 => unsafe { core::mem::transmute::<u32, Capability>(5404u32) }, |
2588 | 0 | 5409u32 => unsafe { core::mem::transmute::<u32, Capability>(5409u32) }, |
2589 | 0 | 5414u32 => unsafe { core::mem::transmute::<u32, Capability>(5414u32) }, |
2590 | 0 | 5418u32..=5419u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2591 | 0 | 5423u32 => unsafe { core::mem::transmute::<u32, Capability>(5423u32) }, |
2592 | 0 | 5425u32..=5426u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2593 | 0 | 5430u32..=5435u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2594 | 0 | 5437u32 => unsafe { core::mem::transmute::<u32, Capability>(5437u32) }, |
2595 | 0 | 5439u32 => unsafe { core::mem::transmute::<u32, Capability>(5439u32) }, |
2596 | 0 | 5568u32..=5570u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2597 | 0 | 5579u32 => unsafe { core::mem::transmute::<u32, Capability>(5579u32) }, |
2598 | 0 | 5582u32..=5584u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2599 | 0 | 5603u32..=5604u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2600 | 0 | 5606u32 => unsafe { core::mem::transmute::<u32, Capability>(5606u32) }, |
2601 | 0 | 5612u32..=5613u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2602 | 0 | 5616u32..=5617u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2603 | 0 | 5619u32 => unsafe { core::mem::transmute::<u32, Capability>(5619u32) }, |
2604 | 0 | 5629u32 => unsafe { core::mem::transmute::<u32, Capability>(5629u32) }, |
2605 | 0 | 5696u32..=5698u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2606 | 0 | 5817u32 => unsafe { core::mem::transmute::<u32, Capability>(5817u32) }, |
2607 | 0 | 5821u32 => unsafe { core::mem::transmute::<u32, Capability>(5821u32) }, |
2608 | 0 | 5824u32 => unsafe { core::mem::transmute::<u32, Capability>(5824u32) }, |
2609 | 0 | 5837u32 => unsafe { core::mem::transmute::<u32, Capability>(5837u32) }, |
2610 | 0 | 5844u32..=5845u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2611 | 0 | 5886u32 => unsafe { core::mem::transmute::<u32, Capability>(5886u32) }, |
2612 | 0 | 5888u32 => unsafe { core::mem::transmute::<u32, Capability>(5888u32) }, |
2613 | 0 | 5892u32 => unsafe { core::mem::transmute::<u32, Capability>(5892u32) }, |
2614 | 0 | 5897u32..=5898u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2615 | 0 | 5904u32 => unsafe { core::mem::transmute::<u32, Capability>(5904u32) }, |
2616 | 0 | 5906u32 => unsafe { core::mem::transmute::<u32, Capability>(5906u32) }, |
2617 | 0 | 5908u32 => unsafe { core::mem::transmute::<u32, Capability>(5908u32) }, |
2618 | 0 | 5910u32 => unsafe { core::mem::transmute::<u32, Capability>(5910u32) }, |
2619 | 0 | 5916u32 => unsafe { core::mem::transmute::<u32, Capability>(5916u32) }, |
2620 | 0 | 5920u32 => unsafe { core::mem::transmute::<u32, Capability>(5920u32) }, |
2621 | 0 | 5922u32 => unsafe { core::mem::transmute::<u32, Capability>(5922u32) }, |
2622 | 0 | 5935u32 => unsafe { core::mem::transmute::<u32, Capability>(5935u32) }, |
2623 | 0 | 5939u32 => unsafe { core::mem::transmute::<u32, Capability>(5939u32) }, |
2624 | 0 | 5943u32 => unsafe { core::mem::transmute::<u32, Capability>(5943u32) }, |
2625 | 0 | 5945u32 => unsafe { core::mem::transmute::<u32, Capability>(5945u32) }, |
2626 | 0 | 5948u32 => unsafe { core::mem::transmute::<u32, Capability>(5948u32) }, |
2627 | 0 | 6016u32..=6020u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2628 | 0 | 6022u32 => unsafe { core::mem::transmute::<u32, Capability>(6022u32) }, |
2629 | 0 | 6024u32..=6026u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2630 | 0 | 6029u32..=6030u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2631 | 0 | 6033u32..=6034u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2632 | 0 | 6089u32 => unsafe { core::mem::transmute::<u32, Capability>(6089u32) }, |
2633 | 0 | 6094u32..=6095u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2634 | 0 | 6114u32..=6115u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2635 | 0 | 6141u32 => unsafe { core::mem::transmute::<u32, Capability>(6141u32) }, |
2636 | 0 | 6144u32 => unsafe { core::mem::transmute::<u32, Capability>(6144u32) }, |
2637 | 0 | 6150u32 => unsafe { core::mem::transmute::<u32, Capability>(6150u32) }, |
2638 | 0 | 6161u32..=6162u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2639 | 0 | 6169u32 => unsafe { core::mem::transmute::<u32, Capability>(6169u32) }, |
2640 | 0 | 6171u32 => unsafe { core::mem::transmute::<u32, Capability>(6171u32) }, |
2641 | 0 | 6174u32 => unsafe { core::mem::transmute::<u32, Capability>(6174u32) }, |
2642 | 0 | 6187u32 => unsafe { core::mem::transmute::<u32, Capability>(6187u32) }, |
2643 | 0 | 6189u32 => unsafe { core::mem::transmute::<u32, Capability>(6189u32) }, |
2644 | 0 | 6220u32 => unsafe { core::mem::transmute::<u32, Capability>(6220u32) }, |
2645 | 0 | 6228u32..=6230u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2646 | 0 | 6236u32 => unsafe { core::mem::transmute::<u32, Capability>(6236u32) }, |
2647 | 0 | 6241u32 => unsafe { core::mem::transmute::<u32, Capability>(6241u32) }, |
2648 | 0 | 6243u32 => unsafe { core::mem::transmute::<u32, Capability>(6243u32) }, |
2649 | 0 | 6245u32..=6246u32 => unsafe { core::mem::transmute::<u32, Capability>(n) }, |
2650 | 0 | 6400u32 => unsafe { core::mem::transmute::<u32, Capability>(6400u32) }, |
2651 | 0 | 6425u32 => unsafe { core::mem::transmute::<u32, Capability>(6425u32) }, |
2652 | 0 | 6427u32 => unsafe { core::mem::transmute::<u32, Capability>(6427u32) }, |
2653 | 0 | 6441u32 => unsafe { core::mem::transmute::<u32, Capability>(6441u32) }, |
2654 | 0 | 6460u32 => unsafe { core::mem::transmute::<u32, Capability>(6460u32) }, |
2655 | 0 | 6528u32 => unsafe { core::mem::transmute::<u32, Capability>(6528u32) }, |
2656 | 0 | _ => return None, |
2657 | | }) |
2658 | 0 | } |
2659 | | } |
2660 | | #[allow(non_upper_case_globals)] |
2661 | | impl Capability { |
2662 | | pub const StorageUniformBufferBlock16: Self = Self::StorageBuffer16BitAccess; |
2663 | | pub const StorageUniform16: Self = Self::UniformAndStorageBuffer16BitAccess; |
2664 | | pub const ShaderViewportIndexLayerNV: Self = Self::ShaderViewportIndexLayerEXT; |
2665 | | pub const FragmentBarycentricNV: Self = Self::FragmentBarycentricKHR; |
2666 | | pub const ComputeDerivativeGroupQuadsNV: Self = Self::ComputeDerivativeGroupQuadsKHR; |
2667 | | pub const ShadingRateNV: Self = Self::FragmentDensityEXT; |
2668 | | pub const GroupNonUniformPartitionedNV: Self = Self::GroupNonUniformPartitionedEXT; |
2669 | | pub const ShaderNonUniformEXT: Self = Self::ShaderNonUniform; |
2670 | | pub const RuntimeDescriptorArrayEXT: Self = Self::RuntimeDescriptorArray; |
2671 | | pub const InputAttachmentArrayDynamicIndexingEXT: Self = |
2672 | | Self::InputAttachmentArrayDynamicIndexing; |
2673 | | pub const UniformTexelBufferArrayDynamicIndexingEXT: Self = |
2674 | | Self::UniformTexelBufferArrayDynamicIndexing; |
2675 | | pub const StorageTexelBufferArrayDynamicIndexingEXT: Self = |
2676 | | Self::StorageTexelBufferArrayDynamicIndexing; |
2677 | | pub const UniformBufferArrayNonUniformIndexingEXT: Self = |
2678 | | Self::UniformBufferArrayNonUniformIndexing; |
2679 | | pub const SampledImageArrayNonUniformIndexingEXT: Self = |
2680 | | Self::SampledImageArrayNonUniformIndexing; |
2681 | | pub const StorageBufferArrayNonUniformIndexingEXT: Self = |
2682 | | Self::StorageBufferArrayNonUniformIndexing; |
2683 | | pub const StorageImageArrayNonUniformIndexingEXT: Self = |
2684 | | Self::StorageImageArrayNonUniformIndexing; |
2685 | | pub const InputAttachmentArrayNonUniformIndexingEXT: Self = |
2686 | | Self::InputAttachmentArrayNonUniformIndexing; |
2687 | | pub const UniformTexelBufferArrayNonUniformIndexingEXT: Self = |
2688 | | Self::UniformTexelBufferArrayNonUniformIndexing; |
2689 | | pub const StorageTexelBufferArrayNonUniformIndexingEXT: Self = |
2690 | | Self::StorageTexelBufferArrayNonUniformIndexing; |
2691 | | pub const VulkanMemoryModelKHR: Self = Self::VulkanMemoryModel; |
2692 | | pub const VulkanMemoryModelDeviceScopeKHR: Self = Self::VulkanMemoryModelDeviceScope; |
2693 | | pub const PhysicalStorageBufferAddressesEXT: Self = Self::PhysicalStorageBufferAddresses; |
2694 | | pub const ComputeDerivativeGroupLinearNV: Self = Self::ComputeDerivativeGroupLinearKHR; |
2695 | | pub const DemoteToHelperInvocationEXT: Self = Self::DemoteToHelperInvocation; |
2696 | | pub const FPGAMemoryAttributesINTEL: Self = Self::FPGAMemoryAttributesALTERA; |
2697 | | pub const ArbitraryPrecisionIntegersINTEL: Self = Self::ArbitraryPrecisionIntegersALTERA; |
2698 | | pub const ArbitraryPrecisionFloatingPointINTEL: Self = |
2699 | | Self::ArbitraryPrecisionFloatingPointALTERA; |
2700 | | pub const FPGALoopControlsINTEL: Self = Self::FPGALoopControlsALTERA; |
2701 | | pub const FPGAMemoryAccessesINTEL: Self = Self::FPGAMemoryAccessesALTERA; |
2702 | | pub const FPGAClusterAttributesINTEL: Self = Self::FPGAClusterAttributesALTERA; |
2703 | | pub const LoopFuseINTEL: Self = Self::LoopFuseALTERA; |
2704 | | pub const FPGADSPControlINTEL: Self = Self::FPGADSPControlALTERA; |
2705 | | pub const FPGAInvocationPipeliningAttributesINTEL: Self = |
2706 | | Self::FPGAInvocationPipeliningAttributesALTERA; |
2707 | | pub const FPGABufferLocationINTEL: Self = Self::FPGABufferLocationALTERA; |
2708 | | pub const ArbitraryPrecisionFixedPointINTEL: Self = Self::ArbitraryPrecisionFixedPointALTERA; |
2709 | | pub const USMStorageClassesINTEL: Self = Self::USMStorageClassesALTERA; |
2710 | | pub const RuntimeAlignedAttributeINTEL: Self = Self::RuntimeAlignedAttributeALTERA; |
2711 | | pub const IOPipesINTEL: Self = Self::IOPipesALTERA; |
2712 | | pub const BlockingPipesINTEL: Self = Self::BlockingPipesALTERA; |
2713 | | pub const FPGARegINTEL: Self = Self::FPGARegALTERA; |
2714 | | pub const DotProductInputAllKHR: Self = Self::DotProductInputAll; |
2715 | | pub const DotProductInput4x8BitKHR: Self = Self::DotProductInput4x8Bit; |
2716 | | pub const DotProductInput4x8BitPackedKHR: Self = Self::DotProductInput4x8BitPacked; |
2717 | | pub const DotProductKHR: Self = Self::DotProduct; |
2718 | | pub const OptNoneINTEL: Self = Self::OptNoneEXT; |
2719 | | pub const FPGAClusterAttributesV2INTEL: Self = Self::FPGAClusterAttributesV2ALTERA; |
2720 | | pub const TaskSequenceINTEL: Self = Self::TaskSequenceALTERA; |
2721 | | pub const FPGALatencyControlINTEL: Self = Self::FPGALatencyControlALTERA; |
2722 | | pub const FPGAArgumentInterfacesINTEL: Self = Self::FPGAArgumentInterfacesALTERA; |
2723 | | pub const GlobalVariableFPGADecorationsINTEL: Self = Self::GlobalVariableFPGADecorationsALTERA; |
2724 | | } |
2725 | | impl core::str::FromStr for Capability { |
2726 | | type Err = (); |
2727 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
2728 | 0 | Ok(match s { |
2729 | 0 | "Matrix" => Self::Matrix, |
2730 | 0 | "Shader" => Self::Shader, |
2731 | 0 | "Geometry" => Self::Geometry, |
2732 | 0 | "Tessellation" => Self::Tessellation, |
2733 | 0 | "Addresses" => Self::Addresses, |
2734 | 0 | "Linkage" => Self::Linkage, |
2735 | 0 | "Kernel" => Self::Kernel, |
2736 | 0 | "Vector16" => Self::Vector16, |
2737 | 0 | "Float16Buffer" => Self::Float16Buffer, |
2738 | 0 | "Float16" => Self::Float16, |
2739 | 0 | "Float64" => Self::Float64, |
2740 | 0 | "Int64" => Self::Int64, |
2741 | 0 | "Int64Atomics" => Self::Int64Atomics, |
2742 | 0 | "ImageBasic" => Self::ImageBasic, |
2743 | 0 | "ImageReadWrite" => Self::ImageReadWrite, |
2744 | 0 | "ImageMipmap" => Self::ImageMipmap, |
2745 | 0 | "Pipes" => Self::Pipes, |
2746 | 0 | "Groups" => Self::Groups, |
2747 | 0 | "DeviceEnqueue" => Self::DeviceEnqueue, |
2748 | 0 | "LiteralSampler" => Self::LiteralSampler, |
2749 | 0 | "AtomicStorage" => Self::AtomicStorage, |
2750 | 0 | "Int16" => Self::Int16, |
2751 | 0 | "TessellationPointSize" => Self::TessellationPointSize, |
2752 | 0 | "GeometryPointSize" => Self::GeometryPointSize, |
2753 | 0 | "ImageGatherExtended" => Self::ImageGatherExtended, |
2754 | 0 | "StorageImageMultisample" => Self::StorageImageMultisample, |
2755 | 0 | "UniformBufferArrayDynamicIndexing" => Self::UniformBufferArrayDynamicIndexing, |
2756 | 0 | "SampledImageArrayDynamicIndexing" => Self::SampledImageArrayDynamicIndexing, |
2757 | 0 | "StorageBufferArrayDynamicIndexing" => Self::StorageBufferArrayDynamicIndexing, |
2758 | 0 | "StorageImageArrayDynamicIndexing" => Self::StorageImageArrayDynamicIndexing, |
2759 | 0 | "ClipDistance" => Self::ClipDistance, |
2760 | 0 | "CullDistance" => Self::CullDistance, |
2761 | 0 | "ImageCubeArray" => Self::ImageCubeArray, |
2762 | 0 | "SampleRateShading" => Self::SampleRateShading, |
2763 | 0 | "ImageRect" => Self::ImageRect, |
2764 | 0 | "SampledRect" => Self::SampledRect, |
2765 | 0 | "GenericPointer" => Self::GenericPointer, |
2766 | 0 | "Int8" => Self::Int8, |
2767 | 0 | "InputAttachment" => Self::InputAttachment, |
2768 | 0 | "SparseResidency" => Self::SparseResidency, |
2769 | 0 | "MinLod" => Self::MinLod, |
2770 | 0 | "Sampled1D" => Self::Sampled1D, |
2771 | 0 | "Image1D" => Self::Image1D, |
2772 | 0 | "SampledCubeArray" => Self::SampledCubeArray, |
2773 | 0 | "SampledBuffer" => Self::SampledBuffer, |
2774 | 0 | "ImageBuffer" => Self::ImageBuffer, |
2775 | 0 | "ImageMSArray" => Self::ImageMSArray, |
2776 | 0 | "StorageImageExtendedFormats" => Self::StorageImageExtendedFormats, |
2777 | 0 | "ImageQuery" => Self::ImageQuery, |
2778 | 0 | "DerivativeControl" => Self::DerivativeControl, |
2779 | 0 | "InterpolationFunction" => Self::InterpolationFunction, |
2780 | 0 | "TransformFeedback" => Self::TransformFeedback, |
2781 | 0 | "GeometryStreams" => Self::GeometryStreams, |
2782 | 0 | "StorageImageReadWithoutFormat" => Self::StorageImageReadWithoutFormat, |
2783 | 0 | "StorageImageWriteWithoutFormat" => Self::StorageImageWriteWithoutFormat, |
2784 | 0 | "MultiViewport" => Self::MultiViewport, |
2785 | 0 | "SubgroupDispatch" => Self::SubgroupDispatch, |
2786 | 0 | "NamedBarrier" => Self::NamedBarrier, |
2787 | 0 | "PipeStorage" => Self::PipeStorage, |
2788 | 0 | "GroupNonUniform" => Self::GroupNonUniform, |
2789 | 0 | "GroupNonUniformVote" => Self::GroupNonUniformVote, |
2790 | 0 | "GroupNonUniformArithmetic" => Self::GroupNonUniformArithmetic, |
2791 | 0 | "GroupNonUniformBallot" => Self::GroupNonUniformBallot, |
2792 | 0 | "GroupNonUniformShuffle" => Self::GroupNonUniformShuffle, |
2793 | 0 | "GroupNonUniformShuffleRelative" => Self::GroupNonUniformShuffleRelative, |
2794 | 0 | "GroupNonUniformClustered" => Self::GroupNonUniformClustered, |
2795 | 0 | "GroupNonUniformQuad" => Self::GroupNonUniformQuad, |
2796 | 0 | "ShaderLayer" => Self::ShaderLayer, |
2797 | 0 | "ShaderViewportIndex" => Self::ShaderViewportIndex, |
2798 | 0 | "UniformDecoration" => Self::UniformDecoration, |
2799 | 0 | "CoreBuiltinsARM" => Self::CoreBuiltinsARM, |
2800 | 0 | "TileImageColorReadAccessEXT" => Self::TileImageColorReadAccessEXT, |
2801 | 0 | "TileImageDepthReadAccessEXT" => Self::TileImageDepthReadAccessEXT, |
2802 | 0 | "TileImageStencilReadAccessEXT" => Self::TileImageStencilReadAccessEXT, |
2803 | 0 | "TensorsARM" => Self::TensorsARM, |
2804 | 0 | "StorageTensorArrayDynamicIndexingARM" => Self::StorageTensorArrayDynamicIndexingARM, |
2805 | 0 | "StorageTensorArrayNonUniformIndexingARM" => { |
2806 | 0 | Self::StorageTensorArrayNonUniformIndexingARM |
2807 | | } |
2808 | 0 | "GraphARM" => Self::GraphARM, |
2809 | 0 | "CooperativeMatrixLayoutsARM" => Self::CooperativeMatrixLayoutsARM, |
2810 | 0 | "Float8EXT" => Self::Float8EXT, |
2811 | 0 | "Float8CooperativeMatrixEXT" => Self::Float8CooperativeMatrixEXT, |
2812 | 0 | "FragmentShadingRateKHR" => Self::FragmentShadingRateKHR, |
2813 | 0 | "SubgroupBallotKHR" => Self::SubgroupBallotKHR, |
2814 | 0 | "DrawParameters" => Self::DrawParameters, |
2815 | 0 | "WorkgroupMemoryExplicitLayoutKHR" => Self::WorkgroupMemoryExplicitLayoutKHR, |
2816 | 0 | "WorkgroupMemoryExplicitLayout8BitAccessKHR" => { |
2817 | 0 | Self::WorkgroupMemoryExplicitLayout8BitAccessKHR |
2818 | | } |
2819 | 0 | "WorkgroupMemoryExplicitLayout16BitAccessKHR" => { |
2820 | 0 | Self::WorkgroupMemoryExplicitLayout16BitAccessKHR |
2821 | | } |
2822 | 0 | "SubgroupVoteKHR" => Self::SubgroupVoteKHR, |
2823 | 0 | "StorageBuffer16BitAccess" => Self::StorageBuffer16BitAccess, |
2824 | 0 | "StorageUniformBufferBlock16" => Self::StorageBuffer16BitAccess, |
2825 | 0 | "UniformAndStorageBuffer16BitAccess" => Self::UniformAndStorageBuffer16BitAccess, |
2826 | 0 | "StorageUniform16" => Self::UniformAndStorageBuffer16BitAccess, |
2827 | 0 | "StoragePushConstant16" => Self::StoragePushConstant16, |
2828 | 0 | "StorageInputOutput16" => Self::StorageInputOutput16, |
2829 | 0 | "DeviceGroup" => Self::DeviceGroup, |
2830 | 0 | "MultiView" => Self::MultiView, |
2831 | 0 | "VariablePointersStorageBuffer" => Self::VariablePointersStorageBuffer, |
2832 | 0 | "VariablePointers" => Self::VariablePointers, |
2833 | 0 | "AtomicStorageOps" => Self::AtomicStorageOps, |
2834 | 0 | "SampleMaskPostDepthCoverage" => Self::SampleMaskPostDepthCoverage, |
2835 | 0 | "StorageBuffer8BitAccess" => Self::StorageBuffer8BitAccess, |
2836 | 0 | "UniformAndStorageBuffer8BitAccess" => Self::UniformAndStorageBuffer8BitAccess, |
2837 | 0 | "StoragePushConstant8" => Self::StoragePushConstant8, |
2838 | 0 | "DenormPreserve" => Self::DenormPreserve, |
2839 | 0 | "DenormFlushToZero" => Self::DenormFlushToZero, |
2840 | 0 | "SignedZeroInfNanPreserve" => Self::SignedZeroInfNanPreserve, |
2841 | 0 | "RoundingModeRTE" => Self::RoundingModeRTE, |
2842 | 0 | "RoundingModeRTZ" => Self::RoundingModeRTZ, |
2843 | 0 | "RayQueryProvisionalKHR" => Self::RayQueryProvisionalKHR, |
2844 | 0 | "RayQueryKHR" => Self::RayQueryKHR, |
2845 | 0 | "UntypedPointersKHR" => Self::UntypedPointersKHR, |
2846 | 0 | "RayTraversalPrimitiveCullingKHR" => Self::RayTraversalPrimitiveCullingKHR, |
2847 | 0 | "RayTracingKHR" => Self::RayTracingKHR, |
2848 | 0 | "TextureSampleWeightedQCOM" => Self::TextureSampleWeightedQCOM, |
2849 | 0 | "TextureBoxFilterQCOM" => Self::TextureBoxFilterQCOM, |
2850 | 0 | "TextureBlockMatchQCOM" => Self::TextureBlockMatchQCOM, |
2851 | 0 | "TileShadingQCOM" => Self::TileShadingQCOM, |
2852 | 0 | "CooperativeMatrixConversionQCOM" => Self::CooperativeMatrixConversionQCOM, |
2853 | 0 | "TextureBlockMatch2QCOM" => Self::TextureBlockMatch2QCOM, |
2854 | 0 | "Float16ImageAMD" => Self::Float16ImageAMD, |
2855 | 0 | "ImageGatherBiasLodAMD" => Self::ImageGatherBiasLodAMD, |
2856 | 0 | "FragmentMaskAMD" => Self::FragmentMaskAMD, |
2857 | 0 | "StencilExportEXT" => Self::StencilExportEXT, |
2858 | 0 | "ImageReadWriteLodAMD" => Self::ImageReadWriteLodAMD, |
2859 | 0 | "Int64ImageEXT" => Self::Int64ImageEXT, |
2860 | 0 | "ShaderClockKHR" => Self::ShaderClockKHR, |
2861 | 0 | "ShaderEnqueueAMDX" => Self::ShaderEnqueueAMDX, |
2862 | 0 | "QuadControlKHR" => Self::QuadControlKHR, |
2863 | 0 | "Int4TypeINTEL" => Self::Int4TypeINTEL, |
2864 | 0 | "Int4CooperativeMatrixINTEL" => Self::Int4CooperativeMatrixINTEL, |
2865 | 0 | "BFloat16TypeKHR" => Self::BFloat16TypeKHR, |
2866 | 0 | "BFloat16DotProductKHR" => Self::BFloat16DotProductKHR, |
2867 | 0 | "BFloat16CooperativeMatrixKHR" => Self::BFloat16CooperativeMatrixKHR, |
2868 | 0 | "DescriptorHeapEXT" => Self::DescriptorHeapEXT, |
2869 | 0 | "SampleMaskOverrideCoverageNV" => Self::SampleMaskOverrideCoverageNV, |
2870 | 0 | "GeometryShaderPassthroughNV" => Self::GeometryShaderPassthroughNV, |
2871 | 0 | "ShaderViewportIndexLayerEXT" => Self::ShaderViewportIndexLayerEXT, |
2872 | 0 | "ShaderViewportIndexLayerNV" => Self::ShaderViewportIndexLayerEXT, |
2873 | 0 | "ShaderViewportMaskNV" => Self::ShaderViewportMaskNV, |
2874 | 0 | "ShaderStereoViewNV" => Self::ShaderStereoViewNV, |
2875 | 0 | "PerViewAttributesNV" => Self::PerViewAttributesNV, |
2876 | 0 | "FragmentFullyCoveredEXT" => Self::FragmentFullyCoveredEXT, |
2877 | 0 | "MeshShadingNV" => Self::MeshShadingNV, |
2878 | 0 | "ImageFootprintNV" => Self::ImageFootprintNV, |
2879 | 0 | "MeshShadingEXT" => Self::MeshShadingEXT, |
2880 | 0 | "FragmentBarycentricKHR" => Self::FragmentBarycentricKHR, |
2881 | 0 | "FragmentBarycentricNV" => Self::FragmentBarycentricKHR, |
2882 | 0 | "ComputeDerivativeGroupQuadsKHR" => Self::ComputeDerivativeGroupQuadsKHR, |
2883 | 0 | "ComputeDerivativeGroupQuadsNV" => Self::ComputeDerivativeGroupQuadsKHR, |
2884 | 0 | "FragmentDensityEXT" => Self::FragmentDensityEXT, |
2885 | 0 | "ShadingRateNV" => Self::FragmentDensityEXT, |
2886 | 0 | "GroupNonUniformPartitionedEXT" => Self::GroupNonUniformPartitionedEXT, |
2887 | 0 | "GroupNonUniformPartitionedNV" => Self::GroupNonUniformPartitionedEXT, |
2888 | 0 | "ShaderNonUniform" => Self::ShaderNonUniform, |
2889 | 0 | "ShaderNonUniformEXT" => Self::ShaderNonUniform, |
2890 | 0 | "RuntimeDescriptorArray" => Self::RuntimeDescriptorArray, |
2891 | 0 | "RuntimeDescriptorArrayEXT" => Self::RuntimeDescriptorArray, |
2892 | 0 | "InputAttachmentArrayDynamicIndexing" => Self::InputAttachmentArrayDynamicIndexing, |
2893 | 0 | "InputAttachmentArrayDynamicIndexingEXT" => Self::InputAttachmentArrayDynamicIndexing, |
2894 | 0 | "UniformTexelBufferArrayDynamicIndexing" => { |
2895 | 0 | Self::UniformTexelBufferArrayDynamicIndexing |
2896 | | } |
2897 | 0 | "UniformTexelBufferArrayDynamicIndexingEXT" => { |
2898 | 0 | Self::UniformTexelBufferArrayDynamicIndexing |
2899 | | } |
2900 | 0 | "StorageTexelBufferArrayDynamicIndexing" => { |
2901 | 0 | Self::StorageTexelBufferArrayDynamicIndexing |
2902 | | } |
2903 | 0 | "StorageTexelBufferArrayDynamicIndexingEXT" => { |
2904 | 0 | Self::StorageTexelBufferArrayDynamicIndexing |
2905 | | } |
2906 | 0 | "UniformBufferArrayNonUniformIndexing" => Self::UniformBufferArrayNonUniformIndexing, |
2907 | 0 | "UniformBufferArrayNonUniformIndexingEXT" => Self::UniformBufferArrayNonUniformIndexing, |
2908 | 0 | "SampledImageArrayNonUniformIndexing" => Self::SampledImageArrayNonUniformIndexing, |
2909 | 0 | "SampledImageArrayNonUniformIndexingEXT" => Self::SampledImageArrayNonUniformIndexing, |
2910 | 0 | "StorageBufferArrayNonUniformIndexing" => Self::StorageBufferArrayNonUniformIndexing, |
2911 | 0 | "StorageBufferArrayNonUniformIndexingEXT" => Self::StorageBufferArrayNonUniformIndexing, |
2912 | 0 | "StorageImageArrayNonUniformIndexing" => Self::StorageImageArrayNonUniformIndexing, |
2913 | 0 | "StorageImageArrayNonUniformIndexingEXT" => Self::StorageImageArrayNonUniformIndexing, |
2914 | 0 | "InputAttachmentArrayNonUniformIndexing" => { |
2915 | 0 | Self::InputAttachmentArrayNonUniformIndexing |
2916 | | } |
2917 | 0 | "InputAttachmentArrayNonUniformIndexingEXT" => { |
2918 | 0 | Self::InputAttachmentArrayNonUniformIndexing |
2919 | | } |
2920 | 0 | "UniformTexelBufferArrayNonUniformIndexing" => { |
2921 | 0 | Self::UniformTexelBufferArrayNonUniformIndexing |
2922 | | } |
2923 | 0 | "UniformTexelBufferArrayNonUniformIndexingEXT" => { |
2924 | 0 | Self::UniformTexelBufferArrayNonUniformIndexing |
2925 | | } |
2926 | 0 | "StorageTexelBufferArrayNonUniformIndexing" => { |
2927 | 0 | Self::StorageTexelBufferArrayNonUniformIndexing |
2928 | | } |
2929 | 0 | "StorageTexelBufferArrayNonUniformIndexingEXT" => { |
2930 | 0 | Self::StorageTexelBufferArrayNonUniformIndexing |
2931 | | } |
2932 | 0 | "RayTracingPositionFetchKHR" => Self::RayTracingPositionFetchKHR, |
2933 | 0 | "RayTracingNV" => Self::RayTracingNV, |
2934 | 0 | "RayTracingMotionBlurNV" => Self::RayTracingMotionBlurNV, |
2935 | 0 | "VulkanMemoryModel" => Self::VulkanMemoryModel, |
2936 | 0 | "VulkanMemoryModelKHR" => Self::VulkanMemoryModel, |
2937 | 0 | "VulkanMemoryModelDeviceScope" => Self::VulkanMemoryModelDeviceScope, |
2938 | 0 | "VulkanMemoryModelDeviceScopeKHR" => Self::VulkanMemoryModelDeviceScope, |
2939 | 0 | "PhysicalStorageBufferAddresses" => Self::PhysicalStorageBufferAddresses, |
2940 | 0 | "PhysicalStorageBufferAddressesEXT" => Self::PhysicalStorageBufferAddresses, |
2941 | 0 | "ComputeDerivativeGroupLinearKHR" => Self::ComputeDerivativeGroupLinearKHR, |
2942 | 0 | "ComputeDerivativeGroupLinearNV" => Self::ComputeDerivativeGroupLinearKHR, |
2943 | 0 | "RayTracingProvisionalKHR" => Self::RayTracingProvisionalKHR, |
2944 | 0 | "CooperativeMatrixNV" => Self::CooperativeMatrixNV, |
2945 | 0 | "FragmentShaderSampleInterlockEXT" => Self::FragmentShaderSampleInterlockEXT, |
2946 | 0 | "FragmentShaderShadingRateInterlockEXT" => Self::FragmentShaderShadingRateInterlockEXT, |
2947 | 0 | "ShaderSMBuiltinsNV" => Self::ShaderSMBuiltinsNV, |
2948 | 0 | "FragmentShaderPixelInterlockEXT" => Self::FragmentShaderPixelInterlockEXT, |
2949 | 0 | "DemoteToHelperInvocation" => Self::DemoteToHelperInvocation, |
2950 | 0 | "DemoteToHelperInvocationEXT" => Self::DemoteToHelperInvocation, |
2951 | 0 | "DisplacementMicromapNV" => Self::DisplacementMicromapNV, |
2952 | 0 | "RayTracingOpacityMicromapEXT" => Self::RayTracingOpacityMicromapEXT, |
2953 | 0 | "ShaderInvocationReorderNV" => Self::ShaderInvocationReorderNV, |
2954 | 0 | "ShaderInvocationReorderEXT" => Self::ShaderInvocationReorderEXT, |
2955 | 0 | "BindlessTextureNV" => Self::BindlessTextureNV, |
2956 | 0 | "RayQueryPositionFetchKHR" => Self::RayQueryPositionFetchKHR, |
2957 | 0 | "CooperativeVectorNV" => Self::CooperativeVectorNV, |
2958 | 0 | "AtomicFloat16VectorNV" => Self::AtomicFloat16VectorNV, |
2959 | 0 | "RayTracingDisplacementMicromapNV" => Self::RayTracingDisplacementMicromapNV, |
2960 | 0 | "RawAccessChainsNV" => Self::RawAccessChainsNV, |
2961 | 0 | "RayTracingSpheresGeometryNV" => Self::RayTracingSpheresGeometryNV, |
2962 | 0 | "RayTracingLinearSweptSpheresGeometryNV" => { |
2963 | 0 | Self::RayTracingLinearSweptSpheresGeometryNV |
2964 | | } |
2965 | 0 | "PushConstantBanksNV" => Self::PushConstantBanksNV, |
2966 | 0 | "LongVectorEXT" => Self::LongVectorEXT, |
2967 | 0 | "Shader64BitIndexingEXT" => Self::Shader64BitIndexingEXT, |
2968 | 0 | "CooperativeMatrixReductionsNV" => Self::CooperativeMatrixReductionsNV, |
2969 | 0 | "CooperativeMatrixConversionsNV" => Self::CooperativeMatrixConversionsNV, |
2970 | 0 | "CooperativeMatrixPerElementOperationsNV" => { |
2971 | 0 | Self::CooperativeMatrixPerElementOperationsNV |
2972 | | } |
2973 | 0 | "CooperativeMatrixTensorAddressingNV" => Self::CooperativeMatrixTensorAddressingNV, |
2974 | 0 | "CooperativeMatrixBlockLoadsNV" => Self::CooperativeMatrixBlockLoadsNV, |
2975 | 0 | "CooperativeVectorTrainingNV" => Self::CooperativeVectorTrainingNV, |
2976 | 0 | "RayTracingClusterAccelerationStructureNV" => { |
2977 | 0 | Self::RayTracingClusterAccelerationStructureNV |
2978 | | } |
2979 | 0 | "TensorAddressingNV" => Self::TensorAddressingNV, |
2980 | 0 | "SubgroupShuffleINTEL" => Self::SubgroupShuffleINTEL, |
2981 | 0 | "SubgroupBufferBlockIOINTEL" => Self::SubgroupBufferBlockIOINTEL, |
2982 | 0 | "SubgroupImageBlockIOINTEL" => Self::SubgroupImageBlockIOINTEL, |
2983 | 0 | "SubgroupImageMediaBlockIOINTEL" => Self::SubgroupImageMediaBlockIOINTEL, |
2984 | 0 | "RoundToInfinityINTEL" => Self::RoundToInfinityINTEL, |
2985 | 0 | "FloatingPointModeINTEL" => Self::FloatingPointModeINTEL, |
2986 | 0 | "IntegerFunctions2INTEL" => Self::IntegerFunctions2INTEL, |
2987 | 0 | "FunctionPointersINTEL" => Self::FunctionPointersINTEL, |
2988 | 0 | "IndirectReferencesINTEL" => Self::IndirectReferencesINTEL, |
2989 | 0 | "AsmINTEL" => Self::AsmINTEL, |
2990 | 0 | "AtomicFloat32MinMaxEXT" => Self::AtomicFloat32MinMaxEXT, |
2991 | 0 | "AtomicFloat64MinMaxEXT" => Self::AtomicFloat64MinMaxEXT, |
2992 | 0 | "AtomicFloat16MinMaxEXT" => Self::AtomicFloat16MinMaxEXT, |
2993 | 0 | "VectorComputeINTEL" => Self::VectorComputeINTEL, |
2994 | 0 | "VectorAnyINTEL" => Self::VectorAnyINTEL, |
2995 | 0 | "ExpectAssumeKHR" => Self::ExpectAssumeKHR, |
2996 | 0 | "SubgroupAvcMotionEstimationINTEL" => Self::SubgroupAvcMotionEstimationINTEL, |
2997 | 0 | "SubgroupAvcMotionEstimationIntraINTEL" => Self::SubgroupAvcMotionEstimationIntraINTEL, |
2998 | 0 | "SubgroupAvcMotionEstimationChromaINTEL" => { |
2999 | 0 | Self::SubgroupAvcMotionEstimationChromaINTEL |
3000 | | } |
3001 | 0 | "VariableLengthArrayINTEL" => Self::VariableLengthArrayINTEL, |
3002 | 0 | "FunctionFloatControlINTEL" => Self::FunctionFloatControlINTEL, |
3003 | 0 | "FPGAMemoryAttributesALTERA" => Self::FPGAMemoryAttributesALTERA, |
3004 | 0 | "FPGAMemoryAttributesINTEL" => Self::FPGAMemoryAttributesALTERA, |
3005 | 0 | "FPFastMathModeINTEL" => Self::FPFastMathModeINTEL, |
3006 | 0 | "ArbitraryPrecisionIntegersALTERA" => Self::ArbitraryPrecisionIntegersALTERA, |
3007 | 0 | "ArbitraryPrecisionIntegersINTEL" => Self::ArbitraryPrecisionIntegersALTERA, |
3008 | 0 | "ArbitraryPrecisionFloatingPointALTERA" => Self::ArbitraryPrecisionFloatingPointALTERA, |
3009 | 0 | "ArbitraryPrecisionFloatingPointINTEL" => Self::ArbitraryPrecisionFloatingPointALTERA, |
3010 | 0 | "UnstructuredLoopControlsINTEL" => Self::UnstructuredLoopControlsINTEL, |
3011 | 0 | "FPGALoopControlsALTERA" => Self::FPGALoopControlsALTERA, |
3012 | 0 | "FPGALoopControlsINTEL" => Self::FPGALoopControlsALTERA, |
3013 | 0 | "KernelAttributesINTEL" => Self::KernelAttributesINTEL, |
3014 | 0 | "FPGAKernelAttributesINTEL" => Self::FPGAKernelAttributesINTEL, |
3015 | 0 | "FPGAMemoryAccessesALTERA" => Self::FPGAMemoryAccessesALTERA, |
3016 | 0 | "FPGAMemoryAccessesINTEL" => Self::FPGAMemoryAccessesALTERA, |
3017 | 0 | "FPGAClusterAttributesALTERA" => Self::FPGAClusterAttributesALTERA, |
3018 | 0 | "FPGAClusterAttributesINTEL" => Self::FPGAClusterAttributesALTERA, |
3019 | 0 | "LoopFuseALTERA" => Self::LoopFuseALTERA, |
3020 | 0 | "LoopFuseINTEL" => Self::LoopFuseALTERA, |
3021 | 0 | "FPGADSPControlALTERA" => Self::FPGADSPControlALTERA, |
3022 | 0 | "FPGADSPControlINTEL" => Self::FPGADSPControlALTERA, |
3023 | 0 | "MemoryAccessAliasingINTEL" => Self::MemoryAccessAliasingINTEL, |
3024 | 0 | "FPGAInvocationPipeliningAttributesALTERA" => { |
3025 | 0 | Self::FPGAInvocationPipeliningAttributesALTERA |
3026 | | } |
3027 | 0 | "FPGAInvocationPipeliningAttributesINTEL" => { |
3028 | 0 | Self::FPGAInvocationPipeliningAttributesALTERA |
3029 | | } |
3030 | 0 | "FPGABufferLocationALTERA" => Self::FPGABufferLocationALTERA, |
3031 | 0 | "FPGABufferLocationINTEL" => Self::FPGABufferLocationALTERA, |
3032 | 0 | "ArbitraryPrecisionFixedPointALTERA" => Self::ArbitraryPrecisionFixedPointALTERA, |
3033 | 0 | "ArbitraryPrecisionFixedPointINTEL" => Self::ArbitraryPrecisionFixedPointALTERA, |
3034 | 0 | "USMStorageClassesALTERA" => Self::USMStorageClassesALTERA, |
3035 | 0 | "USMStorageClassesINTEL" => Self::USMStorageClassesALTERA, |
3036 | 0 | "RuntimeAlignedAttributeALTERA" => Self::RuntimeAlignedAttributeALTERA, |
3037 | 0 | "RuntimeAlignedAttributeINTEL" => Self::RuntimeAlignedAttributeALTERA, |
3038 | 0 | "IOPipesALTERA" => Self::IOPipesALTERA, |
3039 | 0 | "IOPipesINTEL" => Self::IOPipesALTERA, |
3040 | 0 | "BlockingPipesALTERA" => Self::BlockingPipesALTERA, |
3041 | 0 | "BlockingPipesINTEL" => Self::BlockingPipesALTERA, |
3042 | 0 | "FPGARegALTERA" => Self::FPGARegALTERA, |
3043 | 0 | "FPGARegINTEL" => Self::FPGARegALTERA, |
3044 | 0 | "DotProductInputAll" => Self::DotProductInputAll, |
3045 | 0 | "DotProductInputAllKHR" => Self::DotProductInputAll, |
3046 | 0 | "DotProductInput4x8Bit" => Self::DotProductInput4x8Bit, |
3047 | 0 | "DotProductInput4x8BitKHR" => Self::DotProductInput4x8Bit, |
3048 | 0 | "DotProductInput4x8BitPacked" => Self::DotProductInput4x8BitPacked, |
3049 | 0 | "DotProductInput4x8BitPackedKHR" => Self::DotProductInput4x8BitPacked, |
3050 | 0 | "DotProduct" => Self::DotProduct, |
3051 | 0 | "DotProductKHR" => Self::DotProduct, |
3052 | 0 | "RayCullMaskKHR" => Self::RayCullMaskKHR, |
3053 | 0 | "CooperativeMatrixKHR" => Self::CooperativeMatrixKHR, |
3054 | 0 | "ReplicatedCompositesEXT" => Self::ReplicatedCompositesEXT, |
3055 | 0 | "BitInstructions" => Self::BitInstructions, |
3056 | 0 | "GroupNonUniformRotateKHR" => Self::GroupNonUniformRotateKHR, |
3057 | 0 | "FloatControls2" => Self::FloatControls2, |
3058 | 0 | "FMAKHR" => Self::FMAKHR, |
3059 | 0 | "AtomicFloat32AddEXT" => Self::AtomicFloat32AddEXT, |
3060 | 0 | "AtomicFloat64AddEXT" => Self::AtomicFloat64AddEXT, |
3061 | 0 | "LongCompositesINTEL" => Self::LongCompositesINTEL, |
3062 | 0 | "OptNoneEXT" => Self::OptNoneEXT, |
3063 | 0 | "OptNoneINTEL" => Self::OptNoneEXT, |
3064 | 0 | "AtomicFloat16AddEXT" => Self::AtomicFloat16AddEXT, |
3065 | 0 | "DebugInfoModuleINTEL" => Self::DebugInfoModuleINTEL, |
3066 | 0 | "BFloat16ConversionINTEL" => Self::BFloat16ConversionINTEL, |
3067 | 0 | "SplitBarrierINTEL" => Self::SplitBarrierINTEL, |
3068 | 0 | "ArithmeticFenceEXT" => Self::ArithmeticFenceEXT, |
3069 | 0 | "FPGAClusterAttributesV2ALTERA" => Self::FPGAClusterAttributesV2ALTERA, |
3070 | 0 | "FPGAClusterAttributesV2INTEL" => Self::FPGAClusterAttributesV2ALTERA, |
3071 | 0 | "FPGAKernelAttributesv2INTEL" => Self::FPGAKernelAttributesv2INTEL, |
3072 | 0 | "TaskSequenceALTERA" => Self::TaskSequenceALTERA, |
3073 | 0 | "TaskSequenceINTEL" => Self::TaskSequenceALTERA, |
3074 | 0 | "FPMaxErrorINTEL" => Self::FPMaxErrorINTEL, |
3075 | 0 | "FPGALatencyControlALTERA" => Self::FPGALatencyControlALTERA, |
3076 | 0 | "FPGALatencyControlINTEL" => Self::FPGALatencyControlALTERA, |
3077 | 0 | "FPGAArgumentInterfacesALTERA" => Self::FPGAArgumentInterfacesALTERA, |
3078 | 0 | "FPGAArgumentInterfacesINTEL" => Self::FPGAArgumentInterfacesALTERA, |
3079 | 0 | "GlobalVariableHostAccessINTEL" => Self::GlobalVariableHostAccessINTEL, |
3080 | 0 | "GlobalVariableFPGADecorationsALTERA" => Self::GlobalVariableFPGADecorationsALTERA, |
3081 | 0 | "GlobalVariableFPGADecorationsINTEL" => Self::GlobalVariableFPGADecorationsALTERA, |
3082 | 0 | "SubgroupBufferPrefetchINTEL" => Self::SubgroupBufferPrefetchINTEL, |
3083 | 0 | "Subgroup2DBlockIOINTEL" => Self::Subgroup2DBlockIOINTEL, |
3084 | 0 | "Subgroup2DBlockTransformINTEL" => Self::Subgroup2DBlockTransformINTEL, |
3085 | 0 | "Subgroup2DBlockTransposeINTEL" => Self::Subgroup2DBlockTransposeINTEL, |
3086 | 0 | "SubgroupMatrixMultiplyAccumulateINTEL" => Self::SubgroupMatrixMultiplyAccumulateINTEL, |
3087 | 0 | "TernaryBitwiseFunctionINTEL" => Self::TernaryBitwiseFunctionINTEL, |
3088 | 0 | "UntypedVariableLengthArrayINTEL" => Self::UntypedVariableLengthArrayINTEL, |
3089 | 0 | "SpecConditionalINTEL" => Self::SpecConditionalINTEL, |
3090 | 0 | "FunctionVariantsINTEL" => Self::FunctionVariantsINTEL, |
3091 | 0 | "GroupUniformArithmeticKHR" => Self::GroupUniformArithmeticKHR, |
3092 | 0 | "TensorFloat32RoundingINTEL" => Self::TensorFloat32RoundingINTEL, |
3093 | 0 | "MaskedGatherScatterINTEL" => Self::MaskedGatherScatterINTEL, |
3094 | 0 | "CacheControlsINTEL" => Self::CacheControlsINTEL, |
3095 | 0 | "RegisterLimitsINTEL" => Self::RegisterLimitsINTEL, |
3096 | 0 | "BindlessImagesINTEL" => Self::BindlessImagesINTEL, |
3097 | 0 | _ => return Err(()), |
3098 | | }) |
3099 | 0 | } |
3100 | | } |
3101 | | #[doc = "SPIR-V operand kind: [RayQueryIntersection](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_ray_query_intersection_a_ray_query_intersection)"] |
3102 | | #[repr(u32)] |
3103 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3104 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3105 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3106 | | #[allow(clippy::upper_case_acronyms)] |
3107 | | pub enum RayQueryIntersection { |
3108 | | RayQueryCandidateIntersectionKHR = 0u32, |
3109 | | RayQueryCommittedIntersectionKHR = 1u32, |
3110 | | } |
3111 | | impl RayQueryIntersection { |
3112 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3113 | 0 | Some(match n { |
3114 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, RayQueryIntersection>(n) }, |
3115 | 0 | _ => return None, |
3116 | | }) |
3117 | 0 | } |
3118 | | } |
3119 | | #[allow(non_upper_case_globals)] |
3120 | | impl RayQueryIntersection {} |
3121 | | impl core::str::FromStr for RayQueryIntersection { |
3122 | | type Err = (); |
3123 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3124 | 0 | Ok(match s { |
3125 | 0 | "RayQueryCandidateIntersectionKHR" => Self::RayQueryCandidateIntersectionKHR, |
3126 | 0 | "RayQueryCommittedIntersectionKHR" => Self::RayQueryCommittedIntersectionKHR, |
3127 | 0 | _ => return Err(()), |
3128 | | }) |
3129 | 0 | } |
3130 | | } |
3131 | | #[doc = "SPIR-V operand kind: [RayQueryCommittedIntersectionType](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_ray_query_committed_intersection_type_a_ray_query_committed_intersection_type)"] |
3132 | | #[repr(u32)] |
3133 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3134 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3135 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3136 | | #[allow(clippy::upper_case_acronyms)] |
3137 | | pub enum RayQueryCommittedIntersectionType { |
3138 | | RayQueryCommittedIntersectionNoneKHR = 0u32, |
3139 | | RayQueryCommittedIntersectionTriangleKHR = 1u32, |
3140 | | RayQueryCommittedIntersectionGeneratedKHR = 2u32, |
3141 | | } |
3142 | | impl RayQueryCommittedIntersectionType { |
3143 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3144 | 0 | Some(match n { |
3145 | 0 | 0u32..=2u32 => unsafe { |
3146 | 0 | core::mem::transmute::<u32, RayQueryCommittedIntersectionType>(n) |
3147 | | }, |
3148 | 0 | _ => return None, |
3149 | | }) |
3150 | 0 | } |
3151 | | } |
3152 | | #[allow(non_upper_case_globals)] |
3153 | | impl RayQueryCommittedIntersectionType {} |
3154 | | impl core::str::FromStr for RayQueryCommittedIntersectionType { |
3155 | | type Err = (); |
3156 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3157 | 0 | Ok(match s { |
3158 | 0 | "RayQueryCommittedIntersectionNoneKHR" => Self::RayQueryCommittedIntersectionNoneKHR, |
3159 | 0 | "RayQueryCommittedIntersectionTriangleKHR" => { |
3160 | 0 | Self::RayQueryCommittedIntersectionTriangleKHR |
3161 | | } |
3162 | 0 | "RayQueryCommittedIntersectionGeneratedKHR" => { |
3163 | 0 | Self::RayQueryCommittedIntersectionGeneratedKHR |
3164 | | } |
3165 | 0 | _ => return Err(()), |
3166 | | }) |
3167 | 0 | } |
3168 | | } |
3169 | | #[doc = "SPIR-V operand kind: [RayQueryCandidateIntersectionType](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_ray_query_candidate_intersection_type_a_ray_query_candidate_intersection_type)"] |
3170 | | #[repr(u32)] |
3171 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3172 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3173 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3174 | | #[allow(clippy::upper_case_acronyms)] |
3175 | | pub enum RayQueryCandidateIntersectionType { |
3176 | | RayQueryCandidateIntersectionTriangleKHR = 0u32, |
3177 | | RayQueryCandidateIntersectionAABBKHR = 1u32, |
3178 | | } |
3179 | | impl RayQueryCandidateIntersectionType { |
3180 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3181 | 0 | Some(match n { |
3182 | 0 | 0u32..=1u32 => unsafe { |
3183 | 0 | core::mem::transmute::<u32, RayQueryCandidateIntersectionType>(n) |
3184 | | }, |
3185 | 0 | _ => return None, |
3186 | | }) |
3187 | 0 | } |
3188 | | } |
3189 | | #[allow(non_upper_case_globals)] |
3190 | | impl RayQueryCandidateIntersectionType {} |
3191 | | impl core::str::FromStr for RayQueryCandidateIntersectionType { |
3192 | | type Err = (); |
3193 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3194 | 0 | Ok(match s { |
3195 | 0 | "RayQueryCandidateIntersectionTriangleKHR" => { |
3196 | 0 | Self::RayQueryCandidateIntersectionTriangleKHR |
3197 | | } |
3198 | 0 | "RayQueryCandidateIntersectionAABBKHR" => Self::RayQueryCandidateIntersectionAABBKHR, |
3199 | 0 | _ => return Err(()), |
3200 | | }) |
3201 | 0 | } |
3202 | | } |
3203 | | #[doc = "SPIR-V operand kind: [PackedVectorFormat](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_packed_vector_format_a_packed_vector_format)"] |
3204 | | #[repr(u32)] |
3205 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3206 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3207 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3208 | | #[allow(clippy::upper_case_acronyms)] |
3209 | | pub enum PackedVectorFormat { |
3210 | | PackedVectorFormat4x8Bit = 0u32, |
3211 | | } |
3212 | | impl PackedVectorFormat { |
3213 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3214 | 0 | Some(match n { |
3215 | 0 | 0u32 => unsafe { core::mem::transmute::<u32, PackedVectorFormat>(0u32) }, |
3216 | 0 | _ => return None, |
3217 | | }) |
3218 | 0 | } |
3219 | | } |
3220 | | #[allow(non_upper_case_globals)] |
3221 | | impl PackedVectorFormat { |
3222 | | pub const PackedVectorFormat4x8BitKHR: Self = Self::PackedVectorFormat4x8Bit; |
3223 | | } |
3224 | | impl core::str::FromStr for PackedVectorFormat { |
3225 | | type Err = (); |
3226 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3227 | 0 | Ok(match s { |
3228 | 0 | "PackedVectorFormat4x8Bit" => Self::PackedVectorFormat4x8Bit, |
3229 | 0 | "PackedVectorFormat4x8BitKHR" => Self::PackedVectorFormat4x8Bit, |
3230 | 0 | _ => return Err(()), |
3231 | | }) |
3232 | 0 | } |
3233 | | } |
3234 | | bitflags! { # [doc = "SPIR-V operand kind: [CooperativeMatrixOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_cooperative_matrix_operands_a_cooperative_matrix_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct CooperativeMatrixOperands : u32 { const NONE_KHR = 0u32 ; const MATRIX_A_SIGNED_COMPONENTS_KHR = 1u32 ; const MATRIX_B_SIGNED_COMPONENTS_KHR = 2u32 ; const MATRIX_C_SIGNED_COMPONENTS_KHR = 4u32 ; const MATRIX_RESULT_SIGNED_COMPONENTS_KHR = 8u32 ; const SATURATING_ACCUMULATION_KHR = 16u32 ; } } |
3235 | | #[doc = "SPIR-V operand kind: [CooperativeMatrixLayout](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_cooperative_matrix_layout_a_cooperative_matrix_layout)"] |
3236 | | #[repr(u32)] |
3237 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3238 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3239 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3240 | | #[allow(clippy::upper_case_acronyms)] |
3241 | | pub enum CooperativeMatrixLayout { |
3242 | | RowMajorKHR = 0u32, |
3243 | | ColumnMajorKHR = 1u32, |
3244 | | RowBlockedInterleavedARM = 4202u32, |
3245 | | ColumnBlockedInterleavedARM = 4203u32, |
3246 | | } |
3247 | | impl CooperativeMatrixLayout { |
3248 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3249 | 0 | Some(match n { |
3250 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, CooperativeMatrixLayout>(n) }, |
3251 | 0 | 4202u32..=4203u32 => unsafe { core::mem::transmute::<u32, CooperativeMatrixLayout>(n) }, |
3252 | 0 | _ => return None, |
3253 | | }) |
3254 | 0 | } |
3255 | | } |
3256 | | #[allow(non_upper_case_globals)] |
3257 | | impl CooperativeMatrixLayout {} |
3258 | | impl core::str::FromStr for CooperativeMatrixLayout { |
3259 | | type Err = (); |
3260 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3261 | 0 | Ok(match s { |
3262 | 0 | "RowMajorKHR" => Self::RowMajorKHR, |
3263 | 0 | "ColumnMajorKHR" => Self::ColumnMajorKHR, |
3264 | 0 | "RowBlockedInterleavedARM" => Self::RowBlockedInterleavedARM, |
3265 | 0 | "ColumnBlockedInterleavedARM" => Self::ColumnBlockedInterleavedARM, |
3266 | 0 | _ => return Err(()), |
3267 | | }) |
3268 | 0 | } |
3269 | | } |
3270 | | #[doc = "SPIR-V operand kind: [CooperativeMatrixUse](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_cooperative_matrix_use_a_cooperative_matrix_use)"] |
3271 | | #[repr(u32)] |
3272 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3273 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3274 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3275 | | #[allow(clippy::upper_case_acronyms)] |
3276 | | pub enum CooperativeMatrixUse { |
3277 | | MatrixAKHR = 0u32, |
3278 | | MatrixBKHR = 1u32, |
3279 | | MatrixAccumulatorKHR = 2u32, |
3280 | | } |
3281 | | impl CooperativeMatrixUse { |
3282 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3283 | 0 | Some(match n { |
3284 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, CooperativeMatrixUse>(n) }, |
3285 | 0 | _ => return None, |
3286 | | }) |
3287 | 0 | } |
3288 | | } |
3289 | | #[allow(non_upper_case_globals)] |
3290 | | impl CooperativeMatrixUse {} |
3291 | | impl core::str::FromStr for CooperativeMatrixUse { |
3292 | | type Err = (); |
3293 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3294 | 0 | Ok(match s { |
3295 | 0 | "MatrixAKHR" => Self::MatrixAKHR, |
3296 | 0 | "MatrixBKHR" => Self::MatrixBKHR, |
3297 | 0 | "MatrixAccumulatorKHR" => Self::MatrixAccumulatorKHR, |
3298 | 0 | _ => return Err(()), |
3299 | | }) |
3300 | 0 | } |
3301 | | } |
3302 | | bitflags! { # [doc = "SPIR-V operand kind: [CooperativeMatrixReduce](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_cooperative_matrix_reduce_a_cooperative_matrix_reduce)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct CooperativeMatrixReduce : u32 { const ROW = 1u32 ; const COLUMN = 2u32 ; const _2X2 = 4u32 ; } } |
3303 | | #[doc = "SPIR-V operand kind: [TensorClampMode](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_tensor_clamp_mode_a_tensor_clamp_mode)"] |
3304 | | #[repr(u32)] |
3305 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3306 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3307 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3308 | | #[allow(clippy::upper_case_acronyms)] |
3309 | | pub enum TensorClampMode { |
3310 | | Undefined = 0u32, |
3311 | | Constant = 1u32, |
3312 | | ClampToEdge = 2u32, |
3313 | | Repeat = 3u32, |
3314 | | RepeatMirrored = 4u32, |
3315 | | } |
3316 | | impl TensorClampMode { |
3317 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3318 | 0 | Some(match n { |
3319 | 0 | 0u32..=4u32 => unsafe { core::mem::transmute::<u32, TensorClampMode>(n) }, |
3320 | 0 | _ => return None, |
3321 | | }) |
3322 | 0 | } |
3323 | | } |
3324 | | #[allow(non_upper_case_globals)] |
3325 | | impl TensorClampMode {} |
3326 | | impl core::str::FromStr for TensorClampMode { |
3327 | | type Err = (); |
3328 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3329 | 0 | Ok(match s { |
3330 | 0 | "Undefined" => Self::Undefined, |
3331 | 0 | "Constant" => Self::Constant, |
3332 | 0 | "ClampToEdge" => Self::ClampToEdge, |
3333 | 0 | "Repeat" => Self::Repeat, |
3334 | 0 | "RepeatMirrored" => Self::RepeatMirrored, |
3335 | 0 | _ => return Err(()), |
3336 | | }) |
3337 | 0 | } |
3338 | | } |
3339 | | bitflags! { # [doc = "SPIR-V operand kind: [TensorAddressingOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_tensor_addressing_operands_a_tensor_addressing_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct TensorAddressingOperands : u32 { const NONE = 0u32 ; const TENSOR_VIEW = 1u32 ; const DECODE_FUNC = 2u32 ; } } |
3340 | | #[doc = "SPIR-V operand kind: [InitializationModeQualifier](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_initialization_mode_qualifier_a_initialization_mode_qualifier)"] |
3341 | | #[repr(u32)] |
3342 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3343 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3344 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3345 | | #[allow(clippy::upper_case_acronyms)] |
3346 | | pub enum InitializationModeQualifier { |
3347 | | InitOnDeviceReprogramALTERA = 0u32, |
3348 | | InitOnDeviceResetALTERA = 1u32, |
3349 | | } |
3350 | | impl InitializationModeQualifier { |
3351 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3352 | 0 | Some(match n { |
3353 | 0 | 0u32..=1u32 => unsafe { core::mem::transmute::<u32, InitializationModeQualifier>(n) }, |
3354 | 0 | _ => return None, |
3355 | | }) |
3356 | 0 | } |
3357 | | } |
3358 | | #[allow(non_upper_case_globals)] |
3359 | | impl InitializationModeQualifier { |
3360 | | pub const InitOnDeviceReprogramINTEL: Self = Self::InitOnDeviceReprogramALTERA; |
3361 | | pub const InitOnDeviceResetINTEL: Self = Self::InitOnDeviceResetALTERA; |
3362 | | } |
3363 | | impl core::str::FromStr for InitializationModeQualifier { |
3364 | | type Err = (); |
3365 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3366 | 0 | Ok(match s { |
3367 | 0 | "InitOnDeviceReprogramALTERA" => Self::InitOnDeviceReprogramALTERA, |
3368 | 0 | "InitOnDeviceReprogramINTEL" => Self::InitOnDeviceReprogramALTERA, |
3369 | 0 | "InitOnDeviceResetALTERA" => Self::InitOnDeviceResetALTERA, |
3370 | 0 | "InitOnDeviceResetINTEL" => Self::InitOnDeviceResetALTERA, |
3371 | 0 | _ => return Err(()), |
3372 | | }) |
3373 | 0 | } |
3374 | | } |
3375 | | #[doc = "SPIR-V operand kind: [LoadCacheControl](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_load_cache_control_a_load_cache_control)"] |
3376 | | #[repr(u32)] |
3377 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3378 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3379 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3380 | | #[allow(clippy::upper_case_acronyms)] |
3381 | | pub enum LoadCacheControl { |
3382 | | UncachedINTEL = 0u32, |
3383 | | CachedINTEL = 1u32, |
3384 | | StreamingINTEL = 2u32, |
3385 | | InvalidateAfterReadINTEL = 3u32, |
3386 | | ConstCachedINTEL = 4u32, |
3387 | | } |
3388 | | impl LoadCacheControl { |
3389 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3390 | 0 | Some(match n { |
3391 | 0 | 0u32..=4u32 => unsafe { core::mem::transmute::<u32, LoadCacheControl>(n) }, |
3392 | 0 | _ => return None, |
3393 | | }) |
3394 | 0 | } |
3395 | | } |
3396 | | #[allow(non_upper_case_globals)] |
3397 | | impl LoadCacheControl {} |
3398 | | impl core::str::FromStr for LoadCacheControl { |
3399 | | type Err = (); |
3400 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3401 | 0 | Ok(match s { |
3402 | 0 | "UncachedINTEL" => Self::UncachedINTEL, |
3403 | 0 | "CachedINTEL" => Self::CachedINTEL, |
3404 | 0 | "StreamingINTEL" => Self::StreamingINTEL, |
3405 | 0 | "InvalidateAfterReadINTEL" => Self::InvalidateAfterReadINTEL, |
3406 | 0 | "ConstCachedINTEL" => Self::ConstCachedINTEL, |
3407 | 0 | _ => return Err(()), |
3408 | | }) |
3409 | 0 | } |
3410 | | } |
3411 | | #[doc = "SPIR-V operand kind: [StoreCacheControl](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_store_cache_control_a_store_cache_control)"] |
3412 | | #[repr(u32)] |
3413 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3414 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3415 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3416 | | #[allow(clippy::upper_case_acronyms)] |
3417 | | pub enum StoreCacheControl { |
3418 | | UncachedINTEL = 0u32, |
3419 | | WriteThroughINTEL = 1u32, |
3420 | | WriteBackINTEL = 2u32, |
3421 | | StreamingINTEL = 3u32, |
3422 | | } |
3423 | | impl StoreCacheControl { |
3424 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3425 | 0 | Some(match n { |
3426 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, StoreCacheControl>(n) }, |
3427 | 0 | _ => return None, |
3428 | | }) |
3429 | 0 | } |
3430 | | } |
3431 | | #[allow(non_upper_case_globals)] |
3432 | | impl StoreCacheControl {} |
3433 | | impl core::str::FromStr for StoreCacheControl { |
3434 | | type Err = (); |
3435 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3436 | 0 | Ok(match s { |
3437 | 0 | "UncachedINTEL" => Self::UncachedINTEL, |
3438 | 0 | "WriteThroughINTEL" => Self::WriteThroughINTEL, |
3439 | 0 | "WriteBackINTEL" => Self::WriteBackINTEL, |
3440 | 0 | "StreamingINTEL" => Self::StreamingINTEL, |
3441 | 0 | _ => return Err(()), |
3442 | | }) |
3443 | 0 | } |
3444 | | } |
3445 | | #[doc = "SPIR-V operand kind: [NamedMaximumNumberOfRegisters](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_named_maximum_number_of_registers_a_named_maximum_number_of_registers)"] |
3446 | | #[repr(u32)] |
3447 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3448 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3449 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3450 | | #[allow(clippy::upper_case_acronyms)] |
3451 | | pub enum NamedMaximumNumberOfRegisters { |
3452 | | AutoINTEL = 0u32, |
3453 | | } |
3454 | | impl NamedMaximumNumberOfRegisters { |
3455 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3456 | 0 | Some(match n { |
3457 | 0 | 0u32 => unsafe { core::mem::transmute::<u32, NamedMaximumNumberOfRegisters>(0u32) }, |
3458 | 0 | _ => return None, |
3459 | | }) |
3460 | 0 | } |
3461 | | } |
3462 | | #[allow(non_upper_case_globals)] |
3463 | | impl NamedMaximumNumberOfRegisters {} |
3464 | | impl core::str::FromStr for NamedMaximumNumberOfRegisters { |
3465 | | type Err = (); |
3466 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3467 | 0 | Ok(match s { |
3468 | 0 | "AutoINTEL" => Self::AutoINTEL, |
3469 | 0 | _ => return Err(()), |
3470 | | }) |
3471 | 0 | } |
3472 | | } |
3473 | | bitflags! { # [doc = "SPIR-V operand kind: [MatrixMultiplyAccumulateOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_matrix_multiply_accumulate_operands_a_matrix_multiply_accumulate_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct MatrixMultiplyAccumulateOperands : u32 { const NONE = 0u32 ; const MATRIX_A_SIGNED_COMPONENTS_INTEL = 1u32 ; const MATRIX_B_SIGNED_COMPONENTS_INTEL = 2u32 ; const MATRIX_CB_FLOAT16_INTEL = 4u32 ; const MATRIX_RESULT_B_FLOAT16_INTEL = 8u32 ; const MATRIX_A_PACKED_INT8_INTEL = 16u32 ; const MATRIX_B_PACKED_INT8_INTEL = 32u32 ; const MATRIX_A_PACKED_INT4_INTEL = 64u32 ; const MATRIX_B_PACKED_INT4_INTEL = 128u32 ; const MATRIX_ATF32INTEL = 256u32 ; const MATRIX_BTF32INTEL = 512u32 ; const MATRIX_A_PACKED_FLOAT16_INTEL = 1024u32 ; const MATRIX_B_PACKED_FLOAT16_INTEL = 2048u32 ; const MATRIX_A_PACKED_B_FLOAT16_INTEL = 4096u32 ; const MATRIX_B_PACKED_B_FLOAT16_INTEL = 8192u32 ; } } |
3474 | | #[doc = "SPIR-V operand kind: [FPEncoding](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_fp_encoding_a_fp_encoding)"] |
3475 | | #[repr(u32)] |
3476 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3477 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3478 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3479 | | #[allow(clippy::upper_case_acronyms)] |
3480 | | pub enum FPEncoding { |
3481 | | BFloat16KHR = 0u32, |
3482 | | Float8E4M3EXT = 4214u32, |
3483 | | Float8E5M2EXT = 4215u32, |
3484 | | } |
3485 | | impl FPEncoding { |
3486 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3487 | 0 | Some(match n { |
3488 | 0 | 0u32 => unsafe { core::mem::transmute::<u32, FPEncoding>(0u32) }, |
3489 | 0 | 4214u32..=4215u32 => unsafe { core::mem::transmute::<u32, FPEncoding>(n) }, |
3490 | 0 | _ => return None, |
3491 | | }) |
3492 | 0 | } |
3493 | | } |
3494 | | #[allow(non_upper_case_globals)] |
3495 | | impl FPEncoding {} |
3496 | | impl core::str::FromStr for FPEncoding { |
3497 | | type Err = (); |
3498 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3499 | 0 | Ok(match s { |
3500 | 0 | "BFloat16KHR" => Self::BFloat16KHR, |
3501 | 0 | "Float8E4M3EXT" => Self::Float8E4M3EXT, |
3502 | 0 | "Float8E5M2EXT" => Self::Float8E5M2EXT, |
3503 | 0 | _ => return Err(()), |
3504 | | }) |
3505 | 0 | } |
3506 | | } |
3507 | | #[doc = "SPIR-V operand kind: [CooperativeVectorMatrixLayout](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_cooperative_vector_matrix_layout_a_cooperative_vector_matrix_layout)"] |
3508 | | #[repr(u32)] |
3509 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3510 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3511 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3512 | | #[allow(clippy::upper_case_acronyms)] |
3513 | | pub enum CooperativeVectorMatrixLayout { |
3514 | | RowMajorNV = 0u32, |
3515 | | ColumnMajorNV = 1u32, |
3516 | | InferencingOptimalNV = 2u32, |
3517 | | TrainingOptimalNV = 3u32, |
3518 | | } |
3519 | | impl CooperativeVectorMatrixLayout { |
3520 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3521 | 0 | Some(match n { |
3522 | 0 | 0u32..=3u32 => unsafe { core::mem::transmute::<u32, CooperativeVectorMatrixLayout>(n) }, |
3523 | 0 | _ => return None, |
3524 | | }) |
3525 | 0 | } |
3526 | | } |
3527 | | #[allow(non_upper_case_globals)] |
3528 | | impl CooperativeVectorMatrixLayout {} |
3529 | | impl core::str::FromStr for CooperativeVectorMatrixLayout { |
3530 | | type Err = (); |
3531 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3532 | 0 | Ok(match s { |
3533 | 0 | "RowMajorNV" => Self::RowMajorNV, |
3534 | 0 | "ColumnMajorNV" => Self::ColumnMajorNV, |
3535 | 0 | "InferencingOptimalNV" => Self::InferencingOptimalNV, |
3536 | 0 | "TrainingOptimalNV" => Self::TrainingOptimalNV, |
3537 | 0 | _ => return Err(()), |
3538 | | }) |
3539 | 0 | } |
3540 | | } |
3541 | | #[doc = "SPIR-V operand kind: [ComponentType](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_component_type_a_component_type)"] |
3542 | | #[repr(u32)] |
3543 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3544 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3545 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3546 | | #[allow(clippy::upper_case_acronyms)] |
3547 | | pub enum ComponentType { |
3548 | | Float16NV = 0u32, |
3549 | | Float32NV = 1u32, |
3550 | | Float64NV = 2u32, |
3551 | | SignedInt8NV = 3u32, |
3552 | | SignedInt16NV = 4u32, |
3553 | | SignedInt32NV = 5u32, |
3554 | | SignedInt64NV = 6u32, |
3555 | | UnsignedInt8NV = 7u32, |
3556 | | UnsignedInt16NV = 8u32, |
3557 | | UnsignedInt32NV = 9u32, |
3558 | | UnsignedInt64NV = 10u32, |
3559 | | SignedInt8PackedNV = 1000491000u32, |
3560 | | UnsignedInt8PackedNV = 1000491001u32, |
3561 | | FloatE4M3NV = 1000491002u32, |
3562 | | FloatE5M2NV = 1000491003u32, |
3563 | | } |
3564 | | impl ComponentType { |
3565 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
3566 | 0 | Some(match n { |
3567 | 0 | 0u32..=10u32 => unsafe { core::mem::transmute::<u32, ComponentType>(n) }, |
3568 | 0 | 1000491000u32..=1000491003u32 => unsafe { |
3569 | 0 | core::mem::transmute::<u32, ComponentType>(n) |
3570 | | }, |
3571 | 0 | _ => return None, |
3572 | | }) |
3573 | 0 | } |
3574 | | } |
3575 | | #[allow(non_upper_case_globals)] |
3576 | | impl ComponentType {} |
3577 | | impl core::str::FromStr for ComponentType { |
3578 | | type Err = (); |
3579 | 0 | fn from_str(s: &str) -> Result<Self, Self::Err> { |
3580 | 0 | Ok(match s { |
3581 | 0 | "Float16NV" => Self::Float16NV, |
3582 | 0 | "Float32NV" => Self::Float32NV, |
3583 | 0 | "Float64NV" => Self::Float64NV, |
3584 | 0 | "SignedInt8NV" => Self::SignedInt8NV, |
3585 | 0 | "SignedInt16NV" => Self::SignedInt16NV, |
3586 | 0 | "SignedInt32NV" => Self::SignedInt32NV, |
3587 | 0 | "SignedInt64NV" => Self::SignedInt64NV, |
3588 | 0 | "UnsignedInt8NV" => Self::UnsignedInt8NV, |
3589 | 0 | "UnsignedInt16NV" => Self::UnsignedInt16NV, |
3590 | 0 | "UnsignedInt32NV" => Self::UnsignedInt32NV, |
3591 | 0 | "UnsignedInt64NV" => Self::UnsignedInt64NV, |
3592 | 0 | "SignedInt8PackedNV" => Self::SignedInt8PackedNV, |
3593 | 0 | "UnsignedInt8PackedNV" => Self::UnsignedInt8PackedNV, |
3594 | 0 | "FloatE4M3NV" => Self::FloatE4M3NV, |
3595 | 0 | "FloatE5M2NV" => Self::FloatE5M2NV, |
3596 | 0 | _ => return Err(()), |
3597 | | }) |
3598 | 0 | } |
3599 | | } |
3600 | | bitflags! { # [doc = "SPIR-V operand kind: [TensorOperands](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_tensor_operands_a_tensor_operands)"] # [derive (Clone , Copy , Debug , PartialEq , Eq , Hash)] # [cfg_attr (feature = "serialize" , derive (serde :: Serialize))] # [cfg_attr (feature = "deserialize" , derive (serde :: Deserialize))] pub struct TensorOperands : u32 { const NONE_ARM = 0u32 ; const NONTEMPORAL_ARM = 1u32 ; const OUT_OF_BOUNDS_VALUE_ARM = 2u32 ; const MAKE_ELEMENT_AVAILABLE_ARM = 4u32 ; const MAKE_ELEMENT_VISIBLE_ARM = 8u32 ; const NON_PRIVATE_ELEMENT_ARM = 16u32 ; } } |
3601 | | #[doc = "SPIR-V [instructions](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_instructions_a_instructions) opcodes"] |
3602 | | #[repr(u32)] |
3603 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
3604 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
3605 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
3606 | | #[allow(clippy::upper_case_acronyms)] |
3607 | | pub enum Op { |
3608 | | Nop = 0u32, |
3609 | | Undef = 1u32, |
3610 | | SourceContinued = 2u32, |
3611 | | Source = 3u32, |
3612 | | SourceExtension = 4u32, |
3613 | | Name = 5u32, |
3614 | | MemberName = 6u32, |
3615 | | String = 7u32, |
3616 | | Line = 8u32, |
3617 | | Extension = 10u32, |
3618 | | ExtInstImport = 11u32, |
3619 | | ExtInst = 12u32, |
3620 | | MemoryModel = 14u32, |
3621 | | EntryPoint = 15u32, |
3622 | | ExecutionMode = 16u32, |
3623 | | Capability = 17u32, |
3624 | | TypeVoid = 19u32, |
3625 | | TypeBool = 20u32, |
3626 | | TypeInt = 21u32, |
3627 | | TypeFloat = 22u32, |
3628 | | TypeVector = 23u32, |
3629 | | TypeMatrix = 24u32, |
3630 | | TypeImage = 25u32, |
3631 | | TypeSampler = 26u32, |
3632 | | TypeSampledImage = 27u32, |
3633 | | TypeArray = 28u32, |
3634 | | TypeRuntimeArray = 29u32, |
3635 | | TypeStruct = 30u32, |
3636 | | TypeOpaque = 31u32, |
3637 | | TypePointer = 32u32, |
3638 | | TypeFunction = 33u32, |
3639 | | TypeEvent = 34u32, |
3640 | | TypeDeviceEvent = 35u32, |
3641 | | TypeReserveId = 36u32, |
3642 | | TypeQueue = 37u32, |
3643 | | TypePipe = 38u32, |
3644 | | TypeForwardPointer = 39u32, |
3645 | | ConstantTrue = 41u32, |
3646 | | ConstantFalse = 42u32, |
3647 | | Constant = 43u32, |
3648 | | ConstantComposite = 44u32, |
3649 | | ConstantSampler = 45u32, |
3650 | | ConstantNull = 46u32, |
3651 | | SpecConstantTrue = 48u32, |
3652 | | SpecConstantFalse = 49u32, |
3653 | | SpecConstant = 50u32, |
3654 | | SpecConstantComposite = 51u32, |
3655 | | SpecConstantOp = 52u32, |
3656 | | Function = 54u32, |
3657 | | FunctionParameter = 55u32, |
3658 | | FunctionEnd = 56u32, |
3659 | | FunctionCall = 57u32, |
3660 | | Variable = 59u32, |
3661 | | ImageTexelPointer = 60u32, |
3662 | | Load = 61u32, |
3663 | | Store = 62u32, |
3664 | | CopyMemory = 63u32, |
3665 | | CopyMemorySized = 64u32, |
3666 | | AccessChain = 65u32, |
3667 | | InBoundsAccessChain = 66u32, |
3668 | | PtrAccessChain = 67u32, |
3669 | | ArrayLength = 68u32, |
3670 | | GenericPtrMemSemantics = 69u32, |
3671 | | InBoundsPtrAccessChain = 70u32, |
3672 | | Decorate = 71u32, |
3673 | | MemberDecorate = 72u32, |
3674 | | DecorationGroup = 73u32, |
3675 | | GroupDecorate = 74u32, |
3676 | | GroupMemberDecorate = 75u32, |
3677 | | VectorExtractDynamic = 77u32, |
3678 | | VectorInsertDynamic = 78u32, |
3679 | | VectorShuffle = 79u32, |
3680 | | CompositeConstruct = 80u32, |
3681 | | CompositeExtract = 81u32, |
3682 | | CompositeInsert = 82u32, |
3683 | | CopyObject = 83u32, |
3684 | | Transpose = 84u32, |
3685 | | SampledImage = 86u32, |
3686 | | ImageSampleImplicitLod = 87u32, |
3687 | | ImageSampleExplicitLod = 88u32, |
3688 | | ImageSampleDrefImplicitLod = 89u32, |
3689 | | ImageSampleDrefExplicitLod = 90u32, |
3690 | | ImageSampleProjImplicitLod = 91u32, |
3691 | | ImageSampleProjExplicitLod = 92u32, |
3692 | | ImageSampleProjDrefImplicitLod = 93u32, |
3693 | | ImageSampleProjDrefExplicitLod = 94u32, |
3694 | | ImageFetch = 95u32, |
3695 | | ImageGather = 96u32, |
3696 | | ImageDrefGather = 97u32, |
3697 | | ImageRead = 98u32, |
3698 | | ImageWrite = 99u32, |
3699 | | Image = 100u32, |
3700 | | ImageQueryFormat = 101u32, |
3701 | | ImageQueryOrder = 102u32, |
3702 | | ImageQuerySizeLod = 103u32, |
3703 | | ImageQuerySize = 104u32, |
3704 | | ImageQueryLod = 105u32, |
3705 | | ImageQueryLevels = 106u32, |
3706 | | ImageQuerySamples = 107u32, |
3707 | | ConvertFToU = 109u32, |
3708 | | ConvertFToS = 110u32, |
3709 | | ConvertSToF = 111u32, |
3710 | | ConvertUToF = 112u32, |
3711 | | UConvert = 113u32, |
3712 | | SConvert = 114u32, |
3713 | | FConvert = 115u32, |
3714 | | QuantizeToF16 = 116u32, |
3715 | | ConvertPtrToU = 117u32, |
3716 | | SatConvertSToU = 118u32, |
3717 | | SatConvertUToS = 119u32, |
3718 | | ConvertUToPtr = 120u32, |
3719 | | PtrCastToGeneric = 121u32, |
3720 | | GenericCastToPtr = 122u32, |
3721 | | GenericCastToPtrExplicit = 123u32, |
3722 | | Bitcast = 124u32, |
3723 | | SNegate = 126u32, |
3724 | | FNegate = 127u32, |
3725 | | IAdd = 128u32, |
3726 | | FAdd = 129u32, |
3727 | | ISub = 130u32, |
3728 | | FSub = 131u32, |
3729 | | IMul = 132u32, |
3730 | | FMul = 133u32, |
3731 | | UDiv = 134u32, |
3732 | | SDiv = 135u32, |
3733 | | FDiv = 136u32, |
3734 | | UMod = 137u32, |
3735 | | SRem = 138u32, |
3736 | | SMod = 139u32, |
3737 | | FRem = 140u32, |
3738 | | FMod = 141u32, |
3739 | | VectorTimesScalar = 142u32, |
3740 | | MatrixTimesScalar = 143u32, |
3741 | | VectorTimesMatrix = 144u32, |
3742 | | MatrixTimesVector = 145u32, |
3743 | | MatrixTimesMatrix = 146u32, |
3744 | | OuterProduct = 147u32, |
3745 | | Dot = 148u32, |
3746 | | IAddCarry = 149u32, |
3747 | | ISubBorrow = 150u32, |
3748 | | UMulExtended = 151u32, |
3749 | | SMulExtended = 152u32, |
3750 | | Any = 154u32, |
3751 | | All = 155u32, |
3752 | | IsNan = 156u32, |
3753 | | IsInf = 157u32, |
3754 | | IsFinite = 158u32, |
3755 | | IsNormal = 159u32, |
3756 | | SignBitSet = 160u32, |
3757 | | LessOrGreater = 161u32, |
3758 | | Ordered = 162u32, |
3759 | | Unordered = 163u32, |
3760 | | LogicalEqual = 164u32, |
3761 | | LogicalNotEqual = 165u32, |
3762 | | LogicalOr = 166u32, |
3763 | | LogicalAnd = 167u32, |
3764 | | LogicalNot = 168u32, |
3765 | | Select = 169u32, |
3766 | | IEqual = 170u32, |
3767 | | INotEqual = 171u32, |
3768 | | UGreaterThan = 172u32, |
3769 | | SGreaterThan = 173u32, |
3770 | | UGreaterThanEqual = 174u32, |
3771 | | SGreaterThanEqual = 175u32, |
3772 | | ULessThan = 176u32, |
3773 | | SLessThan = 177u32, |
3774 | | ULessThanEqual = 178u32, |
3775 | | SLessThanEqual = 179u32, |
3776 | | FOrdEqual = 180u32, |
3777 | | FUnordEqual = 181u32, |
3778 | | FOrdNotEqual = 182u32, |
3779 | | FUnordNotEqual = 183u32, |
3780 | | FOrdLessThan = 184u32, |
3781 | | FUnordLessThan = 185u32, |
3782 | | FOrdGreaterThan = 186u32, |
3783 | | FUnordGreaterThan = 187u32, |
3784 | | FOrdLessThanEqual = 188u32, |
3785 | | FUnordLessThanEqual = 189u32, |
3786 | | FOrdGreaterThanEqual = 190u32, |
3787 | | FUnordGreaterThanEqual = 191u32, |
3788 | | ShiftRightLogical = 194u32, |
3789 | | ShiftRightArithmetic = 195u32, |
3790 | | ShiftLeftLogical = 196u32, |
3791 | | BitwiseOr = 197u32, |
3792 | | BitwiseXor = 198u32, |
3793 | | BitwiseAnd = 199u32, |
3794 | | Not = 200u32, |
3795 | | BitFieldInsert = 201u32, |
3796 | | BitFieldSExtract = 202u32, |
3797 | | BitFieldUExtract = 203u32, |
3798 | | BitReverse = 204u32, |
3799 | | BitCount = 205u32, |
3800 | | DPdx = 207u32, |
3801 | | DPdy = 208u32, |
3802 | | Fwidth = 209u32, |
3803 | | DPdxFine = 210u32, |
3804 | | DPdyFine = 211u32, |
3805 | | FwidthFine = 212u32, |
3806 | | DPdxCoarse = 213u32, |
3807 | | DPdyCoarse = 214u32, |
3808 | | FwidthCoarse = 215u32, |
3809 | | EmitVertex = 218u32, |
3810 | | EndPrimitive = 219u32, |
3811 | | EmitStreamVertex = 220u32, |
3812 | | EndStreamPrimitive = 221u32, |
3813 | | ControlBarrier = 224u32, |
3814 | | MemoryBarrier = 225u32, |
3815 | | AtomicLoad = 227u32, |
3816 | | AtomicStore = 228u32, |
3817 | | AtomicExchange = 229u32, |
3818 | | AtomicCompareExchange = 230u32, |
3819 | | AtomicCompareExchangeWeak = 231u32, |
3820 | | AtomicIIncrement = 232u32, |
3821 | | AtomicIDecrement = 233u32, |
3822 | | AtomicIAdd = 234u32, |
3823 | | AtomicISub = 235u32, |
3824 | | AtomicSMin = 236u32, |
3825 | | AtomicUMin = 237u32, |
3826 | | AtomicSMax = 238u32, |
3827 | | AtomicUMax = 239u32, |
3828 | | AtomicAnd = 240u32, |
3829 | | AtomicOr = 241u32, |
3830 | | AtomicXor = 242u32, |
3831 | | Phi = 245u32, |
3832 | | LoopMerge = 246u32, |
3833 | | SelectionMerge = 247u32, |
3834 | | Label = 248u32, |
3835 | | Branch = 249u32, |
3836 | | BranchConditional = 250u32, |
3837 | | Switch = 251u32, |
3838 | | Kill = 252u32, |
3839 | | Return = 253u32, |
3840 | | ReturnValue = 254u32, |
3841 | | Unreachable = 255u32, |
3842 | | LifetimeStart = 256u32, |
3843 | | LifetimeStop = 257u32, |
3844 | | GroupAsyncCopy = 259u32, |
3845 | | GroupWaitEvents = 260u32, |
3846 | | GroupAll = 261u32, |
3847 | | GroupAny = 262u32, |
3848 | | GroupBroadcast = 263u32, |
3849 | | GroupIAdd = 264u32, |
3850 | | GroupFAdd = 265u32, |
3851 | | GroupFMin = 266u32, |
3852 | | GroupUMin = 267u32, |
3853 | | GroupSMin = 268u32, |
3854 | | GroupFMax = 269u32, |
3855 | | GroupUMax = 270u32, |
3856 | | GroupSMax = 271u32, |
3857 | | ReadPipe = 274u32, |
3858 | | WritePipe = 275u32, |
3859 | | ReservedReadPipe = 276u32, |
3860 | | ReservedWritePipe = 277u32, |
3861 | | ReserveReadPipePackets = 278u32, |
3862 | | ReserveWritePipePackets = 279u32, |
3863 | | CommitReadPipe = 280u32, |
3864 | | CommitWritePipe = 281u32, |
3865 | | IsValidReserveId = 282u32, |
3866 | | GetNumPipePackets = 283u32, |
3867 | | GetMaxPipePackets = 284u32, |
3868 | | GroupReserveReadPipePackets = 285u32, |
3869 | | GroupReserveWritePipePackets = 286u32, |
3870 | | GroupCommitReadPipe = 287u32, |
3871 | | GroupCommitWritePipe = 288u32, |
3872 | | EnqueueMarker = 291u32, |
3873 | | EnqueueKernel = 292u32, |
3874 | | GetKernelNDrangeSubGroupCount = 293u32, |
3875 | | GetKernelNDrangeMaxSubGroupSize = 294u32, |
3876 | | GetKernelWorkGroupSize = 295u32, |
3877 | | GetKernelPreferredWorkGroupSizeMultiple = 296u32, |
3878 | | RetainEvent = 297u32, |
3879 | | ReleaseEvent = 298u32, |
3880 | | CreateUserEvent = 299u32, |
3881 | | IsValidEvent = 300u32, |
3882 | | SetUserEventStatus = 301u32, |
3883 | | CaptureEventProfilingInfo = 302u32, |
3884 | | GetDefaultQueue = 303u32, |
3885 | | BuildNDRange = 304u32, |
3886 | | ImageSparseSampleImplicitLod = 305u32, |
3887 | | ImageSparseSampleExplicitLod = 306u32, |
3888 | | ImageSparseSampleDrefImplicitLod = 307u32, |
3889 | | ImageSparseSampleDrefExplicitLod = 308u32, |
3890 | | ImageSparseSampleProjImplicitLod = 309u32, |
3891 | | ImageSparseSampleProjExplicitLod = 310u32, |
3892 | | ImageSparseSampleProjDrefImplicitLod = 311u32, |
3893 | | ImageSparseSampleProjDrefExplicitLod = 312u32, |
3894 | | ImageSparseFetch = 313u32, |
3895 | | ImageSparseGather = 314u32, |
3896 | | ImageSparseDrefGather = 315u32, |
3897 | | ImageSparseTexelsResident = 316u32, |
3898 | | NoLine = 317u32, |
3899 | | AtomicFlagTestAndSet = 318u32, |
3900 | | AtomicFlagClear = 319u32, |
3901 | | ImageSparseRead = 320u32, |
3902 | | SizeOf = 321u32, |
3903 | | TypePipeStorage = 322u32, |
3904 | | ConstantPipeStorage = 323u32, |
3905 | | CreatePipeFromPipeStorage = 324u32, |
3906 | | GetKernelLocalSizeForSubgroupCount = 325u32, |
3907 | | GetKernelMaxNumSubgroups = 326u32, |
3908 | | TypeNamedBarrier = 327u32, |
3909 | | NamedBarrierInitialize = 328u32, |
3910 | | MemoryNamedBarrier = 329u32, |
3911 | | ModuleProcessed = 330u32, |
3912 | | ExecutionModeId = 331u32, |
3913 | | DecorateId = 332u32, |
3914 | | GroupNonUniformElect = 333u32, |
3915 | | GroupNonUniformAll = 334u32, |
3916 | | GroupNonUniformAny = 335u32, |
3917 | | GroupNonUniformAllEqual = 336u32, |
3918 | | GroupNonUniformBroadcast = 337u32, |
3919 | | GroupNonUniformBroadcastFirst = 338u32, |
3920 | | GroupNonUniformBallot = 339u32, |
3921 | | GroupNonUniformInverseBallot = 340u32, |
3922 | | GroupNonUniformBallotBitExtract = 341u32, |
3923 | | GroupNonUniformBallotBitCount = 342u32, |
3924 | | GroupNonUniformBallotFindLSB = 343u32, |
3925 | | GroupNonUniformBallotFindMSB = 344u32, |
3926 | | GroupNonUniformShuffle = 345u32, |
3927 | | GroupNonUniformShuffleXor = 346u32, |
3928 | | GroupNonUniformShuffleUp = 347u32, |
3929 | | GroupNonUniformShuffleDown = 348u32, |
3930 | | GroupNonUniformIAdd = 349u32, |
3931 | | GroupNonUniformFAdd = 350u32, |
3932 | | GroupNonUniformIMul = 351u32, |
3933 | | GroupNonUniformFMul = 352u32, |
3934 | | GroupNonUniformSMin = 353u32, |
3935 | | GroupNonUniformUMin = 354u32, |
3936 | | GroupNonUniformFMin = 355u32, |
3937 | | GroupNonUniformSMax = 356u32, |
3938 | | GroupNonUniformUMax = 357u32, |
3939 | | GroupNonUniformFMax = 358u32, |
3940 | | GroupNonUniformBitwiseAnd = 359u32, |
3941 | | GroupNonUniformBitwiseOr = 360u32, |
3942 | | GroupNonUniformBitwiseXor = 361u32, |
3943 | | GroupNonUniformLogicalAnd = 362u32, |
3944 | | GroupNonUniformLogicalOr = 363u32, |
3945 | | GroupNonUniformLogicalXor = 364u32, |
3946 | | GroupNonUniformQuadBroadcast = 365u32, |
3947 | | GroupNonUniformQuadSwap = 366u32, |
3948 | | CopyLogical = 400u32, |
3949 | | PtrEqual = 401u32, |
3950 | | PtrNotEqual = 402u32, |
3951 | | PtrDiff = 403u32, |
3952 | | ColorAttachmentReadEXT = 4160u32, |
3953 | | DepthAttachmentReadEXT = 4161u32, |
3954 | | StencilAttachmentReadEXT = 4162u32, |
3955 | | TypeTensorARM = 4163u32, |
3956 | | TensorReadARM = 4164u32, |
3957 | | TensorWriteARM = 4165u32, |
3958 | | TensorQuerySizeARM = 4166u32, |
3959 | | GraphConstantARM = 4181u32, |
3960 | | GraphEntryPointARM = 4182u32, |
3961 | | GraphARM = 4183u32, |
3962 | | GraphInputARM = 4184u32, |
3963 | | GraphSetOutputARM = 4185u32, |
3964 | | GraphEndARM = 4186u32, |
3965 | | TypeGraphARM = 4190u32, |
3966 | | TerminateInvocation = 4416u32, |
3967 | | TypeUntypedPointerKHR = 4417u32, |
3968 | | UntypedVariableKHR = 4418u32, |
3969 | | UntypedAccessChainKHR = 4419u32, |
3970 | | UntypedInBoundsAccessChainKHR = 4420u32, |
3971 | | SubgroupBallotKHR = 4421u32, |
3972 | | SubgroupFirstInvocationKHR = 4422u32, |
3973 | | UntypedPtrAccessChainKHR = 4423u32, |
3974 | | UntypedInBoundsPtrAccessChainKHR = 4424u32, |
3975 | | UntypedArrayLengthKHR = 4425u32, |
3976 | | UntypedPrefetchKHR = 4426u32, |
3977 | | FmaKHR = 4427u32, |
3978 | | SubgroupAllKHR = 4428u32, |
3979 | | SubgroupAnyKHR = 4429u32, |
3980 | | SubgroupAllEqualKHR = 4430u32, |
3981 | | GroupNonUniformRotateKHR = 4431u32, |
3982 | | SubgroupReadInvocationKHR = 4432u32, |
3983 | | ExtInstWithForwardRefsKHR = 4433u32, |
3984 | | UntypedGroupAsyncCopyKHR = 4434u32, |
3985 | | TraceRayKHR = 4445u32, |
3986 | | ExecuteCallableKHR = 4446u32, |
3987 | | ConvertUToAccelerationStructureKHR = 4447u32, |
3988 | | IgnoreIntersectionKHR = 4448u32, |
3989 | | TerminateRayKHR = 4449u32, |
3990 | | SDot = 4450u32, |
3991 | | UDot = 4451u32, |
3992 | | SUDot = 4452u32, |
3993 | | SDotAccSat = 4453u32, |
3994 | | UDotAccSat = 4454u32, |
3995 | | SUDotAccSat = 4455u32, |
3996 | | TypeCooperativeMatrixKHR = 4456u32, |
3997 | | CooperativeMatrixLoadKHR = 4457u32, |
3998 | | CooperativeMatrixStoreKHR = 4458u32, |
3999 | | CooperativeMatrixMulAddKHR = 4459u32, |
4000 | | CooperativeMatrixLengthKHR = 4460u32, |
4001 | | ConstantCompositeReplicateEXT = 4461u32, |
4002 | | SpecConstantCompositeReplicateEXT = 4462u32, |
4003 | | CompositeConstructReplicateEXT = 4463u32, |
4004 | | TypeRayQueryKHR = 4472u32, |
4005 | | RayQueryInitializeKHR = 4473u32, |
4006 | | RayQueryTerminateKHR = 4474u32, |
4007 | | RayQueryGenerateIntersectionKHR = 4475u32, |
4008 | | RayQueryConfirmIntersectionKHR = 4476u32, |
4009 | | RayQueryProceedKHR = 4477u32, |
4010 | | RayQueryGetIntersectionTypeKHR = 4479u32, |
4011 | | ImageSampleWeightedQCOM = 4480u32, |
4012 | | ImageBoxFilterQCOM = 4481u32, |
4013 | | ImageBlockMatchSSDQCOM = 4482u32, |
4014 | | ImageBlockMatchSADQCOM = 4483u32, |
4015 | | BitCastArrayQCOM = 4497u32, |
4016 | | ImageBlockMatchWindowSSDQCOM = 4500u32, |
4017 | | ImageBlockMatchWindowSADQCOM = 4501u32, |
4018 | | ImageBlockMatchGatherSSDQCOM = 4502u32, |
4019 | | ImageBlockMatchGatherSADQCOM = 4503u32, |
4020 | | CompositeConstructCoopMatQCOM = 4540u32, |
4021 | | CompositeExtractCoopMatQCOM = 4541u32, |
4022 | | ExtractSubArrayQCOM = 4542u32, |
4023 | | GroupIAddNonUniformAMD = 5000u32, |
4024 | | GroupFAddNonUniformAMD = 5001u32, |
4025 | | GroupFMinNonUniformAMD = 5002u32, |
4026 | | GroupUMinNonUniformAMD = 5003u32, |
4027 | | GroupSMinNonUniformAMD = 5004u32, |
4028 | | GroupFMaxNonUniformAMD = 5005u32, |
4029 | | GroupUMaxNonUniformAMD = 5006u32, |
4030 | | GroupSMaxNonUniformAMD = 5007u32, |
4031 | | FragmentMaskFetchAMD = 5011u32, |
4032 | | FragmentFetchAMD = 5012u32, |
4033 | | ReadClockKHR = 5056u32, |
4034 | | AllocateNodePayloadsAMDX = 5074u32, |
4035 | | EnqueueNodePayloadsAMDX = 5075u32, |
4036 | | TypeNodePayloadArrayAMDX = 5076u32, |
4037 | | FinishWritingNodePayloadAMDX = 5078u32, |
4038 | | NodePayloadArrayLengthAMDX = 5090u32, |
4039 | | IsNodePayloadValidAMDX = 5101u32, |
4040 | | ConstantStringAMDX = 5103u32, |
4041 | | SpecConstantStringAMDX = 5104u32, |
4042 | | GroupNonUniformQuadAllKHR = 5110u32, |
4043 | | GroupNonUniformQuadAnyKHR = 5111u32, |
4044 | | TypeBufferEXT = 5115u32, |
4045 | | BufferPointerEXT = 5119u32, |
4046 | | UntypedImageTexelPointerEXT = 5126u32, |
4047 | | MemberDecorateIdEXT = 5127u32, |
4048 | | ConstantSizeOfEXT = 5129u32, |
4049 | | HitObjectRecordHitMotionNV = 5249u32, |
4050 | | HitObjectRecordHitWithIndexMotionNV = 5250u32, |
4051 | | HitObjectRecordMissMotionNV = 5251u32, |
4052 | | HitObjectGetWorldToObjectNV = 5252u32, |
4053 | | HitObjectGetObjectToWorldNV = 5253u32, |
4054 | | HitObjectGetObjectRayDirectionNV = 5254u32, |
4055 | | HitObjectGetObjectRayOriginNV = 5255u32, |
4056 | | HitObjectTraceRayMotionNV = 5256u32, |
4057 | | HitObjectGetShaderRecordBufferHandleNV = 5257u32, |
4058 | | HitObjectGetShaderBindingTableRecordIndexNV = 5258u32, |
4059 | | HitObjectRecordEmptyNV = 5259u32, |
4060 | | HitObjectTraceRayNV = 5260u32, |
4061 | | HitObjectRecordHitNV = 5261u32, |
4062 | | HitObjectRecordHitWithIndexNV = 5262u32, |
4063 | | HitObjectRecordMissNV = 5263u32, |
4064 | | HitObjectExecuteShaderNV = 5264u32, |
4065 | | HitObjectGetCurrentTimeNV = 5265u32, |
4066 | | HitObjectGetAttributesNV = 5266u32, |
4067 | | HitObjectGetHitKindNV = 5267u32, |
4068 | | HitObjectGetPrimitiveIndexNV = 5268u32, |
4069 | | HitObjectGetGeometryIndexNV = 5269u32, |
4070 | | HitObjectGetInstanceIdNV = 5270u32, |
4071 | | HitObjectGetInstanceCustomIndexNV = 5271u32, |
4072 | | HitObjectGetWorldRayDirectionNV = 5272u32, |
4073 | | HitObjectGetWorldRayOriginNV = 5273u32, |
4074 | | HitObjectGetRayTMaxNV = 5274u32, |
4075 | | HitObjectGetRayTMinNV = 5275u32, |
4076 | | HitObjectIsEmptyNV = 5276u32, |
4077 | | HitObjectIsHitNV = 5277u32, |
4078 | | HitObjectIsMissNV = 5278u32, |
4079 | | ReorderThreadWithHitObjectNV = 5279u32, |
4080 | | ReorderThreadWithHintNV = 5280u32, |
4081 | | TypeHitObjectNV = 5281u32, |
4082 | | ImageSampleFootprintNV = 5283u32, |
4083 | | TypeVectorIdEXT = 5288u32, |
4084 | | CooperativeVectorMatrixMulNV = 5289u32, |
4085 | | CooperativeVectorOuterProductAccumulateNV = 5290u32, |
4086 | | CooperativeVectorReduceSumAccumulateNV = 5291u32, |
4087 | | CooperativeVectorMatrixMulAddNV = 5292u32, |
4088 | | CooperativeMatrixConvertNV = 5293u32, |
4089 | | EmitMeshTasksEXT = 5294u32, |
4090 | | SetMeshOutputsEXT = 5295u32, |
4091 | | GroupNonUniformPartitionEXT = 5296u32, |
4092 | | WritePackedPrimitiveIndices4x8NV = 5299u32, |
4093 | | FetchMicroTriangleVertexPositionNV = 5300u32, |
4094 | | FetchMicroTriangleVertexBarycentricNV = 5301u32, |
4095 | | CooperativeVectorLoadNV = 5302u32, |
4096 | | CooperativeVectorStoreNV = 5303u32, |
4097 | | HitObjectRecordFromQueryEXT = 5304u32, |
4098 | | HitObjectRecordMissEXT = 5305u32, |
4099 | | HitObjectRecordMissMotionEXT = 5306u32, |
4100 | | HitObjectGetIntersectionTriangleVertexPositionsEXT = 5307u32, |
4101 | | HitObjectGetRayFlagsEXT = 5308u32, |
4102 | | HitObjectSetShaderBindingTableRecordIndexEXT = 5309u32, |
4103 | | HitObjectReorderExecuteShaderEXT = 5310u32, |
4104 | | HitObjectTraceReorderExecuteEXT = 5311u32, |
4105 | | HitObjectTraceMotionReorderExecuteEXT = 5312u32, |
4106 | | TypeHitObjectEXT = 5313u32, |
4107 | | ReorderThreadWithHintEXT = 5314u32, |
4108 | | ReorderThreadWithHitObjectEXT = 5315u32, |
4109 | | HitObjectTraceRayEXT = 5316u32, |
4110 | | HitObjectTraceRayMotionEXT = 5317u32, |
4111 | | HitObjectRecordEmptyEXT = 5318u32, |
4112 | | HitObjectExecuteShaderEXT = 5319u32, |
4113 | | HitObjectGetCurrentTimeEXT = 5320u32, |
4114 | | HitObjectGetAttributesEXT = 5321u32, |
4115 | | HitObjectGetHitKindEXT = 5322u32, |
4116 | | HitObjectGetPrimitiveIndexEXT = 5323u32, |
4117 | | HitObjectGetGeometryIndexEXT = 5324u32, |
4118 | | HitObjectGetInstanceIdEXT = 5325u32, |
4119 | | HitObjectGetInstanceCustomIndexEXT = 5326u32, |
4120 | | HitObjectGetObjectRayOriginEXT = 5327u32, |
4121 | | HitObjectGetObjectRayDirectionEXT = 5328u32, |
4122 | | HitObjectGetWorldRayDirectionEXT = 5329u32, |
4123 | | HitObjectGetWorldRayOriginEXT = 5330u32, |
4124 | | HitObjectGetObjectToWorldEXT = 5331u32, |
4125 | | HitObjectGetWorldToObjectEXT = 5332u32, |
4126 | | HitObjectGetRayTMaxEXT = 5333u32, |
4127 | | ReportIntersectionKHR = 5334u32, |
4128 | | IgnoreIntersectionNV = 5335u32, |
4129 | | TerminateRayNV = 5336u32, |
4130 | | TraceNV = 5337u32, |
4131 | | TraceMotionNV = 5338u32, |
4132 | | TraceRayMotionNV = 5339u32, |
4133 | | RayQueryGetIntersectionTriangleVertexPositionsKHR = 5340u32, |
4134 | | TypeAccelerationStructureKHR = 5341u32, |
4135 | | ExecuteCallableNV = 5344u32, |
4136 | | RayQueryGetIntersectionClusterIdNV = 5345u32, |
4137 | | HitObjectGetClusterIdNV = 5346u32, |
4138 | | HitObjectGetRayTMinEXT = 5347u32, |
4139 | | HitObjectGetShaderBindingTableRecordIndexEXT = 5348u32, |
4140 | | HitObjectGetShaderRecordBufferHandleEXT = 5349u32, |
4141 | | HitObjectIsEmptyEXT = 5350u32, |
4142 | | HitObjectIsHitEXT = 5351u32, |
4143 | | HitObjectIsMissEXT = 5352u32, |
4144 | | TypeCooperativeMatrixNV = 5358u32, |
4145 | | CooperativeMatrixLoadNV = 5359u32, |
4146 | | CooperativeMatrixStoreNV = 5360u32, |
4147 | | CooperativeMatrixMulAddNV = 5361u32, |
4148 | | CooperativeMatrixLengthNV = 5362u32, |
4149 | | BeginInvocationInterlockEXT = 5364u32, |
4150 | | EndInvocationInterlockEXT = 5365u32, |
4151 | | CooperativeMatrixReduceNV = 5366u32, |
4152 | | CooperativeMatrixLoadTensorNV = 5367u32, |
4153 | | CooperativeMatrixStoreTensorNV = 5368u32, |
4154 | | CooperativeMatrixPerElementOpNV = 5369u32, |
4155 | | TypeTensorLayoutNV = 5370u32, |
4156 | | TypeTensorViewNV = 5371u32, |
4157 | | CreateTensorLayoutNV = 5372u32, |
4158 | | TensorLayoutSetDimensionNV = 5373u32, |
4159 | | TensorLayoutSetStrideNV = 5374u32, |
4160 | | TensorLayoutSliceNV = 5375u32, |
4161 | | TensorLayoutSetClampValueNV = 5376u32, |
4162 | | CreateTensorViewNV = 5377u32, |
4163 | | TensorViewSetDimensionNV = 5378u32, |
4164 | | TensorViewSetStrideNV = 5379u32, |
4165 | | DemoteToHelperInvocation = 5380u32, |
4166 | | IsHelperInvocationEXT = 5381u32, |
4167 | | TensorViewSetClipNV = 5382u32, |
4168 | | TensorLayoutSetBlockSizeNV = 5384u32, |
4169 | | CooperativeMatrixTransposeNV = 5390u32, |
4170 | | ConvertUToImageNV = 5391u32, |
4171 | | ConvertUToSamplerNV = 5392u32, |
4172 | | ConvertImageToUNV = 5393u32, |
4173 | | ConvertSamplerToUNV = 5394u32, |
4174 | | ConvertUToSampledImageNV = 5395u32, |
4175 | | ConvertSampledImageToUNV = 5396u32, |
4176 | | SamplerImageAddressingModeNV = 5397u32, |
4177 | | RawAccessChainNV = 5398u32, |
4178 | | RayQueryGetIntersectionSpherePositionNV = 5427u32, |
4179 | | RayQueryGetIntersectionSphereRadiusNV = 5428u32, |
4180 | | RayQueryGetIntersectionLSSPositionsNV = 5429u32, |
4181 | | RayQueryGetIntersectionLSSRadiiNV = 5430u32, |
4182 | | RayQueryGetIntersectionLSSHitValueNV = 5431u32, |
4183 | | HitObjectGetSpherePositionNV = 5432u32, |
4184 | | HitObjectGetSphereRadiusNV = 5433u32, |
4185 | | HitObjectGetLSSPositionsNV = 5434u32, |
4186 | | HitObjectGetLSSRadiiNV = 5435u32, |
4187 | | HitObjectIsSphereHitNV = 5436u32, |
4188 | | HitObjectIsLSSHitNV = 5437u32, |
4189 | | RayQueryIsSphereHitNV = 5438u32, |
4190 | | RayQueryIsLSSHitNV = 5439u32, |
4191 | | SubgroupShuffleINTEL = 5571u32, |
4192 | | SubgroupShuffleDownINTEL = 5572u32, |
4193 | | SubgroupShuffleUpINTEL = 5573u32, |
4194 | | SubgroupShuffleXorINTEL = 5574u32, |
4195 | | SubgroupBlockReadINTEL = 5575u32, |
4196 | | SubgroupBlockWriteINTEL = 5576u32, |
4197 | | SubgroupImageBlockReadINTEL = 5577u32, |
4198 | | SubgroupImageBlockWriteINTEL = 5578u32, |
4199 | | SubgroupImageMediaBlockReadINTEL = 5580u32, |
4200 | | SubgroupImageMediaBlockWriteINTEL = 5581u32, |
4201 | | UCountLeadingZerosINTEL = 5585u32, |
4202 | | UCountTrailingZerosINTEL = 5586u32, |
4203 | | AbsISubINTEL = 5587u32, |
4204 | | AbsUSubINTEL = 5588u32, |
4205 | | IAddSatINTEL = 5589u32, |
4206 | | UAddSatINTEL = 5590u32, |
4207 | | IAverageINTEL = 5591u32, |
4208 | | UAverageINTEL = 5592u32, |
4209 | | IAverageRoundedINTEL = 5593u32, |
4210 | | UAverageRoundedINTEL = 5594u32, |
4211 | | ISubSatINTEL = 5595u32, |
4212 | | USubSatINTEL = 5596u32, |
4213 | | IMul32x16INTEL = 5597u32, |
4214 | | UMul32x16INTEL = 5598u32, |
4215 | | ConstantFunctionPointerINTEL = 5600u32, |
4216 | | FunctionPointerCallINTEL = 5601u32, |
4217 | | AsmTargetINTEL = 5609u32, |
4218 | | AsmINTEL = 5610u32, |
4219 | | AsmCallINTEL = 5611u32, |
4220 | | AtomicFMinEXT = 5614u32, |
4221 | | AtomicFMaxEXT = 5615u32, |
4222 | | AssumeTrueKHR = 5630u32, |
4223 | | ExpectKHR = 5631u32, |
4224 | | DecorateString = 5632u32, |
4225 | | MemberDecorateString = 5633u32, |
4226 | | VmeImageINTEL = 5699u32, |
4227 | | TypeVmeImageINTEL = 5700u32, |
4228 | | TypeAvcImePayloadINTEL = 5701u32, |
4229 | | TypeAvcRefPayloadINTEL = 5702u32, |
4230 | | TypeAvcSicPayloadINTEL = 5703u32, |
4231 | | TypeAvcMcePayloadINTEL = 5704u32, |
4232 | | TypeAvcMceResultINTEL = 5705u32, |
4233 | | TypeAvcImeResultINTEL = 5706u32, |
4234 | | TypeAvcImeResultSingleReferenceStreamoutINTEL = 5707u32, |
4235 | | TypeAvcImeResultDualReferenceStreamoutINTEL = 5708u32, |
4236 | | TypeAvcImeSingleReferenceStreaminINTEL = 5709u32, |
4237 | | TypeAvcImeDualReferenceStreaminINTEL = 5710u32, |
4238 | | TypeAvcRefResultINTEL = 5711u32, |
4239 | | TypeAvcSicResultINTEL = 5712u32, |
4240 | | SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713u32, |
4241 | | SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714u32, |
4242 | | SubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715u32, |
4243 | | SubgroupAvcMceSetInterShapePenaltyINTEL = 5716u32, |
4244 | | SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717u32, |
4245 | | SubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718u32, |
4246 | | SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719u32, |
4247 | | SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720u32, |
4248 | | SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721u32, |
4249 | | SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722u32, |
4250 | | SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723u32, |
4251 | | SubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724u32, |
4252 | | SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725u32, |
4253 | | SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726u32, |
4254 | | SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727u32, |
4255 | | SubgroupAvcMceSetAcOnlyHaarINTEL = 5728u32, |
4256 | | SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729u32, |
4257 | | SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730u32, |
4258 | | SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731u32, |
4259 | | SubgroupAvcMceConvertToImePayloadINTEL = 5732u32, |
4260 | | SubgroupAvcMceConvertToImeResultINTEL = 5733u32, |
4261 | | SubgroupAvcMceConvertToRefPayloadINTEL = 5734u32, |
4262 | | SubgroupAvcMceConvertToRefResultINTEL = 5735u32, |
4263 | | SubgroupAvcMceConvertToSicPayloadINTEL = 5736u32, |
4264 | | SubgroupAvcMceConvertToSicResultINTEL = 5737u32, |
4265 | | SubgroupAvcMceGetMotionVectorsINTEL = 5738u32, |
4266 | | SubgroupAvcMceGetInterDistortionsINTEL = 5739u32, |
4267 | | SubgroupAvcMceGetBestInterDistortionsINTEL = 5740u32, |
4268 | | SubgroupAvcMceGetInterMajorShapeINTEL = 5741u32, |
4269 | | SubgroupAvcMceGetInterMinorShapeINTEL = 5742u32, |
4270 | | SubgroupAvcMceGetInterDirectionsINTEL = 5743u32, |
4271 | | SubgroupAvcMceGetInterMotionVectorCountINTEL = 5744u32, |
4272 | | SubgroupAvcMceGetInterReferenceIdsINTEL = 5745u32, |
4273 | | SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746u32, |
4274 | | SubgroupAvcImeInitializeINTEL = 5747u32, |
4275 | | SubgroupAvcImeSetSingleReferenceINTEL = 5748u32, |
4276 | | SubgroupAvcImeSetDualReferenceINTEL = 5749u32, |
4277 | | SubgroupAvcImeRefWindowSizeINTEL = 5750u32, |
4278 | | SubgroupAvcImeAdjustRefOffsetINTEL = 5751u32, |
4279 | | SubgroupAvcImeConvertToMcePayloadINTEL = 5752u32, |
4280 | | SubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753u32, |
4281 | | SubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754u32, |
4282 | | SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755u32, |
4283 | | SubgroupAvcImeSetWeightedSadINTEL = 5756u32, |
4284 | | SubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757u32, |
4285 | | SubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758u32, |
4286 | | SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759u32, |
4287 | | SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760u32, |
4288 | | SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761u32, |
4289 | | SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762u32, |
4290 | | SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763u32, |
4291 | | SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764u32, |
4292 | | SubgroupAvcImeConvertToMceResultINTEL = 5765u32, |
4293 | | SubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766u32, |
4294 | | SubgroupAvcImeGetDualReferenceStreaminINTEL = 5767u32, |
4295 | | SubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768u32, |
4296 | | SubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769u32, |
4297 | | SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770u32, |
4298 | | SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771u32, |
4299 | | SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772u32, |
4300 | | SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773u32, |
4301 | | SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774u32, |
4302 | | SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775u32, |
4303 | | SubgroupAvcImeGetBorderReachedINTEL = 5776u32, |
4304 | | SubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777u32, |
4305 | | SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778u32, |
4306 | | SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779u32, |
4307 | | SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780u32, |
4308 | | SubgroupAvcFmeInitializeINTEL = 5781u32, |
4309 | | SubgroupAvcBmeInitializeINTEL = 5782u32, |
4310 | | SubgroupAvcRefConvertToMcePayloadINTEL = 5783u32, |
4311 | | SubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784u32, |
4312 | | SubgroupAvcRefSetBilinearFilterEnableINTEL = 5785u32, |
4313 | | SubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786u32, |
4314 | | SubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787u32, |
4315 | | SubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788u32, |
4316 | | SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789u32, |
4317 | | SubgroupAvcRefConvertToMceResultINTEL = 5790u32, |
4318 | | SubgroupAvcSicInitializeINTEL = 5791u32, |
4319 | | SubgroupAvcSicConfigureSkcINTEL = 5792u32, |
4320 | | SubgroupAvcSicConfigureIpeLumaINTEL = 5793u32, |
4321 | | SubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794u32, |
4322 | | SubgroupAvcSicGetMotionVectorMaskINTEL = 5795u32, |
4323 | | SubgroupAvcSicConvertToMcePayloadINTEL = 5796u32, |
4324 | | SubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797u32, |
4325 | | SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798u32, |
4326 | | SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799u32, |
4327 | | SubgroupAvcSicSetBilinearFilterEnableINTEL = 5800u32, |
4328 | | SubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801u32, |
4329 | | SubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802u32, |
4330 | | SubgroupAvcSicEvaluateIpeINTEL = 5803u32, |
4331 | | SubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804u32, |
4332 | | SubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805u32, |
4333 | | SubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806u32, |
4334 | | SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807u32, |
4335 | | SubgroupAvcSicConvertToMceResultINTEL = 5808u32, |
4336 | | SubgroupAvcSicGetIpeLumaShapeINTEL = 5809u32, |
4337 | | SubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810u32, |
4338 | | SubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811u32, |
4339 | | SubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812u32, |
4340 | | SubgroupAvcSicGetIpeChromaModeINTEL = 5813u32, |
4341 | | SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814u32, |
4342 | | SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815u32, |
4343 | | SubgroupAvcSicGetInterRawSadsINTEL = 5816u32, |
4344 | | VariableLengthArrayINTEL = 5818u32, |
4345 | | SaveMemoryINTEL = 5819u32, |
4346 | | RestoreMemoryINTEL = 5820u32, |
4347 | | ArbitraryFloatSinCosPiALTERA = 5840u32, |
4348 | | ArbitraryFloatCastALTERA = 5841u32, |
4349 | | ArbitraryFloatCastFromIntALTERA = 5842u32, |
4350 | | ArbitraryFloatCastToIntALTERA = 5843u32, |
4351 | | ArbitraryFloatAddALTERA = 5846u32, |
4352 | | ArbitraryFloatSubALTERA = 5847u32, |
4353 | | ArbitraryFloatMulALTERA = 5848u32, |
4354 | | ArbitraryFloatDivALTERA = 5849u32, |
4355 | | ArbitraryFloatGTALTERA = 5850u32, |
4356 | | ArbitraryFloatGEALTERA = 5851u32, |
4357 | | ArbitraryFloatLTALTERA = 5852u32, |
4358 | | ArbitraryFloatLEALTERA = 5853u32, |
4359 | | ArbitraryFloatEQALTERA = 5854u32, |
4360 | | ArbitraryFloatRecipALTERA = 5855u32, |
4361 | | ArbitraryFloatRSqrtALTERA = 5856u32, |
4362 | | ArbitraryFloatCbrtALTERA = 5857u32, |
4363 | | ArbitraryFloatHypotALTERA = 5858u32, |
4364 | | ArbitraryFloatSqrtALTERA = 5859u32, |
4365 | | ArbitraryFloatLogINTEL = 5860u32, |
4366 | | ArbitraryFloatLog2INTEL = 5861u32, |
4367 | | ArbitraryFloatLog10INTEL = 5862u32, |
4368 | | ArbitraryFloatLog1pINTEL = 5863u32, |
4369 | | ArbitraryFloatExpINTEL = 5864u32, |
4370 | | ArbitraryFloatExp2INTEL = 5865u32, |
4371 | | ArbitraryFloatExp10INTEL = 5866u32, |
4372 | | ArbitraryFloatExpm1INTEL = 5867u32, |
4373 | | ArbitraryFloatSinINTEL = 5868u32, |
4374 | | ArbitraryFloatCosINTEL = 5869u32, |
4375 | | ArbitraryFloatSinCosINTEL = 5870u32, |
4376 | | ArbitraryFloatSinPiINTEL = 5871u32, |
4377 | | ArbitraryFloatCosPiINTEL = 5872u32, |
4378 | | ArbitraryFloatASinINTEL = 5873u32, |
4379 | | ArbitraryFloatASinPiINTEL = 5874u32, |
4380 | | ArbitraryFloatACosINTEL = 5875u32, |
4381 | | ArbitraryFloatACosPiINTEL = 5876u32, |
4382 | | ArbitraryFloatATanINTEL = 5877u32, |
4383 | | ArbitraryFloatATanPiINTEL = 5878u32, |
4384 | | ArbitraryFloatATan2INTEL = 5879u32, |
4385 | | ArbitraryFloatPowINTEL = 5880u32, |
4386 | | ArbitraryFloatPowRINTEL = 5881u32, |
4387 | | ArbitraryFloatPowNINTEL = 5882u32, |
4388 | | LoopControlINTEL = 5887u32, |
4389 | | AliasDomainDeclINTEL = 5911u32, |
4390 | | AliasScopeDeclINTEL = 5912u32, |
4391 | | AliasScopeListDeclINTEL = 5913u32, |
4392 | | FixedSqrtALTERA = 5923u32, |
4393 | | FixedRecipALTERA = 5924u32, |
4394 | | FixedRsqrtALTERA = 5925u32, |
4395 | | FixedSinALTERA = 5926u32, |
4396 | | FixedCosALTERA = 5927u32, |
4397 | | FixedSinCosALTERA = 5928u32, |
4398 | | FixedSinPiALTERA = 5929u32, |
4399 | | FixedCosPiALTERA = 5930u32, |
4400 | | FixedSinCosPiALTERA = 5931u32, |
4401 | | FixedLogALTERA = 5932u32, |
4402 | | FixedExpALTERA = 5933u32, |
4403 | | PtrCastToCrossWorkgroupALTERA = 5934u32, |
4404 | | CrossWorkgroupCastToPtrALTERA = 5938u32, |
4405 | | ReadPipeBlockingALTERA = 5946u32, |
4406 | | WritePipeBlockingALTERA = 5947u32, |
4407 | | FPGARegALTERA = 5949u32, |
4408 | | RayQueryGetRayTMinKHR = 6016u32, |
4409 | | RayQueryGetRayFlagsKHR = 6017u32, |
4410 | | RayQueryGetIntersectionTKHR = 6018u32, |
4411 | | RayQueryGetIntersectionInstanceCustomIndexKHR = 6019u32, |
4412 | | RayQueryGetIntersectionInstanceIdKHR = 6020u32, |
4413 | | RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021u32, |
4414 | | RayQueryGetIntersectionGeometryIndexKHR = 6022u32, |
4415 | | RayQueryGetIntersectionPrimitiveIndexKHR = 6023u32, |
4416 | | RayQueryGetIntersectionBarycentricsKHR = 6024u32, |
4417 | | RayQueryGetIntersectionFrontFaceKHR = 6025u32, |
4418 | | RayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026u32, |
4419 | | RayQueryGetIntersectionObjectRayDirectionKHR = 6027u32, |
4420 | | RayQueryGetIntersectionObjectRayOriginKHR = 6028u32, |
4421 | | RayQueryGetWorldRayDirectionKHR = 6029u32, |
4422 | | RayQueryGetWorldRayOriginKHR = 6030u32, |
4423 | | RayQueryGetIntersectionObjectToWorldKHR = 6031u32, |
4424 | | RayQueryGetIntersectionWorldToObjectKHR = 6032u32, |
4425 | | AtomicFAddEXT = 6035u32, |
4426 | | TypeBufferSurfaceINTEL = 6086u32, |
4427 | | TypeStructContinuedINTEL = 6090u32, |
4428 | | ConstantCompositeContinuedINTEL = 6091u32, |
4429 | | SpecConstantCompositeContinuedINTEL = 6092u32, |
4430 | | CompositeConstructContinuedINTEL = 6096u32, |
4431 | | ConvertFToBF16INTEL = 6116u32, |
4432 | | ConvertBF16ToFINTEL = 6117u32, |
4433 | | ControlBarrierArriveINTEL = 6142u32, |
4434 | | ControlBarrierWaitINTEL = 6143u32, |
4435 | | ArithmeticFenceEXT = 6145u32, |
4436 | | TaskSequenceCreateALTERA = 6163u32, |
4437 | | TaskSequenceAsyncALTERA = 6164u32, |
4438 | | TaskSequenceGetALTERA = 6165u32, |
4439 | | TaskSequenceReleaseALTERA = 6166u32, |
4440 | | TypeTaskSequenceALTERA = 6199u32, |
4441 | | SubgroupBlockPrefetchINTEL = 6221u32, |
4442 | | Subgroup2DBlockLoadINTEL = 6231u32, |
4443 | | Subgroup2DBlockLoadTransformINTEL = 6232u32, |
4444 | | Subgroup2DBlockLoadTransposeINTEL = 6233u32, |
4445 | | Subgroup2DBlockPrefetchINTEL = 6234u32, |
4446 | | Subgroup2DBlockStoreINTEL = 6235u32, |
4447 | | SubgroupMatrixMultiplyAccumulateINTEL = 6237u32, |
4448 | | BitwiseFunctionINTEL = 6242u32, |
4449 | | UntypedVariableLengthArrayINTEL = 6244u32, |
4450 | | ConditionalExtensionINTEL = 6248u32, |
4451 | | ConditionalEntryPointINTEL = 6249u32, |
4452 | | ConditionalCapabilityINTEL = 6250u32, |
4453 | | SpecConstantTargetINTEL = 6251u32, |
4454 | | SpecConstantArchitectureINTEL = 6252u32, |
4455 | | SpecConstantCapabilitiesINTEL = 6253u32, |
4456 | | ConditionalCopyObjectINTEL = 6254u32, |
4457 | | GroupIMulKHR = 6401u32, |
4458 | | GroupFMulKHR = 6402u32, |
4459 | | GroupBitwiseAndKHR = 6403u32, |
4460 | | GroupBitwiseOrKHR = 6404u32, |
4461 | | GroupBitwiseXorKHR = 6405u32, |
4462 | | GroupLogicalAndKHR = 6406u32, |
4463 | | GroupLogicalOrKHR = 6407u32, |
4464 | | GroupLogicalXorKHR = 6408u32, |
4465 | | RoundFToTF32INTEL = 6426u32, |
4466 | | MaskedGatherINTEL = 6428u32, |
4467 | | MaskedScatterINTEL = 6429u32, |
4468 | | ConvertHandleToImageINTEL = 6529u32, |
4469 | | ConvertHandleToSamplerINTEL = 6530u32, |
4470 | | ConvertHandleToSampledImageINTEL = 6531u32, |
4471 | | } |
4472 | | impl Op { |
4473 | 317k | pub fn from_u32(n: u32) -> Option<Self> { |
4474 | 317k | Some(match n { |
4475 | 317k | 0u32..=8u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4476 | 317k | 10u32..=12u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4477 | 317k | 14u32..=17u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4478 | 317k | 19u32..=39u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4479 | 221k | 41u32..=46u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4480 | 221k | 48u32..=52u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4481 | 221k | 54u32..=57u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4482 | 220k | 59u32..=75u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4483 | 220k | 77u32..=84u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4484 | 220k | 86u32..=107u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4485 | 220k | 109u32..=124u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4486 | 220k | 126u32..=152u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4487 | 32.8k | 154u32..=191u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4488 | 32.8k | 194u32..=205u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4489 | 32.8k | 207u32..=215u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4490 | 8.57k | 218u32..=221u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4491 | 8.57k | 224u32..=225u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4492 | 8.57k | 227u32..=242u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4493 | 8.57k | 245u32..=257u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4494 | 2 | 259u32..=271u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4495 | 2 | 274u32..=288u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4496 | 2 | 291u32..=366u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4497 | 2 | 400u32..=403u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4498 | 2 | 4160u32..=4166u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4499 | 2 | 4181u32..=4186u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4500 | 0 | 4190u32 => unsafe { core::mem::transmute::<u32, Op>(4190u32) }, |
4501 | 2 | 4416u32..=4434u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4502 | 2 | 4445u32..=4463u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4503 | 2 | 4472u32..=4477u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4504 | 2 | 4479u32..=4483u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4505 | 0 | 4497u32 => unsafe { core::mem::transmute::<u32, Op>(4497u32) }, |
4506 | 2 | 4500u32..=4503u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4507 | 2 | 4540u32..=4542u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4508 | 2 | 5000u32..=5007u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4509 | 2 | 5011u32..=5012u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4510 | 0 | 5056u32 => unsafe { core::mem::transmute::<u32, Op>(5056u32) }, |
4511 | 2 | 5074u32..=5076u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4512 | 0 | 5078u32 => unsafe { core::mem::transmute::<u32, Op>(5078u32) }, |
4513 | 0 | 5090u32 => unsafe { core::mem::transmute::<u32, Op>(5090u32) }, |
4514 | 0 | 5101u32 => unsafe { core::mem::transmute::<u32, Op>(5101u32) }, |
4515 | 2 | 5103u32..=5104u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4516 | 2 | 5110u32..=5111u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4517 | 0 | 5115u32 => unsafe { core::mem::transmute::<u32, Op>(5115u32) }, |
4518 | 0 | 5119u32 => unsafe { core::mem::transmute::<u32, Op>(5119u32) }, |
4519 | 2 | 5126u32..=5127u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4520 | 0 | 5129u32 => unsafe { core::mem::transmute::<u32, Op>(5129u32) }, |
4521 | 2 | 5249u32..=5281u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4522 | 0 | 5283u32 => unsafe { core::mem::transmute::<u32, Op>(5283u32) }, |
4523 | 2 | 5288u32..=5296u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4524 | 2 | 5299u32..=5341u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4525 | 2 | 5344u32..=5352u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4526 | 2 | 5358u32..=5362u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4527 | 2 | 5364u32..=5382u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4528 | 0 | 5384u32 => unsafe { core::mem::transmute::<u32, Op>(5384u32) }, |
4529 | 2 | 5390u32..=5398u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4530 | 2 | 5427u32..=5439u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4531 | 2 | 5571u32..=5578u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4532 | 2 | 5580u32..=5581u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4533 | 2 | 5585u32..=5598u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4534 | 2 | 5600u32..=5601u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4535 | 2 | 5609u32..=5611u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4536 | 2 | 5614u32..=5615u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4537 | 2 | 5630u32..=5633u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4538 | 2 | 5699u32..=5816u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4539 | 2 | 5818u32..=5820u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4540 | 2 | 5840u32..=5843u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4541 | 2 | 5846u32..=5882u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4542 | 0 | 5887u32 => unsafe { core::mem::transmute::<u32, Op>(5887u32) }, |
4543 | 2 | 5911u32..=5913u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4544 | 2 | 5923u32..=5934u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4545 | 0 | 5938u32 => unsafe { core::mem::transmute::<u32, Op>(5938u32) }, |
4546 | 2 | 5946u32..=5947u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4547 | 0 | 5949u32 => unsafe { core::mem::transmute::<u32, Op>(5949u32) }, |
4548 | 2 | 6016u32..=6032u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4549 | 0 | 6035u32 => unsafe { core::mem::transmute::<u32, Op>(6035u32) }, |
4550 | 0 | 6086u32 => unsafe { core::mem::transmute::<u32, Op>(6086u32) }, |
4551 | 2 | 6090u32..=6092u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4552 | 0 | 6096u32 => unsafe { core::mem::transmute::<u32, Op>(6096u32) }, |
4553 | 2 | 6116u32..=6117u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4554 | 2 | 6142u32..=6143u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4555 | 0 | 6145u32 => unsafe { core::mem::transmute::<u32, Op>(6145u32) }, |
4556 | 2 | 6163u32..=6166u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4557 | 0 | 6199u32 => unsafe { core::mem::transmute::<u32, Op>(6199u32) }, |
4558 | 0 | 6221u32 => unsafe { core::mem::transmute::<u32, Op>(6221u32) }, |
4559 | 2 | 6231u32..=6235u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4560 | 0 | 6237u32 => unsafe { core::mem::transmute::<u32, Op>(6237u32) }, |
4561 | 0 | 6242u32 => unsafe { core::mem::transmute::<u32, Op>(6242u32) }, |
4562 | 0 | 6244u32 => unsafe { core::mem::transmute::<u32, Op>(6244u32) }, |
4563 | 2 | 6248u32..=6254u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4564 | 2 | 6401u32..=6408u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4565 | 0 | 6426u32 => unsafe { core::mem::transmute::<u32, Op>(6426u32) }, |
4566 | 2 | 6428u32..=6429u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4567 | 2 | 6529u32..=6531u32 => unsafe { core::mem::transmute::<u32, Op>(n) }, |
4568 | 2 | _ => return None, |
4569 | | }) |
4570 | 317k | } |
4571 | | } |
4572 | | #[allow(clippy::upper_case_acronyms)] |
4573 | | #[allow(non_upper_case_globals)] |
4574 | | impl Op { |
4575 | | pub const SDotKHR: Self = Self::SDot; |
4576 | | pub const UDotKHR: Self = Self::UDot; |
4577 | | pub const SUDotKHR: Self = Self::SUDot; |
4578 | | pub const SDotAccSatKHR: Self = Self::SDotAccSat; |
4579 | | pub const UDotAccSatKHR: Self = Self::UDotAccSat; |
4580 | | pub const SUDotAccSatKHR: Self = Self::SUDotAccSat; |
4581 | | pub const TypeCooperativeVectorNV: Self = Self::TypeVectorIdEXT; |
4582 | | pub const GroupNonUniformPartitionNV: Self = Self::GroupNonUniformPartitionEXT; |
4583 | | pub const ReportIntersectionNV: Self = Self::ReportIntersectionKHR; |
4584 | | pub const TypeAccelerationStructureNV: Self = Self::TypeAccelerationStructureKHR; |
4585 | | pub const RayQueryGetClusterIdNV: Self = Self::RayQueryGetIntersectionClusterIdNV; |
4586 | | pub const DemoteToHelperInvocationEXT: Self = Self::DemoteToHelperInvocation; |
4587 | | pub const DecorateStringGOOGLE: Self = Self::DecorateString; |
4588 | | pub const MemberDecorateStringGOOGLE: Self = Self::MemberDecorateString; |
4589 | | pub const ArbitraryFloatSinCosPiINTEL: Self = Self::ArbitraryFloatSinCosPiALTERA; |
4590 | | pub const ArbitraryFloatCastINTEL: Self = Self::ArbitraryFloatCastALTERA; |
4591 | | pub const ArbitraryFloatCastFromIntINTEL: Self = Self::ArbitraryFloatCastFromIntALTERA; |
4592 | | pub const ArbitraryFloatCastToIntINTEL: Self = Self::ArbitraryFloatCastToIntALTERA; |
4593 | | pub const ArbitraryFloatAddINTEL: Self = Self::ArbitraryFloatAddALTERA; |
4594 | | pub const ArbitraryFloatSubINTEL: Self = Self::ArbitraryFloatSubALTERA; |
4595 | | pub const ArbitraryFloatMulINTEL: Self = Self::ArbitraryFloatMulALTERA; |
4596 | | pub const ArbitraryFloatDivINTEL: Self = Self::ArbitraryFloatDivALTERA; |
4597 | | pub const ArbitraryFloatGTINTEL: Self = Self::ArbitraryFloatGTALTERA; |
4598 | | pub const ArbitraryFloatGEINTEL: Self = Self::ArbitraryFloatGEALTERA; |
4599 | | pub const ArbitraryFloatLTINTEL: Self = Self::ArbitraryFloatLTALTERA; |
4600 | | pub const ArbitraryFloatLEINTEL: Self = Self::ArbitraryFloatLEALTERA; |
4601 | | pub const ArbitraryFloatEQINTEL: Self = Self::ArbitraryFloatEQALTERA; |
4602 | | pub const ArbitraryFloatRecipINTEL: Self = Self::ArbitraryFloatRecipALTERA; |
4603 | | pub const ArbitraryFloatRSqrtINTEL: Self = Self::ArbitraryFloatRSqrtALTERA; |
4604 | | pub const ArbitraryFloatCbrtINTEL: Self = Self::ArbitraryFloatCbrtALTERA; |
4605 | | pub const ArbitraryFloatHypotINTEL: Self = Self::ArbitraryFloatHypotALTERA; |
4606 | | pub const ArbitraryFloatSqrtINTEL: Self = Self::ArbitraryFloatSqrtALTERA; |
4607 | | pub const FixedSqrtINTEL: Self = Self::FixedSqrtALTERA; |
4608 | | pub const FixedRecipINTEL: Self = Self::FixedRecipALTERA; |
4609 | | pub const FixedRsqrtINTEL: Self = Self::FixedRsqrtALTERA; |
4610 | | pub const FixedSinINTEL: Self = Self::FixedSinALTERA; |
4611 | | pub const FixedCosINTEL: Self = Self::FixedCosALTERA; |
4612 | | pub const FixedSinCosINTEL: Self = Self::FixedSinCosALTERA; |
4613 | | pub const FixedSinPiINTEL: Self = Self::FixedSinPiALTERA; |
4614 | | pub const FixedCosPiINTEL: Self = Self::FixedCosPiALTERA; |
4615 | | pub const FixedSinCosPiINTEL: Self = Self::FixedSinCosPiALTERA; |
4616 | | pub const FixedLogINTEL: Self = Self::FixedLogALTERA; |
4617 | | pub const FixedExpINTEL: Self = Self::FixedExpALTERA; |
4618 | | pub const PtrCastToCrossWorkgroupINTEL: Self = Self::PtrCastToCrossWorkgroupALTERA; |
4619 | | pub const CrossWorkgroupCastToPtrINTEL: Self = Self::CrossWorkgroupCastToPtrALTERA; |
4620 | | pub const ReadPipeBlockingINTEL: Self = Self::ReadPipeBlockingALTERA; |
4621 | | pub const WritePipeBlockingINTEL: Self = Self::WritePipeBlockingALTERA; |
4622 | | pub const FPGARegINTEL: Self = Self::FPGARegALTERA; |
4623 | | pub const TaskSequenceCreateINTEL: Self = Self::TaskSequenceCreateALTERA; |
4624 | | pub const TaskSequenceAsyncINTEL: Self = Self::TaskSequenceAsyncALTERA; |
4625 | | pub const TaskSequenceGetINTEL: Self = Self::TaskSequenceGetALTERA; |
4626 | | pub const TaskSequenceReleaseINTEL: Self = Self::TaskSequenceReleaseALTERA; |
4627 | | pub const TypeTaskSequenceINTEL: Self = Self::TypeTaskSequenceALTERA; |
4628 | | #[doc = r" Returns [`true`] if the given opcode is a type-declaring instruction."] |
4629 | | #[doc = r""] |
4630 | | #[doc = r" <https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_type_declaration_instructions>"] |
4631 | 0 | pub fn is_type(self) -> bool { |
4632 | 0 | matches!( |
4633 | 0 | self, |
4634 | | Self::TypeVoid |
4635 | | | Self::TypeBool |
4636 | | | Self::TypeInt |
4637 | | | Self::TypeFloat |
4638 | | | Self::TypeVector |
4639 | | | Self::TypeMatrix |
4640 | | | Self::TypeImage |
4641 | | | Self::TypeSampler |
4642 | | | Self::TypeSampledImage |
4643 | | | Self::TypeArray |
4644 | | | Self::TypeRuntimeArray |
4645 | | | Self::TypeStruct |
4646 | | | Self::TypeOpaque |
4647 | | | Self::TypePointer |
4648 | | | Self::TypeFunction |
4649 | | | Self::TypeEvent |
4650 | | | Self::TypeDeviceEvent |
4651 | | | Self::TypeReserveId |
4652 | | | Self::TypeQueue |
4653 | | | Self::TypePipe |
4654 | | | Self::TypeForwardPointer |
4655 | | | Self::TypePipeStorage |
4656 | | | Self::TypeNamedBarrier |
4657 | | | Self::TypeTensorARM |
4658 | | | Self::TypeGraphARM |
4659 | | | Self::TypeUntypedPointerKHR |
4660 | | | Self::TypeCooperativeMatrixKHR |
4661 | | | Self::TypeRayQueryKHR |
4662 | | | Self::TypeNodePayloadArrayAMDX |
4663 | | | Self::TypeBufferEXT |
4664 | | | Self::TypeHitObjectNV |
4665 | | | Self::TypeVectorIdEXT |
4666 | | | Self::TypeHitObjectEXT |
4667 | | | Self::TypeAccelerationStructureKHR |
4668 | | | Self::TypeCooperativeMatrixNV |
4669 | | | Self::TypeTensorLayoutNV |
4670 | | | Self::TypeTensorViewNV |
4671 | | | Self::TypeBufferSurfaceINTEL |
4672 | | | Self::TypeStructContinuedINTEL |
4673 | | ) |
4674 | 0 | } |
4675 | | #[doc = r" Returns [`true`] if the given opcode is a constant-defining instruction."] |
4676 | | #[doc = r""] |
4677 | | #[doc = r" <https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_constant_creation_instructions>"] |
4678 | 0 | pub fn is_constant(self) -> bool { |
4679 | 0 | matches!( |
4680 | 0 | self, |
4681 | | Self::ConstantTrue |
4682 | | | Self::ConstantFalse |
4683 | | | Self::Constant |
4684 | | | Self::ConstantComposite |
4685 | | | Self::ConstantSampler |
4686 | | | Self::ConstantNull |
4687 | | | Self::SpecConstantTrue |
4688 | | | Self::SpecConstantFalse |
4689 | | | Self::SpecConstant |
4690 | | | Self::SpecConstantComposite |
4691 | | | Self::SpecConstantOp |
4692 | | | Self::ConstantCompositeReplicateEXT |
4693 | | | Self::SpecConstantCompositeReplicateEXT |
4694 | | | Self::ConstantSizeOfEXT |
4695 | | | Self::ConstantCompositeContinuedINTEL |
4696 | | | Self::SpecConstantCompositeContinuedINTEL |
4697 | | | Self::SpecConstantTargetINTEL |
4698 | | | Self::SpecConstantArchitectureINTEL |
4699 | | | Self::SpecConstantCapabilitiesINTEL |
4700 | | ) |
4701 | 0 | } |
4702 | | #[doc = r" Returns [`true`] if the given opcode is an annotation instruction."] |
4703 | | #[doc = r""] |
4704 | | #[doc = r" <https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Annotation>"] |
4705 | 0 | pub fn is_annotation(self) -> bool { |
4706 | 0 | matches!( |
4707 | 0 | self, |
4708 | | Self::Decorate |
4709 | | | Self::MemberDecorate |
4710 | | | Self::DecorationGroup |
4711 | | | Self::GroupDecorate |
4712 | | | Self::GroupMemberDecorate |
4713 | | | Self::DecorateId |
4714 | | | Self::MemberDecorateIdEXT |
4715 | | | Self::DecorateString |
4716 | | | Self::MemberDecorateString |
4717 | | ) |
4718 | 0 | } |
4719 | | #[doc = r" Returns [`true`] if the given opcode is a debug instruction."] |
4720 | | #[doc = r""] |
4721 | | #[doc = r" <https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_debug_instructions>"] |
4722 | 0 | pub fn is_debug(self) -> bool { |
4723 | 0 | matches!( |
4724 | 0 | self, |
4725 | | Self::SourceContinued |
4726 | | | Self::Source |
4727 | | | Self::SourceExtension |
4728 | | | Self::Name |
4729 | | | Self::MemberName |
4730 | | | Self::String |
4731 | | | Self::Line |
4732 | | | Self::NoLine |
4733 | | | Self::ModuleProcessed |
4734 | | ) |
4735 | 0 | } |
4736 | | #[doc = r" Returns [`true`] if the given opcode is a control-flow instruction."] |
4737 | | #[doc = r""] |
4738 | | #[doc = r" <https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_control_flow_instructions>"] |
4739 | 0 | pub fn is_control_flow(self) -> bool { |
4740 | 0 | matches!( |
4741 | 0 | self, |
4742 | | Self::Phi |
4743 | | | Self::LoopMerge |
4744 | | | Self::SelectionMerge |
4745 | | | Self::Label |
4746 | | | Self::Branch |
4747 | | | Self::BranchConditional |
4748 | | | Self::Switch |
4749 | | | Self::Kill |
4750 | | | Self::Return |
4751 | | | Self::ReturnValue |
4752 | | | Self::Unreachable |
4753 | | | Self::LifetimeStart |
4754 | | | Self::LifetimeStop |
4755 | | | Self::TerminateInvocation |
4756 | | | Self::DemoteToHelperInvocation |
4757 | | ) |
4758 | 0 | } |
4759 | | } |
4760 | | #[doc = "[Arm.MotionEngine.100](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json) extended instruction opcode"] |
4761 | | #[repr(u32)] |
4762 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
4763 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
4764 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
4765 | | #[allow(clippy::upper_case_acronyms)] |
4766 | | pub enum ArmMotionEngine100Op { |
4767 | | MIN_SAD = 0u32, |
4768 | | MIN_SAD_COST = 1u32, |
4769 | | RAW_SAD = 2u32, |
4770 | | } |
4771 | | impl ArmMotionEngine100Op { |
4772 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
4773 | 0 | Some(match n { |
4774 | 0 | 0u32..=2u32 => unsafe { core::mem::transmute::<u32, ArmMotionEngine100Op>(n) }, |
4775 | 0 | _ => return None, |
4776 | | }) |
4777 | 0 | } |
4778 | | } |
4779 | | #[doc = "[DebugInfo](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.debuginfo.grammar.json) extended instruction opcode"] |
4780 | | #[repr(u32)] |
4781 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
4782 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
4783 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
4784 | | #[allow(clippy::upper_case_acronyms)] |
4785 | | pub enum DebuginfoOp { |
4786 | | DebugInfoNone = 0u32, |
4787 | | DebugCompilationUnit = 1u32, |
4788 | | DebugTypeBasic = 2u32, |
4789 | | DebugTypePointer = 3u32, |
4790 | | DebugTypeQualifier = 4u32, |
4791 | | DebugTypeArray = 5u32, |
4792 | | DebugTypeVector = 6u32, |
4793 | | DebugTypedef = 7u32, |
4794 | | DebugTypeFunction = 8u32, |
4795 | | DebugTypeEnum = 9u32, |
4796 | | DebugTypeComposite = 10u32, |
4797 | | DebugTypeMember = 11u32, |
4798 | | DebugTypeInheritance = 12u32, |
4799 | | DebugTypePtrToMember = 13u32, |
4800 | | DebugTypeTemplate = 14u32, |
4801 | | DebugTypeTemplateParameter = 15u32, |
4802 | | DebugTypeTemplateTemplateParameter = 16u32, |
4803 | | DebugTypeTemplateParameterPack = 17u32, |
4804 | | DebugGlobalVariable = 18u32, |
4805 | | DebugFunctionDeclaration = 19u32, |
4806 | | DebugFunction = 20u32, |
4807 | | DebugLexicalBlock = 21u32, |
4808 | | DebugLexicalBlockDiscriminator = 22u32, |
4809 | | DebugScope = 23u32, |
4810 | | DebugNoScope = 24u32, |
4811 | | DebugInlinedAt = 25u32, |
4812 | | DebugLocalVariable = 26u32, |
4813 | | DebugInlinedVariable = 27u32, |
4814 | | DebugDeclare = 28u32, |
4815 | | DebugValue = 29u32, |
4816 | | DebugOperation = 30u32, |
4817 | | DebugExpression = 31u32, |
4818 | | DebugMacroDef = 32u32, |
4819 | | DebugMacroUndef = 33u32, |
4820 | | } |
4821 | | impl DebuginfoOp { |
4822 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
4823 | 0 | Some(match n { |
4824 | 0 | 0u32..=33u32 => unsafe { core::mem::transmute::<u32, DebuginfoOp>(n) }, |
4825 | 0 | _ => return None, |
4826 | | }) |
4827 | 0 | } |
4828 | | } |
4829 | | #[doc = "[GLSL.std.450](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.glsl.std.450.grammar.json) extended instruction opcode"] |
4830 | | #[repr(u32)] |
4831 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
4832 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
4833 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
4834 | | #[allow(clippy::upper_case_acronyms)] |
4835 | | pub enum GlslStd450Op { |
4836 | | Round = 1u32, |
4837 | | RoundEven = 2u32, |
4838 | | Trunc = 3u32, |
4839 | | FAbs = 4u32, |
4840 | | SAbs = 5u32, |
4841 | | FSign = 6u32, |
4842 | | SSign = 7u32, |
4843 | | Floor = 8u32, |
4844 | | Ceil = 9u32, |
4845 | | Fract = 10u32, |
4846 | | Radians = 11u32, |
4847 | | Degrees = 12u32, |
4848 | | Sin = 13u32, |
4849 | | Cos = 14u32, |
4850 | | Tan = 15u32, |
4851 | | Asin = 16u32, |
4852 | | Acos = 17u32, |
4853 | | Atan = 18u32, |
4854 | | Sinh = 19u32, |
4855 | | Cosh = 20u32, |
4856 | | Tanh = 21u32, |
4857 | | Asinh = 22u32, |
4858 | | Acosh = 23u32, |
4859 | | Atanh = 24u32, |
4860 | | Atan2 = 25u32, |
4861 | | Pow = 26u32, |
4862 | | Exp = 27u32, |
4863 | | Log = 28u32, |
4864 | | Exp2 = 29u32, |
4865 | | Log2 = 30u32, |
4866 | | Sqrt = 31u32, |
4867 | | InverseSqrt = 32u32, |
4868 | | Determinant = 33u32, |
4869 | | MatrixInverse = 34u32, |
4870 | | Modf = 35u32, |
4871 | | ModfStruct = 36u32, |
4872 | | FMin = 37u32, |
4873 | | UMin = 38u32, |
4874 | | SMin = 39u32, |
4875 | | FMax = 40u32, |
4876 | | UMax = 41u32, |
4877 | | SMax = 42u32, |
4878 | | FClamp = 43u32, |
4879 | | UClamp = 44u32, |
4880 | | SClamp = 45u32, |
4881 | | FMix = 46u32, |
4882 | | IMix = 47u32, |
4883 | | Step = 48u32, |
4884 | | SmoothStep = 49u32, |
4885 | | Fma = 50u32, |
4886 | | Frexp = 51u32, |
4887 | | FrexpStruct = 52u32, |
4888 | | Ldexp = 53u32, |
4889 | | PackSnorm4x8 = 54u32, |
4890 | | PackUnorm4x8 = 55u32, |
4891 | | PackSnorm2x16 = 56u32, |
4892 | | PackUnorm2x16 = 57u32, |
4893 | | PackHalf2x16 = 58u32, |
4894 | | PackDouble2x32 = 59u32, |
4895 | | UnpackSnorm2x16 = 60u32, |
4896 | | UnpackUnorm2x16 = 61u32, |
4897 | | UnpackHalf2x16 = 62u32, |
4898 | | UnpackSnorm4x8 = 63u32, |
4899 | | UnpackUnorm4x8 = 64u32, |
4900 | | UnpackDouble2x32 = 65u32, |
4901 | | Length = 66u32, |
4902 | | Distance = 67u32, |
4903 | | Cross = 68u32, |
4904 | | Normalize = 69u32, |
4905 | | FaceForward = 70u32, |
4906 | | Reflect = 71u32, |
4907 | | Refract = 72u32, |
4908 | | FindILsb = 73u32, |
4909 | | FindSMsb = 74u32, |
4910 | | FindUMsb = 75u32, |
4911 | | InterpolateAtCentroid = 76u32, |
4912 | | InterpolateAtSample = 77u32, |
4913 | | InterpolateAtOffset = 78u32, |
4914 | | NMin = 79u32, |
4915 | | NMax = 80u32, |
4916 | | NClamp = 81u32, |
4917 | | } |
4918 | | impl GlslStd450Op { |
4919 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
4920 | 0 | Some(match n { |
4921 | 0 | 1u32..=81u32 => unsafe { core::mem::transmute::<u32, GlslStd450Op>(n) }, |
4922 | 0 | _ => return None, |
4923 | | }) |
4924 | 0 | } |
4925 | | } |
4926 | | #[doc = "[NonSemantic.ClspvReflection](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json) extended instruction opcode"] |
4927 | | #[repr(u32)] |
4928 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
4929 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
4930 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
4931 | | #[allow(clippy::upper_case_acronyms)] |
4932 | | pub enum NonsemanticClspvreflectionOp { |
4933 | | Kernel = 1u32, |
4934 | | ArgumentInfo = 2u32, |
4935 | | ArgumentStorageBuffer = 3u32, |
4936 | | ArgumentUniform = 4u32, |
4937 | | ArgumentPodStorageBuffer = 5u32, |
4938 | | ArgumentPodUniform = 6u32, |
4939 | | ArgumentPodPushConstant = 7u32, |
4940 | | ArgumentSampledImage = 8u32, |
4941 | | ArgumentStorageImage = 9u32, |
4942 | | ArgumentSampler = 10u32, |
4943 | | ArgumentWorkgroup = 11u32, |
4944 | | SpecConstantWorkgroupSize = 12u32, |
4945 | | SpecConstantGlobalOffset = 13u32, |
4946 | | SpecConstantWorkDim = 14u32, |
4947 | | PushConstantGlobalOffset = 15u32, |
4948 | | PushConstantEnqueuedLocalSize = 16u32, |
4949 | | PushConstantGlobalSize = 17u32, |
4950 | | PushConstantRegionOffset = 18u32, |
4951 | | PushConstantNumWorkgroups = 19u32, |
4952 | | PushConstantRegionGroupOffset = 20u32, |
4953 | | ConstantDataStorageBuffer = 21u32, |
4954 | | ConstantDataUniform = 22u32, |
4955 | | LiteralSampler = 23u32, |
4956 | | PropertyRequiredWorkgroupSize = 24u32, |
4957 | | SpecConstantSubgroupMaxSize = 25u32, |
4958 | | ArgumentPointerPushConstant = 26u32, |
4959 | | ArgumentPointerUniform = 27u32, |
4960 | | ProgramScopeVariablesStorageBuffer = 28u32, |
4961 | | ProgramScopeVariablePointerRelocation = 29u32, |
4962 | | ImageArgumentInfoChannelOrderPushConstant = 30u32, |
4963 | | ImageArgumentInfoChannelDataTypePushConstant = 31u32, |
4964 | | ImageArgumentInfoChannelOrderUniform = 32u32, |
4965 | | ImageArgumentInfoChannelDataTypeUniform = 33u32, |
4966 | | ArgumentStorageTexelBuffer = 34u32, |
4967 | | ArgumentUniformTexelBuffer = 35u32, |
4968 | | ConstantDataPointerPushConstant = 36u32, |
4969 | | ProgramScopeVariablePointerPushConstant = 37u32, |
4970 | | PrintfInfo = 38u32, |
4971 | | PrintfBufferStorageBuffer = 39u32, |
4972 | | PrintfBufferPointerPushConstant = 40u32, |
4973 | | NormalizedSamplerMaskPushConstant = 41u32, |
4974 | | WorkgroupVariableSize = 42u32, |
4975 | | } |
4976 | | impl NonsemanticClspvreflectionOp { |
4977 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
4978 | 0 | Some(match n { |
4979 | 0 | 1u32..=42u32 => unsafe { core::mem::transmute::<u32, NonsemanticClspvreflectionOp>(n) }, |
4980 | 0 | _ => return None, |
4981 | | }) |
4982 | 0 | } |
4983 | | } |
4984 | | #[doc = "[NonSemantic.DebugBreak](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.nonsemantic.debugbreak.grammar.json) extended instruction opcode"] |
4985 | | #[repr(u32)] |
4986 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
4987 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
4988 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
4989 | | #[allow(clippy::upper_case_acronyms)] |
4990 | | pub enum NonsemanticDebugbreakOp { |
4991 | | DebugBreak = 1u32, |
4992 | | } |
4993 | | impl NonsemanticDebugbreakOp { |
4994 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
4995 | 0 | Some(match n { |
4996 | 0 | 1u32 => unsafe { core::mem::transmute::<u32, NonsemanticDebugbreakOp>(1u32) }, |
4997 | 0 | _ => return None, |
4998 | | }) |
4999 | 0 | } |
5000 | | } |
5001 | | #[doc = "[NonSemantic.DebugPrintf](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json) extended instruction opcode"] |
5002 | | #[repr(u32)] |
5003 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5004 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5005 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5006 | | #[allow(clippy::upper_case_acronyms)] |
5007 | | pub enum NonsemanticDebugprintfOp { |
5008 | | DebugPrintf = 1u32, |
5009 | | } |
5010 | | impl NonsemanticDebugprintfOp { |
5011 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5012 | 0 | Some(match n { |
5013 | 0 | 1u32 => unsafe { core::mem::transmute::<u32, NonsemanticDebugprintfOp>(1u32) }, |
5014 | 0 | _ => return None, |
5015 | | }) |
5016 | 0 | } |
5017 | | } |
5018 | | #[doc = "[NonSemantic.Shader.DebugInfo.100](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json) extended instruction opcode"] |
5019 | | #[repr(u32)] |
5020 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5021 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5022 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5023 | | #[allow(clippy::upper_case_acronyms)] |
5024 | | pub enum NonsemanticShaderDebuginfo100Op { |
5025 | | DebugInfoNone = 0u32, |
5026 | | DebugCompilationUnit = 1u32, |
5027 | | DebugTypeBasic = 2u32, |
5028 | | DebugTypePointer = 3u32, |
5029 | | DebugTypeQualifier = 4u32, |
5030 | | DebugTypeArray = 5u32, |
5031 | | DebugTypeVector = 6u32, |
5032 | | DebugTypedef = 7u32, |
5033 | | DebugTypeFunction = 8u32, |
5034 | | DebugTypeEnum = 9u32, |
5035 | | DebugTypeComposite = 10u32, |
5036 | | DebugTypeMember = 11u32, |
5037 | | DebugTypeInheritance = 12u32, |
5038 | | DebugTypePtrToMember = 13u32, |
5039 | | DebugTypeTemplate = 14u32, |
5040 | | DebugTypeTemplateParameter = 15u32, |
5041 | | DebugTypeTemplateTemplateParameter = 16u32, |
5042 | | DebugTypeTemplateParameterPack = 17u32, |
5043 | | DebugGlobalVariable = 18u32, |
5044 | | DebugFunctionDeclaration = 19u32, |
5045 | | DebugFunction = 20u32, |
5046 | | DebugLexicalBlock = 21u32, |
5047 | | DebugLexicalBlockDiscriminator = 22u32, |
5048 | | DebugScope = 23u32, |
5049 | | DebugNoScope = 24u32, |
5050 | | DebugInlinedAt = 25u32, |
5051 | | DebugLocalVariable = 26u32, |
5052 | | DebugInlinedVariable = 27u32, |
5053 | | DebugDeclare = 28u32, |
5054 | | DebugValue = 29u32, |
5055 | | DebugOperation = 30u32, |
5056 | | DebugExpression = 31u32, |
5057 | | DebugMacroDef = 32u32, |
5058 | | DebugMacroUndef = 33u32, |
5059 | | DebugImportedEntity = 34u32, |
5060 | | DebugSource = 35u32, |
5061 | | DebugFunctionDefinition = 101u32, |
5062 | | DebugSourceContinued = 102u32, |
5063 | | DebugLine = 103u32, |
5064 | | DebugNoLine = 104u32, |
5065 | | DebugBuildIdentifier = 105u32, |
5066 | | DebugStoragePath = 106u32, |
5067 | | DebugEntryPoint = 107u32, |
5068 | | DebugTypeMatrix = 108u32, |
5069 | | } |
5070 | | impl NonsemanticShaderDebuginfo100Op { |
5071 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5072 | 0 | Some(match n { |
5073 | 0 | 0u32..=35u32 => unsafe { |
5074 | 0 | core::mem::transmute::<u32, NonsemanticShaderDebuginfo100Op>(n) |
5075 | | }, |
5076 | 0 | 101u32..=108u32 => unsafe { |
5077 | 0 | core::mem::transmute::<u32, NonsemanticShaderDebuginfo100Op>(n) |
5078 | | }, |
5079 | 0 | _ => return None, |
5080 | | }) |
5081 | 0 | } |
5082 | | } |
5083 | | #[doc = "[NonSemantic.VkspReflection](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json) extended instruction opcode"] |
5084 | | #[repr(u32)] |
5085 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5086 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5087 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5088 | | #[allow(clippy::upper_case_acronyms)] |
5089 | | pub enum NonsemanticVkspreflectionOp { |
5090 | | Configuration = 1u32, |
5091 | | StartCounter = 2u32, |
5092 | | StopCounter = 3u32, |
5093 | | PushConstants = 4u32, |
5094 | | SpecializationMapEntry = 5u32, |
5095 | | DescriptorSetBuffer = 6u32, |
5096 | | DescriptorSetImage = 7u32, |
5097 | | DescriptorSetSampler = 8u32, |
5098 | | } |
5099 | | impl NonsemanticVkspreflectionOp { |
5100 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5101 | 0 | Some(match n { |
5102 | 0 | 1u32..=8u32 => unsafe { core::mem::transmute::<u32, NonsemanticVkspreflectionOp>(n) }, |
5103 | 0 | _ => return None, |
5104 | | }) |
5105 | 0 | } |
5106 | | } |
5107 | | #[doc = "[OpenCL.DebugInfo.100](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json) extended instruction opcode"] |
5108 | | #[repr(u32)] |
5109 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5110 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5111 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5112 | | #[allow(clippy::upper_case_acronyms)] |
5113 | | pub enum OpenclDebuginfo100Op { |
5114 | | DebugInfoNone = 0u32, |
5115 | | DebugCompilationUnit = 1u32, |
5116 | | DebugTypeBasic = 2u32, |
5117 | | DebugTypePointer = 3u32, |
5118 | | DebugTypeQualifier = 4u32, |
5119 | | DebugTypeArray = 5u32, |
5120 | | DebugTypeVector = 6u32, |
5121 | | DebugTypedef = 7u32, |
5122 | | DebugTypeFunction = 8u32, |
5123 | | DebugTypeEnum = 9u32, |
5124 | | DebugTypeComposite = 10u32, |
5125 | | DebugTypeMember = 11u32, |
5126 | | DebugTypeInheritance = 12u32, |
5127 | | DebugTypePtrToMember = 13u32, |
5128 | | DebugTypeTemplate = 14u32, |
5129 | | DebugTypeTemplateParameter = 15u32, |
5130 | | DebugTypeTemplateTemplateParameter = 16u32, |
5131 | | DebugTypeTemplateParameterPack = 17u32, |
5132 | | DebugGlobalVariable = 18u32, |
5133 | | DebugFunctionDeclaration = 19u32, |
5134 | | DebugFunction = 20u32, |
5135 | | DebugLexicalBlock = 21u32, |
5136 | | DebugLexicalBlockDiscriminator = 22u32, |
5137 | | DebugScope = 23u32, |
5138 | | DebugNoScope = 24u32, |
5139 | | DebugInlinedAt = 25u32, |
5140 | | DebugLocalVariable = 26u32, |
5141 | | DebugInlinedVariable = 27u32, |
5142 | | DebugDeclare = 28u32, |
5143 | | DebugValue = 29u32, |
5144 | | DebugOperation = 30u32, |
5145 | | DebugExpression = 31u32, |
5146 | | DebugMacroDef = 32u32, |
5147 | | DebugMacroUndef = 33u32, |
5148 | | DebugImportedEntity = 34u32, |
5149 | | DebugSource = 35u32, |
5150 | | DebugModuleINTEL = 36u32, |
5151 | | } |
5152 | | impl OpenclDebuginfo100Op { |
5153 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5154 | 0 | Some(match n { |
5155 | 0 | 0u32..=36u32 => unsafe { core::mem::transmute::<u32, OpenclDebuginfo100Op>(n) }, |
5156 | 0 | _ => return None, |
5157 | | }) |
5158 | 0 | } |
5159 | | } |
5160 | | #[doc = "[OpenCL.std](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.opencl.std.100.grammar.json) extended instruction opcode"] |
5161 | | #[repr(u32)] |
5162 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5163 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5164 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5165 | | #[allow(clippy::upper_case_acronyms)] |
5166 | | pub enum OpenclStd100Op { |
5167 | | acos = 0u32, |
5168 | | acosh = 1u32, |
5169 | | acospi = 2u32, |
5170 | | asin = 3u32, |
5171 | | asinh = 4u32, |
5172 | | asinpi = 5u32, |
5173 | | atan = 6u32, |
5174 | | atan2 = 7u32, |
5175 | | atanh = 8u32, |
5176 | | atanpi = 9u32, |
5177 | | atan2pi = 10u32, |
5178 | | cbrt = 11u32, |
5179 | | ceil = 12u32, |
5180 | | copysign = 13u32, |
5181 | | cos = 14u32, |
5182 | | cosh = 15u32, |
5183 | | cospi = 16u32, |
5184 | | erfc = 17u32, |
5185 | | erf = 18u32, |
5186 | | exp = 19u32, |
5187 | | exp2 = 20u32, |
5188 | | exp10 = 21u32, |
5189 | | expm1 = 22u32, |
5190 | | fabs = 23u32, |
5191 | | fdim = 24u32, |
5192 | | floor = 25u32, |
5193 | | fma = 26u32, |
5194 | | fmax = 27u32, |
5195 | | fmin = 28u32, |
5196 | | fmod = 29u32, |
5197 | | fract = 30u32, |
5198 | | frexp = 31u32, |
5199 | | hypot = 32u32, |
5200 | | ilogb = 33u32, |
5201 | | ldexp = 34u32, |
5202 | | lgamma = 35u32, |
5203 | | lgamma_r = 36u32, |
5204 | | log = 37u32, |
5205 | | log2 = 38u32, |
5206 | | log10 = 39u32, |
5207 | | log1p = 40u32, |
5208 | | logb = 41u32, |
5209 | | mad = 42u32, |
5210 | | maxmag = 43u32, |
5211 | | minmag = 44u32, |
5212 | | modf = 45u32, |
5213 | | nan = 46u32, |
5214 | | nextafter = 47u32, |
5215 | | pow = 48u32, |
5216 | | pown = 49u32, |
5217 | | powr = 50u32, |
5218 | | remainder = 51u32, |
5219 | | remquo = 52u32, |
5220 | | rint = 53u32, |
5221 | | rootn = 54u32, |
5222 | | round = 55u32, |
5223 | | rsqrt = 56u32, |
5224 | | sin = 57u32, |
5225 | | sincos = 58u32, |
5226 | | sinh = 59u32, |
5227 | | sinpi = 60u32, |
5228 | | sqrt = 61u32, |
5229 | | tan = 62u32, |
5230 | | tanh = 63u32, |
5231 | | tanpi = 64u32, |
5232 | | tgamma = 65u32, |
5233 | | trunc = 66u32, |
5234 | | half_cos = 67u32, |
5235 | | half_divide = 68u32, |
5236 | | half_exp = 69u32, |
5237 | | half_exp2 = 70u32, |
5238 | | half_exp10 = 71u32, |
5239 | | half_log = 72u32, |
5240 | | half_log2 = 73u32, |
5241 | | half_log10 = 74u32, |
5242 | | half_powr = 75u32, |
5243 | | half_recip = 76u32, |
5244 | | half_rsqrt = 77u32, |
5245 | | half_sin = 78u32, |
5246 | | half_sqrt = 79u32, |
5247 | | half_tan = 80u32, |
5248 | | native_cos = 81u32, |
5249 | | native_divide = 82u32, |
5250 | | native_exp = 83u32, |
5251 | | native_exp2 = 84u32, |
5252 | | native_exp10 = 85u32, |
5253 | | native_log = 86u32, |
5254 | | native_log2 = 87u32, |
5255 | | native_log10 = 88u32, |
5256 | | native_powr = 89u32, |
5257 | | native_recip = 90u32, |
5258 | | native_rsqrt = 91u32, |
5259 | | native_sin = 92u32, |
5260 | | native_sqrt = 93u32, |
5261 | | native_tan = 94u32, |
5262 | | fclamp = 95u32, |
5263 | | degrees = 96u32, |
5264 | | fmax_common = 97u32, |
5265 | | fmin_common = 98u32, |
5266 | | mix = 99u32, |
5267 | | radians = 100u32, |
5268 | | step = 101u32, |
5269 | | smoothstep = 102u32, |
5270 | | sign = 103u32, |
5271 | | cross = 104u32, |
5272 | | distance = 105u32, |
5273 | | length = 106u32, |
5274 | | normalize = 107u32, |
5275 | | fast_distance = 108u32, |
5276 | | fast_length = 109u32, |
5277 | | fast_normalize = 110u32, |
5278 | | s_abs = 141u32, |
5279 | | s_abs_diff = 142u32, |
5280 | | s_add_sat = 143u32, |
5281 | | u_add_sat = 144u32, |
5282 | | s_hadd = 145u32, |
5283 | | u_hadd = 146u32, |
5284 | | s_rhadd = 147u32, |
5285 | | u_rhadd = 148u32, |
5286 | | s_clamp = 149u32, |
5287 | | u_clamp = 150u32, |
5288 | | clz = 151u32, |
5289 | | ctz = 152u32, |
5290 | | s_mad_hi = 153u32, |
5291 | | u_mad_sat = 154u32, |
5292 | | s_mad_sat = 155u32, |
5293 | | s_max = 156u32, |
5294 | | u_max = 157u32, |
5295 | | s_min = 158u32, |
5296 | | u_min = 159u32, |
5297 | | s_mul_hi = 160u32, |
5298 | | rotate = 161u32, |
5299 | | s_sub_sat = 162u32, |
5300 | | u_sub_sat = 163u32, |
5301 | | u_upsample = 164u32, |
5302 | | s_upsample = 165u32, |
5303 | | popcount = 166u32, |
5304 | | s_mad24 = 167u32, |
5305 | | u_mad24 = 168u32, |
5306 | | s_mul24 = 169u32, |
5307 | | u_mul24 = 170u32, |
5308 | | vloadn = 171u32, |
5309 | | vstoren = 172u32, |
5310 | | vload_half = 173u32, |
5311 | | vload_halfn = 174u32, |
5312 | | vstore_half = 175u32, |
5313 | | vstore_half_r = 176u32, |
5314 | | vstore_halfn = 177u32, |
5315 | | vstore_halfn_r = 178u32, |
5316 | | vloada_halfn = 179u32, |
5317 | | vstorea_halfn = 180u32, |
5318 | | vstorea_halfn_r = 181u32, |
5319 | | shuffle = 182u32, |
5320 | | shuffle2 = 183u32, |
5321 | | printf = 184u32, |
5322 | | prefetch = 185u32, |
5323 | | bitselect = 186u32, |
5324 | | select = 187u32, |
5325 | | u_abs = 201u32, |
5326 | | u_abs_diff = 202u32, |
5327 | | u_mul_hi = 203u32, |
5328 | | u_mad_hi = 204u32, |
5329 | | } |
5330 | | impl OpenclStd100Op { |
5331 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5332 | 0 | Some(match n { |
5333 | 0 | 0u32..=110u32 => unsafe { core::mem::transmute::<u32, OpenclStd100Op>(n) }, |
5334 | 0 | 141u32..=187u32 => unsafe { core::mem::transmute::<u32, OpenclStd100Op>(n) }, |
5335 | 0 | 201u32..=204u32 => unsafe { core::mem::transmute::<u32, OpenclStd100Op>(n) }, |
5336 | 0 | _ => return None, |
5337 | | }) |
5338 | 0 | } |
5339 | | } |
5340 | | #[doc = "[SPV_AMD_gcn_shader](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json) extended instruction opcode"] |
5341 | | #[repr(u32)] |
5342 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5343 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5344 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5345 | | #[allow(clippy::upper_case_acronyms)] |
5346 | | pub enum SpvAmdGcnShaderOp { |
5347 | | CubeFaceIndexAMD = 1u32, |
5348 | | CubeFaceCoordAMD = 2u32, |
5349 | | TimeAMD = 3u32, |
5350 | | } |
5351 | | impl SpvAmdGcnShaderOp { |
5352 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5353 | 0 | Some(match n { |
5354 | 0 | 1u32..=3u32 => unsafe { core::mem::transmute::<u32, SpvAmdGcnShaderOp>(n) }, |
5355 | 0 | _ => return None, |
5356 | | }) |
5357 | 0 | } |
5358 | | } |
5359 | | #[doc = "[SPV_AMD_shader_ballot](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json) extended instruction opcode"] |
5360 | | #[repr(u32)] |
5361 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5362 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5363 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5364 | | #[allow(clippy::upper_case_acronyms)] |
5365 | | pub enum SpvAmdShaderBallotOp { |
5366 | | SwizzleInvocationsAMD = 1u32, |
5367 | | SwizzleInvocationsMaskedAMD = 2u32, |
5368 | | WriteInvocationAMD = 3u32, |
5369 | | MbcntAMD = 4u32, |
5370 | | } |
5371 | | impl SpvAmdShaderBallotOp { |
5372 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5373 | 0 | Some(match n { |
5374 | 0 | 1u32..=4u32 => unsafe { core::mem::transmute::<u32, SpvAmdShaderBallotOp>(n) }, |
5375 | 0 | _ => return None, |
5376 | | }) |
5377 | 0 | } |
5378 | | } |
5379 | | #[doc = "[SPV_AMD_shader_explicit_vertex_parameter](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json) extended instruction opcode"] |
5380 | | #[repr(u32)] |
5381 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5382 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5383 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5384 | | #[allow(clippy::upper_case_acronyms)] |
5385 | | pub enum SpvAmdShaderExplicitVertexParameterOp { |
5386 | | InterpolateAtVertexAMD = 1u32, |
5387 | | } |
5388 | | impl SpvAmdShaderExplicitVertexParameterOp { |
5389 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5390 | 0 | Some(match n { |
5391 | | 1u32 => unsafe { |
5392 | 0 | core::mem::transmute::<u32, SpvAmdShaderExplicitVertexParameterOp>(1u32) |
5393 | | }, |
5394 | 0 | _ => return None, |
5395 | | }) |
5396 | 0 | } |
5397 | | } |
5398 | | #[doc = "[SPV_AMD_shader_trinary_minmax](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json) extended instruction opcode"] |
5399 | | #[repr(u32)] |
5400 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5401 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5402 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5403 | | #[allow(clippy::upper_case_acronyms)] |
5404 | | pub enum SpvAmdShaderTrinaryMinmaxOp { |
5405 | | FMin3AMD = 1u32, |
5406 | | UMin3AMD = 2u32, |
5407 | | SMin3AMD = 3u32, |
5408 | | FMax3AMD = 4u32, |
5409 | | UMax3AMD = 5u32, |
5410 | | SMax3AMD = 6u32, |
5411 | | FMid3AMD = 7u32, |
5412 | | UMid3AMD = 8u32, |
5413 | | SMid3AMD = 9u32, |
5414 | | } |
5415 | | impl SpvAmdShaderTrinaryMinmaxOp { |
5416 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5417 | 0 | Some(match n { |
5418 | 0 | 1u32..=9u32 => unsafe { core::mem::transmute::<u32, SpvAmdShaderTrinaryMinmaxOp>(n) }, |
5419 | 0 | _ => return None, |
5420 | | }) |
5421 | 0 | } |
5422 | | } |
5423 | | #[doc = "[TOSA.001000.1](https://github.com/KhronosGroup/SPIRV-Headers/blob/main/include/spirv/unified1/extinst.tosa.001000.1.grammar.json) extended instruction opcode"] |
5424 | | #[repr(u32)] |
5425 | | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
5426 | | #[cfg_attr(feature = "serialize", derive(serde::Serialize))] |
5427 | | #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] |
5428 | | #[allow(clippy::upper_case_acronyms)] |
5429 | | pub enum Tosa0010001Op { |
5430 | | ARGMAX = 0u32, |
5431 | | AVG_POOL2D = 1u32, |
5432 | | CONV2D = 2u32, |
5433 | | CONV3D = 3u32, |
5434 | | DEPTHWISE_CONV2D = 4u32, |
5435 | | FFT2D = 5u32, |
5436 | | MATMUL = 6u32, |
5437 | | MAX_POOL2D = 7u32, |
5438 | | RFFT2D = 8u32, |
5439 | | TRANSPOSE_CONV2D = 9u32, |
5440 | | CLAMP = 10u32, |
5441 | | ERF = 11u32, |
5442 | | SIGMOID = 12u32, |
5443 | | TANH = 13u32, |
5444 | | ADD = 14u32, |
5445 | | ARITHMETIC_RIGHT_SHIFT = 15u32, |
5446 | | BITWISE_AND = 16u32, |
5447 | | BITWISE_OR = 17u32, |
5448 | | BITWISE_XOR = 18u32, |
5449 | | INTDIV = 19u32, |
5450 | | LOGICAL_AND = 20u32, |
5451 | | LOGICAL_LEFT_SHIFT = 21u32, |
5452 | | LOGICAL_RIGHT_SHIFT = 22u32, |
5453 | | LOGICAL_OR = 23u32, |
5454 | | LOGICAL_XOR = 24u32, |
5455 | | MAXIMUM = 25u32, |
5456 | | MINIMUM = 26u32, |
5457 | | MUL = 27u32, |
5458 | | POW = 28u32, |
5459 | | SUB = 29u32, |
5460 | | TABLE = 30u32, |
5461 | | ABS = 31u32, |
5462 | | BITWISE_NOT = 32u32, |
5463 | | CEIL = 33u32, |
5464 | | CLZ = 34u32, |
5465 | | COS = 35u32, |
5466 | | EXP = 36u32, |
5467 | | FLOOR = 37u32, |
5468 | | LOG = 38u32, |
5469 | | LOGICAL_NOT = 39u32, |
5470 | | NEGATE = 40u32, |
5471 | | RECIPROCAL = 41u32, |
5472 | | RSQRT = 42u32, |
5473 | | SIN = 43u32, |
5474 | | SELECT = 44u32, |
5475 | | EQUAL = 45u32, |
5476 | | GREATER = 46u32, |
5477 | | GREATER_EQUAL = 47u32, |
5478 | | REDUCE_ALL = 48u32, |
5479 | | REDUCE_ANY = 49u32, |
5480 | | REDUCE_MAX = 50u32, |
5481 | | REDUCE_MIN = 51u32, |
5482 | | REDUCE_PRODUCT = 52u32, |
5483 | | REDUCE_SUM = 53u32, |
5484 | | CONCAT = 54u32, |
5485 | | PAD = 55u32, |
5486 | | RESHAPE = 56u32, |
5487 | | REVERSE = 57u32, |
5488 | | SLICE = 58u32, |
5489 | | TILE = 59u32, |
5490 | | TRANSPOSE = 60u32, |
5491 | | GATHER = 61u32, |
5492 | | SCATTER = 62u32, |
5493 | | RESIZE = 63u32, |
5494 | | CAST = 64u32, |
5495 | | RESCALE = 65u32, |
5496 | | } |
5497 | | impl Tosa0010001Op { |
5498 | 0 | pub fn from_u32(n: u32) -> Option<Self> { |
5499 | 0 | Some(match n { |
5500 | 0 | 0u32..=65u32 => unsafe { core::mem::transmute::<u32, Tosa0010001Op>(n) }, |
5501 | 0 | _ => return None, |
5502 | | }) |
5503 | 0 | } |
5504 | | } |