mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
nir: Handle more barriers in dead_write and copy_prop
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
ada49bae5e
commit
f09db0bed5
2 changed files with 22 additions and 0 deletions
|
|
@ -807,6 +807,19 @@ copy_prop_vars_block(struct copy_prop_var_state *state,
|
|||
nir_var_mem_shared);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_memory_barrier_buffer:
|
||||
case nir_intrinsic_memory_barrier_atomic_counter:
|
||||
if (debug) dump_instr(instr);
|
||||
|
||||
apply_barrier_for_modes(copies, nir_var_mem_ssbo);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_memory_barrier_shared:
|
||||
if (debug) dump_instr(instr);
|
||||
|
||||
apply_barrier_for_modes(copies, nir_var_mem_shared);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_scoped_memory_barrier:
|
||||
if (debug) dump_instr(instr);
|
||||
|
||||
|
|
|
|||
|
|
@ -139,6 +139,15 @@ remove_dead_write_vars_local(void *mem_ctx, nir_block *block)
|
|||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_memory_barrier_buffer:
|
||||
case nir_intrinsic_memory_barrier_atomic_counter:
|
||||
clear_unused_for_modes(&unused_writes, nir_var_mem_ssbo);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_memory_barrier_shared:
|
||||
clear_unused_for_modes(&unused_writes, nir_var_mem_shared);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_scoped_memory_barrier: {
|
||||
if (nir_intrinsic_memory_semantics(intrin) & NIR_MEMORY_RELEASE) {
|
||||
clear_unused_for_modes(&unused_writes,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue