Mesa (master): ac: pass struct ac_llvm_context to emit_membar()

Timothy Arceri tarceri at kemper.freedesktop.org
Fri Feb 9 01:51:38 UTC 2018


Module: Mesa
Branch: master
Commit: c77078c942f210a44d5017b4798d1be50352c15f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c77078c942f210a44d5017b4798d1be50352c15f

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri Feb  9 10:37:25 2018 +1100

ac: pass struct ac_llvm_context to emit_membar()

Fixes segfault in piglit test:

./bin/arb_shader_image_load_store-shader-mem-barrier --quick -auto -fbo

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/amd/common/ac_nir_to_llvm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 2329016ac6..60276c1d41 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -3817,7 +3817,7 @@ static LLVMValueRef visit_image_size(struct ac_nir_context *ctx,
 #define LGKM_CNT 0x07f
 #define VM_CNT 0xf70
 
-static void emit_membar(struct nir_to_llvm_context *ctx,
+static void emit_membar(struct ac_llvm_context *ac,
 			const nir_intrinsic_instr *instr)
 {
 	unsigned waitcnt = NOOP_WAITCNT;
@@ -3839,7 +3839,7 @@ static void emit_membar(struct nir_to_llvm_context *ctx,
 		break;
 	}
 	if (waitcnt != NOOP_WAITCNT)
-		ac_build_waitcnt(&ctx->ac, waitcnt);
+		ac_build_waitcnt(ac, waitcnt);
 }
 
 static void emit_barrier(struct ac_llvm_context *ac, gl_shader_stage stage)
@@ -4438,7 +4438,7 @@ static void visit_intrinsic(struct ac_nir_context *ctx,
 	case nir_intrinsic_memory_barrier_buffer:
 	case nir_intrinsic_memory_barrier_image:
 	case nir_intrinsic_memory_barrier_shared:
-		emit_membar(ctx->nctx, instr);
+		emit_membar(&ctx->ac, instr);
 		break;
 	case nir_intrinsic_barrier:
 		emit_barrier(&ctx->ac, ctx->stage);




More information about the mesa-commit mailing list