Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>

I actually think this is wrong for SUSTB, but ... meh.

Also, since we know the format, we could avoid computing the colors
that aren't present in the image, but again ... meh.

On Thu, May 19, 2016 at 6:52 PM, Samuel Pitoiset
<samuel.pitoi...@gmail.com> wrote:
> To prevent out-of-bounds access and format mismatch we add a predicate
> on sustp, but we have to account for it when the sources are condensed
> because a predicate is a source. Using the range 3:6 will only condense
> the input data and it's always the case. This also fixes constraints
> when an indirect access is used.
>
> This fixes a rendering issue in the realistic rendering demo from UE4.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
> ---
>  src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp 
> b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> index b893996..f6277d8 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> @@ -2126,9 +2126,7 @@ 
> RegAlloc::InsertConstraintsPass::texConstraintNVE0(TexInstruction *tex)
>     condenseDefs(tex);
>
>     if (tex->op == OP_SUSTB || tex->op == OP_SUSTP) {
> -      int n = tex->srcCount(0xff);
> -      if (n > 4)
> -         condenseSrcs(tex, 3, n - 1);
> +      condenseSrcs(tex, 3, 6);
>     } else
>     if (isTextureOp(tex->op)) {
>        int n = tex->srcCount(0xff, true);
> --
> 2.8.2
>
> _______________________________________________
> 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

Reply via email to