summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Cardona <remi@gentoo.org>2008-05-22 12:19:29 +0000
committerRémi Cardona <remi@gentoo.org>2008-05-22 12:19:29 +0000
commit0ef8a48f758f378b013277744c1ab04e3d40d70f (patch)
treee96b9e426ad45df5458ec187f768a06c0bc0cbf8
parentversion bump (diff)
downloadgentoo-2-0ef8a48f758f378b013277744c1ab04e3d40d70f.tar.gz
gentoo-2-0ef8a48f758f378b013277744c1ab04e3d40d70f.tar.bz2
gentoo-2-0ef8a48f758f378b013277744c1ab04e3d40d70f.zip
x11-drivers/xf86-video-i810: Add a few patches from the xf86-video-intel-2.3-branch, containing a fix for bug #222981
(Portage version: 2.1.5.2)
-rw-r--r--x11-drivers/xf86-video-i810/ChangeLog14
-rw-r--r--x11-drivers/xf86-video-i810/files/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch74
-rw-r--r--x11-drivers/xf86-video-i810/files/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch47
-rw-r--r--x11-drivers/xf86-video-i810/files/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch27
-rw-r--r--x11-drivers/xf86-video-i810/files/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch23
-rw-r--r--x11-drivers/xf86-video-i810/files/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch41
-rw-r--r--x11-drivers/xf86-video-i810/xf86-video-i810-2.3.1-r1.ebuild49
7 files changed, 274 insertions, 1 deletions
diff --git a/x11-drivers/xf86-video-i810/ChangeLog b/x11-drivers/xf86-video-i810/ChangeLog
index 35ea04325701..34e36986041b 100644
--- a/x11-drivers/xf86-video-i810/ChangeLog
+++ b/x11-drivers/xf86-video-i810/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for x11-drivers/xf86-video-i810
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-i810/ChangeLog,v 1.91 2008/05/20 08:29:46 remi Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-i810/ChangeLog,v 1.92 2008/05/22 12:19:29 remi Exp $
+
+*xf86-video-i810-2.3.1-r1 (22 May 2008)
+
+ 22 May 2008; Rémi Cardona <remi@gentoo.org>
+ +files/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch,
+ +files/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch,
+ +files/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch,
+ +files/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch,
+ +files/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch,
+ +xf86-video-i810-2.3.1-r1.ebuild:
+ Add a few patches from the xf86-video-intel-2.3-branch, containing a fix
+ for bug #222981
20 May 2008; Rémi Cardona <remi@gentoo.org> xf86-video-i810-1.6.5.ebuild,
xf86-video-i810-2.2.1.ebuild:
diff --git a/x11-drivers/xf86-video-i810/files/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch b/x11-drivers/xf86-video-i810/files/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch
new file mode 100644
index 000000000000..3e1af7fd6af3
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/files/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch
@@ -0,0 +1,74 @@
+From 2aada39e1a2517c07c9ae87722341b6150f75b7d Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Sat, 12 Apr 2008 16:39:00 -0700
+Subject: [PATCH] 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) {
+--
+1.5.5.1
+
diff --git a/x11-drivers/xf86-video-i810/files/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch b/x11-drivers/xf86-video-i810/files/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch
new file mode 100644
index 000000000000..569fcfcae576
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/files/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch
@@ -0,0 +1,47 @@
+From 9bb3ac06ed3d1a3456217d478d556b0abf05b585 Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Sun, 13 Apr 2008 21:37:49 -0700
+Subject: [PATCH] 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;
+ }
+--
+1.5.5.1
+
diff --git a/x11-drivers/xf86-video-i810/files/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch b/x11-drivers/xf86-video-i810/files/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch
new file mode 100644
index 000000000000..5dc936b88e8e
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/files/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch
@@ -0,0 +1,27 @@
+From f419f56ec8715e980aeb673bf4afd7649580d53c Mon Sep 17 00:00:00 2001
+From: Jesse Barnes <jbarnes@nietzche.virtuousgeek.org>
+Date: Mon, 12 May 2008 10:58:24 -0700
+Subject: [PATCH] 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++;
+--
+1.5.5.1
+
diff --git a/x11-drivers/xf86-video-i810/files/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch b/x11-drivers/xf86-video-i810/files/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch
new file mode 100644
index 000000000000..3fc53fc04cad
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/files/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch
@@ -0,0 +1,23 @@
+From 730259ed6446f73d9aa0318688b0795641bea076 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
+Date: Wed, 14 May 2008 14:52:37 +0800
+Subject: [PATCH] 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])
+--
+1.5.5.1
+
diff --git a/x11-drivers/xf86-video-i810/files/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch b/x11-drivers/xf86-video-i810/files/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch
new file mode 100644
index 000000000000..b5f0ce02dea8
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/files/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch
@@ -0,0 +1,41 @@
+From 288ef6585150f2a58d4c1723efae1a5a7a41772a Mon Sep 17 00:00:00 2001
+From: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Tue, 20 May 2008 08:54:01 +0800
+Subject: [PATCH] Revert "Add FIFO watermark regs to register dumper"
+
+This reverts commit 0c00a638ef57aa9d6a3047176b0bfad733f781f0.
+
+Those FIFO watermark regs are 945-ish, and cause problem
+on G35.
+(cherry picked from commit 740a73dad1d9a9b0ebf1cc7d6f2a056abad57aaf)
+
+diff --git a/src/i810_reg.h b/src/i810_reg.h
+index cc4620a..834b948 100644
+--- a/src/i810_reg.h
++++ b/src/i810_reg.h
+@@ -497,7 +497,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+ #define FWATER_BLC 0x20d8
+ #define FWATER_BLC2 0x20dc
+-#define FWATER_BLC_SELF 0x20e0
+ #define MM_BURST_LENGTH 0x00700000
+ #define MM_FIFO_WATERMARK 0x0001F000
+ #define LM_BURST_LENGTH 0x00000700
+diff --git a/src/i830_debug.c b/src/i830_debug.c
+index 0eba57f..15b02ce 100644
+--- a/src/i830_debug.c
++++ b/src/i830_debug.c
+@@ -546,10 +546,6 @@ static struct i830SnapshotRec {
+ DEFINEREG(FBC_FENCE_OFF),
+ DEFINEREG(FBC_MOD_NUM),
+
+- DEFINEREG(FWATER_BLC),
+- DEFINEREG(FWATER_BLC2),
+- DEFINEREG(FWATER_BLC_SELF),
+-
+ DEFINEREG2(FPA0, i830_debug_fp),
+ DEFINEREG2(FPA1, i830_debug_fp),
+ DEFINEREG2(DPLL_A, i830_debug_dpll),
+--
+1.5.5.1
+
diff --git a/x11-drivers/xf86-video-i810/xf86-video-i810-2.3.1-r1.ebuild b/x11-drivers/xf86-video-i810/xf86-video-i810-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..b0ebfcb0a908
--- /dev/null
+++ b/x11-drivers/xf86-video-i810/xf86-video-i810-2.3.1-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-i810/xf86-video-i810-2.3.1-r1.ebuild,v 1.1 2008/05/22 12:19:29 remi Exp $
+
+# Must be before x-modular eclass is inherited
+# Enable snapshot to get the man page in the right place
+# This should be fixed with a XDP patch later
+SNAPSHOT="yes"
+XDPVER=-1
+
+inherit x-modular
+
+# This really needs a pkgmove...
+SRC_URI="http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-${PV}.tar.bz2"
+
+S="${WORKDIR}/xf86-video-intel-${PV}"
+
+DESCRIPTION="X.Org driver for Intel cards"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~sh ~x86 ~x86-fbsd"
+IUSE="dri"
+
+RDEPEND=">=x11-base/xorg-server-1.2
+ x11-libs/libXvMC"
+DEPEND="${RDEPEND}
+ x11-proto/fontsproto
+ x11-proto/randrproto
+ x11-proto/renderproto
+ x11-proto/xextproto
+ x11-proto/xineramaproto
+ x11-proto/xproto
+ dri? ( x11-proto/xf86driproto
+ x11-proto/glproto
+ >=x11-libs/libdrm-2.2
+ x11-libs/libX11 )"
+
+CONFIGURE_OPTIONS="$(use_enable dri)"
+PATCHES=(
+"${FILESDIR}/2.3.1/0001-Skip-copying-on-FOURCC_XVMC-surfaces.patch"
+"${FILESDIR}/2.3.1/0002-Only-use-FOURCC_XVMC-when-INTEL_XVMC-is-defined.patch"
+"${FILESDIR}/2.3.1/0003-Panel-fitting-fix-letterbox-modes.patch"
+"${FILESDIR}/2.3.1/0004-Add-glproto-to-DRI-dependencies.patch"
+"${FILESDIR}/2.3.1/0005-Revert-Add-FIFO-watermark-regs-to-register-dumper.patch")
+
+pkg_setup() {
+ if use dri && ! built_with_use x11-base/xorg-server dri; then
+ die "Build x11-base/xorg-server with USE=dri."
+ fi
+}