From 50f012542f3a502aa16c332c78e9d5eaf9336f1f Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 4 Jul 2021 23:27:01 -0400 Subject: [PATCH] agx: Handle txl Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/compiler/agx_compile.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index 64b4896cc7d..b30720287b1 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -711,11 +711,15 @@ agx_emit_tex(agx_builder *b, nir_tex_instr *instr) { switch (instr->op) { case nir_texop_tex: + case nir_texop_txl: break; default: unreachable("Unhandled texture op"); } + enum agx_lod_mode lod_mode = (instr->op == nir_texop_tex) ? + AGX_LOD_MODE_AUTO_LOD : AGX_LOD_MODE_LOD_MIN; + agx_index coords = agx_null(), texture = agx_immediate(instr->texture_index), sampler = agx_immediate(instr->sampler_index), @@ -731,6 +735,9 @@ agx_emit_tex(agx_builder *b, nir_tex_instr *instr) break; case nir_tex_src_lod: + lod = index; + break; + case nir_tex_src_bias: case nir_tex_src_ms_index: case nir_tex_src_offset: @@ -745,7 +752,7 @@ agx_emit_tex(agx_builder *b, nir_tex_instr *instr) agx_texture_sample_to(b, agx_dest_index(&instr->dest), coords, lod, texture, sampler, offset, agx_tex_dim(instr->sampler_dim, instr->is_array), - AGX_LOD_MODE_AUTO_LOD, /* TODO */ + lod_mode, 0xF, /* TODO: wrmask */ 0);