exa: A simple 3rd backend implementation.

- Based on driver pixmaps with some changes (completely transparent to driver).
- It helps with the problem of known software fallbacks, such as trapezoids.
- exaDoMigration is now called for all cases that provide a do_migration hook.
- exa_migration.c is renamed to exa_migration_classic.c
This commit is contained in:
Maarten Maathuis
2009-08-01 19:19:19 +02:00
parent ac7ac913fd
commit 03ecb164f2
10 changed files with 460 additions and 58 deletions

View File

@@ -385,10 +385,10 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
if (pGlyphPixmap->drawable.bitsPerPixel != pCachePixmap->drawable.bitsPerPixel)
goto composite;
/* cache pixmap must be offscreen. */
if (pExaPixmap->pDamage) {
if (pExaScr->do_migration) {
ExaMigrationRec pixmaps[1];
/* cache pixmap must be offscreen. */
pixmaps[0].as_dst = TRUE;
pixmaps[0].as_src = FALSE;
pixmaps[0].pPix = pCachePixmap;