summaryrefslogtreecommitdiff
path: root/src/panfrost/midgard
diff options
context:
space:
mode:
authorItalo Nicola <italonicola@collabora.com>2020-08-31 17:32:30 +0000
committerMarge Bot <eric+marge@anholt.net>2020-09-01 21:04:09 +0000
commitd7b6d2e792ef736aa41291815f9d32cf68d84d0b (patch)
tree3bf1ffde9a5c6ccf78bcdb39b1e88596a0dbf5de /src/panfrost/midgard
parent8e221f58a66fe3bbb2f3354a1c7b888f5248bcd6 (diff)
panfrost: add support for atomics
Signed-off-by: Italo Nicola <italonicola@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6439>
Diffstat (limited to 'src/panfrost/midgard')
-rw-r--r--src/panfrost/midgard/midgard_compile.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 5c22ba7c45b..a58701de75f 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -2061,6 +2061,17 @@ emit_intrinsic(compiler_context *ctx, nir_intrinsic_instr *instr)
schedule_barrier(ctx);
break;
+ ATOMIC_CASE(ctx, instr, add, add);
+ ATOMIC_CASE(ctx, instr, and, and);
+ ATOMIC_CASE(ctx, instr, comp_swap, cmpxchg);
+ ATOMIC_CASE(ctx, instr, exchange, xchg);
+ ATOMIC_CASE(ctx, instr, imax, imax);
+ ATOMIC_CASE(ctx, instr, imin, imin);
+ ATOMIC_CASE(ctx, instr, or, or);
+ ATOMIC_CASE(ctx, instr, umax, umax);
+ ATOMIC_CASE(ctx, instr, umin, umin);
+ ATOMIC_CASE(ctx, instr, xor, xor);
+
default:
fprintf(stderr, "Unhandled intrinsic %s\n", nir_intrinsic_infos[instr->intrinsic].name);
assert(0);