ac/nir/llvm: fix channel in texture gather lowering code.
authorDave Airlie <airlied@redhat.com>
Tue, 15 Nov 2016 07:30:09 +0000 (07:30 +0000)
committerDave Airlie <airlied@redhat.com>
Tue, 15 Nov 2016 23:18:15 +0000 (09:18 +1000)
This fixes a number of CTS tests like:
dEQP-VK.glsl.texture_gather.basic.2d.rgba8ui.size_npot.clamp_to_edge_repeat

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c

index aa2d488780e5521c96a593e2d82f69498dabe136..5de1491123e771d4701e593f93d5857a54679024 100644 (file)
@@ -1759,7 +1759,7 @@ static LLVMValueRef radv_lower_gather4_integer(struct nir_to_llvm_context *ctx,
 
                for (c = 0; c < 2; c++) {
                        half_texel[c] = LLVMBuildExtractElement(ctx->builder, size,
-                                                               ctx->i32zero, "");
+                                                               LLVMConstInt(ctx->i32, c, false), "");
                        half_texel[c] = LLVMBuildUIToFP(ctx->builder, half_texel[c], ctx->f32, "");
                        half_texel[c] = emit_fdiv(ctx, ctx->f32one, half_texel[c]);
                        half_texel[c] = LLVMBuildFMul(ctx->builder, half_texel[c],