summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Cardona <remi@gentoo.org>2009-05-05 07:44:14 +0000
committerRemi Cardona <remi@gentoo.org>2009-05-05 07:44:14 +0000
commit8a6ba06562f0ec250190093442b7e5fd86afde5f (patch)
tree86b6384f01fa486179b5caae8d947e522d7bf3be /x11-drivers
parentrepoman warnings (diff)
downloadhistorical-8a6ba06562f0ec250190093442b7e5fd86afde5f.tar.gz
historical-8a6ba06562f0ec250190093442b7e5fd86afde5f.tar.bz2
historical-8a6ba06562f0ec250190093442b7e5fd86afde5f.zip
x11-drivers/xf86-video-intel: bump to 2.7.0 with a patch from the 2.7 branch
Package-Manager: portage-2.2_rc32/cvs/Linux i686
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/xf86-video-intel/ChangeLog9
-rw-r--r--x11-drivers/xf86-video-intel/Manifest5
-rw-r--r--x11-drivers/xf86-video-intel/files/2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch229
-rw-r--r--x11-drivers/xf86-video-intel/xf86-video-intel-2.7.0.ebuild36
4 files changed, 277 insertions, 2 deletions
diff --git a/x11-drivers/xf86-video-intel/ChangeLog b/x11-drivers/xf86-video-intel/ChangeLog
index 5baf063724a7..fcd4ee13a5a1 100644
--- a/x11-drivers/xf86-video-intel/ChangeLog
+++ b/x11-drivers/xf86-video-intel/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-drivers/xf86-video-intel
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/ChangeLog,v 1.22 2009/05/04 16:50:13 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-intel/ChangeLog,v 1.23 2009/05/05 07:44:14 remi Exp $
+
+*xf86-video-intel-2.7.0 (05 May 2009)
+
+ 05 May 2009; Rémi Cardona <remi@gentoo.org>
+ +files/2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch,
+ +xf86-video-intel-2.7.0.ebuild:
+ bump to 2.7.0 with a patch from the 2.7 branch
04 May 2009; Samuli Suominen <ssuominen@gentoo.org>
xf86-video-intel-1.6.5.ebuild, xf86-video-intel-1.7.4.ebuild,
diff --git a/x11-drivers/xf86-video-intel/Manifest b/x11-drivers/xf86-video-intel/Manifest
index 8f10f50ae480..754b14ac9aa5 100644
--- a/x11-drivers/xf86-video-intel/Manifest
+++ b/x11-drivers/xf86-video-intel/Manifest
@@ -8,6 +8,7 @@ AUX 2.5.1-0002-include-X11-Xmd.h-to-define-CARD16-needed-by-edid.patch 820 RMD16
AUX 2.6.1-0001-clean-up-man-page-generation-and-remove-all-traces-o.patch 3382 RMD160 c8526c1814d59f4114e6c9cc6fe1e7c32598fd46 SHA1 e566804c2677c7f8fae5d97f9a883f162cd3c649 SHA256 78e20343a166d11f2c3bb5be0456bbd74758bc9a98e9aeefce75e0918923347c
AUX 2.6.3-0001-clean-up-man-page-generation-and-remove-all-traces-o.patch 3382 RMD160 c8526c1814d59f4114e6c9cc6fe1e7c32598fd46 SHA1 e566804c2677c7f8fae5d97f9a883f162cd3c649 SHA256 78e20343a166d11f2c3bb5be0456bbd74758bc9a98e9aeefce75e0918923347c
AUX 2.6.3-0002-Fix-Xv-crash-with-overlay-video.patch 809 RMD160 6f6d7f25efddeb2db9d35e2ea92d408a54af5a56 SHA1 2208274bb58f76503cf2d10d236e6591c48681cf SHA256 4236e01b101a69ca27dfc9c06c367d2b0a381afa343dc3a2b65504559b24fc3c
+AUX 2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch 7360 RMD160 4220ba1238738098dadcf27ed70dfe97e9273188 SHA1 99427c926e22e9a8f6b2a4bf70ca7c6e94f0f1c4 SHA256 0771442935e5f64f7f45bcad6ef1984082492396e499fbe57c22dc2e99e4c475
AUX i810.xinf 1442 RMD160 38dff5ef3b6548c9fdea8f6df2b607eee8f670f2 SHA1 cf0b700f6fa0734ea56ff9a167098649d8e3767e SHA256 c690ba8705e21394dcb927f4a5499c7dbdba492042d7d54eb3c21daf5d326347
DIST xf86-video-i810-1.6.5.tar.bz2 439503 RMD160 1a55fdfe89f855dd7bf1e16619c89da42383eef6 SHA1 7d9cf4fa18ec6dd7eefcb1589675c7bcffa384d0 SHA256 30d0cd555d8b8b5bb53d93eaae1ad2aecb5c94a760e2346d60b6e194c254e40f
DIST xf86-video-i810-1.7.4.tar.bz2 461513 RMD160 cbb8ebd7e36d07513e00c232cbb1e0b12a0de3b2 SHA1 3c2837283ec3e9d1aeec430bb2460178aec94a90 SHA256 ff8cd89c9ba39ce68dd6ac4dcb222280835d007a20b419819749298e8ec74259
@@ -18,6 +19,7 @@ DIST xf86-video-intel-2.4.3.tar.bz2 661105 RMD160 0d4fe4b7d517d1740c80fe61a8fc44
DIST xf86-video-intel-2.5.1.tar.bz2 716182 RMD160 f1d4b438931b564233dc4f76e3cb7fa1b9801aa2 SHA1 58f6f005a698e63cb34ba1b011b0ddce0b0b3862 SHA256 c203b728f1203d6d52b2963cdc6bfd87fb83eb12ab786c8122ea26c7984ac313
DIST xf86-video-intel-2.6.1.tar.bz2 789536 RMD160 642c0e0d296eaec18806059e60fdce9c448ce466 SHA1 c4d3fff72771c71eab152660be1fb33af679c06e SHA256 31a3ab9ce33542f1d6431eac992344d086345ccc8cd43a184c93c9d1b4a4086c
DIST xf86-video-intel-2.6.3.tar.bz2 790275 RMD160 7b31866c2fd42fbb2d46efb137bf968d80221fb1 SHA1 96fe7e8b804ab8833b1d462f99c08be29bb9e283 SHA256 b35a142aeba034ad06b8d9b477c243f82ce9f82ad65a0ee4408630f228e90258
+DIST xf86-video-intel-2.7.0.tar.bz2 781254 RMD160 3e1bc024fb7a34c4efd817374b069c5b2e0288eb SHA1 6d55b11ccf92ddc0763329f6e503e1a55b9beacc SHA256 16d0f15a504916b68f94f2606dd5f401a4709c8e092195a0365b03113c684d94
EBUILD xf86-video-intel-1.6.5.ebuild 867 RMD160 2089ced1b0cf1c00f89c408f141fd72a87f6d7df SHA1 e73e0470c8515e47151c7d45c7fd7c7da4e6c1c3 SHA256 e1c203961d2a2c2ee4de2d75bf86f2ec0df823fc959f3148394b4499cdecb118
EBUILD xf86-video-intel-1.7.4.ebuild 823 RMD160 e65c3950cf5c2e66d1f5294540ab91b4c5f229a6 SHA1 4ff7f0a47ba005ce1e42b576d88a4b69956939d6 SHA256 7661bf548bef5d747b6518a8373847ad778e2b0003dbddb68b815980122a6080
EBUILD xf86-video-intel-2.1.1.ebuild 781 RMD160 e88ce951e769df920bc90c9517fe8b148f94c208 SHA1 f57c69a2731ea6d255400edc887b03105f1a4406 SHA256 6df7b555574db73c0dfcec275fcbebd62ed44fb727dd5914289a21ad4bd949a2
@@ -28,5 +30,6 @@ EBUILD xf86-video-intel-2.5.1-r1.ebuild 917 RMD160 011db76a0fbeb6a2df73cf4a77d6d
EBUILD xf86-video-intel-2.6.1.ebuild 909 RMD160 3d96ce737e513866f36fdccfa9a355a4aa98f890 SHA1 bc5151ac3e56639b0616bbebb6e05ecc4f2c859f SHA256 f02434b81ca8b1cf313f2a683d17775a7a90d0fa9df9d74015ed543956deb030
EBUILD xf86-video-intel-2.6.3-r1.ebuild 972 RMD160 a33e6cbb3d14a837e54e2cb3c520ef34a0fd86fb SHA1 98273299cb4a32b87dbcf1105fbbc146115ac52b SHA256 9618a7f6a25aebc3e53ebccce0bdd87ce1c5e675875453ab190fcac84a3405ce
EBUILD xf86-video-intel-2.6.3.ebuild 909 RMD160 43ec6bf4083d6ccb94e7dfe92de5ffe0a3f5a8c8 SHA1 b43e01e5d8b7c8f5c092684ec1f2d3e293515fc6 SHA256 7becd91c44522b2685814c02d359f7f77785ce350ae3748bfbd72bb2f8e6a16d
-MISC ChangeLog 32027 RMD160 78fc2007dba1f0bc1e85ff0ebefd964b7f4787c6 SHA1 4d36f56ab786cdb9583f0858103cc9ecd8ef9685 SHA256 21f84bf147a6a6b38e5bd04488ca27d71d13939962fc179ea4c3314db2d0ed6e
+EBUILD xf86-video-intel-2.7.0.ebuild 892 RMD160 92a767f25a233a83fb563dffbbda443e78698dc3 SHA1 e605cf479abd5c7f4aa33b0bf095e63721feb567 SHA256 6cfa306bab08cb1bc9f860265264c0984d3a0ac1fb69c751c988f723c95cf03a
+MISC ChangeLog 32259 RMD160 b188e1316b3ce54d1f2a6b29fb6374f7ac73afad SHA1 5a49751a16158daa59fa6a3d4bdab154841bf5b1 SHA256 af87227c3eeb8ce1fcacdfb3875ff25c7082906cbecd3c413d9fff6cc86860ef
MISC metadata.xml 157 RMD160 bfca46b367901674b4ec5419c063ae27fb446b0a SHA1 4fe7fb7398abd34822cec8be77f8aaf86e28a1a3 SHA256 bc6a4a3d5e32f9329039b242036828256c9f2c33862bc1d606d4ac8427032fdc
diff --git a/x11-drivers/xf86-video-intel/files/2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch b/x11-drivers/xf86-video-intel/files/2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch
new file mode 100644
index 000000000000..61727fbfc758
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/files/2.7.0-0001-KMS-hook-up-output-properties-for-randr.patch
@@ -0,0 +1,229 @@
+From 296a986e5258e2fd13ec494071b7063bd639cd68 Mon Sep 17 00:00:00 2001
+From: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Mon, 23 Mar 2009 19:19:58 +0800
+Subject: [PATCH 1/1] KMS: hook up output properties for randr
+
+This gets output properties from kernel, then hook them up
+for randr. So we can control output properties through randr
+like in UMS.
+
+Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
+---
+ src/drmmode_display.c | 171 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 171 insertions(+), 0 deletions(-)
+
+diff --git a/src/drmmode_display.c b/src/drmmode_display.c
+index a276ff7..7b97a64 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -35,6 +35,7 @@
+ #include "i830.h"
+ #include "intel_bufmgr.h"
+ #include "xf86drmMode.h"
++#include "X11/Xatom.h"
+
+ typedef struct {
+ int fd;
+@@ -52,11 +53,20 @@ typedef struct {
+ } drmmode_crtc_private_rec, *drmmode_crtc_private_ptr;
+
+ typedef struct {
++ drmModePropertyPtr mode_prop;
++ uint64_t value;
++ int num_atoms; /* if range prop, num_atoms == 1; if enum prop, num_atoms == num_enums + 1 */
++ Atom *atoms;
++} drmmode_prop_rec, *drmmode_prop_ptr;
++
++typedef struct {
+ drmmode_ptr drmmode;
+ int output_id;
+ drmModeConnectorPtr mode_output;
+ drmModeEncoderPtr mode_encoder;
+ drmModePropertyBlobPtr edid_blob;
++ int num_props;
++ drmmode_prop_ptr props;
+ } drmmode_output_private_rec, *drmmode_output_private_ptr;
+
+ static void
+@@ -508,9 +518,15 @@ static void
+ drmmode_output_destroy(xf86OutputPtr output)
+ {
+ drmmode_output_private_ptr drmmode_output = output->driver_private;
++ int i;
+
+ if (drmmode_output->edid_blob)
+ drmModeFreePropertyBlob(drmmode_output->edid_blob);
++ for (i = 0; i < drmmode_output->num_props; i++) {
++ drmModeFreeProperty(drmmode_output->props[i].mode_prop);
++ xfree(drmmode_output->props[i].atoms);
++ }
++ xfree(drmmode_output->props);
+ drmModeFreeConnector(drmmode_output->mode_output);
+ xfree(drmmode_output);
+ output->driver_private = NULL;
+@@ -542,7 +558,162 @@ drmmode_output_dpms(xf86OutputPtr output, int mode)
+ }
+ }
+
++static Bool
++drmmode_property_ignore(drmModePropertyPtr prop)
++{
++ if (!prop)
++ return TRUE;
++ /* ignore blob prop */
++ if (prop->flags & DRM_MODE_PROP_BLOB)
++ return TRUE;
++ /* ignore standard property */
++ if (!strcmp(prop->name, "EDID") ||
++ !strcmp(prop->name, "DPMS"))
++ return TRUE;
++
++ return FALSE;
++}
++
++static void
++drmmode_output_create_resources(xf86OutputPtr output)
++{
++ drmmode_output_private_ptr drmmode_output = output->driver_private;
++ drmModeConnectorPtr mode_output = drmmode_output->mode_output;
++ drmmode_ptr drmmode = drmmode_output->drmmode;
++ drmModePropertyPtr drmmode_prop;
++ int i, j, err;
++
++ drmmode_output->props = xcalloc(mode_output->count_props, sizeof(drmmode_prop_rec));
++ if (!drmmode_output->props)
++ return;
++
++ drmmode_output->num_props = 0;
++ for (i = 0, j = 0; i < mode_output->count_props; i++) {
++ drmmode_prop = drmModeGetProperty(drmmode->fd, mode_output->props[i]);
++ if (drmmode_property_ignore(drmmode_prop)) {
++ drmModeFreeProperty(drmmode_prop);
++ continue;
++ }
++ drmmode_output->props[j].mode_prop = drmmode_prop;
++ drmmode_output->props[j].value = mode_output->prop_values[i];
++ drmmode_output->num_props++;
++ j++;
++ }
++
++ for (i = 0; i < drmmode_output->num_props; i++) {
++ drmmode_prop_ptr p = &drmmode_output->props[i];
++ drmmode_prop = p->mode_prop;
++
++ if (drmmode_prop->flags & DRM_MODE_PROP_RANGE) {
++ INT32 range[2];
++
++ p->num_atoms = 1;
++ p->atoms = xcalloc(p->num_atoms, sizeof(Atom));
++ if (!p->atoms)
++ continue;
++ p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE);
++ range[0] = drmmode_prop->values[0];
++ range[1] = drmmode_prop->values[1];
++ err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
++ FALSE, TRUE,
++ drmmode_prop->flags & DRM_MODE_PROP_IMMUTABLE ? TRUE : FALSE,
++ 2, range);
++ if (err != 0) {
++ xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
++ "RRConfigureOutputProperty error, %d\n", err);
++ }
++ err = RRChangeOutputProperty(output->randr_output, p->atoms[0],
++ XA_INTEGER, 32, PropModeReplace, 1, &p->value, FALSE, TRUE);
++ if (err != 0) {
++ xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
++ "RRChangeOutputProperty error, %d\n", err);
++ }
++ } else if (drmmode_prop->flags & DRM_MODE_PROP_ENUM) {
++ p->num_atoms = drmmode_prop->count_enums + 1;
++ p->atoms = xcalloc(p->num_atoms, sizeof(Atom));
++ if (!p->atoms)
++ continue;
++ p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE);
++ for (j = 1; j <= drmmode_prop->count_enums; j++) {
++ struct drm_mode_property_enum *e = &drmmode_prop->enums[j-1];
++ p->atoms[j] = MakeAtom(e->name, strlen(e->name), TRUE);
++ }
++ err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
++ FALSE, FALSE,
++ drmmode_prop->flags & DRM_MODE_PROP_IMMUTABLE ? TRUE : FALSE,
++ p->num_atoms - 1, (INT32 *)&p->atoms[1]);
++ if (err != 0) {
++ xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
++ "RRConfigureOutputProperty error, %d\n", err);
++ }
++ for (j = 0; j < drmmode_prop->count_enums; j++)
++ if (drmmode_prop->enums[j].value == p->value)
++ break;
++ /* there's always a matching value */
++ err = RRChangeOutputProperty(output->randr_output, p->atoms[0],
++ XA_ATOM, 32, PropModeReplace, 1, &p->atoms[j+1], FALSE, TRUE);
++ if (err != 0) {
++ xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
++ "RRChangeOutputProperty error, %d\n", err);
++ }
++ }
++ }
++}
++
++static Bool
++drmmode_output_set_property(xf86OutputPtr output, Atom property,
++ RRPropertyValuePtr value)
++{
++ drmmode_output_private_ptr drmmode_output = output->driver_private;
++ drmmode_ptr drmmode = drmmode_output->drmmode;
++ int i;
++
++ for (i = 0; i < drmmode_output->num_props; i++) {
++ drmmode_prop_ptr p = &drmmode_output->props[i];
++
++ if (p->atoms[0] != property)
++ continue;
++
++ if (p->mode_prop->flags & DRM_MODE_PROP_RANGE) {
++ uint32_t val;
++
++ if (value->type != XA_INTEGER || value->format != 32 ||
++ value->size != 1)
++ return FALSE;
++ val = *(uint32_t *)value->data;
++
++ drmModeConnectorSetProperty(drmmode->fd, drmmode_output->output_id,
++ p->mode_prop->prop_id, (uint64_t)val);
++ return TRUE;
++ } else if (p->mode_prop->flags & DRM_MODE_PROP_ENUM) {
++ Atom atom;
++ const char *name;
++ int j;
++
++ if (value->type != XA_ATOM || value->format != 32 || value->size != 1)
++ return FALSE;
++ memcpy(&atom, value->data, 4);
++ name = NameForAtom(atom);
++
++ /* search for matching name string, then set its value down */
++ for (j = 0; j < p->mode_prop->count_enums; j++) {
++ if (!strcmp(p->mode_prop->enums[j].name, name)) {
++ drmModeConnectorSetProperty(drmmode->fd, drmmode_output->output_id,
++ p->mode_prop->prop_id, p->mode_prop->enums[j].value);
++ return TRUE;
++ }
++ }
++ }
++ }
++ /* no property found? */
++ return FALSE;
++}
++
+ static const xf86OutputFuncsRec drmmode_output_funcs = {
++ .create_resources = drmmode_output_create_resources,
++#ifdef RANDR_12_INTERFACE
++ .set_property = drmmode_output_set_property,
++#endif
+ .dpms = drmmode_output_dpms,
+ #if 0
+
+--
+1.6.2.3
+
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.7.0.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.7.0.ebuild
new file mode 100644
index 000000000000..10d5e3a8a092
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/xf86-video-intel-2.7.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2009 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.7.0.ebuild,v 1.1 2009/05/05 07:44:14 remi Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for Intel cards"
+
+KEYWORDS="~amd64 ~ia64 ~x86 ~x86-fbsd"
+IUSE="dri"
+
+RDEPEND=">=x11-base/xorg-server-1.5
+ 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/glproto
+ x11-proto/xextproto
+ x11-proto/xproto
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2.4.5
+ x11-libs/libX11 )"
+
+PATCHES=(
+"${FILESDIR}/${PV}"-0001-KMS-hook-up-output-properties-for-randr.patch
+)
+
+pkg_setup() {
+ CONFIGURE_OPTIONS="$(use_enable dri)"
+}