Module Name:    xsrc
Committed By:   rjs
Date:           Mon May 18 23:12:53 UTC 2015

Modified Files:
        xsrc/external/mit/xf86-video-intel-old/dist/src: i830_driver.c
            i830_uxa.c i830_video.c
        xsrc/external/mit/xf86-video-intel-old/dist/uxa: uxa-priv.h
            uxa-render.c uxa.c

Log Message:
Make it work with xorg-server-1.10.6.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c \
    xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c \
    xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c
cvs rdiff -u -r1.1.1.1 -r1.2 \
    xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h \
    xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c \
    xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c
diff -u xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c:1.1.1.1	Mon May 18 22:11:04 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/src/i830_driver.c	Mon May 18 23:12:53 2015
@@ -902,10 +902,6 @@ i830_xf86crtc_resize (ScrnInfoPtr scrn, 
 				   width, height, -1, -1, scrn->displayWidth * i830->cpp,
 				   i830->FbBase + scrn->fbOffset);
 
-	/* ick. xf86EnableDisableFBAccess smashes the screen pixmap devPrivate,
-	 * so update the value it uses
-	 */
-	scrn->pixmapPrivate.ptr = i830->FbBase + scrn->fbOffset;
 	xf86DrvMsg(scrn->scrnIndex, X_INFO, "New front buffer at 0x%lx\n",
 		   i830->front_buffer->offset);
 	i830_set_new_crtc_bo(scrn);
Index: xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c
diff -u xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c:1.1.1.1	Mon May 18 22:11:07 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/src/i830_uxa.c	Mon May 18 23:12:53 2015
@@ -79,7 +79,7 @@ const int I830PatternROP[16] =
     ROP_1
 };
 
-static int uxa_pixmap_index;
+static DevPrivateKeyRec uxa_pixmap_index;
 
 /**
  * Returns whether a given pixmap is tiled or not.
@@ -452,7 +452,11 @@ i830_transform_is_affine (PictTransformP
 dri_bo *
 i830_get_pixmap_bo(PixmapPtr pixmap)
 {
+#if HAS_DEVPRIVATEKEYREC
+    return dixGetPrivate(&pixmap->devPrivates, &uxa_pixmap_index);
+#else
     return dixLookupPrivate(&pixmap->devPrivates, &uxa_pixmap_index);
+#endif
 }
 
 void
@@ -703,7 +707,11 @@ i830_uxa_init (ScreenPtr pScreen)
     ScrnInfoPtr scrn = xf86Screens[pScreen->myNum];
     I830Ptr i830 = I830PTR(scrn);
 
+#if HAS_DIXREGISTERPRIVATEKEY
+    if (!dixRegisterPrivateKey(&uxa_pixmap_index, PRIVATE_PIXMAP, 0))
+#else
     if (!dixRequestPrivate(&uxa_pixmap_index, 0))
+#endif
 	return FALSE;
 
     i830->uxa_driver = uxa_driver_alloc();
Index: xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c
diff -u xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c:1.1.1.1	Mon May 18 22:11:10 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/src/i830_video.c	Mon May 18 23:12:53 2015
@@ -2204,40 +2204,6 @@ i830_clip_video_helper (ScrnInfoPtr pScr
     return ret;
 }
 
-static void
-i830_fill_colorkey (ScreenPtr pScreen, uint32_t key, RegionPtr clipboxes)
-{
-   DrawablePtr root = &WindowTable[pScreen->myNum]->drawable;
-   XID	       pval[2];
-   BoxPtr      pbox = REGION_RECTS(clipboxes);
-   int	       i, nbox = REGION_NUM_RECTS(clipboxes);
-   xRectangle  *rects;
-   GCPtr       gc;
-
-   if(!xf86Screens[pScreen->myNum]->vtSema) return;
-
-   gc = GetScratchGC(root->depth, pScreen);
-   pval[0] = key;
-   pval[1] = IncludeInferiors;
-   (void) ChangeGC(gc, GCForeground|GCSubwindowMode, pval);
-   ValidateGC(root, gc);
-
-   rects = xalloc (nbox * sizeof(xRectangle));
-
-   for(i = 0; i < nbox; i++, pbox++) 
-   {
-      rects[i].x = pbox->x1;
-      rects[i].y = pbox->y1;
-      rects[i].width = pbox->x2 - pbox->x1;
-      rects[i].height = pbox->y2 - pbox->y1;
-   }
-   
-   (*gc->ops->PolyFillRect)(root, gc, nbox, rects);
-   
-   xfree (rects);
-   FreeScratchGC (gc);
-}
-
 /*
  * The source rectangle of the video is defined by (src_x, src_y, src_w, src_h).
  * The dest rectangle of the video is defined by (drw_x, drw_y, drw_w, drw_h).
@@ -2525,7 +2491,7 @@ I830PutImage(ScrnInfoPtr pScrn,
 	/* update cliplist */
 	if (!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
 	    REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
-	    i830_fill_colorkey (pScreen, pPriv->colorKey, clipBoxes);
+	    xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
 	}
     } else {
         Bool sync = TRUE;
@@ -2867,7 +2833,7 @@ I830DisplaySurface(XF86SurfacePtr surfac
 		     surface->pitches[0], x1, y1, x2, y2, &dstBox,
 		     src_w, src_h, drw_w, drw_h);
 
-    i830_fill_colorkey (pScreen, pI830Priv->colorKey, clipBoxes);
+    xf86XVFillKeyHelper(pScrn->pScreen, pI830Priv->colorKey, clipBoxes);
 
     pPriv->isOn = TRUE;
     /* we've prempted the XvImage stream so set its free timer */

Index: xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h
diff -u xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h:1.1.1.1	Mon May 18 22:11:27 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-priv.h	Mon May 18 23:12:53 2015
@@ -177,12 +177,16 @@ typedef struct {
     (PixmapWidthPaddingInfo[d].padRoundUp+1)))
 #endif
 
