diff options
-rw-r--r-- | src/asahi/compiler/agx_compile.c | 2 | ||||
-rw-r--r-- | 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; |