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/shadowfb | |
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/shadowfb')
-rw-r--r-- | hw/xfree86/shadowfb/shadow.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/hw/xfree86/shadowfb/shadow.c b/hw/xfree86/shadowfb/shadow.c index c1b6ed1ce..3511a635e 100644 --- a/hw/xfree86/shadowfb/shadow.c +++ b/hw/xfree86/shadowfb/shadow.c @@ -35,11 +35,6 @@ #define MAX(a,b) (((a)>(b))?(a):(b)) static Bool ShadowCloseScreen (int i, ScreenPtr pScreen); -static void ShadowPaintWindow ( - WindowPtr pWin, - RegionPtr prgn, - int what -); static void ShadowCopyWindow( WindowPtr pWin, DDXPointRec ptOldOrg, @@ -82,8 +77,6 @@ typedef struct { RefreshAreaFuncPtr preRefresh; RefreshAreaFuncPtr postRefresh; CloseScreenProcPtr CloseScreen; - PaintWindowBackgroundProcPtr PaintWindowBackground; - PaintWindowBorderProcPtr PaintWindowBorder; CopyWindowProcPtr CopyWindow; CreateGCProcPtr CreateGC; ModifyPixmapHeaderProcPtr ModifyPixmapHeader; @@ -200,8 +193,6 @@ ShadowFBInit2 ( pPriv->vtSema = TRUE; pPriv->CloseScreen = pScreen->CloseScreen; - pPriv->PaintWindowBackground = pScreen->PaintWindowBackground; - pPriv->PaintWindowBorder = pScreen->PaintWindowBorder; pPriv->CopyWindow = pScreen->CopyWindow; pPriv->CreateGC = pScreen->CreateGC; pPriv->ModifyPixmapHeader = pScreen->ModifyPixmapHeader; @@ -210,8 +201,6 @@ ShadowFBInit2 ( pPriv->LeaveVT = pScrn->LeaveVT; pScreen->CloseScreen = ShadowCloseScreen; - pScreen->PaintWindowBackground = ShadowPaintWindow; - pScreen->PaintWindowBorder = ShadowPaintWindow; pScreen->CopyWindow = ShadowCopyWindow; pScreen->CreateGC = ShadowCreateGC; pScreen->ModifyPixmapHeader = ShadowModifyPixmapHeader; @@ -276,8 +265,6 @@ ShadowCloseScreen (int i, ScreenPtr pScreen) #endif /* RENDER */ pScreen->CloseScreen = pPriv->CloseScreen; - pScreen->PaintWindowBackground = pPriv->PaintWindowBackground; - pScreen->PaintWindowBorder = pPriv->PaintWindowBorder; pScreen->CopyWindow = pPriv->CopyWindow; pScreen->CreateGC = pPriv->CreateGC; pScreen->ModifyPixmapHeader = pPriv->ModifyPixmapHeader; @@ -296,35 +283,6 @@ ShadowCloseScreen (int i, ScreenPtr pScreen) return (*pScreen->CloseScreen) (i, pScreen); } -static void -ShadowPaintWindow( - WindowPtr pWin, - RegionPtr prgn, - int what -){ - ScreenPtr pScreen = pWin->drawable.pScreen; - ShadowScreenPtr pPriv = GET_SCREEN_PRIVATE(pScreen); - int num = 0; - - if(pPriv->vtSema && (num = REGION_NUM_RECTS(prgn))) - if(pPriv->preRefresh) - (*pPriv->preRefresh)(pPriv->pScrn, num, REGION_RECTS(prgn)); - - if(what == PW_BACKGROUND) { - pScreen->PaintWindowBackground = pPriv->PaintWindowBackground; - (*pScreen->PaintWindowBackground) (pWin, prgn, what); - pScreen->PaintWindowBackground = ShadowPaintWindow; - } else { - pScreen->PaintWindowBorder = pPriv->PaintWindowBorder; - (*pScreen->PaintWindowBorder) (pWin, prgn, what); - pScreen->PaintWindowBorder = ShadowPaintWindow; - } - - if(num && pPriv->postRefresh) - (*pPriv->postRefresh)(pPriv->pScrn, num, REGION_RECTS(prgn)); -} - - static void ShadowCopyWindow( WindowPtr pWin, |