-extern int uxa_screen_index;
+extern DevPrivateKeyRec uxa_screen_index;
 static inline uxa_screen_t *
 uxa_get_screen(ScreenPtr screen)
 {
+#if HAS_DEVPRIVATEKEYREC
+    return dixGetPrivate(&screen->devPrivates, &uxa_screen_index);
+#else
     return (uxa_screen_t *)dixLookupPrivate(&screen->devPrivates,
 					    &uxa_screen_index);
+#endif
 }
 
 /** Align an offset to an arbitrary alignment */
Index: xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c
diff -u xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c:1.1.1.1	Mon May 18 22:11:27 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa-render.c	Mon May 18 23:12:53 2015
@@ -438,12 +438,6 @@ uxa_picture_from_pixman_image (ScreenPtr
     return pPicture;
 }
 
-#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC (1,6,99,1,0)
-#define IMAGE_FROM_PICT(P) image_from_pict(P, 0)
-#else
-#define IMAGE_FROM_PICT(P) image_from_pict(P, 0, 0)
-#endif
-
 static PicturePtr
 uxa_acquire_pattern (ScreenPtr pScreen,
 		     PicturePtr pPict,
@@ -452,8 +446,9 @@ uxa_acquire_pattern (ScreenPtr pScreen,
 		     CARD16 width, CARD16 height)
 {
     pixman_image_t *source, *image;
-
-    source = IMAGE_FROM_PICT (pPict);
+    int src_xoff, src_yoff;
+    
+    source = image_from_pict(pPict, FALSE, &src_xoff, &src_yoff);
     if (!source)
 	return 0;
 
Index: xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c
diff -u xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c:1.1.1.1 xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c:1.2
--- xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c:1.1.1.1	Mon May 18 22:11:27 2015
+++ xsrc/external/mit/xf86-video-intel-old/dist/uxa/uxa.c	Mon May 18 23:12:53 2015
@@ -39,7 +39,7 @@
 #include "dixfontstr.h"
 #include "uxa.h"
 
-int uxa_screen_index;
+DevPrivateKeyRec uxa_screen_index;
 
 /**
  * uxa_get_drawable_pixmap() returns a backing pixmap for a given drawable.
@@ -460,6 +460,10 @@ uxa_driver_init(ScreenPtr screen, uxa_dr
     ps = GetPictureScreenIfSet(screen);
 #endif
 
+#if HAS_DIXREGISTERPRIVATEKEY
+    if (!dixRegisterPrivateKey(&uxa_screen_index, PRIVATE_SCREEN, 0))
+	return FALSE;
+#endif
     uxa_screen = xcalloc (sizeof (uxa_screen_t), 1);
 
     if (!uxa_screen) {

Reply via email to