Mesa (master): ac: fix nir_intrinsic_shared_atomic_comp_swap handling

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Mar 1 22:15:23 UTC 2018


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

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Thu Mar  1 20:17:38 2018 +1100

ac: fix nir_intrinsic_shared_atomic_comp_swap handling

Following on from 49879f377870 this makes sure we use the correct
src index.

Fixes cts test:
KHR-GL46.compute_shader.atomic-case3

Reviewed-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/common/ac_nir_to_llvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index afe17a8f11..0ffcd75c3a 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -3998,7 +3998,7 @@ static LLVMValueRef visit_var_atomic(struct ac_nir_context *ctx,
 
 	if (instr->intrinsic == nir_intrinsic_var_atomic_comp_swap ||
 	    instr->intrinsic == nir_intrinsic_shared_atomic_comp_swap) {
-		LLVMValueRef src1 = get_src(ctx, instr->src[1]);
+		LLVMValueRef src1 = get_src(ctx, instr->src[src_idx + 1]);
 		result = LLVMBuildAtomicCmpXchg(ctx->ac.builder,
 						ptr, src, src1,
 						LLVMAtomicOrderingSequentiallyConsistent,




More information about the mesa-commit mailing list