[Mesa-dev] [PATCH 7/7] i965/blorp: Allow format conversions.

Kenneth Graunke kenneth at whitecape.org
Tue Oct 8 13:50:12 PDT 2013


On 10/08/2013 01:42 PM, Eric Anholt wrote:
> Kenneth Graunke <kenneth at whitecape.org> writes:
> 
>> BLORP performs blits by drawing a rectangle with a shader that samples
>> from the source texture, and writes color data to the destination.
>>
>> The sampler always returns 32-bit RGBA float data, regardless of the
>> source format's component ordering or data type.  Likewise, the render
>> target write message takes 32-bit RGBA float data, and converts it
>> appropriately.  So the bulk of the work is already taken care of for us.
>>
>> This greatly accelerates a lot of blits and CopyTexSubImage calls, and
>> makes Legends of Aethereus playable on Ivybridge.  At the default
>> settings, LOA continually blits between SRGBA8888 (the window format)
>> and RGBA16_FLOAT.  Since neither BLORP nor our BLT paths supported this,
>> it fell back to meta, spending 33% of the CPU in floorf() converting
>> between floats and half-floats.
> 
> Does this actually accelerate blits other than CopyTexSubImage calls?
> It looks like the old format equality checks are still in place for
> BlitFramebuffer.

Oops!  You're right, this only affects CopyTexSubImage.  I've removed
"of blits and" from the above paragraph and renamed the patch to
"i965/blorp: Allow format conversions for CopyTexSubImage."

I suppose we should actually relax the restrictions in BlitFramebuffer too.

Thanks for the review, Eric.

> Other than the review provided by others, and possibly updating this
> message, this series is:
> 
> Reviewed-by: Eric Anholt <eric at anholt.net>



More information about the mesa-dev mailing list