diff options
Diffstat (limited to 'x11-drivers/xf86-video-i810')
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 +} |