summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hüttel <dilfridge@gentoo.org>2011-09-13 20:12:33 +0000
committerAndreas Hüttel <dilfridge@gentoo.org>2011-09-13 20:12:33 +0000
commitbef5782dc615fa7785400a6e7d71f759c2c40030 (patch)
tree217a41be823a16beb393abdfd9098e19fa221d17 /kde-base
parentTake over as maintainer. (diff)
downloadhistorical-bef5782dc615fa7785400a6e7d71f759c2c40030.tar.gz
historical-bef5782dc615fa7785400a6e7d71f759c2c40030.tar.bz2
historical-bef5782dc615fa7785400a6e7d71f759c2c40030.zip
Add serious performance improvement from upstream
Package-Manager: portage-2.1.10.15/cvs/Linux x86_64
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/kwin/ChangeLog8
-rw-r--r--kde-base/kwin/Manifest34
-rw-r--r--kde-base/kwin/files/kwin-4.7.1-performance.patch91
-rw-r--r--kde-base/kwin/kwin-4.7.1-r1.ebuild67
4 files changed, 183 insertions, 17 deletions
diff --git a/kde-base/kwin/ChangeLog b/kde-base/kwin/ChangeLog
index 82f9cc7156e8..575765cb05cf 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.241 2011/09/07 20:13:56 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.242 2011/09/13 20:12:33 dilfridge Exp $
+
+*kwin-4.7.1-r1 (13 Sep 2011)
+
+ 13 Sep 2011; Andreas K. Huettel <dilfridge@gentoo.org> +kwin-4.7.1-r1.ebuild,
+ +files/kwin-4.7.1-performance.patch:
+ Add serious performance improvement from upstream
*kwin-4.7.1 (07 Sep 2011)
diff --git a/kde-base/kwin/Manifest b/kde-base/kwin/Manifest
index 805484ae875f..4ebadeffc4ae 100644
--- a/kde-base/kwin/Manifest
+++ b/kde-base/kwin/Manifest
@@ -1,9 +1,10 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
AUX kwin-4.4.2-xinerama_cmake_automagic.patch 923 RMD160 45519a7e51001e6f16cf4bc13f7ef99eeaff793a SHA1 22102eaa95aa07bce19262842fcda69e0bc751f0 SHA256 c1f605148ba9ea606924c934a3b79bb7b415346a3fbe2e7c1732cc6956a44157
AUX kwin-4.6.3-desktopnames.patch 1110 RMD160 627e919a4836973b0c45512101ebb6d7160a084f SHA1 a5dda38663f4c9bf30a5fc27063158d83a6514af SHA256 7883a5e98075b7366a38c7003a7620b7283f13e2c226c20301e4c8c0a06f06ad
AUX kwin-4.6.5-mesadri.patch 1580 RMD160 cf443dd3aaf4405cffe405959beb6efc559c586f SHA1 049150975b9a93df0e3d8f2b9bd58f0ea57913bb SHA256 190404c58b47c829ccd11f6fc89a9939bb181aa8e561e60a0e147a2667a1d452
+AUX kwin-4.7.1-performance.patch 4905 RMD160 9787a6377600b63110563f3577d113a1a68d5a02 SHA1 4fa046db21e3203771fd29bc0e1c32918862b894 SHA256 9831367acdde4af5d6eb7aea0bedf46c11601c78dfcc77f242257ab90532603f
AUX kwin-fix-opengl.patch 2039 RMD160 4a0d9a0134083ed87277581e77dd63b4386553fe SHA1 9b6bfca1dded2f878a989e83425faa1c2174adee SHA256 079df31ea30250bae85e693c83d7d67a6d5cf637e6baf13cd421caee7934271a
DIST kde-workspace-4.7.0.tar.bz2 20049430 RMD160 20520845b336d9485bb2149191ad9f5e6a90824d SHA1 cbc61a20013c746f424681020c29480c6249fd10 SHA256 7e30d1a493b2b8981790a255edf0003bab19bf4dc3e77c37694da495a33a3468
DIST kde-workspace-4.7.1.tar.bz2 20387880 RMD160 1d3c3956f8f292ae84896756ddae8abb9e7d9395 SHA1 c7867d2f788086078abbcff53a035a6131232539 SHA256 85dabf6620b0dc556c395b8a4fe15764a7da87a66ed243e3a9527bc2c1607b96
@@ -13,23 +14,24 @@ EBUILD kwin-4.6.3-r1.ebuild 1774 RMD160 9407c2e5ab194ad6231f0482b14e616a2e7f4a7b
EBUILD kwin-4.6.5-r1.ebuild 1807 RMD160 304f603f5ae0c8df0896e42f9cff491fa1a78112 SHA1 0ec293178ec0638a09bfa148e6c2811211f840ff SHA256 48c94ac4786b96e665911a1c07f8013057215d63322e9dac51edb445f1d01f31
EBUILD kwin-4.6.5.ebuild 1730 RMD160 65bd55c13d3a82dc04f04ecd9fbf3a7b49f63f2c SHA1 3c42496cd8811dcbffc8b57f2ececee8a5f4122f SHA256 f30d0c21eca9b8ae6186ea0741d59a269d38762e916c1c956223c5728c868072
EBUILD kwin-4.7.0-r1.ebuild 1609 RMD160 c9473ca41c856b0f42b7e9f07ebb2e4316b03532 SHA1 e9a6cfe51aa6c8bdc4da14f923cc51e5995e4851 SHA256 d34983166fe9dd5a8de33a769e0d58023740a24e59de861b6bf81a433dd096e5
+EBUILD kwin-4.7.1-r1.ebuild 1654 RMD160 868759fc88f51aa8e34f4bd0889317e3de7aaaab SHA1 7d56288802c6736fc55280b79df8337ca45258c5 SHA256 848f3b6d4e07df002806cb9aebd2fdfe933f22fd2286e749c621689845780d26
EBUILD kwin-4.7.1.ebuild 1603 RMD160 2037bd94e8378f12be17c87d4c3a30bc4a0cf87b SHA1 c01511c8d2cf62de1b341264d4eadee6210d7df8 SHA256 b458ac7abf7069ab87f89001dc3be030e6bd82ee99b37bcd20546aefcded5ff5
-MISC ChangeLog 29524 RMD160 d4dd1b63ec126562d1bf6791bc49c9a4e6b37889 SHA1 008db369941d5bcb630e1eeb1b1c143d614a0f05 SHA256 99891b0a5d79c4dac85c39c51458babe5f4dcb9af32d5a089f1f15291d1d4097
+MISC ChangeLog 29729 RMD160 441a3fb6c9356de0ff9f561165f53b7d471f9de9 SHA1 7294cdba95085c0f0c508c496284b0b6086de1af SHA256 ce101052afee60aa0a58107b2f3d583ea97a98b43da2dadc6a1f30618a6336ba
MISC metadata.xml 229 RMD160 24787dda60325ca5ed6c320b09effa57d9b2f45b SHA1 98698ac5e37a3ed20414deb0de4eb70da74a2add SHA256 1cd96488355a3e48a2b0b12f09ad8e3ea923e199b4fcbf175590cd317b033af7
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
-iQIcBAEBCAAGBQJOZ9JXAAoJEOf+E+/4L5LmuBsP/R2wDlwsxgbLQ7BXZgpsvPOO
-2S7LTsJ/n4isjnMhQzDqR4QEGXUx2oUy7cw/jsEIjX44xaI+9vn7BK9Qk66kcfgF
-EkP35JhBf5vtp+PDlAwYvEXOQ4dbu1U1m1esX0FRmj7ArsC+6dvWFAt+pczsGMq1
-xK38VjlVpyFqodoLm4pkdgN0coDxsnSlYZxtJXniZqUaGfpF/9H2sGdYPAFGP/R7
-hHWARSVwz1Ku9MdRGSgW9nTPzgIkr0BB7E60Usbnh/J9gqTVfHYWB2AOObWjMNW7
-KR2+vgk7Us7TRnZW+rX8we9DVojite6CcgUaR6uMcyvfauhLO1Tz/hatC1WUAOzh
-8c82UYtfr/8Qz/nQmZ166K4lqg5BjC4r1wYspJvKTdaf4dypws56Pal3E1QW4t52
-OG7o/+QppYwjtJ2bp3lBNvAmyhLz/X/Tkoqy+Tvkqo2CQvu4lc7kOPQJNHBBWuDZ
-xdV8TPnwQOa3IBwC32b37IZ3FNmJv50+A4ZsdoW7RbyJ/qwWt71nDuGvsyDpxlRt
-lxAxuVlkh2EJAcXj/ftXC+8RMslnoe1fCRMCypc04eKDj/+BVn9PqwOcSUd2sjWK
-A9MG7/VSkc8ylwt/Tfta/4FSbP4xkNXdFGhy+Tlo4+Mf1Cqd/VdQXtXip4axcucM
-6gRZUMch7ld/5hYK0MHj
-=NL7W
+iQIcBAEBCgAGBQJOb7lPAAoJENwGBM22xffec3sQAI6HRmdNGIbiNk2YjpGPRh9f
+eWa0DOabiGqSCsegB33CNTGcO/g/cE+WczidD6cVbb4IABVZdfqojNDAI+eKm0c8
+4jSwBL/iLWM7TDmsfnqYkxQuXFT4bVpxRiIF15x2DyaXx8rpQsyWZQ/8q/T7rgiO
+coN23TekFjsdsYG0Vji5aZp7e14MzH/WnKGveRojgr6L2VcDIu04mc7DzZ/li539
+Eg+WvP6G0ghA/4dffDE5u2CakR681gff3B+AGF2n4amaW2pl5Uh6N7XizVfMS7wN
+IQvm/B/jO4nrUkr6+8UOdzIqUBkyekMfzifNnfI+2CGw5wZPX4yQAtIY9krHPc6u
+sZnfwf9AIIO8cqe0jgodSZCsp3dqM6dHHKL3bmZN+bakJ8xn9AKjIIUJxfYfnEm1
+gugES/+y1a1LK8QOaVEqQXI0suoqdVaiRJ75KhXTqvaUaQ932tyXIIvedGqAHcwV
+4sg7AYviVTxxy2H7tOKls/6rHtu2WzGKYJUeUjHdbvDaGjCf15FDcm4XrYNjlqEK
+5g4JOC26MuwwR3Rv1CJyfOnc5eyC8purb9CGdMJRsbPFuyJM1kEKmt6AEWS3S/Ty
+XOcgiQDftkCMYiivnDiO6rf1EsgZ4MDoFBZmKBsX/bQeIy/if43NslItetbMXSgB
+CBaZnIt65I9Li2nrGQe9
+=ffdg
-----END PGP SIGNATURE-----
diff --git a/kde-base/kwin/files/kwin-4.7.1-performance.patch b/kde-base/kwin/files/kwin-4.7.1-performance.patch
new file mode 100644
index 000000000000..a34c77e5c828
--- /dev/null
+++ b/kde-base/kwin/files/kwin-4.7.1-performance.patch
@@ -0,0 +1,91 @@
+commit e142a1a142cbc8b87f021223e6abc947f456a7f9
+Author: Thomas Lübking <thomas.luebking@gmail.com>
+Date: Thu Sep 8 22:20:35 2011 +0200
+
+ replace non-const QVector::operator[] accesses with const ::at() to avoid maaany deep vecor copies
+
+diff --git a/kwin/effects.cpp b/kwin/effects.cpp
+index e0c76cb..f5863fc0 100644
+--- a/kwin/effects.cpp
++++ b/kwin/effects.cpp
+@@ -200,7 +200,7 @@ void EffectsHandlerImpl::reconfigure()
+ void EffectsHandlerImpl::prePaintScreen(ScreenPrePaintData& data, int time)
+ {
+ 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
+@@ -209,7 +209,7 @@ void EffectsHandlerImpl::prePaintScreen(ScreenPrePaintData& data, int time)
+ void EffectsHandlerImpl::paintScreen(int mask, QRegion region, ScreenPaintData& data)
+ {
+ 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
+ scene->finalPaintScreen(mask, region, data);
+@@ -218,7 +218,7 @@ void EffectsHandlerImpl::paintScreen(int mask, QRegion region, ScreenPaintData&
+ void EffectsHandlerImpl::postPaintScreen()
+ {
+ 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
+@@ -227,7 +227,7 @@ void EffectsHandlerImpl::postPaintScreen()
+ void EffectsHandlerImpl::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int time)
+ {
+ 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
+@@ -236,7 +236,7 @@ void EffectsHandlerImpl::prePaintWindow(EffectWindow* w, WindowPrePaintData& dat
+ void EffectsHandlerImpl::paintWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data)
+ {
+ 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
+ scene->finalPaintWindow(static_cast<EffectWindowImpl*>(w), mask, region, data);
+@@ -245,7 +245,7 @@ void EffectsHandlerImpl::paintWindow(EffectWindow* w, int mask, QRegion region,
+ void EffectsHandlerImpl::paintEffectFrame(EffectFrame* frame, QRegion region, double opacity, double frameOpacity)
+ {
+ 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 {
+ const EffectFrameImpl* frameImpl = static_cast<const EffectFrameImpl*>(frame);
+@@ -256,7 +256,7 @@ void EffectsHandlerImpl::paintEffectFrame(EffectFrame* frame, QRegion region, do
+ void EffectsHandlerImpl::postPaintWindow(EffectWindow* w)
+ {
+ 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
+@@ -273,7 +273,7 @@ bool EffectsHandlerImpl::provides(Effect::Feature ef)
+ void EffectsHandlerImpl::drawWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data)
+ {
+ 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
+ scene->finalDrawWindow(static_cast<EffectWindowImpl*>(w), mask, region, data);
+@@ -282,7 +282,7 @@ void EffectsHandlerImpl::drawWindow(EffectWindow* w, int mask, QRegion region, W
+ void EffectsHandlerImpl::buildQuads(EffectWindow* w, WindowQuadList& quadList)
+ {
+ 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.7.1-r1.ebuild b/kde-base/kwin/kwin-4.7.1-r1.ebuild
new file mode 100644
index 000000000000..c39eb07fa9a2
--- /dev/null
+++ b/kde-base/kwin/kwin-4.7.1-r1.ebuild
@@ -0,0 +1,67 @@
+# 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.7.1-r1.ebuild,v 1.1 2011/09/13 20:12:33 dilfridge Exp $
+
+EAPI=4
+
+KMNAME="kde-workspace"
+OPENGL_REQUIRED="optional"
+inherit kde4-meta
+
+DESCRIPTION="KDE window manager"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug gles xinerama"
+
+COMMONDEPEND="
+ $(add_kdebase_dep kephal)
+ $(add_kdebase_dep libkworkspace)
+ $(add_kdebase_dep liboxygenstyle)
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ >=x11-libs/libXrandr-1.2.1
+ x11-libs/libXrender
+ opengl? ( >=media-libs/mesa-7.10 )
+ gles? ( >=media-libs/mesa-7.10[egl(+),gles] )
+ xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${COMMONDEPEND}
+ x11-proto/compositeproto
+ x11-proto/damageproto
+ x11-proto/fixesproto
+ x11-proto/randrproto
+ x11-proto/renderproto
+ 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}-4.7.1-performance.patch"
+)
+
+# you can use just gles or opengl or none
+REQUIRED_USE="opengl? ( !gles ) gles? ( !opengl )"
+
+src_configure() {
+ # FIXME Remove when activity API moved away from libkworkspace
+ append-cppflags "-I${EPREFIX}/usr/include/kworkspace"
+
+ mycmakeargs=(
+ $(cmake-utils_use_with gles OpenGLES)
+ $(cmake-utils_use gles KWIN_BUILD_WITH_OPENGLES)
+ $(cmake-utils_use_with opengl OpenGL)
+ $(cmake-utils_use_with xinerama X11_Xinerama)
+ -DWITH_X11_Xcomposite=ON
+ )
+
+ kde4-meta_src_configure
+}