Commit Graph

8 Commits

Author SHA1 Message Date
Michel Dänzer
8349732a67 EXA: Try to accelerate non-antialiased text via the glyph cache as well.
Treat 1 bit glyphs and masks as PICT_a8 in the glyph cache. We're not able to
accelerate them otherwise.
2008-04-28 21:09:35 +02:00
Michel Dänzer
a65d530040 EXA: Accumulate glyphs whenever possible, for full benefits of the glyph cache. 2008-04-28 21:03:12 +02:00
Michel Dänzer
e7eaac59c4 EXA: Glyph cache upload tweaks.
Track damage after using UploadToScreen directly.

Don't waste any effort on empty glyphs.
2008-04-28 21:00:55 +02:00
Owen Taylor
cc08c06665 EXA: Use UploadToScreen() for uploads to glyph cache
When possible, use UploadToScreen() rather than CompositePicture()
to upload glyphs onto the glyph cache pixmap. This avoids allocating
offscreen memory for each glyph making management of offscreen
areas much more efficient.
2008-04-28 21:00:55 +02:00
Owen Taylor
13fd225630 EXA: Clean up debug messages 2008-04-28 21:00:55 +02:00
Owen Taylor
fcb5949928 EXA: Fix overlapping glyphs in glyph cache
Allocate each cache at a different vertical position in the
per-format pixmap. Fix width/height confusion when choosing
the cache for a glyph.
2008-04-28 21:00:54 +02:00
Owen Taylor
40eb14c948 EXA: Add exaCompositeRects()
Add a function to composite multiple independent rectangles
from the same source to the same destination in a single
operation: this is useful for building a glyph mask.
2008-04-28 21:00:54 +02:00
Owen Taylor
54184110f6 EXA: Use a single large glyph cache pixmap
Add back exaGlyphs(); the new version copies the glyph images
onto a single large glyph pixmap and draws from their to the
destination surface. This reduces the management of small
offscreen areas and will allow us to avoid texture unit setup
between each glyph.
2008-04-28 21:00:54 +02:00