[Freedreno] [Mesa-dev] [PATCH] ttn: add TEX2 support

Rob Clark robdclark at gmail.com
Fri Nov 20 14:44:09 PST 2015


On Fri, Nov 20, 2015 at 4:52 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> This fixes CubeArrayShadow tests (where the shadow comes in via a second
> arg to the TEX instruction).
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

Reviewed-by: Rob Clark <robdclark at gmail.com>

> Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/auxiliary/nir/tgsi_to_nir.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c
> index 0539cfc..1da00b2 100644
> --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
> +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
> @@ -1239,6 +1239,11 @@ ttn_tex(struct ttn_compile *c, nir_alu_dest dest, nir_ssa_def **src)
>        op = nir_texop_tex;
>        num_srcs = 1;
>        break;
> +   case TGSI_OPCODE_TEX2:
> +      op = nir_texop_tex;
> +      num_srcs = 1;
> +      samp = 2;
> +      break;
>     case TGSI_OPCODE_TXP:
>        op = nir_texop_tex;
>        num_srcs = 2;
> @@ -1394,10 +1399,12 @@ ttn_tex(struct ttn_compile *c, nir_alu_dest dest, nir_ssa_def **src)
>     }
>
>     if (instr->is_shadow) {
> -      if (instr->coord_components < 3)
> -         instr->src[src_number].src = nir_src_for_ssa(ttn_channel(b, src[0], Z));
> -      else
> +      if (instr->coord_components == 4)
> +         instr->src[src_number].src = nir_src_for_ssa(ttn_channel(b, src[1], X));
> +      else if (instr->coord_components == 3)
>           instr->src[src_number].src = nir_src_for_ssa(ttn_channel(b, src[0], W));
> +      else
> +         instr->src[src_number].src = nir_src_for_ssa(ttn_channel(b, src[0], Z));
>
>        instr->src[src_number].src_type = nir_tex_src_comparitor;
>        src_number++;
> @@ -1803,6 +1810,7 @@ ttn_emit_instruction(struct ttn_compile *c)
>     case TGSI_OPCODE_TXL:
>     case TGSI_OPCODE_TXB:
>     case TGSI_OPCODE_TXD:
> +   case TGSI_OPCODE_TEX2:
>     case TGSI_OPCODE_TXL2:
>     case TGSI_OPCODE_TXB2:
>     case TGSI_OPCODE_TXQ_LZ:
> --
> 2.4.10
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the Freedreno mailing list