ac/nir: Account for compact array index in GS input load from LDS.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 21 Oct 2017 20:00:37 +0000 (22:00 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 21 Oct 2017 20:29:40 +0000 (22:29 +0200)
Mirrors the vram path.

Fixes: d4ecc3c9299 'ac/nir: Add loading from LDS for merged GS.'
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c

index ca856bb2f9eeee8dcd114b116f6182d119158e4c..83b49b535c606d65ce1a714738dc83e47ceb2266 100644 (file)
@@ -3011,7 +3011,7 @@ load_gs_input(struct nir_to_llvm_context *ctx,
                if (ctx->ac.chip_class >= GFX9) {
                        LLVMValueRef dw_addr = ctx->gs_vtx_offset[vtx_offset_param];
                        dw_addr = LLVMBuildAdd(ctx->ac.builder, dw_addr,
-                                              LLVMConstInt(ctx->ac.i32, param * 4 + i, 0), "");
+                                              LLVMConstInt(ctx->ac.i32, param * 4 + i + const_index, 0), "");
                        value[i] = lds_load(ctx, dw_addr);
                } else {
                        args[0] = ctx->esgs_ring;