pan/bi: Pull out bi_dontcare helper

Where we need a power efficient encoding but don't care about the value
read, corresponding to rNULL in canonical assembly.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Maciej Matuszczyk <maccraft123mc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8427>
This commit is contained in:
Alyssa Rosenzweig 2021-01-05 19:07:33 -05:00 committed by Marge Bot
parent 231c27adaf
commit bf7fe30436
2 changed files with 8 additions and 1 deletions

View File

@ -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);

View File

@ -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)