[Mesa-dev] [PATCH 2/5] nvc0/ir: use levelZero flag when the lod is set to 0
Ilia Mirkin
imirkin at alum.mit.edu
Fri Oct 21 13:59:11 UTC 2016
Yeah, it might actually need to be arg+1, -1. I didn't test this patch
too thoroughly...
On Fri, Oct 21, 2016 at 9:53 AM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> This patch breaks a bunch of piglit tests, see a short list below:
>
> bin/arb_texture_barrier-blending-in-shader 512 42 1 128 7 -auto -fbo
> bin/arb_texture_buffer_object-formats vs core -auto -fbo
> bin/texelFetch 140 vs sampler2DRect -auto -fbo
> bin/mesa_pack_invert-readpixels -auto -fbo
> ...
>
> Around 150 regressions.
>
> I suspect the moveSources() to be wrong just because texture arguments are
> crazy. :-)
>
> On 10/21/2016 08:30 AM, Ilia Mirkin wrote:
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> ---
>> src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 9
>> +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
>> b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
>> index 68f2b15..4181422 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
>> @@ -662,6 +662,15 @@ NVC0LoweringPass::handleTEX(TexInstruction *i)
>> }
>> }
>>
>> + ImmediateValue lod;
>> + if (!i->tex.target.isMS() && (i->op == OP_TXL || i->op == OP_TXF) &&
>> + i->src(arg).getImmediate(lod) && lod.isInteger(0)) {
>> + if (i->op == OP_TXL)
>> + i->op = OP_TEX;
>> + i->tex.levelZero = true;
>> + i->moveSources(arg, -1);
>> + }
>> +
>> // Arguments to the TEX instruction are a little insane. Even though
>> the
>> // encoding is identical between SM20 and SM30, the arguments mean
>> // different things between Fermi and Kepler+. A lot of arguments are
>>
>
> --
> -Samuel
More information about the mesa-dev
mailing list