radv: fix compute shared memory stores since 64-bit.
authorDave Airlie <airlied@redhat.com>
Fri, 3 Feb 2017 01:03:13 +0000 (01:03 +0000)
committerDave Airlie <airlied@redhat.com>
Fri, 3 Feb 2017 19:51:52 +0000 (19:51 +0000)
These regressed and caused doom to stop loading.

Fixes:
03724af26 radv/ac: Implement Float64 load/store var.

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c

index 728294cc46efdf4c3cfd316cf674cd29dc23531d..ddec74fa1ab0aed0432ac26701357f5fb089fe47 100644 (file)
@@ -2351,9 +2351,11 @@ visit_store_var(struct nir_to_llvm_context *ctx,
 
                        if (indir_index)
                                index = LLVMBuildAdd(ctx->builder, index, indir_index, "");
+
+                       value = llvm_extract_elem(ctx, src, chan);
                        derived_ptr = LLVMBuildGEP(ctx->builder, ptr, &index, 1, "");
                        LLVMBuildStore(ctx->builder,
-                                      to_integer(ctx, src), derived_ptr);
+                                      to_integer(ctx, value), derived_ptr);
                }
                break;
        }