mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-12-26 17:51:02 +00:00
8bed0cea13
It shows which spv::OperandClass values are used in the syntax table in source/opcode.inc, and what tests exercise those operand types.
2.8 KiB
2.8 KiB
1 | Operand type | Example instruction | Notes | example unit test |
---|---|---|---|---|
2 | ||||
3 | ||||
4 | OperandNone, | UNUSED | not in grammar | |
5 | OperandId, | many | ID | too many to count |
6 | OperandOptionalId, | Source, Variable | OPTIONAL_ID | OpSourceAcceptsOptionalFileId |
7 | OperandOptionalImage, | ImageFetch | ImageOperandsTest | |
8 | OperandVariableIds, | ExtInst | ||
9 | OperandOptionalLiteral, | ExecutionMode | AnyExecutionMode | |
10 | OperandOptionalLiteralString, | Source | OpSourceAcceptsOptionalSourceText | |
11 | OperandVariableLiterals, | Decorate | OpDecorateSimpleTest | |
12 | OperandVariableIdLiteral, | GroupMemberDecorate | GroupMemberDecorate* | |
13 | OperandVariableLiteralId, // zero or more pairs of (Literal, Id) | Switch | Switch* | |
14 | OperandLiteralNumber, | Source, Switch, ... | Switch* | |
15 | OperandLiteralString, | SourceContinued | OpSourceContinued | |
16 | OperandSource, | Source | OpSource | |
17 | OperandExecutionModel, | EntryPoint | OpEntryPointTest | |
18 | OperandAddressing, | OpMemoryModel | OpMemoryModelTest | |
19 | OperandMemory, | OpMemoryModel | OpMemoryModelTest | |
20 | OperandExecutionMode, | OpExecutionMode | OpExecutionModeTest | |
21 | OperandStorage, | TypePointer, TypeForwardPointer, Variable | StorageClassTest | |
22 | OperandDimensionality, | TypeImage | DimTest/AnyDim | |
23 | OperandSamplerAddressingMode, | ConstantSampler | SamplerAddressingModeTest | |
24 | OperandSamplerFilterMode, | ConstantSampler | AnySamplerFilterMode | |
25 | OperandSamplerImageFormat, | TypeImage | SAMPLER_IMAGE_FORMAT | ImageFormatTest |
26 | OperandImageChannelOrder, | UNUSED | returned as result value only | |
27 | OperandImageChannelDataType, | UNUSED | returned as result value only | |
28 | OperandImageOperands, | UNUSED | used to make a spec section | |
29 | OperandFPFastMath, | OpDecorate | CombinedFPFastMathMask | |
30 | OperandFPRoundingMode, | OpDecorate | OpDecorateEnumTest | |
31 | OperandLinkageType, | OpDecorate | OpDecorateLinkageTest | |
32 | OperandAccessQualifier, | OpTypePipe | AnyAccessQualifier | |
33 | OperandFuncParamAttr, | OpDecorate | TextToBinaryDecorateFuncParamAttr | |
34 | OperandDecoration, | OpDecorate | AnyAccessQualifier | |
35 | OperandBuiltIn, | OpDecorate | TextToBinaryDecorateBultIn | |
36 | OperandSelect, | SelectionMerge | TextToBinarySelectionMerge | |
37 | OperandLoop, | LoopMerge | CombinedLoopControlMask | |
38 | OperandFunction, | Function | AnySingleFunctionControlMask | |
39 | OperandMemorySemantics, | OpMemoryBarrier | it's an ID, not in grammar | OpMemoryBarrier* |
40 | OperandMemoryAccess, | UNUSED | should be on opstore, but hacked in opcode.cpp | |
41 | OperandScope, | MemoryBarrier | it's an ID, not in grammar | OpMemoryBarrier* |
42 | OperandGroupOperation, | GroupIAdd | GroupOperationTest | |
43 | OperandKernelEnqueueFlags, | OpEnqueueKernel | it's an ID, not in grammar | should not have one |
44 | OperandKernelProfilingInfo, | OpCaptureEventProfilingInfo | it's an ID, not in grammar | should not have one |
45 | OperandCapability, | Capability | OpCapabilityTest |