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.
This commit is contained in:
@@ -294,8 +294,6 @@ xnestOpenScreen(int index, ScreenPtr pScreen, int argc, char *argv[])
|
||||
pScreen->UnrealizeWindow = xnestUnrealizeWindow;
|
||||
pScreen->PostValidateTree = NULL;
|
||||
pScreen->WindowExposures = xnestWindowExposures;
|
||||
pScreen->PaintWindowBackground = xnestPaintWindowBackground;
|
||||
pScreen->PaintWindowBorder = xnestPaintWindowBorder;
|
||||
pScreen->CopyWindow = xnestCopyWindow;
|
||||
pScreen->ClipNotify = xnestClipNotify;
|
||||
|
||||
|
||||
@@ -378,30 +378,6 @@ xnestUnrealizeWindow(WindowPtr pWin)
|
||||
return True;
|
||||
}
|
||||
|
||||
void
|
||||
xnestPaintWindowBackground(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||
{
|
||||
int i;
|
||||
BoxPtr pBox;
|
||||
|
||||
xnestConfigureWindow(pWin, CWWidth | CWHeight);
|
||||
|
||||
pBox = REGION_RECTS(pRegion);
|
||||
for (i = 0; i < REGION_NUM_RECTS(pRegion); i++)
|
||||
XClearArea(xnestDisplay, xnestWindow(pWin),
|
||||
pBox[i].x1 - pWin->drawable.x,
|
||||
pBox[i].y1 - pWin->drawable.y,
|
||||
pBox[i].x2 - pBox[i].x1,
|
||||
pBox[i].y2 - pBox[i].y1,
|
||||
False);
|
||||
}
|
||||
|
||||
void
|
||||
xnestPaintWindowBorder(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||
{
|
||||
xnestConfigureWindow(pWin, CWBorderWidth);
|
||||
}
|
||||
|
||||
void
|
||||
xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion)
|
||||
{
|
||||
|
||||
@@ -64,8 +64,6 @@ void xnestConfigureWindow(WindowPtr pWin, unsigned int mask);
|
||||
Bool xnestChangeWindowAttributes(WindowPtr pWin, unsigned long mask);
|
||||
Bool xnestRealizeWindow(WindowPtr pWin);
|
||||
Bool xnestUnrealizeWindow(WindowPtr pWin);
|
||||
void xnestPaintWindowBackground(WindowPtr pWin, RegionPtr pRegion, int what);
|
||||
void xnestPaintWindowBorder(WindowPtr pWin, RegionPtr pRegion, int what);
|
||||
void xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion);
|
||||
void xnestClipNotify(WindowPtr pWin, int dx, int dy);
|
||||
void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn,
|
||||
|
||||
Reference in New Issue
Block a user