[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