[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