From 2c5b43c87fc4e5dcc50f72d782d7b3718e3c2c1c Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Sun, 22 Oct 2017 18:32:14 +0200 Subject: [PATCH] ac/nir: Fix nir_texop_lod on GFX for 1D arrays. Fixes: 1bcb953e166 'radv: handle GFX9 1D textures' Reviewed-by: Dave Airlie --- src/amd/common/ac_nir_to_llvm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 360ca81ca89..5e5a46a21f4 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -4747,7 +4747,9 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr) filler = LLVMConstReal(ctx->ac.f32, 0.5); if (instr->sampler_dim == GLSL_SAMPLER_DIM_1D) { - if (instr->is_array) { + /* No nir_texop_lod, because it does not take a slice + * even with array textures. */ + if (instr->is_array && instr->op != nir_texop_lod ) { address[count] = address[count - 1]; address[count - 1] = filler; count++; -- 2.30.2