mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-08 07:58:03 +02:00
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.
(cherry picked from commit 718652eaf9)
This commit is contained in:
parent
f7a9d30f82
commit
f2aa0000a2
1 changed files with 3 additions and 1 deletions
|
|
@ -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…
Add table
Reference in a new issue