From: Lucas Stach Date: Fri, 14 Jul 2023 16:50:46 +0000 (+0200) Subject: etnaviv: move buffer range tracking into the PIPE_MAP_WRITE clause X-Git-Tag: upstream/23.3.3~5582 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bee2a8465774271b814dd7678397f7208a55fe08;p=platform%2Fupstream%2Fmesa.git 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: --- diff --git a/src/gallium/drivers/etnaviv/etnaviv_transfer.c b/src/gallium/drivers/etnaviv/etnaviv_transfer.c index d6b9e25..2d0054e 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);