On Thu, Feb 5, 2015 at 3:05 AM, Topi Pohjolainen <topi.pohjolai...@intel.com> wrote: > From: Dave Airlie <airl...@gmail.com> > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/glsl/loop_controls.cpp | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/src/glsl/loop_controls.cpp b/src/glsl/loop_controls.cpp > index 1c1d34f..9a99c21 100644 > --- a/src/glsl/loop_controls.cpp > +++ b/src/glsl/loop_controls.cpp > @@ -102,10 +102,18 @@ calculate_iterations(ir_rvalue *from, ir_rvalue *to, > ir_rvalue *increment, > return -1; > > if (!iter->type->is_integer()) { > - ir_rvalue *cast = > - new(mem_ctx) ir_expression(ir_unop_f2i, glsl_type::int_type, iter, > - NULL); > - > + ir_rvalue *cast = NULL; > + if (iter->type->is_double()) { > + ir_expression *d2f = > + new(mem_ctx) ir_expression(ir_unop_d2f, glsl_type::float_type, > + iter, NULL); > + cast = new(mem_ctx) ir_expression(ir_unop_f2i, glsl_type::int_type, > + (ir_rvalue*) d2f, NULL);
Why are we doing f2i(d2f(iter)) instead of d2i(iter)? _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev