Reviewed-by: Karol Herbst <[email protected]>

On Sat, Mar 24, 2018 at 8:19 PM, Ilia Mirkin <[email protected]> wrote:
> There were two problems, both of which are fixed now:
>  - The indirect address was not being shifted by 4
>  - The indirect address was being placed as an argument in the offset case
>
> This fixes some of the new interpolateAt* piglits which now test for
> these situations.
>
> Signed-off-by: Ilia Mirkin <[email protected]>
> ---
>  src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp 
> b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> index 09b5228127a..3c5bad05fe7 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> @@ -3083,10 +3083,11 @@ Converter::handleINTERP(Value *dst[4])
>           assert(sym[c]);
>           op = insn->op;
>           mode = insn->ipa;
> +         ptr = insn->getIndirect(0, 0);
>        }
>     } else {
>        if (src.isIndirect(0))
> -         ptr = fetchSrc(src.getIndirect(0), 0, NULL);
> +         ptr = shiftAddress(fetchSrc(src.getIndirect(0), 0, NULL));
>
>        // We can assume that the fixed index will point to an input of the 
> same
>        // interpolation type in case of an indirect.
> @@ -3144,10 +3145,10 @@ Converter::handleINTERP(Value *dst[4])
>        insn = mkOp1(op, TYPE_F32, dst[c], sym[c] ? sym[c] : srcToSym(src, c));
>        if (op == OP_PINTERP)
>           insn->setSrc(1, w);
> -      if (ptr)
> -         insn->setIndirect(0, 0, ptr);
>        if (offset)
>           insn->setSrc(op == OP_PINTERP ? 2 : 1, offset);
> +      if (ptr)
> +         insn->setIndirect(0, 0, ptr);
>
>        insn->setInterpolate(mode);
>     }
> --
> 2.16.1
>
> _______________________________________________
> mesa-dev mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to