diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-09-13 20:31:43 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-09-13 20:31:43 +0000 |
commit | a6f95e79c93105ca15890478d517cadec95da840 (patch) | |
tree | bfa1413328b7d400d7d912085f56019efaeb1bd6 /kde-base/kwin | |
parent | Add serious performance improvement from upstream (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | kde-base/kwin/files/kwin-4.6.5-performance.patch | 84 | ||||
-rw-r--r-- | kde-base/kwin/kwin-4.6.5-r2.ebuild | 77 |
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 +} |