diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index cbb3bcdffa2..7749574674e 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -208,7 +208,7 @@ bi_emit_load_vary(bi_builder *b, nir_intrinsic_instr *instr) /* Ignored for non-conditional center and retrieve modes (use an * efficient encoding), otherwise R61 for sample mask XXX RA */ - bi_index src0 = (sample == BI_SAMPLE_CENTER) ? bi_passthrough(BIFROST_SRC_FAU_HI) : + bi_index src0 = (sample == BI_SAMPLE_CENTER) ? bi_dontcare() : bi_register(61); nir_src *offset = nir_get_io_offset_src(instr); diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index fb36d812dd0..d9853773801 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -150,6 +150,13 @@ bi_passthrough(enum bifrost_packed_src value) }; } +/* Read back power-efficent garbage, TODO maybe merge with null? */ +static inline bi_index +bi_dontcare() +{ + return bi_passthrough(BIFROST_SRC_FAU_HI); +} + /* Extracts a word from a vectored index */ static inline bi_index bi_word(bi_index idx, unsigned component)