diff options
author | Eric Anholt <eric@anholt.net> | 2007-09-12 13:58:46 +0000 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-09-13 00:08:53 +0000 |
commit | e4d11e58ce349dfe6af2f73ff341317f9b39684c (patch) | |
tree | 05509150343f56d8ec6c88e8da338bf99e6ec03f /hw/xfree86/xaa/xaaOverlayDF.c | |
parent | 6da39c67905500ab2db00a45cda4a9f756cdde96 (diff) |
Remove the PaintWindow optimization.
This was an attempt to avoid scratch gc creation and validation for paintwin
because that was expensive. This is not the case in current servers, and the
danger of failure to implement it correctly (as seen in all previous
implementations) is high enough to justify removing it. No performance
difference detected with x11perf -create -move -resize -circulate on Xvfb.
Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
Diffstat (limited to 'hw/xfree86/xaa/xaaOverlayDF.c')
-rw-r--r-- | hw/xfree86/xaa/xaaOverlayDF.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/hw/xfree86/xaa/xaaOverlayDF.c b/hw/xfree86/xaa/xaaOverlayDF.c index 5897e323b..bf910982a 100644 --- a/hw/xfree86/xaa/xaaOverlayDF.c +++ b/hw/xfree86/xaa/xaaOverlayDF.c @@ -28,7 +28,6 @@ /* Screen funcs */ static void XAAOverCopyWindow(WindowPtr, DDXPointRec, RegionPtr); -static void XAAOverPaintWindow(WindowPtr, RegionPtr, int); static void XAAOverWindowExposures(WindowPtr, RegionPtr, RegionPtr); static int XAAOverStippledFillChooser(GCPtr); @@ -194,8 +193,6 @@ XAAInitDualFramebufferOverlay( /* Overwrite key screen functions. The XAA core will clean up */ pScreen->CopyWindow = XAAOverCopyWindow; - pScreen->PaintWindowBackground = XAAOverPaintWindow; - pScreen->PaintWindowBorder = XAAOverPaintWindow; pScreen->WindowExposures = XAAOverWindowExposures; pOverPriv->StippledFillChooser = infoRec->StippledFillChooser; @@ -410,56 +407,6 @@ XAAOverCopyWindow( } -static void -XAAOverPaintWindow( - WindowPtr pWin, - RegionPtr pRegion, - int what -){ - ScreenPtr pScreen = pWin->drawable.pScreen; - XAAOverlayPtr pOverPriv = GET_OVERLAY_PRIV(pScreen); - XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); - ScrnInfoPtr pScrn = infoRec->pScrn; - - if(pScrn->vtSema) { - if(what == PW_BACKGROUND) { - SWITCH_DEPTH(pWin->drawable.depth); - (*infoRec->PaintWindowBackground)(pWin, pRegion, what); - return; - } else { - if(pWin->drawable.bitsPerPixel == 8) { - SWITCH_DEPTH(8); - (*infoRec->PaintWindowBorder)(pWin, pRegion, what); - return; - } else if (infoRec->FillSolidRects) { - SWITCH_DEPTH(8); - (*infoRec->FillSolidRects)(pScrn, pScrn->colorKey, GXcopy, - ~0, REGION_NUM_RECTS(pRegion), REGION_RECTS(pRegion)); - - SWITCH_DEPTH(pWin->drawable.depth); - (*infoRec->PaintWindowBorder)(pWin, pRegion, what); - return; - } - } - - if(infoRec->NeedToSync) { - (*infoRec->Sync)(infoRec->pScrn); - infoRec->NeedToSync = FALSE; - } - } - - if(what == PW_BACKGROUND) { - XAA_SCREEN_PROLOGUE (pScreen, PaintWindowBackground); - (*pScreen->PaintWindowBackground) (pWin, pRegion, what); - XAA_SCREEN_EPILOGUE(pScreen, PaintWindowBackground, XAAOverPaintWindow); - } else { - XAA_SCREEN_PROLOGUE (pScreen, PaintWindowBorder); - (*pScreen->PaintWindowBorder) (pWin, pRegion, what); - XAA_SCREEN_EPILOGUE(pScreen, PaintWindowBorder, XAAOverPaintWindow); - } -} - - void XAAOverWindowExposures( WindowPtr pWin, |