[Mesa-dev] [PATCH 12/21] r600g: permit blitting between textures with STREAM and STAGING usage
maraeo at gmail.com
Wed Feb 29 16:05:09 PST 2012
2012/2/29 Christian König <deathsimple at vodafone.de>:
> On 29.02.2012 17:53, Marek Olšák wrote:
>> Why this wasn't allowed is beyond me.
> Because that resulted in allot better performance.
> It doesn't make much sense to let the driver blit the content of a texture
> into a tilled version and make a single draw and then throw away that tilled
> version before the next draw.
> So either leave the test there or move it into r600_texture_create, but
> don't remove it altogether.
Ah, so you want to disable tiling for staging and stream usage cases,
not blitting. That makes sense.
However blitting between non-tiled textures in our transfer path is
completely valid and recommended if the transfer is write-only and
mapping would require synchronization (flush + bo_wait). In such a
case, the blit will almost always be faster regardless of whether
tiling is enabled or not.
More information about the mesa-dev