diff options
author | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2008-01-25 17:17:07 +0800 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2008-01-25 17:17:07 +0800 |
commit | ae833b82867a14c82ab8054cd0e4e4baaa908bc1 (patch) | |
tree | b1ed144d4fa27051e30bcda285775f4e85b9cd71 | |
parent | 8661ef9db6a01b3d604b8e55c0e494adc50cb503 (diff) | |
parent | 6bf53eb48f40ad0c8ea9679ee634447410821b4f (diff) | |
download | xorg-driver-xf86-video-intel-ae833b82867a14c82ab8054cd0e4e4baaa908bc1.tar.gz |
Merge branch 'master' into xf86-video-intel-2.2-branch
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/i830_driver.c | 27 |
2 files changed, 19 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac index 334a1f49..e707a1a9 100644 --- a/configure.ac +++ b/configure.ac @@ -117,7 +117,7 @@ CFLAGS="$save_CFLAGS" if test x$XSERVER_LIBPCIACCESS = xyes; then PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10.0]) else - PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.5.0], + PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10.0], have_libpciaccess=yes, have_libpciaccess=no) fi @@ -216,6 +216,8 @@ AC_SUBST([moduledir]) DRIVER_NAME=intel AC_SUBST([DRIVER_NAME]) +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.1.3) XORG_MANPAGE_SECTIONS XORG_RELEASE_VERSION diff --git a/src/i830_driver.c b/src/i830_driver.c index 70774568..dffc6306 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -2934,9 +2934,25 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) pI830->directRenderingEnabled = I830DRIFinishScreenInit(pScreen); #endif + /* Must force it before EnterVT, so we are in control of VT and + * later memory should be bound when allocating, e.g rotate_mem */ + pScrn->vtSema = TRUE; + if (!I830EnterVT(scrnIndex, 0)) return FALSE; + pI830->BlockHandler = pScreen->BlockHandler; + pScreen->BlockHandler = I830BlockHandler; + + pScreen->SaveScreen = xf86SaveScreen; + pI830->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = I830CloseScreen; + pI830->CreateScreenResources = pScreen->CreateScreenResources; + pScreen->CreateScreenResources = i830CreateScreenResources; + + if (!xf86CrtcScreenInit (pScreen)) + return FALSE; + DPRINTF(PFX, "assert( if(!miCreateDefColormap(pScreen)) )\n"); if (!miCreateDefColormap(pScreen)) return FALSE; @@ -2973,18 +2989,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "direct rendering: Not available\n"); #endif - pI830->BlockHandler = pScreen->BlockHandler; - pScreen->BlockHandler = I830BlockHandler; - pScreen->SaveScreen = xf86SaveScreen; - pI830->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = I830CloseScreen; - pI830->CreateScreenResources = pScreen->CreateScreenResources; - pScreen->CreateScreenResources = i830CreateScreenResources; - - if (!xf86CrtcScreenInit (pScreen)) - return FALSE; - /* Wrap pointer motion to flip touch screen around */ pI830->PointerMoved = pScrn->PointerMoved; pScrn->PointerMoved = I830PointerMoved; |