diff --git a/src/panfrost/bifrost/bi_ra.c b/src/panfrost/bifrost/bi_ra.c index c7c2003bfd3..72b2d155ee7 100644 --- a/src/panfrost/bifrost/bi_ra.c +++ b/src/panfrost/bifrost/bi_ra.c @@ -311,7 +311,7 @@ bi_register_allocate(bi_context *ctx) unsigned iter_count = 1000; /* max iterations */ /* Number of bytes of memory we've spilled into */ - unsigned spill_count = 0; + unsigned spill_count = ctx->tls_size; do { if (l) { diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 86cc1ec1e08..82a40547039 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -2213,6 +2213,7 @@ bifrost_compile_shader_nir(void *mem_ctx, nir_shader *nir, program->sysval_count = ctx->sysvals.sysval_count; memcpy(program->sysvals, ctx->sysvals.sysvals, sizeof(ctx->sysvals.sysvals[0]) * ctx->sysvals.sysval_count); ctx->blend_types = program->blend_types; + ctx->tls_size = nir->scratch_size; nir_foreach_function(func, nir) { if (!func->impl)