panfrost: Fix infinite loop spilling

At least this way failed RA will crash (by having no spill node to pick)
instead? Seen in
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.21 on
Bifrost.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9164>
This commit is contained in:
Alyssa Rosenzweig 2021-02-19 08:58:02 -05:00 committed by Marge Bot
parent 04be7934df
commit 7af037fc11

View file

@ -224,7 +224,9 @@ lcra_count_constraints(struct lcra_state *l, unsigned i)
signed
lcra_get_best_spill_node(struct lcra_state *l)
{
float best_benefit = -1.0;
/* If there are no constraints on a node, do not pick it to spill under
* any circumstance, or else we would hang rather than fail RA */
float best_benefit = 0.0;
signed best_node = -1;
for (unsigned i = 0; i < l->node_count; ++i) {