Do you also need to zero out su->tex.r ? On Jul 10, 2016 10:19 AM, "Samuel Pitoiset" <samuel.pitoi...@gmail.com> wrote:
> This fixes the following piglits: > > arb_arrays_of_arrays-basic-imagestore-mixed-const-non-const-uniform-index > arb_arrays_of_arrays-basic-imagestore-mixed-const-non-const-uniform-index2 > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > Cc: 12.0 <mesa-sta...@lists.freedesktop.org> > --- > > Expect minor conflicts because I did refactor that logic but the patch has > not > been backported. > > src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 7 +++++++ > 1 file changed, 7 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 9735773..18955eb 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp > @@ -2008,6 +2008,13 @@ > NVC0LoweringPass::processSurfaceCoordsNVC0(TexInstruction *su) > > adjustCoordinatesMS(su); > > + if (ind) { > + Value *ptr; > + ptr = bld.mkOp2v(OP_ADD, TYPE_U32, bld.getSSA(), ind, > bld.mkImm(su->tex.r)); > + ptr = bld.mkOp2v(OP_AND, TYPE_U32, bld.getSSA(), ptr, bld.mkImm(7)); > + su->setIndirectR(ptr); > + } > + > // get surface coordinates > for (c = 0; c < arg; ++c) > src[c] = su->getSrc(c); > -- > 2.9.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev