[Mesa-dev] [PATCH 12/21] r600g: permit blitting between textures with STREAM and STAGING usage

Christian König deathsimple at vodafone.de
Fri Mar 2 07:28:09 PST 2012


On 01.03.2012 01:05, Marek Olšák wrote:
> 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.

Correct, yeah. I also remember that there was a good reason that we put 
that check into that function instead of modifying the tilling 
attributes in the create function, but I can't remember it.

Anyway apart from that the patches looks good to me, so:

Reviewed-by: Christian König<christian.koenig at amd.com>




More information about the mesa-dev mailing list