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 <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2017-03-19 13:39:29 +10:00
parent 303d22f319
commit 1e9e747d00

View file

@ -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));
}
}