| Index: src/sksl/ir/SkSLIndexExpression.h
|
| diff --git a/src/sksl/ir/SkSLIndexExpression.h b/src/sksl/ir/SkSLIndexExpression.h
|
| index f5b0d09c2cbffe428aacb844ed78bb5ce20a0a02..ea9af3d8973628d25b1960d532cb696d58c47321 100644
|
| --- a/src/sksl/ir/SkSLIndexExpression.h
|
| +++ b/src/sksl/ir/SkSLIndexExpression.h
|
| @@ -19,7 +19,7 @@ namespace SkSL {
|
| static const Type& index_type(const Context& context, const Type& type) {
|
| if (type.kind() == Type::kMatrix_Kind) {
|
| if (type.componentType() == *context.fFloat_Type) {
|
| - switch (type.columns()) {
|
| + switch (type.rows()) {
|
| case 2: return *context.fVec2_Type;
|
| case 3: return *context.fVec3_Type;
|
| case 4: return *context.fVec4_Type;
|
| @@ -27,7 +27,7 @@ static const Type& index_type(const Context& context, const Type& type) {
|
| }
|
| } else {
|
| ASSERT(type.componentType() == *context.fDouble_Type);
|
| - switch (type.columns()) {
|
| + switch (type.rows()) {
|
| case 2: return *context.fDVec2_Type;
|
| case 3: return *context.fDVec3_Type;
|
| case 4: return *context.fDVec4_Type;
|
| @@ -47,7 +47,7 @@ struct IndexExpression : public Expression {
|
| : INHERITED(base->fPosition, kIndex_Kind, index_type(context, base->fType))
|
| , fBase(std::move(base))
|
| , fIndex(std::move(index)) {
|
| - ASSERT(fIndex->fType == *context.fInt_Type);
|
| + ASSERT(fIndex->fType == *context.fInt_Type || fIndex->fType == *context.fUInt_Type);
|
| }
|
|
|
| std::string description() const override {
|
|
|