#![allow(clippy::upper_case_acronyms)]
#[doc = r" SPIR-V decorations."]
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum Decoration {
RelaxedPrecision,
SpecId(u32),
Block,
BufferBlock,
RowMajor,
ColMajor,
ArrayStride(u32),
MatrixStride(u32),
GLSLShared,
GLSLPacked,
CPacked,
BuiltIn(spirv::BuiltIn),
NoPerspective,
Flat,
Patch,
Centroid,
Sample,
Invariant,
Restrict,
Aliased,
Volatile,
Constant,
Coherent,
NonWritable,
NonReadable,
Uniform,
UniformId(spirv::Word),
SaturatedConversion,
Stream(u32),
Location(u32),
Component(u32),
Index(u32),
Binding(u32),
DescriptorSet(u32),
Offset(u32),
XfbBuffer(u32),
XfbStride(u32),
FuncParamAttr(spirv::FunctionParameterAttribute),
FPRoundingMode(spirv::FPRoundingMode),
FPFastMathMode(spirv::FPFastMathMode),
LinkageAttributes(String, spirv::LinkageType),
NoContraction,
InputAttachmentIndex(u32),
Alignment(u32),
MaxByteOffset(u32),
AlignmentId(spirv::Word),
MaxByteOffsetId(spirv::Word),
NoSignedWrap,
NoUnsignedWrap,
WeightTextureQCOM,
BlockMatchTextureQCOM,
ExplicitInterpAMD,
NodeSharesPayloadLimitsWithAMDX(spirv::Word),
NodeMaxPayloadsAMDX(spirv::Word),
TrackFinishWritingAMDX,
PayloadNodeNameAMDX(String),
OverrideCoverageNV,
PassthroughNV,
ViewportRelativeNV,
SecondaryViewportRelativeNV(u32),
PerPrimitiveNV,
PerPrimitiveEXT,
PerViewNV,
PerTaskNV,
PerVertexKHR,
PerVertexNV,
NonUniform,
NonUniformEXT,
RestrictPointer,
RestrictPointerEXT,
AliasedPointer,
AliasedPointerEXT,
HitObjectShaderRecordBufferNV,
BindlessSamplerNV,
BindlessImageNV,
BoundSamplerNV,
BoundImageNV,
SIMTCallINTEL(u32),
ReferencedIndirectlyINTEL,
ClobberINTEL(String),
SideEffectsINTEL,
VectorComputeVariableINTEL,
FuncParamIOKindINTEL(u32),
VectorComputeFunctionINTEL,
StackCallINTEL,
GlobalVariableOffsetINTEL(u32),
CounterBuffer(spirv::Word),
HlslCounterBufferGOOGLE(spirv::Word),
UserSemantic(String),
HlslSemanticGOOGLE(String),
UserTypeGOOGLE(String),
FunctionRoundingModeINTEL(u32, spirv::FPRoundingMode),
FunctionDenormModeINTEL(u32, spirv::FPDenormMode),
RegisterINTEL,
MemoryINTEL(String),
NumbanksINTEL(u32),
BankwidthINTEL(u32),
MaxPrivateCopiesINTEL(u32),
SinglepumpINTEL,
DoublepumpINTEL,
MaxReplicatesINTEL(u32),
SimpleDualPortINTEL,
MergeINTEL(String, String),
BankBitsINTEL(Vec<u32>),
ForcePow2DepthINTEL(u32),
BurstCoalesceINTEL,
CacheSizeINTEL(u32),
DontStaticallyCoalesceINTEL,
PrefetchINTEL(u32),
StallEnableINTEL,
FuseLoopsInFunctionINTEL,
MathOpDSPModeINTEL(u32, u32),
AliasScopeINTEL(spirv::Word),
NoAliasINTEL(spirv::Word),
InitiationIntervalINTEL(u32),
MaxConcurrencyINTEL(u32),
PipelineEnableINTEL(u32),
BufferLocationINTEL(u32),
IOPipeStorageINTEL(u32),
FunctionFloatingPointModeINTEL(u32, spirv::FPOperationMode),
SingleElementVectorINTEL,
VectorComputeCallableFunctionINTEL,
MediaBlockIOINTEL,
InitModeINTEL(spirv::InitializationModeQualifier),
ImplementInRegisterMapINTEL(u32),
HostAccessINTEL(spirv::HostAccessQualifier, String),
FPMaxErrorDecorationINTEL(u32),
LatencyControlLabelINTEL(u32),
LatencyControlConstraintINTEL(u32, u32, u32),
ConduitKernelArgumentINTEL,
RegisterMapKernelArgumentINTEL,
MMHostInterfaceAddressWidthINTEL(u32),
MMHostInterfaceDataWidthINTEL(u32),
MMHostInterfaceLatencyINTEL(u32),
MMHostInterfaceReadWriteModeINTEL(spirv::AccessQualifier),
MMHostInterfaceMaxBurstINTEL(u32),
MMHostInterfaceWaitRequestINTEL(u32),
StableKernelArgumentINTEL,
CacheControlLoadINTEL(u32, spirv::LoadCacheControl),
CacheControlStoreINTEL(u32, spirv::StoreCacheControl),
}