Lines Matching refs:MetalCodeGenerator
24 void MetalCodeGenerator::setupIntrinsics() { in setupIntrinsics()
37 void MetalCodeGenerator::write(const char* s) { in write()
50 void MetalCodeGenerator::writeLine(const char* s) { in writeLine()
56 void MetalCodeGenerator::write(const String& s) { in write()
60 void MetalCodeGenerator::writeLine(const String& s) { in writeLine()
64 void MetalCodeGenerator::writeLine() { in writeLine()
68 void MetalCodeGenerator::writeExtension(const Extension& ext) { in writeExtension()
72 String MetalCodeGenerator::typeName(const Type& type) { in typeName()
95 void MetalCodeGenerator::writeType(const Type& type) { in writeType()
115 void MetalCodeGenerator::writeExpression(const Expression& expr, Precedence parentPrecedence) { in writeExpression()
167 void MetalCodeGenerator::writeIntrinsicCall(const FunctionCall& c) { in writeIntrinsicCall()
207 void MetalCodeGenerator::writeFunctionCall(const FunctionCall& c) { in writeFunctionCall()
266 void MetalCodeGenerator::writeInverseHack(const Expression& mat) { in writeInverseHack()
346 void MetalCodeGenerator::writeSpecialIntrinsic(const FunctionCall & c, SpecialIntrinsic kind) { in writeSpecialIntrinsic()
388 String MetalCodeGenerator::getMatrixConstructHelper(const Type& matrix, const Type& arg) { in getMatrixConstructHelper()
465 bool MetalCodeGenerator::canCoerce(const Type& t1, const Type& t2) { in canCoerce()
475 void MetalCodeGenerator::writeConstructor(const Constructor& c, Precedence parentPrecedence) { in writeConstructor()
514 void MetalCodeGenerator::writeFragCoord() { in writeFragCoord()
524 void MetalCodeGenerator::writeVariableReference(const VariableReference& ref) { in writeVariableReference()
560 void MetalCodeGenerator::writeIndexExpression(const IndexExpression& expr) { in writeIndexExpression()
567 void MetalCodeGenerator::writeFieldAccess(const FieldAccess& f) { in writeFieldAccess()
594 void MetalCodeGenerator::writeSwizzle(const Swizzle& swizzle) { in writeSwizzle()
615 MetalCodeGenerator::Precedence MetalCodeGenerator::GetBinaryPrecedence(Token::Kind op) { in GetBinaryPrecedence()
619 case Token::PERCENT: return MetalCodeGenerator::kMultiplicative_Precedence; in GetBinaryPrecedence()
621 case Token::MINUS: return MetalCodeGenerator::kAdditive_Precedence; in GetBinaryPrecedence()
623 case Token::SHR: return MetalCodeGenerator::kShift_Precedence; in GetBinaryPrecedence()
627 case Token::GTEQ: return MetalCodeGenerator::kRelational_Precedence; in GetBinaryPrecedence()
629 case Token::NEQ: return MetalCodeGenerator::kEquality_Precedence; in GetBinaryPrecedence()
630 case Token::BITWISEAND: return MetalCodeGenerator::kBitwiseAnd_Precedence; in GetBinaryPrecedence()
631 case Token::BITWISEXOR: return MetalCodeGenerator::kBitwiseXor_Precedence; in GetBinaryPrecedence()
632 case Token::BITWISEOR: return MetalCodeGenerator::kBitwiseOr_Precedence; in GetBinaryPrecedence()
633 case Token::LOGICALAND: return MetalCodeGenerator::kLogicalAnd_Precedence; in GetBinaryPrecedence()
634 case Token::LOGICALXOR: return MetalCodeGenerator::kLogicalXor_Precedence; in GetBinaryPrecedence()
635 case Token::LOGICALOR: return MetalCodeGenerator::kLogicalOr_Precedence; in GetBinaryPrecedence()
649 case Token::BITWISEOREQ: return MetalCodeGenerator::kAssignment_Precedence; in GetBinaryPrecedence()
650 case Token::COMMA: return MetalCodeGenerator::kSequence_Precedence; in GetBinaryPrecedence()
655 void MetalCodeGenerator::writeMatrixTimesEqualHelper(const Type& left, const Type& right, in writeMatrixTimesEqualHelper()
667 void MetalCodeGenerator::writeBinaryExpression(const BinaryExpression& b, in writeBinaryExpression()
727 void MetalCodeGenerator::writeTernaryExpression(const TernaryExpression& t, in writeTernaryExpression()
742 void MetalCodeGenerator::writePrefixExpression(const PrefixExpression& p, in writePrefixExpression()
754 void MetalCodeGenerator::writePostfixExpression(const PostfixExpression& p, in writePostfixExpression()
766 void MetalCodeGenerator::writeBoolLiteral(const BoolLiteral& b) { in writeBoolLiteral()
770 void MetalCodeGenerator::writeIntLiteral(const IntLiteral& i) { in writeIntLiteral()
778 void MetalCodeGenerator::writeFloatLiteral(const FloatLiteral& f) { in writeFloatLiteral()
782 void MetalCodeGenerator::writeSetting(const Setting& s) { in writeSetting()
786 void MetalCodeGenerator::writeFunction(const FunctionDefinition& f) { in writeFunction()
985 void MetalCodeGenerator::writeModifiers(const Modifiers& modifiers, in writeModifiers()
995 void MetalCodeGenerator::writeInterfaceBlock(const InterfaceBlock& intf) { in writeInterfaceBlock()
1031 void MetalCodeGenerator::writeFields(const std::vector<Type::Field>& fields, int parentOffset, in writeFields()
1101 void MetalCodeGenerator::writeVarInitializer(const Variable& var, const Expression& value) { in writeVarInitializer()
1105 void MetalCodeGenerator::writeName(const String& name) { in writeName()
1112 void MetalCodeGenerator::writeVarDeclarations(const VarDeclarations& decl, bool global) { in writeVarDeclarations()
1146 void MetalCodeGenerator::writeStatement(const Statement& s) { in writeStatement()
1196 void MetalCodeGenerator::writeStatements(const std::vector<std::unique_ptr<Statement>>& statements)… in writeStatements()
1205 void MetalCodeGenerator::writeBlock(const Block& b) { in writeBlock()
1213 void MetalCodeGenerator::writeIfStatement(const IfStatement& stmt) { in writeIfStatement()
1224 void MetalCodeGenerator::writeForStatement(const ForStatement& f) { in writeForStatement()
1242 void MetalCodeGenerator::writeWhileStatement(const WhileStatement& w) { in writeWhileStatement()
1249 void MetalCodeGenerator::writeDoStatement(const DoStatement& d) { in writeDoStatement()
1257 void MetalCodeGenerator::writeSwitchStatement(const SwitchStatement& s) { in writeSwitchStatement()
1281 void MetalCodeGenerator::writeReturnStatement(const ReturnStatement& r) { in writeReturnStatement()
1290 void MetalCodeGenerator::writeHeader() { in writeHeader()
1296 void MetalCodeGenerator::writeUniformStruct() { in writeUniformStruct()
1334 void MetalCodeGenerator::writeInputStruct() { in writeInputStruct()
1368 void MetalCodeGenerator::writeOutputStruct() { in writeOutputStruct()
1413 void MetalCodeGenerator::writeInterfaceBlocks() { in writeInterfaceBlocks()
1428 void MetalCodeGenerator::writeGlobalStruct() { in writeGlobalStruct()
1484 void MetalCodeGenerator::writeProgramElement(const ProgramElement& e) { in writeProgramElement()
1520 MetalCodeGenerator::Requirements MetalCodeGenerator::requirements(const Expression& e) { in requirements()
1588 MetalCodeGenerator::Requirements MetalCodeGenerator::requirements(const Statement& s) { in requirements()
1660 MetalCodeGenerator::Requirements MetalCodeGenerator::requirements(const FunctionDeclaration& f) { in requirements()
1681 bool MetalCodeGenerator::generateCode() { in generateCode()