From 622779e5cbc050fffcd25f391ea45e917923fa1d Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 23 May 2023 13:44:11 -0400 Subject: [PATCH] dxil: Rely on scoped_barrier We don't get non-scoped barriers. Don't handle them. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/microsoft/compiler/dxil_nir_tess.c | 6 +--- src/microsoft/compiler/nir_to_dxil.c | 50 -------------------------- 2 files changed, 1 insertion(+), 55 deletions(-) diff --git a/src/microsoft/compiler/dxil_nir_tess.c b/src/microsoft/compiler/dxil_nir_tess.c index 81521b0361b..2977f92f9c0 100644 --- a/src/microsoft/compiler/dxil_nir_tess.c +++ b/src/microsoft/compiler/dxil_nir_tess.c @@ -35,8 +35,6 @@ is_memory_barrier_tcs_patch(const nir_intrinsic_instr *intr) assert(nir_intrinsic_memory_modes(intr) == nir_var_shader_out); assert(nir_intrinsic_memory_scope(intr) == NIR_SCOPE_WORKGROUP); return true; - } else if (intr->intrinsic == nir_intrinsic_memory_barrier_tcs_patch) { - return true; } else { return false; } @@ -51,8 +49,7 @@ remove_hs_intrinsics(nir_function_impl *impl) continue; nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); if (intr->intrinsic != nir_intrinsic_store_output && - !is_memory_barrier_tcs_patch(intr) && - intr->intrinsic != nir_intrinsic_control_barrier) + !is_memory_barrier_tcs_patch(intr)) continue; nir_instr_remove(instr); } @@ -265,7 +262,6 @@ dxil_nir_split_tess_ctrl(nir_shader *nir, nir_function **patch_const_func) break; } case nir_intrinsic_scoped_barrier: - case nir_intrinsic_memory_barrier_tcs_patch: if (!is_memory_barrier_tcs_patch(intr)) break; diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c index 3bdee603e1a..320479db388 100644 --- a/src/microsoft/compiler/nir_to_dxil.c +++ b/src/microsoft/compiler/nir_to_dxil.c @@ -3062,45 +3062,6 @@ emit_barrier(struct ntd_context *ctx, nir_intrinsic_instr *intr) nir_intrinsic_memory_scope(intr)); } -/* Memory barrier for UAVs (buffers/images) at cross-workgroup scope */ -static bool -emit_memory_barrier(struct ntd_context *ctx, nir_intrinsic_instr *intr) -{ - return emit_barrier_impl(ctx, - nir_var_mem_global, - NIR_SCOPE_NONE, - NIR_SCOPE_DEVICE); -} - -/* Memory barrier for TGSM */ -static bool -emit_memory_barrier_shared(struct ntd_context *ctx, nir_intrinsic_instr *intr) -{ - return emit_barrier_impl(ctx, - nir_var_mem_shared, - NIR_SCOPE_NONE, - NIR_SCOPE_WORKGROUP); -} - -/* Memory barrier for all intra-workgroup memory accesses (UAVs and TGSM) */ -static bool -emit_group_memory_barrier(struct ntd_context *ctx, nir_intrinsic_instr *intr) -{ - return emit_barrier_impl(ctx, - nir_var_mem_shared | nir_var_mem_global, - NIR_SCOPE_NONE, - NIR_SCOPE_WORKGROUP); -} - -static bool -emit_control_barrier(struct ntd_context *ctx, nir_intrinsic_instr *intr) -{ - return emit_barrier_impl(ctx, - nir_var_mem_shared, - NIR_SCOPE_WORKGROUP, - NIR_SCOPE_NONE); -} - static bool emit_load_global_invocation_id(struct ntd_context *ctx, nir_intrinsic_instr *intr) @@ -5063,17 +5024,6 @@ emit_intrinsic(struct ntd_context *ctx, nir_intrinsic_instr *intr) return emit_end_primitive(ctx, intr); case nir_intrinsic_scoped_barrier: return emit_barrier(ctx, intr); - case nir_intrinsic_memory_barrier: - case nir_intrinsic_memory_barrier_buffer: - case nir_intrinsic_memory_barrier_image: - case nir_intrinsic_memory_barrier_atomic_counter: - return emit_memory_barrier(ctx, intr); - case nir_intrinsic_memory_barrier_shared: - return emit_memory_barrier_shared(ctx, intr); - case nir_intrinsic_group_memory_barrier: - return emit_group_memory_barrier(ctx, intr); - case nir_intrinsic_control_barrier: - return emit_control_barrier(ctx, intr); case nir_intrinsic_ssbo_atomic: return emit_ssbo_atomic(ctx, intr); case nir_intrinsic_ssbo_atomic_swap: