-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 07/26/2011 04:08 PM, Chad Versace wrote: > type_compare() allowed the following illegal implicit conversions: > bool -> float > bvecN -> vecN > > Fixes Piglit tests > spec/glsl-1.20/compiler/built-in-functions/outerProduct-bvec*.vert.
Does this also fix array-ctor-implicit-conversion-bvec[234]-vec[234]? It occurred to me the other day that these failures are probably related. > Note: This is a candidate for the 7.10 and 7.11 branches. > Signed-off-by: Chad Versace <c...@chad-versace.us> > --- > src/glsl/ir_function.cpp | 21 +++++++++++++-------- > 1 files changed, 13 insertions(+), 8 deletions(-) > > diff --git a/src/glsl/ir_function.cpp b/src/glsl/ir_function.cpp > index e6ba359..2abc7aa 100644 > --- a/src/glsl/ir_function.cpp > +++ b/src/glsl/ir_function.cpp > @@ -45,18 +45,23 @@ type_compare(const glsl_type *to, const glsl_type *from) > case GLSL_TYPE_BOOL: > /* There is no implicit conversion to or from integer types or bool. > */ > - if ((to->is_integer() != from->is_integer()) > - || (to->is_boolean() != from->is_boolean())) > + if (to->base_type == from->base_type > + && to->vector_elements == from->vector_elements > + && to->matrix_columns == from->matrix_columns) { > + return 1; > + } else { > return -1; > - > - /* FALLTHROUGH */ > + } > > case GLSL_TYPE_FLOAT: > - if ((to->vector_elements != from->vector_elements) > - || (to->matrix_columns != from->matrix_columns)) > + /* Integer types can be implicity converted to float. */ > + if ((from->base_type == GLSL_TYPE_FLOAT || from->is_integer()) > + && to->vector_elements == from->vector_elements > + && to->matrix_columns == from->matrix_columns) { > + return 1; > + } else { > return -1; > - > - return 1; > + } > > case GLSL_TYPE_SAMPLER: > case GLSL_TYPE_STRUCT: -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk4vXy8ACgkQX1gOwKyEAw96hgCeKQiS0+fC6IV+NuEIwyr7kxZQ YlAAmwTox4acBRuvQ5FTbRyaIZWPx6XJ =QBlZ -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev