From 65469d6b233585da59733456f44f601a97449e39 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 15 May 2023 08:51:12 -0400 Subject: agx: Lower legacy atomics sooner Signed-off-by: Alyssa Rosenzweig Reviewed-by: Emma Anholt Reviewed-by: Jesse Natalie Part-of: --- src/asahi/compiler/agx_compile.c | 2 +- src/asahi/compiler/agx_nir_lower_shared_bitsize.c | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/asahi/compiler/agx_compile.c b/src/asahi/compiler/agx_compile.c index a4f5517ec41..46887267339 100644 --- a/src/asahi/compiler/agx_compile.c +++ b/src/asahi/compiler/agx_compile.c @@ -2021,7 +2021,6 @@ agx_optimize_nir(nir_shader *nir, unsigned *preamble_size) NIR_PASS_V(nir, nir_opt_cse); NIR_PASS_V(nir, nir_lower_alu_to_scalar, NULL, NULL); NIR_PASS_V(nir, nir_lower_load_const_to_scalar); - NIR_PASS_V(nir, nir_lower_legacy_atomics); /* Cleanup optimizations */ nir_move_options move_all = nir_move_const_undef | nir_move_load_ubo | @@ -2381,6 +2380,7 @@ agx_preprocess_nir(nir_shader *nir, bool support_lod_bias) NIR_PASS_V(nir, nir_opt_sink, move_all); NIR_PASS_V(nir, nir_opt_move, move_all); NIR_PASS_V(nir, agx_nir_lower_ubo); + NIR_PASS_V(nir, nir_lower_legacy_atomics); NIR_PASS_V(nir, agx_nir_lower_shared_bitsize); } diff --git a/src/asahi/compiler/agx_nir_lower_shared_bitsize.c b/src/asahi/compiler/agx_nir_lower_shared_bitsize.c index dedd9d67cd8..4e3f885acad 100644 --- a/src/asahi/compiler/agx_nir_lower_shared_bitsize.c +++ b/src/asahi/compiler/agx_nir_lower_shared_bitsize.c @@ -17,16 +17,8 @@ pass(struct nir_builder *b, nir_instr *instr, UNUSED void *data) switch (intr->intrinsic) { case nir_intrinsic_load_shared: case nir_intrinsic_store_shared: - case nir_intrinsic_shared_atomic_add: - case nir_intrinsic_shared_atomic_imin: - case nir_intrinsic_shared_atomic_umin: - case nir_intrinsic_shared_atomic_imax: - case nir_intrinsic_shared_atomic_umax: - case nir_intrinsic_shared_atomic_and: - case nir_intrinsic_shared_atomic_or: - case nir_intrinsic_shared_atomic_xor: - case nir_intrinsic_shared_atomic_exchange: - case nir_intrinsic_shared_atomic_comp_swap: + case nir_intrinsic_shared_atomic: + case nir_intrinsic_shared_atomic_swap: break; default: return false; -- cgit v1.2.1