Re: [Mesa-dev] [PATCH] glsl: handle error case with ast_post_inc, ast_post_dec
On 08/09/2018 03:24 PM, Andres Gomez wrote: Tapani, should we also include this in the stable queues ? I was not sure if this is 'critical enough' for stable, but yes I'm OK including it there! Thanks; On Tue, 2018-08-07 at 08:20 +0300, Tapani Pälli wrote: Return ir_rvalue::error_value with ast_post_inc, ast_post_dec if parser error was emitted previously. This way process_array_size won't see bogus IR generated like with commit 9c676a64273. Signed-off-by: Tapani Pälli Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98699 --- src/compiler/glsl/ast_to_hir.cpp | 5 + 1 file changed, 5 insertions(+) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index 74160ec142b..5d3f10b6823 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -1928,6 +1928,11 @@ ast_expression::do_hir(exec_list *instructions, error_emitted = op[0]->type->is_error() || op[1]->type->is_error(); + if (error_emitted) { + result = ir_rvalue::error_value(ctx); + break; + } + type = arithmetic_result_type(op[0], op[1], false, state, & loc); ir_rvalue *temp_rhs; ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] glsl: handle error case with ast_post_inc, ast_post_dec
Tapani, should we also include this in the stable queues ? On Tue, 2018-08-07 at 08:20 +0300, Tapani Pälli wrote: > Return ir_rvalue::error_value with ast_post_inc, ast_post_dec if > parser error was emitted previously. This way process_array_size > won't see bogus IR generated like with commit 9c676a64273. > > Signed-off-by: Tapani Pälli > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98699 > --- > src/compiler/glsl/ast_to_hir.cpp | 5 + > 1 file changed, 5 insertions(+) > > diff --git a/src/compiler/glsl/ast_to_hir.cpp > b/src/compiler/glsl/ast_to_hir.cpp > index 74160ec142b..5d3f10b6823 100644 > --- a/src/compiler/glsl/ast_to_hir.cpp > +++ b/src/compiler/glsl/ast_to_hir.cpp > @@ -1928,6 +1928,11 @@ ast_expression::do_hir(exec_list *instructions, > >error_emitted = op[0]->type->is_error() || op[1]->type->is_error(); > > + if (error_emitted) { > + result = ir_rvalue::error_value(ctx); > + break; > + } > + >type = arithmetic_result_type(op[0], op[1], false, state, & loc); > >ir_rvalue *temp_rhs; -- Br, Andres ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] glsl: handle error case with ast_post_inc, ast_post_dec
Reviewed-by: Iago Toral Quiroga On Tue, 2018-08-07 at 08:20 +0300, Tapani Pälli wrote: > Return ir_rvalue::error_value with ast_post_inc, ast_post_dec if > parser error was emitted previously. This way process_array_size > won't see bogus IR generated like with commit 9c676a64273. > > Signed-off-by: Tapani Pälli > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98699 > --- > src/compiler/glsl/ast_to_hir.cpp | 5 + > 1 file changed, 5 insertions(+) > > diff --git a/src/compiler/glsl/ast_to_hir.cpp > b/src/compiler/glsl/ast_to_hir.cpp > index 74160ec142b..5d3f10b6823 100644 > --- a/src/compiler/glsl/ast_to_hir.cpp > +++ b/src/compiler/glsl/ast_to_hir.cpp > @@ -1928,6 +1928,11 @@ ast_expression::do_hir(exec_list > *instructions, > >error_emitted = op[0]->type->is_error() || op[1]->type- > >is_error(); > > + if (error_emitted) { > + result = ir_rvalue::error_value(ctx); > + break; > + } > + >type = arithmetic_result_type(op[0], op[1], false, state, & > loc); > >ir_rvalue *temp_rhs; ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev