gallium/ttn: fix TXF
There is a level param stashed away in the .w component of the first src. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
ef7c4f39bf
commit
7a9063e7c7
|
@ -1053,7 +1053,7 @@ ttn_tex(struct ttn_compile *c, nir_alu_dest dest, nir_ssa_def **src)
|
|||
break;
|
||||
case TGSI_OPCODE_TXF:
|
||||
op = nir_texop_txf;
|
||||
num_srcs = 1;
|
||||
num_srcs = 2;
|
||||
break;
|
||||
case TGSI_OPCODE_TXD:
|
||||
op = nir_texop_txd;
|
||||
|
@ -1138,6 +1138,12 @@ ttn_tex(struct ttn_compile *c, nir_alu_dest dest, nir_ssa_def **src)
|
|||
src_number++;
|
||||
}
|
||||
|
||||
if (tgsi_inst->Instruction.Opcode == TGSI_OPCODE_TXF) {
|
||||
instr->src[src_number].src = nir_src_for_ssa(ttn_channel(b, src[0], W));
|
||||
instr->src[src_number].src_type = nir_tex_src_lod;
|
||||
src_number++;
|
||||
}
|
||||
|
||||
if (tgsi_inst->Instruction.Opcode == TGSI_OPCODE_TXD) {
|
||||
instr->src[src_number].src =
|
||||
nir_src_for_ssa(nir_swizzle(b, src[1], SWIZ(X, Y, Z, W),
|
||||
|
|
Loading…
Reference in New Issue