1#![allow(clippy::upper_case_acronyms)]
6#[doc = r" SPIR-V decorations."]
7#[derive(Clone, Debug, Eq, PartialEq)]
8pub enum Decoration {
9 RelaxedPrecision,
10 SpecId(u32),
11 Block,
12 BufferBlock,
13 RowMajor,
14 ColMajor,
15 ArrayStride(u32),
16 MatrixStride(u32),
17 GLSLShared,
18 GLSLPacked,
19 CPacked,
20 BuiltIn(spirv::BuiltIn),
21 NoPerspective,
22 Flat,
23 Patch,
24 Centroid,
25 Sample,
26 Invariant,
27 Restrict,
28 Aliased,
29 Volatile,
30 Constant,
31 Coherent,
32 NonWritable,
33 NonReadable,
34 Uniform,
35 UniformId(spirv::Word),
36 SaturatedConversion,
37 Stream(u32),
38 Location(u32),
39 Component(u32),
40 Index(u32),
41 Binding(u32),
42 DescriptorSet(u32),
43 Offset(u32),
44 XfbBuffer(u32),
45 XfbStride(u32),
46 FuncParamAttr(spirv::FunctionParameterAttribute),
47 FPRoundingMode(spirv::FPRoundingMode),
48 FPFastMathMode(spirv::FPFastMathMode),
49 LinkageAttributes(String, spirv::LinkageType),
50 NoContraction,
51 InputAttachmentIndex(u32),
52 Alignment(u32),
53 MaxByteOffset(u32),
54 AlignmentId(spirv::Word),
55 MaxByteOffsetId(spirv::Word),
56 SaturatedToLargestFloat8NormalConversionEXT,
57 NoSignedWrap,
58 NoUnsignedWrap,
59 WeightTextureQCOM,
60 BlockMatchTextureQCOM,
61 BlockMatchSamplerQCOM,
62 ExplicitInterpAMD,
63 NodeSharesPayloadLimitsWithAMDX(spirv::Word),
64 NodeMaxPayloadsAMDX(spirv::Word),
65 TrackFinishWritingAMDX,
66 PayloadNodeNameAMDX(spirv::Word),
67 PayloadNodeBaseIndexAMDX(spirv::Word),
68 PayloadNodeSparseArrayAMDX,
69 PayloadNodeArraySizeAMDX(spirv::Word),
70 PayloadDispatchIndirectAMDX,
71 ArrayStrideIdEXT(spirv::Word),
72 OffsetIdEXT(spirv::Word),
73 OverrideCoverageNV,
74 PassthroughNV,
75 ViewportRelativeNV,
76 SecondaryViewportRelativeNV(u32),
77 PerPrimitiveEXT,
78 PerViewNV,
79 PerTaskNV,
80 PerVertexKHR,
81 NonUniform,
82 RestrictPointer,
83 AliasedPointer,
84 MemberOffsetNV(u32),
85 HitObjectShaderRecordBufferNV,
86 HitObjectShaderRecordBufferEXT,
87 BankNV(u32),
88 BindlessSamplerNV,
89 BindlessImageNV,
90 BoundSamplerNV,
91 BoundImageNV,
92 SIMTCallINTEL(u32),
93 ReferencedIndirectlyINTEL,
94 ClobberINTEL(String),
95 SideEffectsINTEL,
96 VectorComputeVariableINTEL,
97 FuncParamIOKindINTEL(u32),
98 VectorComputeFunctionINTEL,
99 StackCallINTEL,
100 GlobalVariableOffsetINTEL(u32),
101 CounterBuffer(spirv::Word),
102 UserSemantic(String),
103 UserTypeGOOGLE(String),
104 FunctionRoundingModeINTEL(u32, spirv::FPRoundingMode),
105 FunctionDenormModeINTEL(u32, spirv::FPDenormMode),
106 RegisterALTERA,
107 MemoryALTERA(String),
108 NumbanksALTERA(u32),
109 BankwidthALTERA(u32),
110 MaxPrivateCopiesALTERA(u32),
111 SinglepumpALTERA,
112 DoublepumpALTERA,
113 MaxReplicatesALTERA(u32),
114 SimpleDualPortALTERA,
115 MergeALTERA(String, String),
116 BankBitsALTERA(Vec<u32>),
117 ForcePow2DepthALTERA(u32),
118 StridesizeALTERA(u32),
119 WordsizeALTERA(u32),
120 TrueDualPortALTERA,
121 BurstCoalesceALTERA,
122 CacheSizeALTERA(u32),
123 DontStaticallyCoalesceALTERA,
124 PrefetchALTERA(u32),
125 StallEnableALTERA,
126 FuseLoopsInFunctionALTERA,
127 MathOpDSPModeALTERA(u32, u32),
128 AliasScopeINTEL(spirv::Word),
129 NoAliasINTEL(spirv::Word),
130 InitiationIntervalALTERA(u32),
131 MaxConcurrencyALTERA(u32),
132 PipelineEnableALTERA(u32),
133 BufferLocationALTERA(u32),
134 IOPipeStorageALTERA(u32),
135 FunctionFloatingPointModeINTEL(u32, spirv::FPOperationMode),
136 SingleElementVectorINTEL,
137 VectorComputeCallableFunctionINTEL,
138 MediaBlockIOINTEL,
139 StallFreeALTERA,
140 FPMaxErrorDecorationINTEL(u32),
141 LatencyControlLabelALTERA(u32),
142 LatencyControlConstraintALTERA(u32, u32, u32),
143 ConduitKernelArgumentALTERA,
144 RegisterMapKernelArgumentALTERA,
145 MMHostInterfaceAddressWidthALTERA(u32),
146 MMHostInterfaceDataWidthALTERA(u32),
147 MMHostInterfaceLatencyALTERA(u32),
148 MMHostInterfaceReadWriteModeALTERA(spirv::AccessQualifier),
149 MMHostInterfaceMaxBurstALTERA(u32),
150 MMHostInterfaceWaitRequestALTERA(u32),
151 StableKernelArgumentALTERA,
152 HostAccessINTEL(spirv::HostAccessQualifier, String),
153 InitModeALTERA(spirv::InitializationModeQualifier),
154 ImplementInRegisterMapALTERA(u32),
155 ConditionalINTEL(spirv::Word),
156 CacheControlLoadINTEL(u32, spirv::LoadCacheControl),
157 CacheControlStoreINTEL(u32, spirv::StoreCacheControl),
158}