diff options
author | 2013-04-22 11:21:45 +0000 | |
---|---|---|
committer | 2013-04-22 11:21:45 +0000 | |
commit | ffbd90348323e40c8e064648f5e59feccf762a16 (patch) | |
tree | 9788f70f2a5a806562cf87cbca465614157a7261 /kde-base | |
parent | Stable for amd64/x86, remove old (diff) | |
download | gentoo-2-ffbd90348323e40c8e064648f5e59feccf762a16.tar.gz gentoo-2-ffbd90348323e40c8e064648f5e59feccf762a16.tar.bz2 gentoo-2-ffbd90348323e40c8e064648f5e59feccf762a16.zip |
Backport workaround from upstream to fix crashes with mesa-9.1/r600 and >=linux-3.8.
(Portage version: 2.1.11.62/cvs/Linux x86_64, signed Manifest commit with key 675D0D2C)
Diffstat (limited to 'kde-base')
-rw-r--r-- | kde-base/kwin/ChangeLog | 9 | ||||
-rw-r--r-- | kde-base/kwin/files/kwin-4.10.2-mesa.patch | 63 | ||||
-rw-r--r-- | kde-base/kwin/kwin-4.10.2-r1.ebuild | 66 |
3 files changed, 137 insertions, 1 deletions
diff --git a/kde-base/kwin/ChangeLog b/kde-base/kwin/ChangeLog index 928f91b98c6a..97378b34e348 100644 --- a/kde-base/kwin/ChangeLog +++ b/kde-base/kwin/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for kde-base/kwin # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.320 2013/04/06 00:04:39 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/ChangeLog,v 1.321 2013/04/22 11:21:45 kensington Exp $ + +*kwin-4.10.2-r1 (22 Apr 2013) + + 22 Apr 2013; Michael Palimaka <kensington@gentoo.org> + +files/kwin-4.10.2-mesa.patch, +kwin-4.10.2-r1.ebuild: + Backport workaround from upstream to fix crashes with mesa-9.1/r600 and + >=linux-3.8. *kwin-4.10.2 (05 Apr 2013) diff --git a/kde-base/kwin/files/kwin-4.10.2-mesa.patch b/kde-base/kwin/files/kwin-4.10.2-mesa.patch new file mode 100644 index 000000000000..ac20f9806510 --- /dev/null +++ b/kde-base/kwin/files/kwin-4.10.2-mesa.patch @@ -0,0 +1,63 @@ +From a021eacfbd2f2e8cb1f1caf1b66204880c1e7992 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fredrik=20H=C3=B6glund?= <fredrik@kde.org> +Date: Tue, 9 Apr 2013 18:55:21 +0200 +Subject: [PATCH] kwin/glx: Avoid MSAA configs in initDrawableConfigs() + +This is the same fix that was applied to initBufferConfigs() in commit +6cf057777555a5d0c834de3a0165a62916cf3b40. + +CCBUG: 315089 +--- + kwin/glxbackend.cpp | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +diff --git a/kwin/glxbackend.cpp b/kwin/glxbackend.cpp +index be11497..acb564d 100644 +--- a/kwin/glxbackend.cpp ++++ b/kwin/glxbackend.cpp +@@ -323,11 +323,13 @@ bool GlxBackend::initDrawableConfigs() + GLXFBConfig *fbconfigs = glXGetFBConfigs(display(), DefaultScreen(display()), &cnt); + + for (int i = 0; i <= 32; i++) { +- int back, stencil, depth, caveat, alpha, mipmap, rgba; ++ int back, stencil, depth, caveat, alpha, mipmap, msaa_buffers, msaa_samples, rgba; + back = INT_MAX; + stencil = INT_MAX; + depth = INT_MAX; + caveat = INT_MAX; ++ msaa_buffers = INT_MAX; ++ msaa_samples = INT_MAX; + mipmap = 0; + rgba = 0; + fbcdrawableinfo[ i ].fbconfig = NULL; +@@ -395,12 +397,27 @@ bool GlxBackend::initDrawableConfigs() + GLX_CONFIG_CAVEAT, &caveat_value); + if (caveat_value > caveat) + continue; ++ ++ int msaa_buffers_value; ++ glXGetFBConfigAttrib(display(), fbconfigs[j], GLX_SAMPLE_BUFFERS, ++ &msaa_buffers_value); ++ if (msaa_buffers_value > msaa_buffers) ++ continue; ++ ++ int msaa_samples_value; ++ glXGetFBConfigAttrib(display(), fbconfigs[j], GLX_SAMPLES, ++ &msaa_samples_value); ++ if (msaa_samples_value > msaa_samples) ++ continue; ++ + // ok, config passed all tests, it's the best one so far + fbcdrawableinfo[ i ].fbconfig = fbconfigs[ j ]; + caveat = caveat_value; + back = back_value; + stencil = stencil_value; + depth = depth_value; ++ msaa_buffers = msaa_buffers_value; ++ msaa_samples = msaa_samples_value; + mipmap = 0; + glXGetFBConfigAttrib(display(), fbconfigs[ j ], + GLX_BIND_TO_TEXTURE_TARGETS_EXT, &value); +-- +1.8.2.1 + diff --git a/kde-base/kwin/kwin-4.10.2-r1.ebuild b/kde-base/kwin/kwin-4.10.2-r1.ebuild new file mode 100644 index 000000000000..16632c401aa4 --- /dev/null +++ b/kde-base/kwin/kwin-4.10.2-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/kwin/kwin-4.10.2-r1.ebuild,v 1.1 2013/04/22 11:21:45 kensington Exp $ + +EAPI=5 + +KMNAME="kde-workspace" +OPENGL_REQUIRED="always" +inherit flag-o-matic kde4-meta + +DESCRIPTION="KDE window manager" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug gles opengl" + +COMMONDEPEND=" + $(add_kdebase_dep kactivities) + $(add_kdebase_dep kdelibs opengl) + $(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] <media-libs/mesa-7.12[egl(+),gles] ) + >=media-libs/mesa-7.12[egl(+),gles2] ) + ) +" +DEPEND="${COMMONDEPEND} + x11-proto/compositeproto + x11-proto/damageproto + x11-proto/fixesproto + x11-proto/randrproto + x11-proto/renderproto +" +RDEPEND="${COMMONDEPEND} + x11-apps/scripts +" + +KMEXTRACTONLY=" + ksmserver/ + libs/kephal/ + libs/oxygen/ +" + +# you need one of these +REQUIRED_USE="!opengl? ( gles ) !gles? ( opengl )" + +PATCHES=( "${FILESDIR}/${P}-mesa.patch" ) + +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) + -DWITH_X11_Xcomposite=ON + ) + + kde4-meta_src_configure +} |