From 018f4f1c27a536b72988bcc401419bd3e4d74979 Mon Sep 17 00:00:00 2001 From: Mel Henning Date: Fri, 23 May 2025 18:24:57 -0400 Subject: [PATCH] nak: Forbid reordering labeled OpNop Totals: Static cycle count: 1104322907 -> 1108862573 (+0.41%) Totals from 111376 (56.68% of 196502) affected shaders: Static cycle count: 948085895 -> 952625561 (+0.48%) Fixes: 79d0f8263d ("nak: Add a simple postpass instruction scheduler") Reviewed-by: Faith Ekstrand Part-of: --- src/nouveau/compiler/nak/opt_instr_sched_common.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/nouveau/compiler/nak/opt_instr_sched_common.rs b/src/nouveau/compiler/nak/opt_instr_sched_common.rs index 27046a671fa..34f04c4f34a 100644 --- a/src/nouveau/compiler/nak/opt_instr_sched_common.rs +++ b/src/nouveau/compiler/nak/opt_instr_sched_common.rs @@ -211,7 +211,14 @@ pub fn side_effect_type(op: &Op) -> SideEffect { | Op::ViLd(_) | Op::Kill(_) | Op::S2R(_) => SideEffect::Barrier, - Op::PixLd(_) | Op::Nop(_) | Op::Vote(_) => SideEffect::None, + Op::PixLd(_) | Op::Vote(_) => SideEffect::None, + Op::Nop(OpNop { label, .. }) => { + if label.is_none() { + SideEffect::None + } else { + SideEffect::Barrier + } + } // Virtual ops Op::Annotate(_)