From 111255512afc8e7e31d6f0f1adcef1308cdfec04 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 16 Feb 2021 23:38:52 -0500 Subject: [PATCH] pan/bi: Don't read alpha out of bounds RT#0 may not have alpha, do something safe instead of risking issues with RA later. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost_compile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 4d1c91c416a..e78be862493 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -441,6 +441,10 @@ bi_emit_fragment_out(bi_builder *b, nir_intrinsic_instr *instr) (T == nir_type_float32) ? bi_word(rgba, 3) : bi_dontcare(); + /* Don't read out-of-bounds */ + if (nir_src_num_components(instr->src[0]) < 4) + alpha = bi_imm_f32(1.0); + bi_instr *atest = bi_atest_to(b, bi_register(60), bi_register(60), alpha); b->shader->emitted_atest = true;