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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev