diff options
author | Alyssa Rosenzweig <alyssa@rosenzweig.io> | 2023-05-15 10:19:20 -0400 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-05-16 22:36:21 +0000 |
commit | 0a4c31003d6557a618dffb7da5424b465aa009a5 (patch) | |
tree | 96bdc058e6f77a50a5f055d734004580387b1a41 | |
parent | c323762f9f3595ab272cdec955c4e435f975ded8 (diff) | |
download | mesa-0a4c31003d6557a618dffb7da5424b465aa009a5.tar.gz |
nir: Drop nir_lower_legacy_atomics
No more users.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23036>
-rw-r--r-- | src/compiler/nir/meson.build | 1 | ||||
-rw-r--r-- | src/compiler/nir/nir.h | 1 | ||||
-rw-r--r-- | src/compiler/nir/nir_lower_legacy_atomics.c | 86 |
3 files changed, 0 insertions, 88 deletions
diff --git a/src/compiler/nir/meson.build b/src/compiler/nir/meson.build index 9c688e9117d..ce903da95bc 100644 --- a/src/compiler/nir/meson.build +++ b/src/compiler/nir/meson.build @@ -163,7 +163,6 @@ files_libnir = files( 'nir_lower_goto_ifs.c', 'nir_lower_gs_intrinsics.c', 'nir_lower_helper_writes.c', - 'nir_lower_legacy_atomics.c', 'nir_lower_load_const_to_scalar.c', 'nir_lower_locals_to_regs.c', 'nir_lower_idiv.c', diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 1e35b6ae2fc..8ac06bd5ed3 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -5639,7 +5639,6 @@ typedef struct nir_lower_bitmap_options { void nir_lower_bitmap(nir_shader *shader, const nir_lower_bitmap_options *options); bool nir_lower_atomics_to_ssbo(nir_shader *shader, unsigned offset_align_state); -bool nir_lower_legacy_atomics(nir_shader *shader); typedef enum { nir_lower_int_source_mods = 1 << 0, diff --git a/src/compiler/nir/nir_lower_legacy_atomics.c b/src/compiler/nir/nir_lower_legacy_atomics.c deleted file mode 100644 index 32bf7f19c05..00000000000 --- a/src/compiler/nir/nir_lower_legacy_atomics.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2023 Valve Corporation - * Copyright 2023 Collabora, Ltd. - * SPDX-License-Identifier: MIT - */ - -#include "compiler/nir/nir_builder.h" - -static bool -get_atomic_op(const nir_intrinsic_instr *atomic, nir_intrinsic_op *out_intr, - nir_atomic_op *out_op) -{ -#define CASE(prefix, suffix, atom, op, swap) \ - case nir_intrinsic_##prefix##_atomic_##atom##suffix: \ - *out_op = nir_atomic_op_##op; \ - *out_intr = swap ? nir_intrinsic_##prefix##_atomic_swap##suffix : \ - nir_intrinsic_##prefix##_atomic##suffix; \ - return true; - -#define CASES_NO_IMAGE(atom, op, swap) \ - CASE(deref,, atom, op, swap) \ - CASE(ssbo,, atom, op, swap) \ - CASE(shared,, atom, op, swap) \ - CASE(task_payload,, atom, op, swap) \ - CASE(global,, atom, op, swap) \ - CASE(global, _2x32, atom, op, swap) \ - CASE(global, _amd, atom, op, swap) - -#define CASES_IMAGE(atom, op, swap) \ - CASE(image,, atom, op, swap) \ - CASE(image_deref,, atom, op, swap) \ - CASE(bindless_image,, atom, op, swap) - -#define CASES(atom, op, swap) \ - CASES_NO_IMAGE(atom, op, swap) \ - CASES_IMAGE(atom, op, swap) \ - - switch (atomic->intrinsic) { - CASES(add, iadd, false); - CASES(imin, imin, false); - CASES(umin, umin, false); - CASES(imax, imax, false); - CASES(umax, umax, false); - CASES(and, iand, false); - CASES(or, ior, false); - CASES(xor, ixor, false); - CASES(exchange, xchg, false); - CASES(fadd, fadd, false); - CASES(fmin, fmin, false); - CASES(fmax, fmax, false); - CASES(comp_swap, cmpxchg, true); - CASES_NO_IMAGE(fcomp_swap, fcmpxchg, true); - CASES_IMAGE(inc_wrap, inc_wrap, false); - CASES_IMAGE(dec_wrap, dec_wrap, false); - default: - return false; - } - -#undef CASE -#undef CASES_NO_IMAGE -#undef CASES -} - -static bool -pass(nir_builder *b, nir_instr *instr, UNUSED void *data) -{ - if (instr->type != nir_instr_type_intrinsic) - return false; - - nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); - nir_intrinsic_op intr_op; - nir_atomic_op op; - if (!get_atomic_op(intr, &intr_op, &op)) - return false; - - intr->intrinsic = intr_op; - nir_intrinsic_set_atomic_op(intr, op); - return false; -} - -bool -nir_lower_legacy_atomics(nir_shader *shader) -{ - return nir_shader_instructions_pass( - shader, pass, nir_metadata_block_index | nir_metadata_dominance, NULL); -} |