diff options
author | Ian Romanick <[email protected]> | 2017-09-26 17:54:48 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2017-10-02 14:46:02 -0700 |
commit | ed80746c1c519bb173217fde39266c2af3525a0c (patch) | |
tree | 682feb25b1362040869165e26f63d019f076de10 | |
parent | 6d1765c63aed1b814b29051c702f8e79ead6dbed (diff) |
glsl/ast: Stop processing a switch-statement after an error in the init-expression
This happens to work now because ir_binop_all_equal is used. This
causes vector typed init-expressions to produce scalar Boolean values
after comparison.
The next commit changes ir_binop_all_equal to ir_binop_equal. Vector
typed init-expressions will then produce vector Boolean values, and, in
debug builds, the ir_assignment constructor will fail an assertion.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Alejandro PiƱeiro <[email protected]>
-rw-r--r-- | src/compiler/glsl/ast_to_hir.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index 1999e68158c..4323ec32264 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6407,6 +6407,7 @@ ast_switch_statement::hir(exec_list *instructions, state, "switch-statement expression must be scalar " "integer"); + return NULL; } /* Track the switch-statement nesting in a stack-like manner. |