On 10/02/2013 05:03 PM, Ian Romanick wrote: > On 10/02/2013 04:20 PM, Marek Olšák wrote: >> I don't understand. All piglit tests should be listed in all.tests. Is >> it not the case with fs-textureOffset-2D? > > I think that's a shader_runner test (file name is *.shader_test). > shader_runner tests aren't explicitly listed in all.tests. Instead some > code in all.tests finds and adds all of them. Perhaps that is adding to > the confusion here?
Nope... it's not a shader_runner test. >> Marek >> >> On Thu, Oct 3, 2013 at 12:36 AM, Grigori Goronzy <g...@chown.ath.cx> wrote: >>> On 03.10.2013 00:12, Grigori Goronzy wrote: >>>> >>>> All texture instructions can use offsets, not just TXF. Offsets into >>>> the literals array were wrong, too. >>> >>> >>> BTW, I just noticed it now: this fixes the fs-textureOffset-2D piglit test, >>> which unfortunately does not appear to be part of any of the test suites. >>> >>> >>>> --- >>>> 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; >>>> >>>> >>> >>> _______________________________________________ >>> 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 > _______________________________________________ > 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