From 6ef7c05746f5f0c5053b6e228096a776377adecf Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 7 Jul 2020 15:11:42 -0400 Subject: [PATCH] panfrost: Allocate pool BOs against the pool Instead of against the owning batch, to decouple. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_allocate.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_allocate.c b/src/gallium/drivers/panfrost/pan_allocate.c index a0ca7eb0e68..4785f9a3529 100644 --- a/src/gallium/drivers/panfrost/pan_allocate.c +++ b/src/gallium/drivers/panfrost/pan_allocate.c @@ -85,11 +85,14 @@ panfrost_allocate_transient(struct panfrost_batch *batch, size_t sz) * flags to this function and keep the read/write, * fragment/vertex+tiler pools separate. */ - bo = panfrost_batch_create_bo(batch, bo_sz, 0, - PAN_BO_ACCESS_PRIVATE | - PAN_BO_ACCESS_RW | - PAN_BO_ACCESS_VERTEX_TILER | - PAN_BO_ACCESS_FRAGMENT); + bo = pan_bo_create(pan_device(batch->ctx->base.screen), bo_sz, 0); + + uintptr_t flags = PAN_BO_ACCESS_PRIVATE | + PAN_BO_ACCESS_RW | + PAN_BO_ACCESS_VERTEX_TILER | + PAN_BO_ACCESS_FRAGMENT; + + _mesa_hash_table_insert(batch->pool.bos, bo, (void *) flags); if (sz < TRANSIENT_SLAB_SIZE) { batch->pool.transient_bo = bo; -- 2.30.2