瀏覽代碼

Fix some incorrect conversions which lead to crash in shaders

Yuri Roubinsky 5 年之前
父節點
當前提交
01950553f2
共有 1 個文件被更改,包括 6 次插入6 次删除
  1. 6 6
      servers/rendering/shader_language.cpp

+ 6 - 6
servers/rendering/shader_language.cpp

@@ -1137,13 +1137,13 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
 			} else if (na == TYPE_FLOAT && nb == TYPE_VEC4) {
 				valid = true;
 				ret_type = TYPE_VEC4;
-			} else if (p_op->op == OP_MUL && na == TYPE_FLOAT && nb == TYPE_MAT2) {
+			} else if (na == TYPE_FLOAT && nb == TYPE_MAT2) {
 				valid = true;
 				ret_type = TYPE_MAT2;
-			} else if (p_op->op == OP_MUL && na == TYPE_FLOAT && nb == TYPE_MAT3) {
+			} else if (na == TYPE_FLOAT && nb == TYPE_MAT3) {
 				valid = true;
 				ret_type = TYPE_MAT3;
-			} else if (p_op->op == OP_MUL && na == TYPE_FLOAT && nb == TYPE_MAT4) {
+			} else if (na == TYPE_FLOAT && nb == TYPE_MAT4) {
 				valid = true;
 				ret_type = TYPE_MAT4;
 			} else if (p_op->op == OP_MUL && na == TYPE_VEC2 && nb == TYPE_MAT2) {
@@ -1313,13 +1313,13 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
 			} else if (na == TYPE_VEC4 && nb == TYPE_FLOAT) {
 				valid = true;
 				ret_type = TYPE_VEC4;
-			} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_MAT2 && nb == TYPE_VEC2) {
+			} else if (na == TYPE_MAT2 && nb == TYPE_FLOAT) {
 				valid = true;
 				ret_type = TYPE_MAT2;
-			} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_MAT3 && nb == TYPE_VEC3) {
+			} else if (na == TYPE_MAT3 && nb == TYPE_FLOAT) {
 				valid = true;
 				ret_type = TYPE_MAT3;
-			} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_MAT4 && nb == TYPE_VEC4) {
+			} else if (na == TYPE_MAT4 && nb == TYPE_FLOAT) {
 				valid = true;
 				ret_type = TYPE_MAT4;
 			} else if (p_op->op == OP_ASSIGN_MUL && na == TYPE_VEC2 && nb == TYPE_MAT2) {