summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2019-01-24 01:21:28 +0100
committerBas Nieuwenhuizen <[email protected]>2019-02-06 22:35:58 +0100
commit830fd0efc1ae58d722d8efa4b95f708cf70b23ca (patch)
tree479fde005aa514554f0bfb15b8550e16c2d6aa4e /src/amd
parentdbdb44d5756cb98e15c40d0abf9efd4a7f250895 (diff)
amd/common: Handle nir_deref_type_ptr_as_array for shared memory.
Fixes: a2b5cc3c399 "radv: enable variable pointers" Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/common/ac_nir_to_llvm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 3a830591a24..ab3db270f0c 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -3844,6 +3844,10 @@ static void visit_deref(struct ac_nir_context *ctx,
result = ac_build_gep0(&ctx->ac, get_src(ctx, instr->parent),
get_src(ctx, instr->arr.index));
break;
+ case nir_deref_type_ptr_as_array:
+ result = ac_build_gep_ptr(&ctx->ac, get_src(ctx, instr->parent),
+ get_src(ctx, instr->arr.index));
+ break;
case nir_deref_type_cast:
result = get_src(ctx, instr->parent);
break;