[PATCH 4/6] etnaviv: don't read back resource if transfer discards contents

Wladimir J. van der Laan laanwj at gmail.com
Tue Jun 6 11:38:39 UTC 2017


On Fri, May 19, 2017 at 11:41:10AM +0200, Lucas Stach wrote:
> Reduces bandwidth usage of transfers which discard the buffer contents,
> as well as skipping unnecessary command stream flushes and CPU/GPU
> synchronization.

Looks obviously correct. The contents of the temporary resource
don't matter if DISCARD_WHOLE_RESOURCE.

Reviewed-By: Wladimir J. van der Laan

> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> ---
>  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
> 
> _______________________________________________
> etnaviv mailing list
> etnaviv at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/etnaviv


More information about the etnaviv mailing list