[PATCH 0/1] Use pixman_glyph_cache_t

Søren Sandmann Pedersen ssp at redhat.com
Thu Sep 6 16:45:12 PDT 2012


Now that 1.13 is out and there has been a pixman release with the new
API, let me try this again.

This patch speeds up glyph rendering by caching glyphs in a pixman
data structure. There are numbers in the commit message.

It is important to note that this patch implies a small semantic
change to glyph rendering.  Currently, if you use an a8 glyphset with
an a8r8g8b8 mask format, the glyphs will end up invisible because (a8
ADD a8r8g8b8) only affect the alpha channel which isn't used with
component-alpha compositing.

The pixman glyph API instead uses

    (white IN glyph) ADD mask

which has the effect of adding the alpha channel to all the channels of
the mask.

It is *conceivable* that there is some buggy application out there that
relies on rendering a bunch of invisible glyphs, but it can't be common
and the current behavior is so useless that I don't worry too much about
changing it.

Review appreciated.


Soren



More information about the xorg-devel mailing list