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:
committed by
Marge Bot
parent
e8566f7529
commit
52fe998aa6
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user