etnaviv: optimize RS transfers
authorLucas Stach <l.stach@pengutronix.de>
Wed, 6 Sep 2017 12:30:40 +0000 (14:30 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Thu, 28 Sep 2017 15:41:07 +0000 (17:41 +0200)
commit15e3657e433f0e370632fdb70889eb6dfafeba34
tree85bf13d773a1b4140ae2018733ce541de9ade9ea
parent69eb93cbb9bc544272300796b6f8d7c8c7502575
etnaviv: optimize RS transfers

Currently we are blitting the whole resource when the RS is used to
de-/tile a resource. This can be very inefficient for large resources
where the transfer is only changing a small part of the resource
(happens a lot with glTexSubImage2D).

Optimize this by only blitting the tile aligned subregion of the
resource, which the transfer is going to change.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-By: Wladimir J. van der Laan <laanwj@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_transfer.c