Bryan, This commit causes hardlocks on r600g (integers disabled).
Maybe you can see better than me what's wrong. This is a side-by-side diff of the failing TGSI shader. The right-hand one is from Mesa master. The left-hand one is with the commit reverted. http://pastebin.com/raw.php?i=QXB3SZAE Thanks, Marek On Sat, Sep 10, 2011 at 7:36 PM, Bryan Cain <bryanca...@gmail.com> wrote: > Since TGSI now has a UARL opcode that takes an integer as the source, it is > no longer necessary to hack around the lack of an integer ARL opcode using > I2F. > UARL is only emitted when native integers are enabled; ARL is still used > otherwise. > > Reviewed-by: Brian Paul <bri...@vmware.com> > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 18 +++++++----------- > 1 files changed, 7 insertions(+), 11 deletions(-) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > index e2857ed..05d4d33 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -512,7 +512,7 @@ glsl_to_tgsi_visitor::emit(ir_instruction *ir, unsigned > op, > > inst->function = NULL; > > - if (op == TGSI_OPCODE_ARL) > + if (op == TGSI_OPCODE_ARL || op == TGSI_OPCODE_UARL) > this->num_address_regs = 1; > > /* Update indirect addressing status used by TGSI */ > @@ -724,16 +724,12 @@ void > glsl_to_tgsi_visitor::emit_arl(ir_instruction *ir, > st_dst_reg dst, st_src_reg src0) > { > - st_src_reg tmp = get_temp(glsl_type::float_type); > + int op = TGSI_OPCODE_ARL; > > - if (src0.type == GLSL_TYPE_INT) > - emit(NULL, TGSI_OPCODE_I2F, st_dst_reg(tmp), src0); > - else if (src0.type == GLSL_TYPE_UINT) > - emit(NULL, TGSI_OPCODE_U2F, st_dst_reg(tmp), src0); > - else > - tmp = src0; > - > - emit(NULL, TGSI_OPCODE_ARL, dst, tmp); > + if (src0.type == GLSL_TYPE_INT || src0.type == GLSL_TYPE_UINT) > + op = TGSI_OPCODE_UARL; > + > + emit(NULL, op, dst, src0); > } > > /** > -- > 1.7.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev