On Mon, 11 Apr 2011 15:51:55 -0700, Ian Romanick <i...@freedesktop.org> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 04/09/2011 10:17 PM, Eric Anholt wrote: > > This prevents later errors (including an assertion failure) from > > cascading the failure. > > > > Fixes invalid-equality-04.vert. > > --- > > src/glsl/ast_to_hir.cpp | 10 +++++++--- > > 1 files changed, 7 insertions(+), 3 deletions(-) > > > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp > > index 108c7c3..ea20eba 100644 > > --- a/src/glsl/ast_to_hir.cpp > > +++ b/src/glsl/ast_to_hir.cpp > > @@ -1073,10 +1073,14 @@ ast_expression::hir(exec_list *instructions, > > error_emitted = true; > > } > > > > - result = do_comparison(ctx, operations[this->oper], op[0], op[1]); > > - type = glsl_type::bool_type; > > + if (error_emitted) { > > + result = new(ctx) ir_constant(false); > > + } else { > > + result = do_comparison(ctx, operations[this->oper], op[0], op[1]); > > + assert(result->type == glsl_type::bool_type); > > + type = glsl_type::bool_type; > > + } > > Doesn't this leave type unset in the 'if (error_emitted)' case?
Hmm, so we get the 'type mismatch' in addition to the error message. In every case it looks to me like type should be set to result->type after the giant switch(). Can we just kill it?
pgpTOis3QYZ6E.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev