|
| | 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 () |
| |