Mesa (master): nir: Handle barriers with more granularity in combine_stores
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 13 17:51:19 UTC 2020
Module: Mesa
Branch: master
Commit: 3498ab98f5ae9332d0ea8f312ecbc411ff1843c8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3498ab98f5ae9332d0ea8f312ecbc411ff1843c8
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Tue Jan 7 14:13:43 2020 -0600
nir: Handle barriers with more granularity in combine_stores
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307>
---
src/compiler/nir/nir_opt_combine_stores.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/compiler/nir/nir_opt_combine_stores.c b/src/compiler/nir/nir_opt_combine_stores.c
index c59f3ed9936..6bd2c534971 100644
--- a/src/compiler/nir/nir_opt_combine_stores.c
+++ b/src/compiler/nir/nir_opt_combine_stores.c
@@ -306,16 +306,20 @@ combine_stores_block(struct combine_stores_state *state, nir_block *block)
case nir_intrinsic_barrier:
case nir_intrinsic_group_memory_barrier:
case nir_intrinsic_memory_barrier:
- case nir_intrinsic_memory_barrier_atomic_counter:
- case nir_intrinsic_memory_barrier_buffer:
- case nir_intrinsic_memory_barrier_image:
- case nir_intrinsic_memory_barrier_shared:
- /* TODO: Be more granular depending on the barrier. */
combine_stores_with_modes(state, nir_var_shader_out |
nir_var_mem_ssbo |
nir_var_mem_shared);
break;
+ case nir_intrinsic_memory_barrier_atomic_counter:
+ case nir_intrinsic_memory_barrier_buffer:
+ combine_stores_with_modes(state, nir_var_mem_ssbo);
+ break;
+
+ case nir_intrinsic_memory_barrier_shared:
+ combine_stores_with_modes(state, nir_var_mem_shared);
+ break;
+
case nir_intrinsic_scoped_memory_barrier:
if (nir_intrinsic_memory_semantics(intrin) & NIR_MEMORY_RELEASE) {
combine_stores_with_modes(state,
More information about the mesa-commit
mailing list