nir: Handle barriers with more granularity in combine_stores
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307>
This commit is contained in:
parent
f09db0bed5
commit
3498ab98f5
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue