From 95bd6e915f6bd14b45a341b3e0d3b62389ddd5de Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 7 Jun 2021 13:59:26 -0400 Subject: [PATCH] nir/lower_fragcolor: Avoid redundant load_output At best, this is an extra instruction for NIR to optimize out. At worst, depending on pass ordering nir_load_output could sneak into the final NIR, even on drivers that don't support fbfetch. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Mike Blumenkrantz Reviewed-by: Jason Ekstrand Part-of: --- src/compiler/nir/nir_lower_fragcolor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_fragcolor.c b/src/compiler/nir/nir_lower_fragcolor.c index 15480361764..8c7c234efaa 100644 --- a/src/compiler/nir/nir_lower_fragcolor.c +++ b/src/compiler/nir/nir_lower_fragcolor.c @@ -65,7 +65,8 @@ lower_fragcolor_instr(nir_builder *b, nir_instr *intr, void *data) return false; b->cursor = nir_after_instr(&instr->instr); - nir_ssa_def *frag_color = nir_load_var(b, out); + assert(instr->src[1].is_ssa); + nir_ssa_def *frag_color = instr->src[1].ssa; ralloc_free(out->name); const char *name = out->data.index == 0 ? "gl_FragData[0]" :