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