mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-12-02 12:46:30 +00:00
panfrost: Add polygon_list to the batch BO set at allocation time
That's what we do for other per-batch BOs, and we'll soon add an helper to automate this create_bo()+add_bo()+bo_unreference() sequence, so let's prepare the code to ease this transition. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
c16fb1f48d
commit
4eac1b2008
@ -278,7 +278,6 @@ panfrost_drm_submit_vs_fs_batch(struct panfrost_batch *batch, bool has_draws)
|
||||
|
||||
panfrost_batch_add_bo(batch, ctx->scratchpad);
|
||||
panfrost_batch_add_bo(batch, ctx->tiler_heap);
|
||||
panfrost_batch_add_bo(batch, batch->polygon_list);
|
||||
|
||||
if (batch->first_job.gpu) {
|
||||
ret = panfrost_drm_submit_batch(batch, batch->first_job.gpu, 0);
|
||||
|
@ -67,9 +67,6 @@ panfrost_free_batch(struct panfrost_batch *batch)
|
||||
panfrost_bo_unreference(ctx->base.screen, bo);
|
||||
}
|
||||
|
||||
/* Unreference the polygon list */
|
||||
panfrost_bo_unreference(ctx->base.screen, batch->polygon_list);
|
||||
|
||||
_mesa_hash_table_remove_key(ctx->batches, &batch->key);
|
||||
|
||||
if (ctx->batch == batch)
|
||||
@ -158,6 +155,13 @@ panfrost_batch_get_polygon_list(struct panfrost_batch *batch, unsigned size)
|
||||
|
||||
batch->polygon_list = panfrost_drm_create_bo(screen,
|
||||
size, PAN_ALLOCATE_INVISIBLE);
|
||||
panfrost_batch_add_bo(batch, batch->polygon_list);
|
||||
|
||||
/* A BO reference has been retained by panfrost_batch_add_bo(),
|
||||
* so we need to unreference it here if we want the BO to be
|
||||
* automatically released when the batch is destroyed.
|
||||
*/
|
||||
panfrost_bo_unreference(&screen->base, batch->polygon_list);
|
||||
}
|
||||
|
||||
return batch->polygon_list->gpu;
|
||||
|
Loading…
Reference in New Issue
Block a user