etnaviv: nir: Use texldlpcf opcode for shadow texture look-ups with explicit LOD
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Fixes the following test on GC7000:
 - dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2darrayshadow_vertex
 - dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_vertex
 - dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_fragment
 - dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_vertex
 - dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_fragment

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35600>
This commit is contained in:
Christian Gmeiner 2025-06-18 11:07:31 +02:00 committed by Marge Bot
parent 081aa09aeb
commit 034ac06c64

View file

@ -219,7 +219,7 @@ etna_emit_tex(struct etna_compile *c, nir_tex_instr * tex, unsigned dst_swiz,
case nir_texop_tex: inst.opcode = ISA_OPC_TEXLD; break;
case nir_texop_txb: inst.opcode = ISA_OPC_TEXLDB; break;
case nir_texop_txd: inst.opcode = tex->is_shadow ? ISA_OPC_TEXLDGPCF : ISA_OPC_TEXLDD; break;
case nir_texop_txl: inst.opcode = ISA_OPC_TEXLDL; break;
case nir_texop_txl: inst.opcode = tex->is_shadow ? ISA_OPC_TEXLDLPCF : ISA_OPC_TEXLDL; break;
case nir_texop_txf:
inst.opcode = ISA_OPC_TXF;
inst.src[2] = etna_immediate_int(0x1100);