diff options
author | Remi Cardona <remi@gentoo.org> | 2009-05-05 07:44:14 +0000 |
---|---|---|
committer | Remi Cardona <remi@gentoo.org> | 2009-05-05 07:44:14 +0000 |
commit | 8a6ba06562f0ec250190093442b7e5fd86afde5f (patch) | |
tree | 86b6384f01fa486179b5caae8d947e522d7bf3be /x11-drivers | |
parent | repoman warnings (diff) | |
download | historical-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')
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)" +} |