xf86-video-intel: Branch 'xf86-video-intel-2.3-branch' - 4 commits - configure.ac src/i830_lvds.c src/i830_video.c

Zhenyu Wang zhen at kemper.freedesktop.org
Wed May 14 00:06:41 PDT 2008


 configure.ac     |    2 +-
 src/i830_lvds.c  |    2 +-
 src/i830_video.c |   20 +++++++++++++++++---
 3 files changed, 19 insertions(+), 5 deletions(-)

New commits:
commit 730259ed6446f73d9aa0318688b0795641bea076
Author: Rémi Cardona <remi at gentoo.org>
Date:   Wed May 14 14:52:37 2008 +0800

    Add glproto to DRI dependencies
    (cherry picked from commit e9532f3abf1e0b62b2569d4aae60a5a63add571f)

diff --git a/configure.ac b/configure.ac
index f8a3824..94562dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -197,7 +197,7 @@ fi
 
 AM_CONDITIONAL(DRI, test x$DRI = xyes)
 if test "$DRI" = yes; then
-        PKG_CHECK_MODULES(DRI, [libdrm xf86driproto])
+        PKG_CHECK_MODULES(DRI, [libdrm xf86driproto glproto])
         AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
         AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
 	PKG_CHECK_MODULES(DRI_MM, [libdrm >= 2.3.1],[DRI_MM=yes], [DRI_MM=no])
commit f419f56ec8715e980aeb673bf4afd7649580d53c
Author: Jesse Barnes <jbarnes at nietzche.virtuousgeek.org>
Date:   Mon May 12 10:58:24 2008 -0700

    Panel fitting:  fix letterbox modes
    
    In full_aspect mode, we try to preserve the aspect ratio by adding
    either top & bottom or left & right borders.  In the letterbox case (top
    & bottom borders) we were miscalculating the top border which led to
    programming a bad mode.  Fix the calculation and bug #15559.
    (cherry picked from commit 5103e5a39a4869a714b8a59da8bf51ecc8c65e4f)

diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index 48402df..899c6cb 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -671,7 +671,7 @@ i830_lvds_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
 
 		/* Letterbox will have top/bottom borders */
 		top_border = (dev_priv->panel_fixed_mode->VDisplay -
-			      mode->VDisplay) / 2;
+			      scaled_height) / 2;
 		bottom_border = top_border;
 		if (mode->VDisplay & 1)
 		    bottom_border++;
commit 9bb3ac06ed3d1a3456217d478d556b0abf05b585
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Apr 13 21:37:49 2008 -0700

    Only use FOURCC_XVMC when INTEL_XVMC is defined
    
    The XVMC code uses a magic FOURCC code to signal frame updates, but that
    code is only defined when the XVMC code is used.
    (cherry picked from commit 18ef4158e5574bfc6621b268821532f13e261d13)

diff --git a/src/i830_video.c b/src/i830_video.c
index 5d6c209..91e0e00 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -2119,7 +2119,9 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc,
     switch (id) {
     case FOURCC_YV12:
     case FOURCC_I420:
+#ifdef INTEL_XVMC
     case FOURCC_XVMC:
+#endif
 	OVERLAY_DEBUG("YUV420\n");
 #if 0
 	/* set UV vertical phase to -0.25 */
@@ -2376,7 +2378,9 @@ I830PutImage(ScrnInfoPtr pScrn,
     switch (destId) {
     case FOURCC_YV12:
     case FOURCC_I420:
+#ifdef INTEL_XVMC
     case FOURCC_XVMC:
+#endif
 	if (pPriv->rotation & (RR_Rotate_90 | RR_Rotate_270)) {
 	    dstPitch = ((height / 2) + pitchAlignMask) & ~pitchAlignMask;
 	    size = dstPitch * width * 3;
@@ -2489,8 +2493,10 @@ I830PutImage(ScrnInfoPtr pScrn,
 	I830CopyPackedData(pScrn, pPriv, buf, srcPitch, dstPitch, top, left,
 			   nlines, npixels);
 	break;
+#ifdef INTEL_XVMC
     case FOURCC_XVMC:
 	break;
+#endif
     default:
 	break;
     }
commit 2aada39e1a2517c07c9ae87722341b6150f75b7d
Author: Keith Packard <keithp at keithp.com>
Date:   Sat Apr 12 16:39:00 2008 -0700

    Skip copying on FOURCC_XVMC surfaces
    (cherry picked from commit 6366e4de540c4713cbc8402c89516464bbdc35b9)

diff --git a/src/i830_video.c b/src/i830_video.c
index 67fe291..5d6c209 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -2119,6 +2119,7 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc,
     switch (id) {
     case FOURCC_YV12:
     case FOURCC_I420:
+    case FOURCC_XVMC:
 	OVERLAY_DEBUG("YUV420\n");
 #if 0
 	/* set UV vertical phase to -0.25 */
@@ -2133,7 +2134,6 @@ i830_display_video(ScrnInfoPtr pScrn, xf86CrtcPtr crtc,
 	break;
     case FOURCC_UYVY:
     case FOURCC_YUY2:
-    default:
 	OVERLAY_DEBUG("YUV422\n");
 	overlay->OSTRIDE = dstPitch;
 	OCMD &= ~SOURCE_FORMAT;
@@ -2376,6 +2376,7 @@ I830PutImage(ScrnInfoPtr pScrn,
     switch (destId) {
     case FOURCC_YV12:
     case FOURCC_I420:
+    case FOURCC_XVMC:
 	if (pPriv->rotation & (RR_Rotate_90 | RR_Rotate_270)) {
 	    dstPitch = ((height / 2) + pitchAlignMask) & ~pitchAlignMask;
 	    size = dstPitch * width * 3;
@@ -2386,7 +2387,7 @@ I830PutImage(ScrnInfoPtr pScrn,
 	break;
     case FOURCC_UYVY:
     case FOURCC_YUY2:
-    default:
+
 	if (pPriv->rotation & (RR_Rotate_90 | RR_Rotate_270)) {
 	    dstPitch = ((height << 1) + pitchAlignMask) & ~pitchAlignMask;
 	    size = dstPitch * width;
@@ -2395,6 +2396,10 @@ I830PutImage(ScrnInfoPtr pScrn,
 	    size = dstPitch * height;
 	}
 	break;
+    default:  
+	dstPitch = 0;
+	size = 0;
+	break;
     }
 #if 0
     ErrorF("srcPitch: %d, dstPitch: %d, size: %d\n", srcPitch, dstPitch, size);
@@ -2480,11 +2485,14 @@ I830PutImage(ScrnInfoPtr pScrn,
 	break;
     case FOURCC_UYVY:
     case FOURCC_YUY2:
-    default:
 	nlines = ((y2 + 0xffff) >> 16) - top;
 	I830CopyPackedData(pScrn, pPriv, buf, srcPitch, dstPitch, top, left,
 			   nlines, npixels);
 	break;
+    case FOURCC_XVMC:
+	break;
+    default:
+	break;
     }
 
     if (pDraw->type == DRAWABLE_WINDOW) {


More information about the xorg-commit mailing list