x11-drivers/xf86-video-intel: new 2.10.0 ebuild from the overlay, fixes bugs #299907...
authorRemi Cardona <remi@gentoo.org>
Sun, 14 Mar 2010 22:37:49 +0000 (22:37 +0000)
committerRemi Cardona <remi@gentoo.org>
Sun, 14 Mar 2010 22:37:49 +0000 (22:37 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux i686

x11-drivers/xf86-video-intel/ChangeLog
x11-drivers/xf86-video-intel/Manifest
x11-drivers/xf86-video-intel/files/2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.patch [new file with mode: 0644]
x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0-r1.ebuild [new file with mode: 0644]
x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0.ebuild [deleted file]

index 9871779c4819467c147d05a1f832c13a9051ddb0..c0444ab1d284c4de3b900845453a199a8e8b9ac5 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for x11-drivers/xf86-video-intel
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/ChangeLog,v 1.48 2010/03/14 22:33:54 remi Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/ChangeLog,v 1.49 2010/03/14 22:37:49 remi Exp $
+
+*xf86-video-intel-2.10.0-r1 (14 Mar 2010)
+
+  14 Mar 2010; Rémi Cardona <remi@gentoo.org>
+  +files/2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.pa
+  tch, -xf86-video-intel-2.10.0.ebuild, +xf86-video-intel-2.10.0-r1.ebuild:
+  new 2.10.0 ebuild from the overlay, fixes bugs #299907, #308501 and
+  #309067
 
   14 Mar 2010; Rémi Cardona <remi@gentoo.org>
   -files/2.6.3-0001-clean-up-man-page-generation-and-remove-all-traces-o.pat
index 3ab3103c4c9b80391b8b396f29ca4ae0a90c8377..e75460564a40154120984b80571b2dad9ad54233 100644 (file)
@@ -1,9 +1,10 @@
+AUX 2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.patch 3943 RMD160 edfc2294341ff7c314e87e82ec95ceff920585ca SHA1 b1c9bcfe6b48a0f7426fbdb3c862a121f81a58e7 SHA256 53694b0c147834067b90be1508e96f67d290de595516361c98af069ae6cd9113
 AUX i810.xinf 1442 RMD160 38dff5ef3b6548c9fdea8f6df2b607eee8f670f2 SHA1 cf0b700f6fa0734ea56ff9a167098649d8e3767e SHA256 c690ba8705e21394dcb927f4a5499c7dbdba492042d7d54eb3c21daf5d326347
 DIST xf86-video-intel-2.10.0.tar.bz2 885299 RMD160 e37d47758231d61d99fa65873884727b44623c33 SHA1 1683eddf89ed88f109cb2fe46284e3f8f304a0d9 SHA256 e46dd691dc93db7cd6f5f22b84fea7e9f4bfd34f28026cfd680993b3ccfc48ab
 DIST xf86-video-intel-2.8.1.tar.bz2 748928 RMD160 9416290dcbc7631f165a3378bf7aa189a1dea880 SHA1 76ae4c8fbd14a7a16e3f8dc2f2588947635db2bc SHA256 c6778fc7e43c701d5829514329ee70f5dc539ff8f5b3c79587577b617a535c81
 DIST xf86-video-intel-2.9.1.tar.bz2 789001 RMD160 2ccac37af91ec10973c9dc22adc9f172a8ac057a SHA1 ca5887df67ec46f27eeeaf8158048d6500333ccf SHA256 95347c88854c2b41c07ab3bcdfadd1b8d27fb181a20520f185892877eb8d9d76
-EBUILD xf86-video-intel-2.10.0.ebuild 799 RMD160 c598ff8c59c256be892eeb863d44358223341138 SHA1 7dd040f731599b2c7a3d14a34eca51827b94fb6b SHA256 d5658bc56688a44a7987887b4672f9097d3df18dded2a70ee60d7ea4e750f64a
+EBUILD xf86-video-intel-2.10.0-r1.ebuild 1452 RMD160 ac9bf467bbd27651fe149c9b8e03dd1c411079b5 SHA1 19491b424dd9924478034a9e4308ef0cfd5598d6 SHA256 ca916360e326b9a7f8d2aefaa66c8ff441bb36907db1e54de5ebb1a104c5ba61
 EBUILD xf86-video-intel-2.8.1.ebuild 810 RMD160 f516c452a6b13354529fa47a93fe3bfabb77e4a0 SHA1 a5764d81c92ed60cedce493dc5a1770d156e0779 SHA256 e022006015034d3c2481a670df34668ae48a82fe12d5c6476e72aa21ede0453f
 EBUILD xf86-video-intel-2.9.1.ebuild 791 RMD160 ee50e0d9a6f45bf9799e9f55ecece68a8df79255 SHA1 fc5d1759327e852030a9bae8d1b16bc8fe5f4167 SHA256 f8774f0096595f4d43059e0b0d196409d0b756697a2396842616aa44cea06b10
-MISC ChangeLog 38493 RMD160 67dee32873d1ee3e97be34addcda9336398bc363 SHA1 c108250a3f3b35cd7b5244a16037aa2696ffb25d SHA256 9982339a894668cd6039ee05df04c9b1c2ab8f0e608efc03304a20426a0d8d48
+MISC ChangeLog 38817 RMD160 7eaa2d31516ff00f16005bf165fbd4fd5e1c7d94 SHA1 71844a73e65f15b3fc75bca7a203d6f07283ab5e SHA256 11caf9dee69aed0aabeb4bc7adc9e82a66795593ef712b1f9aa8f4247fd06a18
 MISC metadata.xml 157 RMD160 bfca46b367901674b4ec5419c063ae27fb446b0a SHA1 4fe7fb7398abd34822cec8be77f8aaf86e28a1a3 SHA256 bc6a4a3d5e32f9329039b242036828256c9f2c33862bc1d606d4ac8427032fdc
diff --git a/x11-drivers/xf86-video-intel/files/2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.patch b/x11-drivers/xf86-video-intel/files/2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.patch
new file mode 100644 (file)
index 0000000..27f6fd7
--- /dev/null
@@ -0,0 +1,140 @@
+From 6fd45abb31807dea0b9ebe708d840b1369353a8c Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon, 25 Jan 2010 15:15:04 +0000
+Subject: [PATCH 1/1] Extract pixel value for all formats to avoid hitting fallbacks.
+
+On failing to extract the pixel value for an alpha-only solid we
+actually triggered a fallback. Since this path is commonly hitting
+whilst fading in images, for example cairo_paint_with_alpha(), the
+fallback was detected during the Moblin boot sequence where it was
+adding a second to the overall boot time.
+
+See
+  fallback intel: Moblin startup is hitting a composite fallback, costing
+                  a ton of performance
+  https://bugs.freedesktop.org/show_bug.cgi?id=26189
+
+Based on the initial patch by Arjan van de Van.
+
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+(cherry picked from commit 197cb08a2d54cabbfe97454d7db85cfe1f5f27ba)
+---
+ uxa/uxa-render.c |   64 ++++++++++++++++++++++++++++++++---------------------
+ 1 files changed, 39 insertions(+), 25 deletions(-)
+
+diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
+index 525f75b..52ebb62 100644
+--- a/uxa/uxa-render.c
++++ b/uxa/uxa-render.c
+@@ -138,11 +138,6 @@ uxa_get_pixel_from_rgba(CARD32 * pixel,
+       int rbits, bbits, gbits, abits;
+       int rshift, bshift, gshift, ashift;
+ 
+-      *pixel = 0;
+-
+-      if (!PICT_FORMAT_COLOR(format))
+-              return FALSE;
+-
+       rbits = PICT_FORMAT_R(format);
+       gbits = PICT_FORMAT_G(format);
+       bbits = PICT_FORMAT_B(format);
+@@ -150,6 +145,14 @@ uxa_get_pixel_from_rgba(CARD32 * pixel,
+       if (abits == 0)
+           abits = PICT_FORMAT_BPP(format) - (rbits+gbits+bbits);
+ 
++      if (PICT_FORMAT_TYPE(format) == PICT_TYPE_A) {
++              *pixel = alpha >> (16 - abits);
++              return TRUE;
++      }
++
++      if (!PICT_FORMAT_COLOR(format))
++              return FALSE;
++
+       if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) {
+               bshift = 0;
+               gshift = bbits;
+@@ -162,6 +165,7 @@ uxa_get_pixel_from_rgba(CARD32 * pixel,
+               ashift = bshift + bbits;
+       }
+ 
++      *pixel = 0;
+       *pixel |= (blue >> (16 - bbits)) << bshift;
+       *pixel |= (red >> (16 - rbits)) << rshift;
+       *pixel |= (green >> (16 - gbits)) << gshift;
+@@ -179,43 +183,53 @@ uxa_get_rgba_from_pixel(CARD32 pixel,
+       int rbits, bbits, gbits, abits;
+       int rshift, bshift, gshift, ashift;
+ 
+-      if (!PICT_FORMAT_COLOR(format))
+-              return FALSE;
+-
+       rbits = PICT_FORMAT_R(format);
+       gbits = PICT_FORMAT_G(format);
+       bbits = PICT_FORMAT_B(format);
+       abits = PICT_FORMAT_A(format);
+ 
+-      if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) {
++      if (PICT_FORMAT_TYPE(format) == PICT_TYPE_A) {
++              rshift = gshift = bshift = ashift = 0;
++        } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) {
+               bshift = 0;
+               gshift = bbits;
+               rshift = gshift + gbits;
+               ashift = rshift + rbits;
+-      } else {                /* PICT_TYPE_ABGR */
++        } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ABGR) {
+               rshift = 0;
+               gshift = rbits;
+               bshift = gshift + gbits;
+               ashift = bshift + bbits;
++      } else {
++              return FALSE;
+       }
+ 
+-      *red = ((pixel >> rshift) & ((1 << rbits) - 1)) << (16 - rbits);
+-      while (rbits < 16) {
+-              *red |= *red >> rbits;
+-              rbits <<= 1;
+-      }
++      if (rbits) {
++              *red = ((pixel >> rshift) & ((1 << rbits) - 1)) << (16 - rbits);
++              while (rbits < 16) {
++                      *red |= *red >> rbits;
++                      rbits <<= 1;
++              }
++      } else
++              *red = 0;
+ 
+-      *green = ((pixel >> gshift) & ((1 << gbits) - 1)) << (16 - gbits);
+-      while (gbits < 16) {
+-              *green |= *green >> gbits;
+-              gbits <<= 1;
+-      }
++      if (gbits) {
++              *green = ((pixel >> gshift) & ((1 << gbits) - 1)) << (16 - gbits);
++              while (gbits < 16) {
++                      *green |= *green >> gbits;
++                      gbits <<= 1;
++              }
++      } else
++              *green = 0;
+ 
+-      *blue = ((pixel >> bshift) & ((1 << bbits) - 1)) << (16 - bbits);
+-      while (bbits < 16) {
+-              *blue |= *blue >> bbits;
+-              bbits <<= 1;
+-      }
++      if (bbits) {
++              *blue = ((pixel >> bshift) & ((1 << bbits) - 1)) << (16 - bbits);
++              while (bbits < 16) {
++                      *blue |= *blue >> bbits;
++                      bbits <<= 1;
++              }
++      } else
++              *blue = 0;
+ 
+       if (abits) {
+               *alpha =
+-- 
+1.7.0.2
+
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0-r1.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0-r1.ebuild
new file mode 100644 (file)
index 0000000..0bc7c5b
--- /dev/null
@@ -0,0 +1,53 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0-r1.ebuild,v 1.1 2010/03/14 22:37:49 remi Exp $
+
+EAPI=3
+
+inherit linux-info xorg-2
+
+DESCRIPTION="X.Org driver for Intel cards"
+
+KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd"
+IUSE="dri"
+
+RDEPEND=">=x11-base/xorg-server-1.6
+       >=x11-libs/libdrm-2.4.16
+       x11-libs/libpciaccess
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXvMC
+       >=x11-libs/libxcb-1.5"
+DEPEND="${RDEPEND}
+       >=x11-proto/dri2proto-1.99.3
+       x11-proto/fontsproto
+       x11-proto/randrproto
+       x11-proto/renderproto
+       x11-proto/xextproto
+       x11-proto/xproto
+       dri? ( x11-proto/xf86driproto
+              x11-proto/glproto )"
+
+PATCHES=(
+"${FILESDIR}/2.10.0-0001-Extract-pixel-value-for-all-formats-to-avoid-hitting.patch"
+)
+
+pkg_setup() {
+       xorg-2_pkg_setup
+       CONFIGURE_OPTIONS="$(use_enable dri) --enable-xvmc"
+}
+
+pkg_postinst() {
+       if linux_config_exists \
+               && ! linux_chkconfig_present CONFIG_DRM_I915_KMS; then
+               echo
+               ewarn "This driver requires KMS support in your kernel"
+               ewarn "  Device Drivers --->"
+               ewarn "    Graphics support --->"
+               ewarn "      Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->"
+               ewarn "      <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->"
+               ewarn "              i915 driver"
+               ewarn "      [*]       Enable modesetting on intel by default"
+               echo
+       fi
+}
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0.ebuild
deleted file mode 100644 (file)
index a99ba02..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/xf86-video-intel-2.10.0.ebuild,v 1.1 2010/01/07 00:10:51 remi Exp $
-
-EAPI=2
-inherit x-modular
-
-DESCRIPTION="X.Org driver for Intel cards"
-
-KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd"
-IUSE="dri"
-
-RDEPEND=">=x11-base/xorg-server-1.6
-       >=x11-libs/libdrm-2.4.16
-       x11-libs/libpciaccess
-       x11-libs/libXext
-       x11-libs/libXfixes
-       x11-libs/libXvMC"
-DEPEND="${RDEPEND}
-       >=x11-proto/dri2proto-1.99.3
-       x11-proto/fontsproto
-       x11-proto/randrproto
-       x11-proto/renderproto
-       x11-proto/xineramaproto
-       x11-proto/xextproto
-       x11-proto/xproto
-       dri? ( x11-proto/xf86driproto
-              x11-proto/glproto )"
-
-pkg_setup() {
-       CONFIGURE_OPTIONS="$(use_enable dri)"
-}