[v2,04/12] ac/nir: set attrib flags for SSBO and image store operations

Submitted by Samuel Pitoiset on March 13, 2019, 10:50 a.m.

Details

Message ID 20190313105020.17683-5-samuel.pitoiset@gmail.com
State New
Headers show
Series "ac: use LLVM 8 buffer intrinsics everywhere" ( rev: 2 ) in Mesa

Not browsing as part of any series.

Commit Message

Samuel Pitoiset March 13, 2019, 10:50 a.m.
For consistency regarding other store operations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
---
 src/amd/common/ac_nir_to_llvm.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index a7b3fdf64aa..ff29345ffe5 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -1591,7 +1591,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 */
@@ -1619,7 +1620,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]));