Lines Matching defs:SPIRV
1 //===-- SPIRVBaseInfo.cpp - Top level SPIRV definitions ---------*- C++ -*-===//
20 namespace SPIRV {
54 } // namespace SPIRV
57 getSymbolicOperandMnemonic(SPIRV::OperandCategory::OperandCategory Category,
59 const SPIRV::SymbolicOperand *Lookup =
60 SPIRV::lookupSymbolicOperandByCategoryAndValue(Category, Value);
64 if (Category != SPIRV::OperandCategory::ImageOperandOperand &&
65 Category != SPIRV::OperandCategory::FPFastMathModeOperand &&
66 Category != SPIRV::OperandCategory::SelectionControlOperand &&
67 Category != SPIRV::OperandCategory::LoopControlOperand &&
68 Category != SPIRV::OperandCategory::FunctionControlOperand &&
69 Category != SPIRV::OperandCategory::MemorySemanticsOperand &&
70 Category != SPIRV::OperandCategory::MemoryOperandOperand &&
71 Category != SPIRV::OperandCategory::KernelProfilingInfoOperand)
76 const SPIRV::SymbolicOperand *EnumValueInCategory =
77 SPIRV::lookupSymbolicOperandByCategory(Category);
79 auto TableEnd = ArrayRef(SPIRV::SymbolicOperands).end();
94 getSymbolicOperandMinVersion(SPIRV::OperandCategory::OperandCategory Category,
96 const SPIRV::SymbolicOperand *Lookup =
97 SPIRV::lookupSymbolicOperandByCategoryAndValue(Category, Value);
106 getSymbolicOperandMaxVersion(SPIRV::OperandCategory::OperandCategory Category,
108 const SPIRV::SymbolicOperand *Lookup =
109 SPIRV::lookupSymbolicOperandByCategoryAndValue(Category, Value);
118 getSymbolicOperandCapabilities(SPIRV::OperandCategory::OperandCategory Category,
121 const SPIRV::CapabilityEntry *Capability =
122 SPIRV::lookupCapabilityByCategoryAndValue(Category, Value);
123 auto TableEnd = ArrayRef(SPIRV::CapabilityEntries).end();
127 static_cast<SPIRV::Capability::Capability>(Capability->ReqCapability));
136 getCapabilitiesEnabledByExtension(SPIRV::Extension::Extension Extension) {
137 const SPIRV::ExtensionEntry *Entry =
138 SPIRV::lookupSymbolicOperandsEnabledByExtension(
139 Extension, SPIRV::OperandCategory::CapabilityOperand);
142 auto TableEnd = ArrayRef(SPIRV::ExtensionEntries).end();
144 Entry->Category == SPIRV::OperandCategory::CapabilityOperand) {
148 static_cast<SPIRV::Capability::Capability>(Entry->Value));
157 getSymbolicOperandExtensions(SPIRV::OperandCategory::OperandCategory Category,
159 const SPIRV::ExtensionEntry *Extension =
160 SPIRV::lookupExtensionByCategoryAndValue(Category, Value);
163 auto TableEnd = ArrayRef(SPIRV::ExtensionEntries).end();
167 static_cast<SPIRV::Extension::Extension>(Extension->ReqExtension));
175 std::string getLinkStringForBuiltIn(SPIRV::BuiltIn::BuiltIn BuiltInValue) {
176 const SPIRV::SymbolicOperand *Lookup =
177 SPIRV::lookupSymbolicOperandByCategoryAndValue(
178 SPIRV::OperandCategory::BuiltInOperand, BuiltInValue);
186 SPIRV::BuiltIn::BuiltIn &BI) {
191 const SPIRV::SymbolicOperand *Lookup =
192 SPIRV::lookupSymbolicOperandByCategoryAndMnemonic(
193 SPIRV::OperandCategory::BuiltInOperand,
199 BI = static_cast<SPIRV::BuiltIn::BuiltIn>(Lookup->Value);
203 std::string getExtInstSetName(SPIRV::InstructionSet::InstructionSet Set) {
205 case SPIRV::InstructionSet::OpenCL_std:
207 case SPIRV::InstructionSet::GLSL_std_450:
209 case SPIRV::InstructionSet::NonSemantic_Shader_DebugInfo_100:
211 case SPIRV::InstructionSet::SPV_AMD_shader_trinary_minmax:
217 SPIRV::InstructionSet::InstructionSet
220 {SPIRV::InstructionSet::GLSL_std_450, SPIRV::InstructionSet::OpenCL_std,
221 SPIRV::InstructionSet::NonSemantic_Shader_DebugInfo_100}) {
228 std::string getExtInstName(SPIRV::InstructionSet::InstructionSet Set,
230 const SPIRV::ExtendedBuiltin *Lookup =
231 SPIRV::lookupExtendedBuiltinBySetAndNumber(Set, InstructionNumber);