I've pushed this patch. I'll let somebody else review the other one. Marek
On Thu, Oct 3, 2013 at 12:12 AM, Grigori Goronzy <g...@chown.ath.cx> wrote: > All texture instructions can use offsets, not just TXF. Offsets into > the literals array were wrong, too. > --- > src/gallium/drivers/r600/r600_shader.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/src/gallium/drivers/r600/r600_shader.c > b/src/gallium/drivers/r600/r600_shader.c > index 80cdcd5..6289d97 100644 > --- a/src/gallium/drivers/r600/r600_shader.c > +++ b/src/gallium/drivers/r600/r600_shader.c > @@ -3779,16 +3779,16 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) > } > } > > - if (inst->Instruction.Opcode == TGSI_OPCODE_TXF) { > - /* get offset values */ > - if (inst->Texture.NumOffsets) { > - assert(inst->Texture.NumOffsets == 1); > - > - offset_x = ctx->literals[inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleX] << 1; > - offset_y = ctx->literals[inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleY] << 1; > - offset_z = ctx->literals[inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleZ] << 1; > - } > - } else if (inst->Instruction.Opcode == TGSI_OPCODE_TXD) { > + /* get offset values */ > + if (inst->Texture.NumOffsets) { > + assert(inst->Texture.NumOffsets == 1); > + > + offset_x = ctx->literals[4 * inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleX] << 1; > + offset_y = ctx->literals[4 * inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleY] << 1; > + offset_z = ctx->literals[4 * inst->TexOffsets[0].Index + > inst->TexOffsets[0].SwizzleZ] << 1; > + } > + > + if (inst->Instruction.Opcode == TGSI_OPCODE_TXD) { > /* TGSI moves the sampler to src reg 3 for TXD */ > sampler_src_reg = 3; > > -- > 1.8.1.2 > > _______________________________________________ > 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