diff options
author | Caio Marcelo de Oliveira Filho <[email protected]> | 2020-05-18 17:43:34 -0700 |
---|---|---|
committer | Caio Marcelo de Oliveira Filho <[email protected]> | 2020-05-18 19:06:53 -0700 |
commit | c4544f47167ab5fe170e5131ad45b20b02507bce (patch) | |
tree | ab67a2b4cb5e9b35faf697218f75ab4cf5edd4e9 /src/compiler/nir | |
parent | ee90339cfbe960ccf59e486b845476a277cc9dc7 (diff) |
nir: Consider atomic counter intrinsics when setting writes_memory
In i965 these get lowered after gather info, so let's consider them
too. Fixes
piglit.spec.arb_framebuffer_no_attachments.arb_framebuffer_no_attachments-atomic
in Gen9, HSW and IVB.
Fixes: 6a6c36e9776 ("intel/fs: Use writes_memory from shader_info")
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5093>
Diffstat (limited to 'src/compiler/nir')
-rw-r--r-- | src/compiler/nir/nir_gather_info.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 09ecc28554b..d1c3e6168cf 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -394,6 +394,28 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader, break; + case nir_intrinsic_atomic_counter_inc: + case nir_intrinsic_atomic_counter_inc_deref: + case nir_intrinsic_atomic_counter_add: + case nir_intrinsic_atomic_counter_add_deref: + case nir_intrinsic_atomic_counter_pre_dec: + case nir_intrinsic_atomic_counter_pre_dec_deref: + case nir_intrinsic_atomic_counter_post_dec: + case nir_intrinsic_atomic_counter_post_dec_deref: + case nir_intrinsic_atomic_counter_min: + case nir_intrinsic_atomic_counter_min_deref: + case nir_intrinsic_atomic_counter_max: + case nir_intrinsic_atomic_counter_max_deref: + case nir_intrinsic_atomic_counter_and: + case nir_intrinsic_atomic_counter_and_deref: + case nir_intrinsic_atomic_counter_or: + case nir_intrinsic_atomic_counter_or_deref: + case nir_intrinsic_atomic_counter_xor: + case nir_intrinsic_atomic_counter_xor_deref: + case nir_intrinsic_atomic_counter_exchange: + case nir_intrinsic_atomic_counter_exchange_deref: + case nir_intrinsic_atomic_counter_comp_swap: + case nir_intrinsic_atomic_counter_comp_swap_deref: case nir_intrinsic_bindless_image_atomic_add: case nir_intrinsic_bindless_image_atomic_and: case nir_intrinsic_bindless_image_atomic_comp_swap: |