On Tuesday, February 16, 2016 2:13:59 AM PST Ilia Mirkin wrote: > Even though it's a no-op, it's important to keep track of the type so > that we can pick the properly-signed op later on. > > This fixes dEQP-GLES3.functional.shaders.precision.uint.highp_div_fragment, > which ended up using IDIV instead of UDIV. > > Signed-off-by: Ilia Mirkin <[email protected]> > Cc: [email protected] > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/ state_tracker/st_glsl_to_tgsi.cpp > index db00fbd..943582d 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -1979,6 +1979,7 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir) > case ir_unop_u2i: > /* Converting between signed and unsigned integers is a no-op. */ > result_src = op[0]; > + result_src.type = result_dst.type; > break; > case ir_unop_b2i: > if (native_integers) { >
Good catch! result_src and result_dst both have the type of the expression result (i.e. unsigned for i2u), and that's what we want for the result. Not the operand type. Reviewed-by: Kenneth Graunke <[email protected]>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
