|
@@ -1215,6 +1215,15 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
|
|
} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_MAT4 && nb == TYPE_VEC4) {
|
|
} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_MAT4 && nb == TYPE_VEC4) {
|
|
valid = true;
|
|
valid = true;
|
|
ret_type = TYPE_MAT4;
|
|
ret_type = TYPE_MAT4;
|
|
|
|
+ } else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_VEC2 && nb == TYPE_MAT2) {
|
|
|
|
+ valid = true;
|
|
|
|
+ ret_type = TYPE_VEC2;
|
|
|
|
+ } else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_VEC3 && nb == TYPE_MAT3) {
|
|
|
|
+ valid = true;
|
|
|
|
+ ret_type = TYPE_VEC3;
|
|
|
|
+ } else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_VEC4 && nb == TYPE_MAT4) {
|
|
|
|
+ valid = true;
|
|
|
|
+ ret_type = TYPE_VEC4;
|
|
}
|
|
}
|
|
} break;
|
|
} break;
|
|
case OP_ASSIGN_BIT_AND:
|
|
case OP_ASSIGN_BIT_AND:
|