Bug #13104: Don't let XAA glyph pixmaps anywhere near video memory.
Since glyphs are stored in pixmaps now, they can make their way into VRAM, which invalidates a bunch of fast-path assumptions in the XAA code. Thus you end up doing color-expands or WriteBitmap from la-la land and your aliased glyphs go all funny. Since XAA isn't ever growing the ability to do sane glyph accel, just force glyph pixmaps into host memory by catching them at CreatePixmap time.
This commit is contained in:
parent
a85d3ac87c
commit
718652eaf9
|
@ -342,7 +342,9 @@ XAACreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint)
|
|||
if (!infoRec->offscreenDepthsInitialized)
|
||||
XAAInitializeOffscreenDepths (pScreen);
|
||||
|
||||
if(pScrn->vtSema && (infoRec->offscreenDepths & (1 << (depth - 1))) &&
|
||||
if(pScrn->vtSema &&
|
||||
(usage_hint != CREATE_PIXMAP_USAGE_GLYPH_PICTURE) &&
|
||||
(infoRec->offscreenDepths & (1 << (depth - 1))) &&
|
||||
(size >= MIN_OFFPIX_SIZE) && !SwitchedOut &&
|
||||
(!infoRec->maxOffPixWidth || (w <= infoRec->maxOffPixWidth)) &&
|
||||
(!infoRec->maxOffPixHeight || (h <= infoRec->maxOffPixHeight)) )
|
||||
|
|
Loading…
Reference in New Issue
Block a user