Skip to content

Commit 446e7a7

Browse files
committed
Merge pull request godotengine#93793 from Chaosus/shader_fix_bool_op_crash
Prevent shader crash when doing invalid operation on boolean vector
2 parents e78c4be + 4bf9f3e commit 446e7a7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

servers/rendering/shader_language.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1547,7 +1547,7 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
15471547
}
15481548

15491549
DataType na = p_op->arguments[0]->get_datatype();
1550-
valid = na > TYPE_BOOL && na < TYPE_MAT2;
1550+
valid = na > TYPE_BVEC4 && na < TYPE_MAT2;
15511551
ret_type = na;
15521552
} break;
15531553
case OP_ADD:
@@ -1567,7 +1567,7 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
15671567
}
15681568

15691569
if (na == nb) {
1570-
valid = (na > TYPE_BOOL && na <= TYPE_MAT4);
1570+
valid = (na > TYPE_BVEC4 && na <= TYPE_MAT4);
15711571
ret_type = na;
15721572
} else if (na == TYPE_INT && nb == TYPE_IVEC2) {
15731573
valid = true;
@@ -1776,7 +1776,7 @@ bool ShaderLanguage::_validate_operator(OperatorNode *p_op, DataType *r_ret_type
17761776
DataType nb = p_op->arguments[1]->get_datatype();
17771777

17781778
if (na == nb) {
1779-
valid = (na > TYPE_BOOL && na <= TYPE_MAT4);
1779+
valid = (na > TYPE_BVEC4 && na <= TYPE_MAT4);
17801780
ret_type = na;
17811781
} else if (na == TYPE_IVEC2 && nb == TYPE_INT) {
17821782
valid = true;

0 commit comments

Comments
 (0)