panfrost: Track preloaded registers

We already collect this information. We may as well make use of it.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14154>
This commit is contained in:
Alyssa Rosenzweig
2021-12-09 16:50:21 -05:00
committed by Marge Bot
parent e8566f7529
commit 52fe998aa6
2 changed files with 7 additions and 0 deletions
+4
View File
@@ -3830,6 +3830,10 @@ bifrost_compile_shader_nir(nir_shader *nir,
/* Analyze after scheduling since we depend on instruction order. */
bi_analyze_helper_terminate(ctx);
/* A register is preloaded <==> it is live before the first block */
bi_block *first_block = list_first_entry(&ctx->blocks, bi_block, link);
info->preload = first_block->reg_live_in;
if (bifrost_debug & BIFROST_DBG_SHADERS && !skip_internal)
bi_print_shader(ctx, stdout);
+3
View File
@@ -204,6 +204,9 @@ struct pan_shader_info {
unsigned tls_size;
unsigned wls_size;
/* Bit mask of preloaded registers */
uint64_t preload;
union {
struct {
bool reads_frag_coord;