diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 0ca3f83a248..b12cb418e11 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -1593,7 +1593,8 @@ static void visit_store_ssbo(struct ac_nir_context *ctx, ctx->ac.i1false, }; ac_build_intrinsic(&ctx->ac, store_name, - ctx->ac.voidt, tbuffer_params, 10, 0); + ctx->ac.voidt, tbuffer_params, 10, + ac_get_store_intr_attribs(writeonly_memory)); } else { switch (num_bytes) { case 16: /* v4f32 */ @@ -1621,7 +1622,8 @@ static void visit_store_ssbo(struct ac_nir_context *ctx, ctx->ac.i1false, /* slc */ }; ac_build_intrinsic(&ctx->ac, store_name, - ctx->ac.voidt, params, 6, 0); + ctx->ac.voidt, params, 6, + ac_get_store_intr_attribs(writeonly_memory)); } } } @@ -2548,7 +2550,8 @@ static void visit_image_store(struct ac_nir_context *ctx, params[4] = LLVMConstInt(ctx->ac.i1, !!(args.cache_policy & ac_glc), 0); params[5] = ctx->ac.i1false; /* slc */ } - ac_build_intrinsic(&ctx->ac, name, ctx->ac.voidt, params, 6, 0); + ac_build_intrinsic(&ctx->ac, name, ctx->ac.voidt, params, 6, + ac_get_store_intr_attribs(writeonly_memory)); } else { args.opcode = ac_image_store; args.data[0] = ac_to_float(&ctx->ac, get_src(ctx, instr->src[3])); |