pan/bi: Use 2D dimension with TEX_FETCH with CUBE on Valhall

TEX_FETCH doesn't have the CUBE dimension, this was working on v9 and
v10 but this fails on Avalon.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: ce52b6d359 ("pan/bi: Rework indices for tex on Valhall")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33371>
This commit is contained in:
Mary Guillemard 2025-01-30 13:08:13 +00:00 committed by Marge Bot
parent c36326d3af
commit 135aeddc9b

View file

@ -4162,10 +4162,16 @@ bi_emit_tex_valhall(bi_builder *b, nir_tex_instr *instr)
!narrow_indices, mask, sr_count);
break;
case nir_texop_txf:
case nir_texop_txf_ms:
case nir_texop_txf_ms: {
/* On Valhall, TEX_FETCH doesn't have CUBE support. This is not a problem
* as a cube is just a 2D array in any cases. */
if (dim == BI_DIMENSION_CUBE)
dim = BI_DIMENSION_2D;
bi_tex_fetch_to(b, dest, idx, src0, src1, instr->is_array, dim, regfmt,
explicit_offset, !narrow_indices, mask, sr_count);
break;
}
case nir_texop_tg4:
bi_tex_gather_to(b, dest, idx, src0, src1, instr->is_array, dim,
instr->component, false, regfmt, instr->is_shadow,