xf86-video-intel: Branch 'xf86-video-intel-2.3-branch' - 2 commits - src/i830_driver.c src/i830_memory.c src/i830_video.c

Zhenyu Wang zhen at kemper.freedesktop.org
Fri Mar 28 00:06:23 PDT 2008


 src/i830_driver.c |   14 +++++++-------
 src/i830_memory.c |    5 ++++-
 src/i830_video.c  |    5 ++++-
 3 files changed, 15 insertions(+), 9 deletions(-)

New commits:
commit 5ddebfd1e603ca515b0e74fd78f3c8b1f395bafe
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date:   Fri Mar 28 11:41:24 2008 +0800

    Disable DRI earlier if fb width > 2048
    (cherry picked from commit 7bba2c13310ed5ac22a355a3cc0ec8b7afaa79cf)

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 60ca63a..5866d67 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2681,6 +2681,12 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
       pScrn->videoRam &= ~3;
    }
 
+   if (!IS_I965G(pI830) && pScrn->displayWidth > 2048) {
+      xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		 "Cannot support DRI with frame buffer width > 2048.\n");
+      pI830->directRenderingDisabled = TRUE;
+   }
+
 #ifdef XF86DRI
    /* If DRI hasn't been explicitly disabled, try to initialize it.
     * It will be used by the memory allocator.
@@ -2758,12 +2764,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
     pI830->XvEnabled = !pI830->XvDisabled;
 #endif
 
-   if (!IS_I965G(pI830) && pScrn->displayWidth > 2048) {
-      xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-		 "Cannot support DRI with frame buffer width > 2048.\n");
-      pI830->tiling = FALSE;
-      pI830->directRenderingEnabled = FALSE;
-   }
 
    /* Need MMIO mapped to do GTT lookups during memory allocation. */
    I830MapMMIO(pScrn);
commit 6477799cb1c98f8b0105be37a96194f27de388ae
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date:   Fri Mar 28 11:29:40 2008 +0800

    Disable overlay on new mobile chipset
    
    It's gone, really.
    (cherry picked from commit b1f358ba97473b792ec2b7ed5170152faebe7262)

diff --git a/src/i830_driver.c b/src/i830_driver.c
index e6fff24..60ca63a 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2823,7 +2823,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 		    "needs 2D acceleration.\n");
 	 pI830->XvEnabled = FALSE;
       }
-      if (!IS_I9XX(pI830) && pI830->overlay_regs == NULL) {
+      if (!IS_IGD_GM(pI830) && pI830->overlay_regs == NULL) {
 	  xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
 		     "Disabling Xv because the overlay register buffer "
 		      "allocation failed.\n");
diff --git a/src/i830_memory.c b/src/i830_memory.c
index a38ee78..6835a6f 100644
--- a/src/i830_memory.c
+++ b/src/i830_memory.c
@@ -445,7 +445,7 @@ i830_allocator_init(ScrnInfoPtr pScrn, unsigned long offset, unsigned long size)
 	/* Overlay and cursors, if physical, need to be allocated outside
 	 * of the kernel memory manager.
 	 */
-	if (!OVERLAY_NOPHYSICAL(pI830) && !IS_I965G(pI830)) {
+	if (!OVERLAY_NOPHYSICAL(pI830) && !IS_IGD_GM(pI830)) {
 	    mmsize -= ROUND_TO(OVERLAY_SIZE, GTT_PAGE_SIZE);
 	}
 	if (pI830->CursorNeedsPhysical) {
@@ -1025,6 +1025,9 @@ i830_allocate_overlay(ScrnInfoPtr pScrn)
     if (!pI830->XvEnabled)
 	return TRUE;
 
+    if (IS_IGD_GM(pI830))
+	return TRUE;
+
     if (!OVERLAY_NOPHYSICAL(pI830))
 	flags |= NEED_PHYSICAL_ADDR;
 
diff --git a/src/i830_video.c b/src/i830_video.c
index 04ce0d6..68bcc88 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -617,7 +617,8 @@ I830InitVideo(ScreenPtr pScreen)
     }
 
     /* Set up overlay video if we can do it at this depth. */
-    if (pScrn->bitsPerPixel != 8 && pI830->overlay_regs != NULL)
+    if (!IS_IGD_GM(pI830) && pScrn->bitsPerPixel != 8 &&
+	    pI830->overlay_regs != NULL)
     {
 	overlayAdaptor = I830SetupImageVideoOverlay(pScreen);
 	if (overlayAdaptor != NULL) {
@@ -2634,6 +2635,7 @@ I830VideoBlockHandler(int i, pointer blockData, pointer pTimeout,
     I830Ptr pI830 = I830PTR(pScrn);
     I830PortPrivPtr pPriv;
 
+    /* no overlay */
     if (pI830->adaptor == NULL)
         return;
 
@@ -2913,6 +2915,7 @@ i830_crtc_dpms_video(xf86CrtcPtr crtc, Bool on)
     I830Ptr pI830 = I830PTR(pScrn);
     I830PortPrivPtr pPriv;
 
+    /* no overlay */
     if (pI830->adaptor == NULL)
 	return;
 


More information about the xorg-commit mailing list