|
| Builder (unsigned int spvVersion, unsigned int userNumber, SpvBuildLogger *logger) |
|
virtual | ~Builder () |
|
unsigned int | getSpvVersion () const |
|
void | setSource (spv::SourceLanguage lang, int version) |
|
void | setSourceFile (const std::string &file) |
|
void | setSourceText (const std::string &text) |
|
void | addSourceExtension (const char *ext) |
|
void | addModuleProcessed (const std::string &p) |
|
void | setEmitOpLines () |
|
void | addExtension (const char *ext) |
|
Id | import (const char *) |
|
void | setMemoryModel (spv::AddressingModel addr, spv::MemoryModel mem) |
|
void | addCapability (spv::Capability cap) |
|
Id | getUniqueId () |
|
Id | getUniqueIds (int numIds) |
|
void | setLine (int line) |
|
void | addLine (Id fileName, int line, int column) |
|
Id | makeVoidType () |
|
Id | makeBoolType () |
|
Id | makePointer (StorageClass, Id type) |
|
Id | makeIntegerType (int width, bool hasSign) |
|
Id | makeIntType (int width) |
|
Id | makeUintType (int width) |
|
Id | makeFloatType (int width) |
|
Id | makeStructType (const std::vector< Id > &members, const char *) |
|
Id | makeStructResultType (Id type0, Id type1) |
|
Id | makeVectorType (Id component, int size) |
|
Id | makeMatrixType (Id component, int cols, int rows) |
|
Id | makeArrayType (Id element, Id sizeId, int stride) |
|
Id | makeRuntimeArray (Id element) |
|
Id | makeFunctionType (Id returnType, const std::vector< Id > ¶mTypes) |
|
Id | makeImageType (Id sampledType, Dim, bool depth, bool arrayed, bool ms, unsigned sampled, ImageFormat format) |
|
Id | makeSamplerType () |
|
Id | makeSampledImageType (Id imageType) |
|
Id | getTypeId (Id resultId) const |
|
Id | getDerefTypeId (Id resultId) const |
|
Op | getOpCode (Id id) const |
|
Op | getTypeClass (Id typeId) const |
|
Op | getMostBasicTypeClass (Id typeId) const |
|
int | getNumComponents (Id resultId) const |
|
int | getNumTypeConstituents (Id typeId) const |
|
int | getNumTypeComponents (Id typeId) const |
|
Id | getScalarTypeId (Id typeId) const |
|
Id | getContainedTypeId (Id typeId) const |
|
Id | getContainedTypeId (Id typeId, int) const |
|
StorageClass | getTypeStorageClass (Id typeId) const |
|
ImageFormat | getImageTypeFormat (Id typeId) const |
|
bool | isPointer (Id resultId) const |
|
bool | isScalar (Id resultId) const |
|
bool | isVector (Id resultId) const |
|
bool | isMatrix (Id resultId) const |
|
bool | isAggregate (Id resultId) const |
|
bool | isSampledImage (Id resultId) const |
|
bool | isBoolType (Id typeId) |
|
bool | isIntType (Id typeId) const |
|
bool | isUintType (Id typeId) const |
|
bool | isFloatType (Id typeId) const |
|
bool | isPointerType (Id typeId) const |
|
bool | isScalarType (Id typeId) const |
|
bool | isVectorType (Id typeId) const |
|
bool | isMatrixType (Id typeId) const |
|
bool | isStructType (Id typeId) const |
|
bool | isArrayType (Id typeId) const |
|
bool | isAggregateType (Id typeId) const |
|
bool | isImageType (Id typeId) const |
|
bool | isSamplerType (Id typeId) const |
|
bool | isSampledImageType (Id typeId) const |
|
bool | isConstantOpCode (Op opcode) const |
|
bool | isSpecConstantOpCode (Op opcode) const |
|
bool | isConstant (Id resultId) const |
|
bool | isConstantScalar (Id resultId) const |
|
bool | isSpecConstant (Id resultId) const |
|
unsigned int | getConstantScalar (Id resultId) const |
|
StorageClass | getStorageClass (Id resultId) const |
|
int | getScalarTypeWidth (Id typeId) const |
|
int | getTypeNumColumns (Id typeId) const |
|
int | getNumColumns (Id resultId) const |
|
int | getTypeNumRows (Id typeId) const |
|
int | getNumRows (Id resultId) const |
|
Dim | getTypeDimensionality (Id typeId) const |
|
Id | getImageType (Id resultId) const |
|
bool | isArrayedImageType (Id typeId) const |
|
Id | makeBoolConstant (bool b, bool specConstant=false) |
|
Id | makeInt8Constant (int i, bool specConstant=false) |
|
Id | makeUint8Constant (unsigned u, bool specConstant=false) |
|
Id | makeInt16Constant (int i, bool specConstant=false) |
|
Id | makeUint16Constant (unsigned u, bool specConstant=false) |
|
Id | makeIntConstant (int i, bool specConstant=false) |
|
Id | makeUintConstant (unsigned u, bool specConstant=false) |
|
Id | makeInt64Constant (long long i, bool specConstant=false) |
|
Id | makeUint64Constant (unsigned long long u, bool specConstant=false) |
|
Id | makeFloatConstant (float f, bool specConstant=false) |
|
Id | makeDoubleConstant (double d, bool specConstant=false) |
|
Id | makeFloat16Constant (float f16, bool specConstant=false) |
|
Id | makeFpConstant (Id type, double d, bool specConstant=false) |
|
Id | makeCompositeConstant (Id type, const std::vector< Id > &comps, bool specConst=false) |
|
Instruction * | addEntryPoint (ExecutionModel, Function *, const char *name) |
|
void | addExecutionMode (Function *, ExecutionMode mode, int value1=-1, int value2=-1, int value3=-1) |
|
void | addName (Id, const char *name) |
|
void | addMemberName (Id, int member, const char *name) |
|
void | addDecoration (Id, Decoration, int num=-1) |
|
void | addDecoration (Id, Decoration, const char *) |
|
void | addDecorationId (Id id, Decoration, Id idDecoration) |
|
void | addMemberDecoration (Id, unsigned int member, Decoration, int num=-1) |
|
void | addMemberDecoration (Id, unsigned int member, Decoration, const char *) |
|
void | setBuildPoint (Block *bp) |
|
Block * | getBuildPoint () const |
|
Function * | makeEntryPoint (const char *) |
|
Function * | makeFunctionEntry (Decoration precision, Id returnType, const char *name, const std::vector< Id > ¶mTypes, const std::vector< std::vector< Decoration >> &precisions, Block **entry=0) |
|
void | makeReturn (bool implicit, Id retVal=0) |
|
void | leaveFunction () |
|
void | makeDiscard () |
|
Id | createVariable (StorageClass, Id type, const char *name=0) |
|
Id | createUndefined (Id type) |
|
void | createStore (Id rValue, Id lValue) |
|
Id | createLoad (Id lValue) |
|
Id | createAccessChain (StorageClass, Id base, const std::vector< Id > &offsets) |
|
Id | createArrayLength (Id base, unsigned int member) |
|
Id | createCompositeExtract (Id composite, Id typeId, unsigned index) |
|
Id | createCompositeExtract (Id composite, Id typeId, const std::vector< unsigned > &indexes) |
|
Id | createCompositeInsert (Id object, Id composite, Id typeId, unsigned index) |
|
Id | createCompositeInsert (Id object, Id composite, Id typeId, const std::vector< unsigned > &indexes) |
|
Id | createVectorExtractDynamic (Id vector, Id typeId, Id componentIndex) |
|
Id | createVectorInsertDynamic (Id vector, Id typeId, Id component, Id componentIndex) |
|
void | createNoResultOp (Op) |
|
void | createNoResultOp (Op, Id operand) |
|
void | createNoResultOp (Op, const std::vector< Id > &operands) |
|
void | createControlBarrier (Scope execution, Scope memory, MemorySemanticsMask) |
|
void | createMemoryBarrier (unsigned executionScope, unsigned memorySemantics) |
|
Id | createUnaryOp (Op, Id typeId, Id operand) |
|
Id | createBinOp (Op, Id typeId, Id operand1, Id operand2) |
|
Id | createTriOp (Op, Id typeId, Id operand1, Id operand2, Id operand3) |
|
Id | createOp (Op, Id typeId, const std::vector< Id > &operands) |
|
Id | createFunctionCall (spv::Function *, const std::vector< spv::Id > &) |
|
Id | createSpecConstantOp (Op, Id typeId, const std::vector< spv::Id > &operands, const std::vector< unsigned > &literals) |
|
Id | createRvalueSwizzle (Decoration precision, Id typeId, Id source, const std::vector< unsigned > &channels) |
|
Id | createLvalueSwizzle (Id typeId, Id target, Id source, const std::vector< unsigned > &channels) |
|
Id | setPrecision (Id id, Decoration precision) |
|
void | promoteScalar (Decoration precision, Id &left, Id &right) |
|
Id | smearScalar (Decoration precision, Id scalarVal, Id vectorType) |
|
Id | createBuiltinCall (Id resultType, Id builtins, int entryPoint, const std::vector< Id > &args) |
|
Id | createTextureCall (Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather, bool noImplicit, const TextureParameters &) |
|
Id | createTextureQueryCall (Op, const TextureParameters &, bool isUnsignedResult) |
|
Id | createSamplePositionCall (Decoration precision, Id, Id) |
|
Id | createBitFieldExtractCall (Decoration precision, Id, Id, Id, bool isSigned) |
|
Id | createBitFieldInsertCall (Decoration precision, Id, Id, Id, Id) |
|
Id | createCompositeCompare (Decoration precision, Id, Id, bool) |
|
Id | createCompositeConstruct (Id typeId, const std::vector< Id > &constituents) |
|
Id | createConstructor (Decoration precision, const std::vector< Id > &sources, Id resultTypeId) |
|
Id | createMatrixConstructor (Decoration precision, const std::vector< Id > &sources, Id constructee) |
|
void | makeSwitch (Id condition, unsigned int control, int numSegments, const std::vector< int > &caseValues, const std::vector< int > &valueToSegment, int defaultSegment, std::vector< Block *> &segmentBB) |
|
void | addSwitchBreak () |
|
void | nextSwitchSegment (std::vector< Block *> &segmentBB, int segment) |
|
void | endSwitch (std::vector< Block *> &segmentBB) |
|
LoopBlocks & | makeNewLoop () |
|
Block & | makeNewBlock () |
|
void | createLoopContinue () |
|
void | createLoopExit () |
|
void | closeLoop () |
|
AccessChain | getAccessChain () |
|
void | setAccessChain (AccessChain newChain) |
|
void | clearAccessChain () |
|
void | setAccessChainLValue (Id lValue) |
|
void | setAccessChainRValue (Id rValue) |
|
void | accessChainPush (Id offset) |
|
void | accessChainPushSwizzle (std::vector< unsigned > &swizzle, Id preSwizzleBaseType) |
|
void | accessChainPushComponent (Id component, Id preSwizzleBaseType) |
|
void | accessChainStore (Id rvalue) |
|
Id | accessChainLoad (Decoration precision, Decoration nonUniform, Id ResultType) |
|
Id | accessChainGetLValue () |
|
Id | accessChainGetInferredType () |
|
void | eliminateDeadDecorations () |
|
void | dump (std::vector< unsigned int > &) const |
|
void | createBranch (Block *block) |
|
void | createConditionalBranch (Id condition, Block *thenBlock, Block *elseBlock) |
|
void | createLoopMerge (Block *mergeBlock, Block *continueBlock, unsigned int control, unsigned int dependencyLength) |
|
void | setToSpecConstCodeGenMode () |
|
void | setToNormalCodeGenMode () |
|
bool | isInSpecConstCodeGenMode () |
|