Merge lp:~hikiko/unity/unity.bug-1087534 into lp:unity

Proposed by Eleni Maria Stea
Status: Rejected
Rejected by: Marco Trevisan (Treviño)
Proposed branch: lp:~hikiko/unity/unity.bug-1087534
Merge into: lp:unity
Diff against target: 48 lines (+26/-0)
1 file modified
plugins/unityshell/src/unityshell.cpp (+26/-0)
To merge this branch: bzr merge lp:~hikiko/unity/unity.bug-1087534
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Needs Fixing
Unity Team Pending
Review via email: mp+159317@code.launchpad.net

Commit message

Bug #1087534 occurs only in a family of low capable integrated Intel GPUs. These GPUs cannot support many visual effects anyway, therefore when one of them is detected we switch to low graphics mode (and there's no blur etc).

Important note!!
This branch has only been tested on an Asus EEE 901 and a Dell Inspiron!

Description of the change

Bug #1087534 occurs only in a family of low capable integrated Intel GPUs. These GPUs cannot support many visual effects anyway, therefore when one of them is detected we switch to low graphics mode (and there's no blur etc).

Important note!!
This branch has only been tested on an Asus EEE 901 and a Dell Inspiron!

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/unityshell/src/unityshell.cpp'
2--- plugins/unityshell/src/unityshell.cpp 2013-04-16 22:11:24 +0000
3+++ plugins/unityshell/src/unityshell.cpp 2013-04-23 07:56:28 +0000
4@@ -76,6 +76,8 @@
5 the accessible root object, this include would not be required */
6 #include "unity-util-accessible.h"
7
8+static bool is_affected_intel_renderer(std::string* renderer);
9+
10 /* Set up vtable symbols */
11 COMPIZ_PLUGIN_20090315(unityshell, unity::UnityPluginVTable);
12
13@@ -224,7 +226,9 @@
14 if (renderer.find("Software Rasterizer") != std::string::npos ||
15 renderer.find("Mesa X11") != std::string::npos ||
16 renderer.find("LLVM") != std::string::npos ||
17+ renderer.find("on llvmpipe") != std::string::npos ||
18 renderer.find("on softpipe") != std::string::npos ||
19+ is_affected_intel_renderer(&renderer) ||
20 (getenv("UNITY_LOW_GFX_MODE") != NULL && atoi(getenv("UNITY_LOW_GFX_MODE")) == 1))
21 {
22 Settings::Instance().SetLowGfxMode(true);
23@@ -4067,3 +4071,25 @@
24 } // anonymous namespace
25 } // namespace unity
26
27+static bool is_affected_intel_renderer(std::string* renderer)
28+{
29+ if (renderer->find("Intel")) {
30+ if (
31+ renderer->find("945ME") != std::string::npos ||
32+ renderer->find("945GSE") != std::string::npos ||
33+ renderer->find("945GM") != std::string::npos ||
34+ renderer->find("943GM") != std::string::npos ||
35+ renderer->find("940GM") != std::string::npos ||
36+ renderer->find("915GM") != std::string::npos ||
37+ renderer->find("IGD") != std::string::npos
38+ )
39+ {
40+ return true;
41+ }
42+ }
43+ if (renderer->find("Gallium") != std::string::npos) {
44+ return true;
45+ }
46+ return false;
47+}
48+