[PATCH 0/3] Etnaviv partial transfer optimization
Lucas Stach
l.stach at pengutronix.de
Fri Sep 15 16:00:51 UTC 2017
Hi all,
this small series optimizes transfers where we de-/tile the resource with
the RS. Currently we are always blitting the whole resource between the
transfer and data buffer. This is really inefficient when the transfer only
targets part of the resource.
A prime example exposing the issue is an application uploading small
textures to a large texture atlas by using glTexSubImage2D, where I have
seen reductions in transfer time from 90ms before to 3ms with this series
applied.
No regressions with the piglit "gpu" profile.
Regards,
Lucas
Lucas Stach (3):
etnaviv: support tile aligned RS blits
etnaviv: add resource subregion copy
etnaviv: optimize RS transfers
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 102 +++++++++++++++++++++--
src/gallium/drivers/etnaviv/etnaviv_clear_blit.h | 5 ++
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 29 ++++++-
3 files changed, 124 insertions(+), 12 deletions(-)
--
2.11.0
More information about the etnaviv
mailing list