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 NoSignedWrap,
57 NoUnsignedWrap,
58 WeightTextureQCOM,
59 BlockMatchTextureQCOM,
60 ExplicitInterpAMD,
61 NodeSharesPayloadLimitsWithAMDX(spirv::Word),
62 NodeMaxPayloadsAMDX(spirv::Word),
63 TrackFinishWritingAMDX,
64 PayloadNodeNameAMDX(String),
65 OverrideCoverageNV,
66 PassthroughNV,
67 ViewportRelativeNV,
68 SecondaryViewportRelativeNV(u32),
69 PerPrimitiveNV,
70 PerPrimitiveEXT,
71 PerViewNV,
72 PerTaskNV,
73 PerVertexKHR,
74 PerVertexNV,
75 NonUniform,
76 NonUniformEXT,
77 RestrictPointer,
78 RestrictPointerEXT,
79 AliasedPointer,
80 AliasedPointerEXT,
81 HitObjectShaderRecordBufferNV,
82 BindlessSamplerNV,
83 BindlessImageNV,
84 BoundSamplerNV,
85 BoundImageNV,
86 SIMTCallINTEL(u32),
87 ReferencedIndirectlyINTEL,
88 ClobberINTEL(String),
89 SideEffectsINTEL,
90 VectorComputeVariableINTEL,
91 FuncParamIOKindINTEL(u32),
92 VectorComputeFunctionINTEL,
93 StackCallINTEL,
94 GlobalVariableOffsetINTEL(u32),
95 CounterBuffer(spirv::Word),
96 HlslCounterBufferGOOGLE(spirv::Word),
97 UserSemantic(String),
98 HlslSemanticGOOGLE(String),
99 UserTypeGOOGLE(String),
100 FunctionRoundingModeINTEL(u32, spirv::FPRoundingMode),
101 FunctionDenormModeINTEL(u32, spirv::FPDenormMode),
102 RegisterINTEL,
103 MemoryINTEL(String),
104 NumbanksINTEL(u32),
105 BankwidthINTEL(u32),
106 MaxPrivateCopiesINTEL(u32),
107 SinglepumpINTEL,
108 DoublepumpINTEL,
109 MaxReplicatesINTEL(u32),
110 SimpleDualPortINTEL,
111 MergeINTEL(String, String),
112 BankBitsINTEL(Vec<u32>),
113 ForcePow2DepthINTEL(u32),
114 BurstCoalesceINTEL,
115 CacheSizeINTEL(u32),
116 DontStaticallyCoalesceINTEL,
117 PrefetchINTEL(u32),
118 StallEnableINTEL,
119 FuseLoopsInFunctionINTEL,
120 MathOpDSPModeINTEL(u32, u32),
121 AliasScopeINTEL(spirv::Word),
122 NoAliasINTEL(spirv::Word),
123 InitiationIntervalINTEL(u32),
124 MaxConcurrencyINTEL(u32),
125 PipelineEnableINTEL(u32),
126 BufferLocationINTEL(u32),
127 IOPipeStorageINTEL(u32),
128 FunctionFloatingPointModeINTEL(u32, spirv::FPOperationMode),
129 SingleElementVectorINTEL,
130 VectorComputeCallableFunctionINTEL,
131 MediaBlockIOINTEL,
132 InitModeINTEL(spirv::InitializationModeQualifier),
133 ImplementInRegisterMapINTEL(u32),
134 HostAccessINTEL(spirv::HostAccessQualifier, String),
135 FPMaxErrorDecorationINTEL(u32),
136 LatencyControlLabelINTEL(u32),
137 LatencyControlConstraintINTEL(u32, u32, u32),
138 ConduitKernelArgumentINTEL,
139 RegisterMapKernelArgumentINTEL,
140 MMHostInterfaceAddressWidthINTEL(u32),
141 MMHostInterfaceDataWidthINTEL(u32),
142 MMHostInterfaceLatencyINTEL(u32),
143 MMHostInterfaceReadWriteModeINTEL(spirv::AccessQualifier),
144 MMHostInterfaceMaxBurstINTEL(u32),
145 MMHostInterfaceWaitRequestINTEL(u32),
146 StableKernelArgumentINTEL,
147 CacheControlLoadINTEL(u32, spirv::LoadCacheControl),
148 CacheControlStoreINTEL(u32, spirv::StoreCacheControl),
149}