From bee2a8465774271b814dd7678397f7208a55fe08 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Fri, 14 Jul 2023 18:50:46 +0200 Subject: [PATCH] etnaviv: move buffer range tracking into the PIPE_MAP_WRITE clause Move the valid buffer range tracking next to all the other things we do on write mapping. Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_transfer.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_transfer.c b/src/gallium/drivers/etnaviv/etnaviv_transfer.c index d6b9e25be19..2d0054e6eb7 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_transfer.c +++ b/src/gallium/drivers/etnaviv/etnaviv_transfer.c @@ -167,6 +167,10 @@ etna_transfer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans) FREE(trans->staging); } + if (ptrans->resource->target == PIPE_BUFFER) + util_range_add(&rsc->base, &rsc->valid_buffer_range, + ptrans->box.x, ptrans->box.x + ptrans->box.width); + etna_resource_level_ts_mark_invalid(res_level); etna_resource_level_mark_changed(res_level); @@ -186,14 +190,6 @@ etna_transfer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans) if (!trans->rsc && !(ptrans->usage & PIPE_MAP_UNSYNCHRONIZED)) etna_bo_cpu_fini(rsc->bo); - if ((ptrans->resource->target == PIPE_BUFFER) && - (ptrans->usage & PIPE_MAP_WRITE)) { - util_range_add(&rsc->base, - &rsc->valid_buffer_range, - ptrans->box.x, - ptrans->box.x + ptrans->box.width); - } - pipe_resource_reference(&trans->rsc, NULL); pipe_resource_reference(&ptrans->resource, NULL); slab_free(&ctx->transfer_pool, trans);