lavapipe: Don't delete control barriers

Control barriers still need to do synchronization even if there are no
associated memory barrier modes.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24842>
This commit is contained in:
Kenneth Graunke
2023-08-31 15:29:54 -07:00
committed by Marge Bot
parent fc0aaa81ee
commit dd92fd8fcc

View File

@@ -138,6 +138,9 @@ remove_barriers_impl(nir_builder *b, nir_intrinsic_instr *intr, void *data)
if (intr->intrinsic != nir_intrinsic_barrier)
return false;
if (data) {
if (nir_intrinsic_execution_scope(intr) != SCOPE_NONE)
return false;
if (nir_intrinsic_memory_scope(intr) == SCOPE_WORKGROUP ||
nir_intrinsic_memory_scope(intr) == SCOPE_DEVICE ||
nir_intrinsic_memory_scope(intr) == SCOPE_QUEUE_FAMILY)