mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
ttn: add TEX2 support
This fixes CubeArrayShadow tests (where the shadow comes in via a second
arg to the TEX2 instruction).
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 4fd24caf92)
This commit is contained in:
parent
0f98683c83
commit
9c9e843733
1 changed files with 11 additions and 3 deletions
|
|
@ -1087,6 +1087,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;
|
||||
|
|
@ -1242,10 +1247,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++;
|
||||
|
|
@ -1651,6 +1658,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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue