Lines Matching defs:rows
108 to_string(type.rows());
452 if (type.isMatrix() && type.rows() == type.columns()) {
457 switch (type.rows()) {
913 void MetalCodeGenerator::assembleMatrixFromMatrix(const Type& sourceMatrix, int rows, int columns) {
914 SkASSERT(rows <= 4);
921 fExtraFunctions.printf("%s%s%d(", separator, matrixType.c_str(), rows);
927 swizzleLength = std::min<>(rows, sourceMatrix.rows());
942 for (int r = swizzleLength; r < rows; ++r) {
954 int columns, int rows) {
955 SkASSERT(rows <= 4);
966 fExtraFunctions.printf("%s%s%d(", separator, matrixType.c_str(), rows);
970 for (int r = 0; r < rows;) {
989 } while (r < rows && argPosition < argType.columns());
993 fExtraFunctions.printf("x%zu[%d].", argIndex, argPosition / argType.rows());
998 } while (r < rows && (argPosition % argType.rows()) != 0);
1008 if (argPosition >= argType.columns() * argType.rows()) {
1034 int rows = type.rows();
1067 this->assembleMatrixFromMatrix(args.front()->type(), rows, columns);
1069 this->assembleMatrixFromExpressions(c, columns, rows);
1085 // Helper methods are also necessary when any argument would span multiple rows. For instance:
1092 // float3x2(1, x, 4, 5, 6) = | 1 3 5 | = x spans multiple rows; a helper method will be used
1096 // float2x2(x) = | 1 3 | = x spans multiple rows; a helper method will be used
1107 if (position > c.type().rows()) {
1108 // An input argument would span multiple rows; a helper function is required.
1111 if (position == c.type().rows()) {
1174 SkASSERT(matrixType.rows() == 2);
1236 fContext, /*columns=*/matrixType.rows(), /*rows=*/1);
1245 if (arg->type().columns() < matrixType.rows()) {
1254 if (scalarCount && scalarCount == matrixType.rows()) {
1384 SkASSERT(left.rows() == right.rows());
1386 SkASSERT(left.rows() == result.rows());
1405 SkASSERT(left.rows() == right.rows());