-----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? > > - assert(error_emitted || (result->type == glsl_type::bool_type)); > break; > > case ast_bit_and: -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk2jhgsACgkQX1gOwKyEAw8RXQCgn1uYjm3aV0yIrZn6BSbfqy75 L00AoJn4QtVOtywZFrhNu4m2L1oDBR8f =JdfV -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev