aboutsummaryrefslogtreecommitdiffstats
path: root/emulator
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2012-12-10 14:50:35 -0800
committerJesse Hall <jessehall@google.com>2012-12-10 14:50:51 -0800
commite9704e22d9d307e655b6f2bfd80de6aedd40fd3a (patch)
tree72d7fdd6c790a710f2d624c6117d02937925175e /emulator
parentb9fe954f3bb38d53c5a7b8775f869bc5d1a5ff0f (diff)
downloadsdk-e9704e22d9d307e655b6f2bfd80de6aedd40fd3a.zip
sdk-e9704e22d9d307e655b6f2bfd80de6aedd40fd3a.tar.gz
sdk-e9704e22d9d307e655b6f2bfd80de6aedd40fd3a.tar.bz2
Extend Mac Intel graphics bug workaround to HD 4000
Bug: 39835 Change-Id: Ied3f43b76d2bb1bdba478f57122ec0ef4d967ae4
Diffstat (limited to 'emulator')
-rw-r--r--emulator/opengl/host/libs/libOpenglRender/ColorBuffer.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/emulator/opengl/host/libs/libOpenglRender/ColorBuffer.cpp b/emulator/opengl/host/libs/libOpenglRender/ColorBuffer.cpp
index 567a9f2..c970337 100644
--- a/emulator/opengl/host/libs/libOpenglRender/ColorBuffer.cpp
+++ b/emulator/opengl/host/libs/libOpenglRender/ColorBuffer.cpp
@@ -119,16 +119,19 @@ ColorBuffer::ColorBuffer() :
m_warYInvertBug(false)
{
#if __APPLE__
- // On Macs running OS X 10.6 and 10.7 with Intel HD Graphics 3000, some
- // screens or parts of the screen are displayed upside down. The exact
- // conditions/sequence that triggers this aren't known yet; I haven't
- // been able to reproduce it in a standalone test. This way of enabling the
+ // On Macs running OS X 10.6 and 10.7 with Intel HD Graphics 3000 or 4000,
+ // some screens or parts of the screen are displayed upside down. The exact
+ // conditions/sequence that triggers this aren't known yet; I haven't been
+ // able to reproduce it in a standalone test. This way of enabling the
// workaround will break if it is a driver bug (rather than a bug in this
- // code which works by accident elsewhere) and Apple/Intel release a fix for
- // it. Running a standalone test to detect the problem at runtime would be
- // more robust.
- if (strstr((const char*)s_gl.glGetString(GL_RENDERER), "Intel HD Graphics 3000"))
+ // code which works by accident elsewhere) and Apple/Intel release a fix
+ // for it. Running a standalone test to detect the problem at runtime would
+ // be more robust.
+ const char* renderer = (const char*)s_gl.glGetString(GL_RENDERER);
+ if (strstr(renderer, "Intel HD Graphics 3000") ||
+ strstr(renderer, "Intel HD Graphics 4000")) {
m_warYInvertBug = true;
+ }
#endif
}