xf86-video-intel: src/i830_driver.c

Eric Anholt anholt at kemper.freedesktop.org
Tue Sep 16 13:23:39 PDT 2008


 src/i830_driver.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

New commits:
commit 62b75df84c893bf28e20014cf88ce45064611dc9
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Tue Sep 16 13:21:43 2008 -0700

    Move bufmgr init earlier so it's available at I830DRIDoMappings time.
    
    Fixes a crash with non-GEM mode.  Bug #17540.

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 5e505cf..9bf0a64 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3254,6 +3254,14 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
    }
 #endif
 
+   if (!pI830->use_drm_mode) {
+      DPRINTF(PFX, "assert( if(!I830MapMem(pScrn)) )\n");
+      if (!I830MapMem(pScrn))
+	 return FALSE;
+      pScrn->memPhysBase = (unsigned long)pI830->FbBase;
+   }
+   i830_init_bufmgr(pScrn);
+
 #ifdef XF86DRI
    /*
     * Setup DRI after visuals have been established, but before fbScreenInit
@@ -3287,13 +3295,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 	      pI830->allowPageFlip ? "en" : "dis");
 #endif
 
-   if (!pI830->use_drm_mode) {
-       DPRINTF(PFX, "assert( if(!I830MapMem(pScrn)) )\n");
-       if (!I830MapMem(pScrn))
- 	   return FALSE;
-       pScrn->memPhysBase = (unsigned long)pI830->FbBase;
-   }
-
    if (I830IsPrimary(pScrn)) {
         pScrn->fbOffset = pI830->front_buffer->offset;
    } else {
@@ -3311,8 +3312,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 	   return FALSE;
    }
 
-   i830_init_bufmgr(pScrn);
-
    i830_disable_render_standby(pScrn);
 
    DPRINTF(PFX, "assert( if(!I830EnterVT(scrnIndex, 0)) )\n");


More information about the xorg-commit mailing list