From 034ac06c64caaf6ec19b3e45426de004dd46c4d0 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 18 Jun 2025 11:07:31 +0200 Subject: [PATCH] etnaviv: nir: Use texldlpcf opcode for shadow texture look-ups with explicit LOD 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 Reviewed-by: Lucas Stach Part-of: --- src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c index acdf046c32f..197a6512dd5 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c @@ -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);