Reduces bandwidth usage of transfers which discard the buffer contents, as well as skipping unnecessary command stream flushes and CPU/GPU synchronization.
Signed-off-by: Lucas Stach <[email protected]> --- src/gallium/drivers/etnaviv/etnaviv_transfer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_transfer.c b/src/gallium/drivers/etnaviv/etnaviv_transfer.c index a2cd4e6234dd..f7871f485371 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_transfer.c +++ b/src/gallium/drivers/etnaviv/etnaviv_transfer.c @@ -188,7 +188,9 @@ etna_transfer_map(struct pipe_context *pctx, struct pipe_resource *prsc, return NULL; } - etna_copy_resource(pctx, trans->rsc, prsc, level, trans->rsc->last_level); + if (!(usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE)) + etna_copy_resource(pctx, trans->rsc, prsc, level, + trans->rsc->last_level); /* Switch to using the temporary resource instead */ rsc = etna_resource(trans->rsc); -- 2.11.0 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
