dri2: Only invalidate the immediate Window upon SetWindowPixmap
All callers of SetWindowPixmap will themselves be traversing the Window heirarchy updating the backing Pixmap of each child and so we can forgo doing the identical traversal inside the DRI2SetWindowPixmap handler. Reported-by: Loïc Yhuel <loic.yhuel@gmail.com> Link: http://lists.x.org/archives/xorg-devel/2015-February/045638.html Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
This commit is contained in:
parent
da69f2f15a
commit
b7d392931a
@ -1385,8 +1385,7 @@ DRI2ConfigNotify(WindowPtr pWin, int x, int y, int w, int h, int bw,
|
||||
static void
|
||||
DRI2SetWindowPixmap(WindowPtr pWin, PixmapPtr pPix)
|
||||
{
|
||||
DrawablePtr pDraw = (DrawablePtr) pWin;
|
||||
ScreenPtr pScreen = pDraw->pScreen;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
|
||||
|
||||
pScreen->SetWindowPixmap = ds->SetWindowPixmap;
|
||||
@ -1394,7 +1393,7 @@ DRI2SetWindowPixmap(WindowPtr pWin, PixmapPtr pPix)
|
||||
ds->SetWindowPixmap = pScreen->SetWindowPixmap;
|
||||
pScreen->SetWindowPixmap = DRI2SetWindowPixmap;
|
||||
|
||||
DRI2InvalidateDrawableAll(pDraw);
|
||||
DRI2InvalidateDrawable(&pWin->drawable);
|
||||
}
|
||||
|
||||
#define MAX_PRIME DRI2DriverPrimeMask
|
||||
|
Loading…
Reference in New Issue
Block a user