summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2011-09-13 20:31:43 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2011-09-13 20:31:43 +0000
commita6f95e79c93105ca15890478d517cadec95da840 (patch)
treebfa1413328b7d400d7d912085f56019efaeb1bd6 /kde-base/kwin
parentAdd serious performance improvement from upstream (diff)
downloadgentoo-2-a6f95e79c93105ca15890478d517cadec95da840.tar.gz
gentoo-2-a6f95e79c93105ca15890478d517cadec95da840.tar.bz2
gentoo-2-a6f95e79c93105ca15890478d517cadec95da840.zip
Backport performance improvement from upstream to 4.6
(Portage version: 2.1.10.15/cvs/Linux x86_64)
Diffstat (limited to 'kde-base/kwin')
-rw-r--r--kde-base/kwin/ChangeLog8
-rw-r--r--kde-base/kwin/files/kwin-4.6.5-performance.patch84
-rw-r--r--kde-base/kwin/kwin-4.6.5-r2.ebuild77
3 files changed, 168 insertions, 1 deletions
diff --git a/kde-base/kwin/ChangeLog b/kde-base/kwin/ChangeLog
index 575765cb05cf..3c431d40f3e7 100644
--- a/kde-base/kwin/ChangeLog
+++ b/kde-base/kwin/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kwin
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.242 2011/09/13 20:12:33 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.243 2011/09/13 20:31:43 dilfridge Exp $
+
+*kwin-4.6.5-r2 (13 Sep 2011)
+
+ 13 Sep 2011; Andreas K. Huettel <dilfridge@gentoo.org> +kwin-4.6.5-r2.ebuild,
+ +files/kwin-4.6.5-performance.patch:
+ Backport performance improvement from upstream to 4.6
*kwin-4.7.1-r1 (13 Sep 2011)
diff --git a/kde-base/kwin/files/kwin-4.6.5-performance.patch b/kde-base/kwin/files/kwin-4.6.5-performance.patch
new file mode 100644
index 000000000000..a706370d9232
--- /dev/null
+++ b/kde-base/kwin/files/kwin-4.6.5-performance.patch
@@ -0,0 +1,84 @@
+diff -ruN kwin-4.6.5.orig/kwin/effects.cpp kwin-4.6.5/kwin/effects.cpp
+--- kwin-4.6.5.orig/kwin/effects.cpp 2011-02-25 23:10:02.000000000 +0100
++++ kwin-4.6.5/kwin/effects.cpp 2011-09-13 22:25:18.943156120 +0200
+@@ -156,7 +156,7 @@
+ {
+ if( current_paint_screen < loaded_effects.size())
+ {
+- loaded_effects[current_paint_screen++].second->prePaintScreen( data, time );
++ loaded_effects.at(current_paint_screen++).second->prePaintScreen( data, time );
+ --current_paint_screen;
+ }
+ // no special final code
+@@ -166,7 +166,7 @@
+ {
+ if( current_paint_screen < loaded_effects.size())
+ {
+- loaded_effects[current_paint_screen++].second->paintScreen( mask, region, data );
++ loaded_effects.at(current_paint_screen++).second->paintScreen( mask, region, data );
+ --current_paint_screen;
+ }
+ else
+@@ -177,7 +177,7 @@
+ {
+ if( current_paint_screen < loaded_effects.size())
+ {
+- loaded_effects[current_paint_screen++].second->postPaintScreen();
++ loaded_effects.at(current_paint_screen++).second->postPaintScreen();
+ --current_paint_screen;
+ }
+ // no special final code
+@@ -187,7 +187,7 @@
+ {
+ if( current_paint_window < loaded_effects.size())
+ {
+- loaded_effects[current_paint_window++].second->prePaintWindow( w, data, time );
++ loaded_effects.at(current_paint_window++).second->prePaintWindow( w, data, time );
+ --current_paint_window;
+ }
+ // no special final code
+@@ -197,7 +197,7 @@
+ {
+ if( current_paint_window < loaded_effects.size())
+ {
+- loaded_effects[current_paint_window++].second->paintWindow( w, mask, region, data );
++ loaded_effects.at(current_paint_window++).second->paintWindow( w, mask, region, data );
+ --current_paint_window;
+ }
+ else
+@@ -208,7 +208,7 @@
+ {
+ if( current_paint_effectframe < loaded_effects.size())
+ {
+- loaded_effects[current_paint_effectframe++].second->paintEffectFrame( frame, region, opacity, frameOpacity );
++ loaded_effects.at(current_paint_effectframe++).second->paintEffectFrame( frame, region, opacity, frameOpacity );
+ --current_paint_effectframe;
+ }
+ else
+@@ -222,7 +222,7 @@
+ {
+ if( current_paint_window < loaded_effects.size())
+ {
+- loaded_effects[current_paint_window++].second->postPaintWindow( w );
++ loaded_effects.at(current_paint_window++).second->postPaintWindow( w );
+ --current_paint_window;
+ }
+ // no special final code
+@@ -240,7 +240,7 @@
+ {
+ if( current_draw_window < loaded_effects.size())
+ {
+- loaded_effects[current_draw_window++].second->drawWindow( w, mask, region, data );
++ loaded_effects.at(current_draw_window++).second->drawWindow( w, mask, region, data );
+ --current_draw_window;
+ }
+ else
+@@ -251,7 +251,7 @@
+ {
+ if( current_build_quads < loaded_effects.size())
+ {
+- loaded_effects[current_build_quads++].second->buildQuads( w, quadList );
++ loaded_effects.at(current_build_quads++).second->buildQuads( w, quadList );
+ --current_build_quads;
+ }
+ }
diff --git a/kde-base/kwin/kwin-4.6.5-r2.ebuild b/kde-base/kwin/kwin-4.6.5-r2.ebuild
new file mode 100644
index 000000000000..322fad15b101
--- /dev/null
+++ b/kde-base/kwin/kwin-4.6.5-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/kwin-4.6.5-r2.ebuild,v 1.1 2011/09/13 20:31:43 dilfridge Exp $
+
+EAPI=4
+
+KMNAME="kdebase-workspace"
+OPENGL_REQUIRED="optional"
+inherit kde4-meta
+
+DESCRIPTION="KDE window manager"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug xcomposite xinerama"
+
+# NOTE disabled for now: captury? ( media-libs/libcaptury )
+COMMONDEPEND="
+ $(add_kdebase_dep kephal)
+ $(add_kdebase_dep libkworkspace)
+ $(add_kdebase_dep liboxygenstyle)
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ >=x11-libs/libXrandr-1.2.1
+ x11-libs/libXrender
+ opengl? (
+ virtual/opengl
+ >=media-libs/mesa-7.10
+ )
+ xcomposite? ( x11-libs/libXcomposite )
+ xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${COMMONDEPEND}
+ x11-proto/damageproto
+ x11-proto/fixesproto
+ x11-proto/randrproto
+ x11-proto/renderproto
+ xcomposite? ( x11-proto/compositeproto )
+ xinerama? ( x11-proto/xineramaproto )
+"
+RDEPEND="${COMMONDEPEND}
+ x11-apps/scripts
+"
+
+KMEXTRACTONLY="
+ ksmserver/
+ libs/kephal/
+ libs/oxygen/
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch"
+ "${FILESDIR}/${PN}-fix-opengl.patch"
+ "${FILESDIR}/${PN}-4.6.5-mesadri.patch"
+ "${FILESDIR}/${PN}-4.6.5-performance.patch"
+)
+
+src_prepare() {
+# NOTE uncomment when enabled again by upstream
+# if ! use captury; then
+# sed -e 's:^PKGCONFIG..libcaptury:#DONOTFIND &:' \
+# -i kwin/effects/CMakeLists.txt || \
+# die "Making captury optional failed."
+# fi
+
+ kde4-meta_src_prepare
+}
+
+src_configure() {
+ # FIXME Remove when activity API moved away from libkworkspace
+ append-cppflags "-I${EPREFIX}/usr/include/kworkspace"
+
+ mycmakeargs=(
+ $(cmake-utils_use_with opengl OpenGL)
+ $(cmake-utils_use_with xinerama X11_Xinerama)
+ )
+
+ kde4-meta_src_configure
+}