summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Cardona <remi@gentoo.org>2009-04-30 11:53:47 +0000
committerRémi Cardona <remi@gentoo.org>2009-04-30 11:53:47 +0000
commit8dac77d509f4898d9822d9a5ddbe26f4bcdbd0d2 (patch)
tree016f462c6cbafd5beb2b1ed5b10c5024ace41174 /x11-libs
parentLots of small fixes thanks to Jason Wallace. Fixes #266930. (diff)
downloadgentoo-2-8dac77d509f4898d9822d9a5ddbe26f4bcdbd0d2.tar.gz
gentoo-2-8dac77d509f4898d9822d9a5ddbe26f4bcdbd0d2.tar.bz2
gentoo-2-8dac77d509f4898d9822d9a5ddbe26f4bcdbd0d2.zip
x11-libs/libdrm: bump to 2.4.9 with patches from master
(Portage version: 2.2_rc31/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/libdrm/ChangeLog13
-rw-r--r--x11-libs/libdrm/files/2.4.9-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patch26
-rw-r--r--x11-libs/libdrm/files/2.4.9-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch24
-rw-r--r--x11-libs/libdrm/files/2.4.9-0003-libdrm-mode-align-subpixel-results.patch26
-rw-r--r--x11-libs/libdrm/files/2.4.9-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch28
-rw-r--r--x11-libs/libdrm/libdrm-2.4.9.ebuild36
6 files changed, 152 insertions, 1 deletions
diff --git a/x11-libs/libdrm/ChangeLog b/x11-libs/libdrm/ChangeLog
index 04325bd9a9b3..c29fa3e57080 100644
--- a/x11-libs/libdrm/ChangeLog
+++ b/x11-libs/libdrm/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for x11-libs/libdrm
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/ChangeLog,v 1.73 2009/04/16 02:03:06 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/ChangeLog,v 1.74 2009/04/30 11:53:46 remi Exp $
+
+*libdrm-2.4.9 (30 Apr 2009)
+
+ 30 Apr 2009; Rémi Cardona <remi@gentoo.org>
+ +files/2.4.9-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patc
+ h,
+ +files/2.4.9-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch,
+ +files/2.4.9-0003-libdrm-mode-align-subpixel-results.patch,
+ +files/2.4.9-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch
+ , +libdrm-2.4.9.ebuild:
+ bump to 2.4.9 with patches from master
16 Apr 2009; Jeroen Roovers <jer@gentoo.org> libdrm-2.4.5.ebuild:
Stable for HPPA (bug #251832).
diff --git a/x11-libs/libdrm/files/2.4.9-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patch b/x11-libs/libdrm/files/2.4.9-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patch
new file mode 100644
index 000000000000..a667eaed25b8
--- /dev/null
+++ b/x11-libs/libdrm/files/2.4.9-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patch
@@ -0,0 +1,26 @@
+From 78e753d03314e3aa92af8ec601e9dbb869a938d5 Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <bskeggs@redhat.com>
+Date: Wed, 15 Apr 2009 12:44:21 +1000
+Subject: [PATCH 1/4] nouveau: store bo handle in public struct in bo_ref_handle
+
+---
+ libdrm/nouveau/nouveau_bo.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/libdrm/nouveau/nouveau_bo.c b/libdrm/nouveau/nouveau_bo.c
+index 023c6be..66466e3 100644
+--- a/libdrm/nouveau/nouveau_bo.c
++++ b/libdrm/nouveau/nouveau_bo.c
+@@ -404,7 +404,8 @@ nouveau_bo_handle_ref(struct nouveau_device *dev, uint32_t handle,
+ nvbo->size = req.size;
+ nvbo->handle = req.handle;
+ }
+-
++
++ nvbo->base.handle = nvbo->handle;
+ return 0;
+ }
+
+--
+1.6.2.3
+
diff --git a/x11-libs/libdrm/files/2.4.9-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch b/x11-libs/libdrm/files/2.4.9-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch
new file mode 100644
index 000000000000..fc3c7c207b27
--- /dev/null
+++ b/x11-libs/libdrm/files/2.4.9-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch
@@ -0,0 +1,24 @@
+From a1e3ab9e55047c08a4006ec389c1a99b72bc672c Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <bskeggs@redhat.com>
+Date: Fri, 17 Apr 2009 09:29:19 +1000
+Subject: [PATCH 2/4] nouveau: write posting got lost somewhere, bring it back
+
+---
+ libdrm/nouveau/nouveau_dma.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/libdrm/nouveau/nouveau_dma.c b/libdrm/nouveau/nouveau_dma.c
+index 23da64b..b084f70 100644
+--- a/libdrm/nouveau/nouveau_dma.c
++++ b/libdrm/nouveau/nouveau_dma.c
+@@ -41,6 +41,7 @@ WRITE_PUT(struct nouveau_channel_priv *nvchan, uint32_t val)
+ volatile int dum;
+
+ NOUVEAU_DMA_BARRIER;
++ dum = nvchan->pushbuf[0];
+ dum = READ_GET(nvchan);
+
+ *nvchan->put = put;
+--
+1.6.2.3
+
diff --git a/x11-libs/libdrm/files/2.4.9-0003-libdrm-mode-align-subpixel-results.patch b/x11-libs/libdrm/files/2.4.9-0003-libdrm-mode-align-subpixel-results.patch
new file mode 100644
index 000000000000..0fa468c631c7
--- /dev/null
+++ b/x11-libs/libdrm/files/2.4.9-0003-libdrm-mode-align-subpixel-results.patch
@@ -0,0 +1,26 @@
+From 412d370b9ae4b2882691863a1c5e13a507574e92 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@linux.ie>
+Date: Wed, 22 Apr 2009 20:25:40 +1000
+Subject: [PATCH 3/4] libdrm/mode: align subpixel results
+
+---
+ libdrm/xf86drmMode.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c
+index 872604f..ea11207 100644
+--- a/libdrm/xf86drmMode.c
++++ b/libdrm/xf86drmMode.c
+@@ -395,7 +395,8 @@ drmModeConnectorPtr drmModeGetConnector(int fd, uint32_t connector_id)
+ r->connection = conn.connection;
+ r->mmWidth = conn.mm_width;
+ r->mmHeight = conn.mm_height;
+- r->subpixel = conn.subpixel;
++ /* convert subpixel from kernel to userspace */
++ r->subpixel = conn.subpixel + 1;
+ r->count_modes = conn.count_modes;
+ /* TODO we should test if these alloc & cpy fails. */
+ r->count_props = conn.count_props;
+--
+1.6.2.3
+
diff --git a/x11-libs/libdrm/files/2.4.9-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch b/x11-libs/libdrm/files/2.4.9-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch
new file mode 100644
index 000000000000..6a5a9a3147c4
--- /dev/null
+++ b/x11-libs/libdrm/files/2.4.9-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch
@@ -0,0 +1,28 @@
+From 11b60973bca1bc9bbda44be4c695e22d28d8ca4a Mon Sep 17 00:00:00 2001
+From: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Tue, 21 Apr 2009 17:13:16 -0700
+Subject: [PATCH 4/4] intel: NULL fake bo block when freeing in evict_all
+
+Fixes assertion failures on later use of the object.
+---
+ libdrm/intel/intel_bufmgr_fake.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/libdrm/intel/intel_bufmgr_fake.c b/libdrm/intel/intel_bufmgr_fake.c
+index e1f98d6..969c03d 100644
+--- a/libdrm/intel/intel_bufmgr_fake.c
++++ b/libdrm/intel/intel_bufmgr_fake.c
+@@ -1467,8 +1467,10 @@ drm_intel_bufmgr_fake_evict_all(drm_intel_bufmgr *bufmgr)
+ assert(DRMLISTEMPTY(&bufmgr_fake->on_hardware));
+
+ DRMLISTFOREACHSAFE(block, tmp, &bufmgr_fake->lru) {
++ drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *)block->bo;
+ /* Releases the memory, and memcpys dirty contents out if necessary. */
+ free_block(bufmgr_fake, block, 0);
++ bo_fake->block = NULL;
+ }
+
+ pthread_mutex_unlock(&bufmgr_fake->lock);
+--
+1.6.2.3
+
diff --git a/x11-libs/libdrm/libdrm-2.4.9.ebuild b/x11-libs/libdrm/libdrm-2.4.9.ebuild
new file mode 100644
index 000000000000..cb25753578f8
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.9.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-libs/libdrm/libdrm-2.4.9.ebuild,v 1.1 2009/04/30 11:53:46 remi Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+SRC_URI="http://dri.freedesktop.org/libdrm/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE=""
+RESTRICT="test" # see bug #236845
+
+RDEPEND="dev-libs/libpthread-stubs"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-0001-nouveau-store-bo-handle-in-public-struct-in-bo_ref_.patch
+ "${FILESDIR}"/${PV}-0002-nouveau-write-posting-got-lost-somewhere-bring-it.patch
+ "${FILESDIR}"/${PV}-0003-libdrm-mode-align-subpixel-results.patch
+ "${FILESDIR}"/${PV}-0004-intel-NULL-fake-bo-block-when-freeing-in-evict_all.patch
+)
+
+# FIXME, we should try to see how we can fit the --enable-udev configure flag
+
+pkg_postinst() {
+ x-modular_pkg_postinst
+
+ ewarn "libdrm's ABI may have changed without change in library name"
+ ewarn "Please rebuild media-libs/mesa, x11-base/xorg-server and"
+ ewarn "your video drivers in x11-drivers/*."
+}