[PATCH xserver 1/4] dri2: Only invalidate the immediate Window upon SetWindowPixmap
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Feb 3 13:36:36 UTC 2016
On Wed, Feb 03, 2016 at 09:54:43AM +0000, Chris Wilson wrote:
> All callers of SetWindowPixmap will themselves be traversing the Window
> heirachy 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 at gmail.com>
> Link: http://lists.x.org/archives/xorg-devel/2015-February/045638.html
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Seems sane.
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> hw/xfree86/dri2/dri2.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
> index 60ea6dd..bbff11c 100644
> --- a/hw/xfree86/dri2/dri2.c
> +++ b/hw/xfree86/dri2/dri2.c
> @@ -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
> --
> 2.7.0
--
Ville Syrjälä
Intel OTC
More information about the xorg-devel
mailing list