Lines Matching refs:SPIRVCodeGenerator
154 class SPIRVCodeGenerator : public CodeGenerator { class
186 SPIRVCodeGenerator(const Context* context, in SPIRVCodeGenerator() function in SkSL::SPIRVCodeGenerator
238 std::unique_ptr<SPIRVCodeGenerator::LValue> lvalue;
734 bool SPIRVCodeGenerator::Instruction::operator==(const SPIRVCodeGenerator::Instruction& that) const… in operator ==()
740 struct SPIRVCodeGenerator::Instruction::Hash {
741 uint32_t operator()(const SPIRVCodeGenerator::Instruction& key) const { in operator ()()
750 struct SPIRVCodeGenerator::Word {
800 SPIRVCodeGenerator::Intrinsic SPIRVCodeGenerator::getIntrinsic(IntrinsicKind ik) const { in getIntrinsic()
962 void SPIRVCodeGenerator::writeWord(int32_t word, OutputStream& out) { in writeWord()
1068 void SPIRVCodeGenerator::writeOpCode(SpvOp_ opCode, int length, OutputStream& out) { in writeOpCode()
1089 void SPIRVCodeGenerator::writeLabel(SpvId label, StraightLineLabelType, OutputStream& out) { in writeLabel()
1096 void SPIRVCodeGenerator::writeLabel(SpvId label, BranchingLabelType type, in writeLabel()
1119 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, OutputStream& out) { in writeInstruction()
1123 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, OutputStream& out) { in writeInstruction()
1128 void SPIRVCodeGenerator::writeString(std::string_view s, OutputStream& out) { in writeString()
1146 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, std::string_view string, in writeInstruction()
1152 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, std::string_view string, in writeInstruction()
1159 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1167 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1174 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1182 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1191 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1202 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1214 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1227 void SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, int32_t word1, int32_t word2, in writeInstruction()
1242 SPIRVCodeGenerator::Instruction SPIRVCodeGenerator::BuildInstructionKey(SpvOp_ opCode, in BuildInstructionKey()
1262 SpvId SPIRVCodeGenerator::writeInstruction(SpvOp_ opCode, in writeInstruction()
1329 SpvId SPIRVCodeGenerator::writeOpLoad(SpvId type, in writeOpLoad()
1344 void SPIRVCodeGenerator::writeOpStore(StorageClass storageClass, in writeOpStore()
1359 SpvId SPIRVCodeGenerator::writeOpConstantTrue(const Type& type) { in writeOpConstantTrue()
1365 SpvId SPIRVCodeGenerator::writeOpConstantFalse(const Type& type) { in writeOpConstantFalse()
1371 SpvId SPIRVCodeGenerator::writeOpConstant(const Type& type, int32_t valueBits) { in writeOpConstant()
1378 SpvId SPIRVCodeGenerator::writeOpConstantComposite(const Type& type, in writeOpConstantComposite()
1391 bool SPIRVCodeGenerator::toConstants(SpvId value, TArray<SpvId>* constants) { in toConstants()
1417 bool SPIRVCodeGenerator::toConstants(SkSpan<const SpvId> values, TArray<SpvId>* constants) { in toConstants()
1426 SpvId SPIRVCodeGenerator::writeOpCompositeConstruct(const Type& type, in writeOpCompositeConstruct()
1466 SPIRVCodeGenerator::Instruction* SPIRVCodeGenerator::resultTypeForInstruction( in resultTypeForInstruction()
1493 int SPIRVCodeGenerator::numComponentsForVecInstruction(const Instruction& instr) { in numComponentsForVecInstruction()
1506 SpvId SPIRVCodeGenerator::toComponent(SpvId id, int component) { in toComponent()
1559 SpvId SPIRVCodeGenerator::writeOpCompositeExtract(const Type& type, in writeOpCompositeExtract()
1574 SpvId SPIRVCodeGenerator::writeOpCompositeExtract(const Type& type, in writeOpCompositeExtract()
1593 void SPIRVCodeGenerator::writeCapabilities(OutputStream& out) { in writeCapabilities()
1602 SpvId SPIRVCodeGenerator::nextId(const Type* type) { in nextId()
1608 SpvId SPIRVCodeGenerator::nextId(Precision precision) { in nextId()
1616 SpvId SPIRVCodeGenerator::writeStruct(const Type& type, const MemoryLayout& memoryLayout) { in writeStruct()
1687 SpvId SPIRVCodeGenerator::getType(const Type& type) { in getType()
1710 SpvId SPIRVCodeGenerator::getType(const Type& rawType, in getType()
1842 SpvId SPIRVCodeGenerator::getFunctionType(const FunctionDeclaration& function) { in getFunctionType()
1862 SpvId SPIRVCodeGenerator::getFunctionParameterType(const Type& parameterType, in getFunctionParameterType()
1909 SpvId SPIRVCodeGenerator::getPointerType(const Type& type, StorageClass storageClass) { in getPointerType()
1916 SpvId SPIRVCodeGenerator::getPointerType(const Type& type, in getPointerType()
1927 SpvId SPIRVCodeGenerator::writeExpression(const Expression& expr, OutputStream& out) { in writeExpression()
1977 SpvId SPIRVCodeGenerator::writeIntrinsicCall(const FunctionCall& c, OutputStream& out) { in writeIntrinsicCall()
2052 SpvId SPIRVCodeGenerator::vectorize(const Expression& arg, int vectorSize, OutputStream& out) { in vectorize()
2064 TArray<SpvId> SPIRVCodeGenerator::vectorize(const ExpressionArray& args, OutputStream& out) { in vectorize()
2083 void SPIRVCodeGenerator::writeGLSLExtendedInstruction(const Type& type, SpvId id, SpvId floatInst, in writeGLSLExtendedInstruction()
2097 SpvId SPIRVCodeGenerator::writeSpecialIntrinsic(const FunctionCall& c, SpecialIntrinsic kind, in writeSpecialIntrinsic()
2437 SpvId SPIRVCodeGenerator::writeAtomicIntrinsic(const FunctionCall& c, in writeAtomicIntrinsic()
2517 void SPIRVCodeGenerator::writeFunctionCallArgument(TArray<SpvId>& argumentList, in writeFunctionCallArgument()
2611 void SPIRVCodeGenerator::copyBackTempVars(const std::vector<TempVar>& tempVars, OutputStream& out) { in copyBackTempVars()
2619 SpvId SPIRVCodeGenerator::writeFunctionCall(const FunctionCall& c, OutputStream& out) { in writeFunctionCall()
2662 SpvId SPIRVCodeGenerator::castScalarToType(SpvId inputExprId, in castScalarToType()
2684 SpvId SPIRVCodeGenerator::castScalarToFloat(SpvId inputId, const Type& inputType, in castScalarToFloat()
2710 SpvId SPIRVCodeGenerator::castScalarToSignedInt(SpvId inputId, const Type& inputType, in castScalarToSignedInt()
2737 SpvId SPIRVCodeGenerator::castScalarToUnsignedInt(SpvId inputId, const Type& inputType, in castScalarToUnsignedInt()
2764 SpvId SPIRVCodeGenerator::castScalarToBoolean(SpvId inputId, const Type& inputType, in castScalarToBoolean()
2795 SpvId SPIRVCodeGenerator::writeMatrixCopy(SpvId src, const Type& srcType, const Type& dstType, in writeMatrixCopy()
2852 void SPIRVCodeGenerator::addColumnEntry(const Type& columnType, in addColumnEntry()
2868 SpvId SPIRVCodeGenerator::writeMatrixConstructor(const ConstructorCompound& c, OutputStream& out) { in writeMatrixConstructor()
2921 SpvId SPIRVCodeGenerator::writeConstructorCompound(const ConstructorCompound& c, in writeConstructorCompound()
2927 SpvId SPIRVCodeGenerator::writeVectorConstructor(const ConstructorCompound& c, OutputStream& out) { in writeVectorConstructor()
2962 SpvId SPIRVCodeGenerator::writeConstructorSplat(const ConstructorSplat& c, OutputStream& out) { in writeConstructorSplat()
2968 SpvId SPIRVCodeGenerator::writeCompositeConstructor(const AnyConstructor& c, OutputStream& out) { in writeCompositeConstructor()
2980 SpvId SPIRVCodeGenerator::writeConstructorScalarCast(const ConstructorScalarCast& c, in writeConstructorScalarCast()
2992 SpvId SPIRVCodeGenerator::writeConstructorCompoundCast(const ConstructorCompoundCast& c, in writeConstructorCompoundCast()
3023 SpvId SPIRVCodeGenerator::writeConstructorDiagonalMatrix(const ConstructorDiagonalMatrix& c, in writeConstructorDiagonalMatrix()
3048 SpvId SPIRVCodeGenerator::writeConstructorMatrixResize(const ConstructorMatrixResize& c, in writeConstructorMatrixResize()
3092 StorageClass SPIRVCodeGenerator::getStorageClass(const Expression& expr) { in getStorageClass()
3116 TArray<SpvId> SPIRVCodeGenerator::getAccessChain(const Expression& expr, OutputStream& out) { in getAccessChain()
3156 class PointerLValue : public SPIRVCodeGenerator::LValue {
3158 PointerLValue(SPIRVCodeGenerator& gen, SpvId pointer, bool isMemoryObject, SpvId type, in PointerLValue()
3159 SPIRVCodeGenerator::Precision precision, StorageClass storageClass) in PointerLValue()
3197 SPIRVCodeGenerator& fGen;
3201 const SPIRVCodeGenerator::Precision fPrecision;
3205 class SwizzleLValue : public SPIRVCodeGenerator::LValue {
3207 SwizzleLValue(SPIRVCodeGenerator& gen, SpvId vecPointer, const ComponentArray& components, in SwizzleLValue()
3288 SPIRVCodeGenerator& fGen;
3296 int SPIRVCodeGenerator::findUniformFieldIndex(const Variable& var) const { in findUniformFieldIndex()
3301 std::unique_ptr<SPIRVCodeGenerator::LValue> SPIRVCodeGenerator::getLValue(const Expression& expr, in getLValue()
3423 std::unique_ptr<Expression> SPIRVCodeGenerator::identifier(std::string_view name) { in identifier()
3430 SpvId SPIRVCodeGenerator::writeVariableReference(const VariableReference& ref, OutputStream& out) { in writeVariableReference()
3592 SpvId SPIRVCodeGenerator::writeIndexExpression(const IndexExpression& expr, OutputStream& out) { in writeIndexExpression()
3604 SpvId SPIRVCodeGenerator::writeFieldAccess(const FieldAccess& f, OutputStream& out) { in writeFieldAccess()
3608 SpvId SPIRVCodeGenerator::writeSwizzle(const Expression& baseExpr, in writeSwizzle()
3630 SpvId SPIRVCodeGenerator::writeSwizzle(const Swizzle& swizzle, OutputStream& out) { in writeSwizzle()
3634 SpvId SPIRVCodeGenerator::writeBinaryOperation(const Type& resultType, const Type& operandType, in writeBinaryOperation()
3653 SpvId SPIRVCodeGenerator::writeBinaryOperationComponentwiseIfMatrix(const Type& resultType, in writeBinaryOperationComponentwiseIfMatrix()
3664 SpvId SPIRVCodeGenerator::writeBinaryOperation(const Type& resultType, const Type& operandType, in writeBinaryOperation()
3672 SpvId SPIRVCodeGenerator::foldToBool(SpvId id, const Type& operandType, SpvOp op, in foldToBool()
3682 SpvId SPIRVCodeGenerator::writeMatrixComparison(const Type& operandType, SpvId lhs, SpvId rhs, in writeMatrixComparison()
3714 SpvId SPIRVCodeGenerator::writeComponentwiseMatrixUnary(const Type& operandType, in writeComponentwiseMatrixUnary()
3733 SpvId SPIRVCodeGenerator::writeComponentwiseMatrixBinary(const Type& operandType, SpvId lhs, in writeComponentwiseMatrixBinary()
3749 SpvId SPIRVCodeGenerator::writeReciprocal(const Type& type, SpvId value, OutputStream& out) { in writeReciprocal()
3757 SpvId SPIRVCodeGenerator::splat(const Type& type, SpvId id, OutputStream& out) { in splat()
3793 SpvId SPIRVCodeGenerator::writeDecomposedMatrixVectorMultiply(const Type& leftType, in writeDecomposedMatrixVectorMultiply()
3828 SpvId SPIRVCodeGenerator::writeBinaryExpression(const Type& leftType, SpvId lhs, Operator op, in writeBinaryExpression()
4073 SpvId SPIRVCodeGenerator::writeArrayComparison(const Type& arrayType, SpvId lhs, Operator op, in writeArrayComparison()
4098 SpvId SPIRVCodeGenerator::writeStructComparison(const Type& structType, SpvId lhs, Operator op, in writeStructComparison()
4124 SpvId SPIRVCodeGenerator::mergeComparisons(SpvId comparison, SpvId allComparisons, Operator op, in mergeComparisons()
4150 SpvId SPIRVCodeGenerator::writeBinaryExpression(const BinaryExpression& b, OutputStream& out) { in writeBinaryExpression()
4193 SpvId SPIRVCodeGenerator::writeLogicalAnd(const Expression& left, const Expression& right, in writeLogicalAnd()
4217 SpvId SPIRVCodeGenerator::writeLogicalOr(const Expression& left, const Expression& right, in writeLogicalOr()
4241 SpvId SPIRVCodeGenerator::writeTernaryExpression(const TernaryExpression& t, OutputStream& out) { in writeTernaryExpression()
4281 SpvId SPIRVCodeGenerator::writePrefixExpression(const PrefixExpression& p, OutputStream& out) { in writePrefixExpression()
4343 SpvId SPIRVCodeGenerator::writePostfixExpression(const PostfixExpression& p, OutputStream& out) { in writePostfixExpression()
4373 SpvId SPIRVCodeGenerator::writeLiteral(const Literal& l) { in writeLiteral()
4377 SpvId SPIRVCodeGenerator::writeLiteral(double value, const Type& type) { in writeLiteral()
4395 void SPIRVCodeGenerator::writeFunctionStart(const FunctionDeclaration& f, OutputStream& out) { in writeFunctionStart()
4468 void SPIRVCodeGenerator::writeFunction(const FunctionDefinition& f, OutputStream& out) { in writeFunction()
4482 void SPIRVCodeGenerator::writeFunctionInstantiation( in writeFunctionInstantiation()
4515 void SPIRVCodeGenerator::writeLayout(const Layout& layout, SpvId target, Position pos) { in writeLayout()
4553 void SPIRVCodeGenerator::writeFieldLayout(const Layout& layout, SpvId target, int member) { in writeFieldLayout()
4575 MemoryLayout SPIRVCodeGenerator::memoryLayoutForStorageClass(StorageClass storageClass) { in memoryLayoutForStorageClass()
4582 MemoryLayout SPIRVCodeGenerator::memoryLayoutForVariable(const Variable& v) const { in memoryLayoutForVariable()
4589 SpvId SPIRVCodeGenerator::writeInterfaceBlock(const InterfaceBlock& intf, bool appendRTFlip) { in writeInterfaceBlock()
4694 bool SPIRVCodeGenerator::writeGlobalVarDeclaration(ProgramKind kind, in writeGlobalVarDeclaration()
4745 SpvId SPIRVCodeGenerator::writeGlobalVar(ProgramKind kind, in writeGlobalVar()
4801 void SPIRVCodeGenerator::writeVarDeclaration(const VarDeclaration& varDecl, OutputStream& out) { in writeVarDeclaration()
4820 void SPIRVCodeGenerator::writeStatement(const Statement& s, OutputStream& out) { in writeStatement()
4863 void SPIRVCodeGenerator::writeBlock(const Block& b, OutputStream& out) { in writeBlock()
4869 SPIRVCodeGenerator::ConditionalOpCounts SPIRVCodeGenerator::getConditionalOpCounts() { in getConditionalOpCounts()
4873 void SPIRVCodeGenerator::pruneConditionalOps(ConditionalOpCounts ops) { in pruneConditionalOps()
4898 void SPIRVCodeGenerator::writeIfStatement(const IfStatement& stmt, OutputStream& out) { in writeIfStatement()
4932 void SPIRVCodeGenerator::writeForStatement(const ForStatement& f, OutputStream& out) { in writeForStatement()
4976 void SPIRVCodeGenerator::writeDoStatement(const DoStatement& d, OutputStream& out) { in writeDoStatement()
5009 void SPIRVCodeGenerator::writeSwitchStatement(const SwitchStatement& s, OutputStream& out) { in writeSwitchStatement()
5082 void SPIRVCodeGenerator::writeReturnStatement(const ReturnStatement& r, OutputStream& out) { in writeReturnStatement()
5096 SPIRVCodeGenerator::EntrypointAdapter SPIRVCodeGenerator::writeEntrypointAdapter( in writeEntrypointAdapter()
5167 void SPIRVCodeGenerator::writeUniformBuffer(SymbolTable* topLevelSymbolTable) { in writeUniformBuffer()
5210 void SPIRVCodeGenerator::addRTFlipUniform(Position pos) { in addRTFlipUniform()
5277 std::tuple<const Variable*, const Variable*> SPIRVCodeGenerator::synthesizeTextureAndSampler( in synthesizeTextureAndSampler()
5327 void SPIRVCodeGenerator::writeInstructions(const Program& program, OutputStream& out) { in writeInstructions()
5530 bool SPIRVCodeGenerator::generateCode() { in generateCode()
5554 SPIRVCodeGenerator cg(program.fContext.get(), caps, &program, &buffer); in ToSPIRV()
5563 SPIRVCodeGenerator cg(program.fContext.get(), caps, &program, &out); in ToSPIRV()