pan/bi: Assert that blend shaders may not spill

The set of blend shaders is closed. They are completely internal. As such, we
know that the registers we reserve for them suffice, and we don't permit
register spilling. Refusing to support spilling in blend shaders simplifies a
number of parts of the compiler. Add a check that we don't try to spill anyway,
which will silently fail.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314>
This commit is contained in:
Alyssa Rosenzweig 2022-05-03 17:14:20 -04:00 committed by Marge Bot
parent 6b6ace5199
commit 045ed4e688
1 changed files with 3 additions and 0 deletions

View File

@ -595,6 +595,9 @@ bi_register_allocate(bi_context *ctx)
if (spill_node == -1)
unreachable("Failed to choose spill node\n");
if (ctx->inputs->is_blend)
unreachable("Blend shaders may not spill");
/* By default, we use packed TLS addressing on Valhall.
* We cannot cross 16 byte boundaries with packed TLS
* addressing. Align to ensure this doesn't happen. This