diff --git a/.pick_status.json b/.pick_status.json index 75c6c1e16c3..beb42c79f92 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -553,7 +553,7 @@ "description": "pan/mdg: Free previous liveness", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/panfrost/util/pan_liveness.c b/src/panfrost/util/pan_liveness.c index 9772feb1a9c..0ec9652b59d 100644 --- a/src/panfrost/util/pan_liveness.c +++ b/src/panfrost/util/pan_liveness.c @@ -120,11 +120,13 @@ pan_compute_liveness( _mesa_hash_pointer, _mesa_key_pointer_equal); - /* Allocate */ + /* Free any previous liveness, and allocate */ + + pan_free_liveness(blocks); list_for_each_entry(pan_block, block, blocks, link) { - block->live_in = rzalloc_array(NULL, uint16_t, temp_count); - block->live_out = rzalloc_array(NULL, uint16_t, temp_count); + block->live_in = rzalloc_array(block, uint16_t, temp_count); + block->live_out = rzalloc_array(block, uint16_t, temp_count); } /* Initialize the work list with the exit block */