[Mesa-dev] [PATCH v2 04/12] ac/nir: set attrib flags for SSBO and image store operations

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Mar 13 10:50:12 UTC 2019


For consistency regarding other store operations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/common/ac_nir_to_llvm.c | 9 ++++++---
 1 file 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 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]));
-- 
2.21.0



More information about the mesa-dev mailing list