From: Dave Airlie Date: Sun, 19 Mar 2017 03:39:29 +0000 (+1000) Subject: radv/ac: fix texture derivative ordering X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e9e747d001dc6d61f11487090408a570c9ceddf;p=mesa.git radv/ac: fix texture derivative ordering The ordering NIR gives us is correct for the hw, this fixes: dEQP-VK.glsl.texture_functions.texturegrad.* (mainly trigged on isampler/usampler 3d textures.). Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 7ac9a1a3167..c8ea0da7740 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -4230,8 +4230,8 @@ static void visit_tex(struct nir_to_llvm_context *ctx, nir_tex_instr *instr) } for (unsigned i = 0; i < num_deriv_comp; i++) { - derivs[i * 2] = to_float(ctx, llvm_extract_elem(ctx, ddx, i)); - derivs[i * 2 + 1] = to_float(ctx, llvm_extract_elem(ctx, ddy, i)); + derivs[i] = to_float(ctx, llvm_extract_elem(ctx, ddx, i)); + derivs[num_deriv_comp + i] = to_float(ctx, llvm_extract_elem(ctx, ddy, i)); } }