[PATCH 4/4] EXA/evergreen/ni: accelerate PictOpOver with component alpha
rscheidegger_lists at hispeed.ch
Tue Jul 23 08:41:49 PDT 2013
Am 23.07.2013 00:42, schrieb Grigori Goronzy:
> On 23.07.2013 00:30, Dave Airlie wrote:
>> On Mon, Jul 22, 2013 at 2:06 PM, Grigori Goronzy <greg at chown.ath.cx>
>>> Subpixel text rendering is typically done with a solid src and a
>>> pixmap mask. Traditionally, this cannot be accelerated in a single
>>> pass and requires two passes . However, we can cheat a little
>>> with a constant blend color.
>> The hw should be able to do things in one pass with dual source
>> blending afaik.
> Yes it can do that, and this was actually my first idea. However, dual
> source blending requires additional render target state setup,
> modifications to the shaders, and so on. It's likely also a bit slower
> than single source blending, after all the shader needs to export twice
> as much data.
> It might be worthwhile to get back to this to accelerate some of the
> other PictOps with component alpha, but using the constant blend color
> was the easier and faster solution for the common PictOpOver case. I
> think it's a nice trick, I wonder if any other driver implements it?
> xorg-driver-ati mailing list
> xorg-driver-ati at lists.x.org
I guess it's a pity that it can't be done at some higher level as this
optimization is really generic neither tied to evergreen/ni nor radeons
(the same is true for the other patches as well), just about any card
can do it (as long as it has constant blend color). Dual-source, OTOH is
limited to d3d10-class hardware.
Looks good to me though.
More information about the xorg-driver-ati