diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2020-05-04 18:54:11 +0100 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2020-05-06 16:06:01 -0700 |
commit | 2fba5c1cd82da26dfb2c6f7dba9feed42df5a329 (patch) | |
tree | 589935fbe8ea72817671fe1d672999db8fca60da | |
parent | e12545f3b893024cab76e93c0a2c7de37daa0d5d (diff) |
nir: add missing group_memory_barrier handling
Totals from 2 (0.00% of 127638) affected shaders:
VGPRs: 164 -> 168 (+2.44%)
CodeSize: 18420 -> 18756 (+1.82%)
Instrs: 3658 -> 3700 (+1.15%)
Cycles: 82912 -> 83080 (+0.20%)
VMEM: 70 -> 69 (-1.43%)
PreVGPRs: 155 -> 168 (+8.39%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
CC: <mesa-stable@lists.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4889>
(cherry picked from commit a46aa3dc2e4c5462630d40e152904b7d163c9233)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/compiler/nir/nir_opt_copy_prop_vars.c | 1 | ||||
-rw-r--r-- | src/compiler/nir/nir_opt_dead_write_vars.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index 7b054a25296..db3f3ba7272 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -787,7 +787,7 @@ "description": "nir: add missing group_memory_barrier handling", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c b/src/compiler/nir/nir_opt_copy_prop_vars.c index 158b788e1f1..0edf625b8a7 100644 --- a/src/compiler/nir/nir_opt_copy_prop_vars.c +++ b/src/compiler/nir/nir_opt_copy_prop_vars.c @@ -166,6 +166,7 @@ gather_vars_written(struct copy_prop_var_state *state, nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { case nir_intrinsic_control_barrier: + case nir_intrinsic_group_memory_barrier: case nir_intrinsic_memory_barrier: written->modes |= nir_var_shader_out | nir_var_mem_ssbo | diff --git a/src/compiler/nir/nir_opt_dead_write_vars.c b/src/compiler/nir/nir_opt_dead_write_vars.c index 6bd20db07ca..2ef8410f2fd 100644 --- a/src/compiler/nir/nir_opt_dead_write_vars.c +++ b/src/compiler/nir/nir_opt_dead_write_vars.c @@ -133,6 +133,7 @@ remove_dead_write_vars_local(void *mem_ctx, nir_block *block) nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { case nir_intrinsic_control_barrier: + case nir_intrinsic_group_memory_barrier: case nir_intrinsic_memory_barrier: { clear_unused_for_modes(&unused_writes, nir_var_shader_out | nir_var_mem_ssbo | |