[arch-commits] Commit in xf86-video-intel/repos (5 files)
Jan de Groot
jgc at archlinux.org
Sat Mar 7 17:59:24 UTC 2009
Date: Saturday, March 7, 2009 @ 12:59:24
Author: jgc
Revision: 29277
Merged revisions 29267 via svnmerge from
svn+ssh://svn.archlinux.org/srv/svn-packages/xf86-video-intel/trunk
........
r29267 | jgc | 2009-03-07 16:14:07 +0000 (Sat, 07 Mar 2009) | 2 lines
upgpkg: xf86-video-intel 2.6.3-2
Add two patches to fix vtswitch leaks, add another one that removes an optimization which causes unlimited texture caching
........
Added:
xf86-video-intel/repos/testing-i686/disable-reuse.patch
(from rev 29267, xf86-video-intel/trunk/disable-reuse.patch)
xf86-video-intel/repos/testing-i686/vt-switch-leak-1.patch
(from rev 29267, xf86-video-intel/trunk/vt-switch-leak-1.patch)
xf86-video-intel/repos/testing-i686/vt-switch-leak-2.patch
(from rev 29267, xf86-video-intel/trunk/vt-switch-leak-2.patch)
Modified:
xf86-video-intel/repos/testing-i686/ (properties)
xf86-video-intel/repos/testing-i686/PKGBUILD
------------------------+
PKGBUILD | 15 +++++++++++---
disable-reuse.patch | 11 ++++++++++
vt-switch-leak-1.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++
vt-switch-leak-2.patch | 24 +++++++++++++++++++++++
4 files changed, 96 insertions(+), 3 deletions(-)
Property changes on: xf86-video-intel/repos/testing-i686
___________________________________________________________________
Modified: svnmerge-integrated
- /xf86-video-intel/trunk:1-29003
+ /xf86-video-intel/trunk:1-29276
Modified: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD 2009-03-07 17:56:03 UTC (rev 29276)
+++ testing-i686/PKGBUILD 2009-03-07 17:59:24 UTC (rev 29277)
@@ -3,7 +3,7 @@
# Maintainer: Jan de Groot <jgc at archlinux.org>
pkgname=xf86-video-intel
pkgver=2.6.3
-pkgrel=1
+pkgrel=2
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -13,11 +13,20 @@
replaces=('xf86-video-i810')
options=('!libtool' 'force')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('440c014bbd3072b5d379fe1bdb861918')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ vt-switch-leak-1.patch
+ vt-switch-leak-2.patch
+ disable-reuse.patch)
+md5sums=('440c014bbd3072b5d379fe1bdb861918'
+ 'e468cfc5aabfe0ff0fcda7eb3243c343'
+ '2db78fef97610bd50b124baeea3027d7'
+ '535239b0cee9c46c00077ab34e769e0a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/vt-switch-leak-1.patch" || return 1
+ patch -Np1 -i "${srcdir}/vt-switch-leak-2.patch" || return 1
+ patch -Np1 -i "${srcdir}/disable-reuse.patch" || return 1
./configure --prefix=/usr --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
Copied: xf86-video-intel/repos/testing-i686/disable-reuse.patch (from rev 29267, xf86-video-intel/trunk/disable-reuse.patch)
===================================================================
--- testing-i686/disable-reuse.patch (rev 0)
+++ testing-i686/disable-reuse.patch 2009-03-07 17:59:24 UTC (rev 29277)
@@ -0,0 +1,11 @@
+diff -ru xf86-video-intel-2.6.3.orig/src/i830_driver.c xf86-video-intel-2.6.3/src/i830_driver.c
+--- xf86-video-intel-2.6.3.orig/src/i830_driver.c 2009-03-02 19:21:02.000000000 +0000
++++ xf86-video-intel-2.6.3/src/i830_driver.c 2009-03-07 15:58:05.000000000 +0000
+@@ -2951,7 +2951,6 @@
+ batch_size = 4096;
+
+ pI830->bufmgr = intel_bufmgr_gem_init(pI830->drmSubFD, batch_size);
+- intel_bufmgr_gem_enable_reuse(pI830->bufmgr);
+ } else {
+ assert(pI830->FbBase != NULL);
+ pI830->bufmgr = intel_bufmgr_fake_init(pI830->drmSubFD,
Copied: xf86-video-intel/repos/testing-i686/vt-switch-leak-1.patch (from rev 29267, xf86-video-intel/trunk/vt-switch-leak-1.patch)
===================================================================
--- testing-i686/vt-switch-leak-1.patch (rev 0)
+++ testing-i686/vt-switch-leak-1.patch 2009-03-07 17:59:24 UTC (rev 29277)
@@ -0,0 +1,49 @@
+From d4c64f01b9429a8fb314e43f40d1f02bb8aab30f Mon Sep 17 00:00:00 2001
+From: Lukas Hejtmanek <xhejtman at ics.muni.cz>
+Date: Wed, 04 Mar 2009 22:33:27 +0000
+Subject: Fix serious memory leak at Enter/LeaveVT
+
+This fixes huge memory leak at each VT switch (about 600 BOs + 6MB
+of RSS of Xserver).
+---
+diff --git a/src/i965_render.c b/src/i965_render.c
+index de1c8b3..ab7f7d2 100644
+--- a/src/i965_render.c
++++ b/src/i965_render.c
+@@ -1715,7 +1715,7 @@ gen4_render_state_cleanup(ScrnInfoPtr pScrn)
+ {
+ I830Ptr pI830 = I830PTR(pScrn);
+ struct gen4_render_state *render_state= pI830->gen4_render_state;
+- int i;
++ int i, j, k, l, m;
+
+ if (render_state->vertex_buffer_bo) {
+ dri_bo_unreference (render_state->vertex_buffer_bo);
+@@ -1728,12 +1728,23 @@ gen4_render_state_cleanup(ScrnInfoPtr pScrn)
+ render_state->sf_state_bo = NULL;
+ drm_intel_bo_unreference(render_state->sf_mask_state_bo);
+ render_state->sf_mask_state_bo = NULL;
+- drm_intel_bo_unreference(render_state->cc_state_bo);
+- render_state->cc_state_bo = NULL;
++
+ for (i = 0; i < WM_KERNEL_COUNT; i++) {
+ drm_intel_bo_unreference(render_state->wm_kernel_bo[i]);
+ render_state->wm_kernel_bo[i] = NULL;
+ }
++
++ for (i = 0; i < SAMPLER_STATE_FILTER_COUNT; i++)
++ for (j = 0; j < SAMPLER_STATE_EXTEND_COUNT; j++)
++ for (k = 0; k < SAMPLER_STATE_FILTER_COUNT; k++)
++ for (l = 0; l < SAMPLER_STATE_EXTEND_COUNT; l++)
++ for (m = 0; m < WM_KERNEL_COUNT; m++) {
++ drm_intel_bo_unreference(render_state->wm_state_bo[m][i][j][k][l]);
++ render_state->wm_state_bo[m][i][j][k][l] = NULL;
++ }
++
++ drm_intel_bo_unreference(render_state->cc_state_bo);
++ render_state->cc_state_bo = NULL;
+ drm_intel_bo_unreference(render_state->sip_kernel_bo);
+ render_state->sip_kernel_bo = NULL;
+ }
+--
+cgit v0.8.2
Copied: xf86-video-intel/repos/testing-i686/vt-switch-leak-2.patch (from rev 29267, xf86-video-intel/trunk/vt-switch-leak-2.patch)
===================================================================
--- testing-i686/vt-switch-leak-2.patch (rev 0)
+++ testing-i686/vt-switch-leak-2.patch 2009-03-07 17:59:24 UTC (rev 29277)
@@ -0,0 +1,24 @@
+From 1cc9b1423c5df591c615ef9588b6eefd81448f80 Mon Sep 17 00:00:00 2001
+From: Lukáš Hejtmánek <xhejtman at ics.muni.cz>
+Date: Fri, 06 Mar 2009 19:44:03 +0000
+Subject: Fix another VT switch leak
+
+The batch_bo buffer object is reallocated on enter VT, so we need to
+unref it on leave vt.
+
+Signed-off-by: Lukas Hejtmanek <xhejtman at ics.muni.cz>
+---
+diff --git a/src/i830_batchbuffer.c b/src/i830_batchbuffer.c
+index 671e8c8..33da43e 100644
+--- a/src/i830_batchbuffer.c
++++ b/src/i830_batchbuffer.c
+@@ -159,6 +159,7 @@ intel_batch_teardown(ScrnInfoPtr pScrn)
+
+ if (pI830->batch_ptr != NULL) {
+ dri_bo_unmap(pI830->batch_bo);
++ dri_bo_unreference(pI830->batch_bo);
+ pI830->batch_ptr = NULL;
+ }
+ }
+--
+cgit v0.8.2
More information about the arch-commits
mailing list