diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-05-28 11:38:05 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-05-28 12:44:34 +0100 |
commit | 11581dda99cb2e4ae78fc73be4b02185b3be58ed (patch) | |
tree | 50f46de91709f7c8debef43656eab690146bd5a2 /uxa/uxa.c | |
parent | 73111cf2a212ee5cc2e03af1c600867df0c55b39 (diff) |
uxa: Use a glyph private rather than a hash table.
Store the cache position directly on the glyph using a devPrivate rather
than an through auxiliary hash table.
x11perf on PineView:
650/638 kglyphs/s -> 701/686 kglyphs/s [aa/rgb]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'uxa/uxa.c')
-rw-r--r-- | uxa/uxa.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -393,6 +393,8 @@ static Bool uxa_close_screen(int i, ScreenPtr pScreen) ps->Trapezoids = uxa_screen->SavedTrapezoids; ps->AddTraps = uxa_screen->SavedAddTraps; ps->Triangles = uxa_screen->SavedTriangles; + + ps->UnrealizeGlyph = uxa_screen->SavedUnrealizeGlyph; } #endif @@ -524,6 +526,9 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver) uxa_screen->SavedGlyphs = ps->Glyphs; ps->Glyphs = uxa_glyphs; + uxa_screen->SavedUnrealizeGlyph = ps->UnrealizeGlyph; + ps->UnrealizeGlyph = uxa_glyph_unrealize; + uxa_screen->SavedTriangles = ps->Triangles; ps->Triangles = uxa_triangles; |