summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/opengl')
-rw-r--r--src/gui/opengl/qopengl.h4
-rw-r--r--src/gui/opengl/qopenglframebufferobject.cpp8
2 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/opengl/qopengl.h b/src/gui/opengl/qopengl.h
index 5543ac4a16..745adda969 100644
--- a/src/gui/opengl/qopengl.h
+++ b/src/gui/opengl/qopengl.h
@@ -187,7 +187,11 @@ typedef ptrdiff_t GLsizeiptrARB;
#ifndef GL_ARB_shader_objects
/* GL types for program/shader text and shader object handles */
typedef char GLcharARB;
+# ifdef Q_OS_DARWIN
+typedef void *GLhandleARB;
+# else
typedef unsigned int GLhandleARB;
+# endif // Q_OS_DARWIN
#endif
/* GL type for "half" precision (s10e5) float data in host memory */
diff --git a/src/gui/opengl/qopenglframebufferobject.cpp b/src/gui/opengl/qopenglframebufferobject.cpp
index 5f5b7f46ec..597d347915 100644
--- a/src/gui/opengl/qopenglframebufferobject.cpp
+++ b/src/gui/opengl/qopenglframebufferobject.cpp
@@ -1287,9 +1287,13 @@ static inline QImage qt_gl_read_framebuffer_rgba8(const QSize &size, bool includ
const char *renderer = reinterpret_cast<const char *>(funcs->glGetString(GL_RENDERER));
const char *ver = reinterpret_cast<const char *>(funcs->glGetString(GL_VERSION));
- // Blacklist PowerVR Rogue G6200 as it has problems with its BGRA support.
+ // Blacklist GPU chipsets that have problems with their BGRA support.
const bool blackListed = (qstrcmp(renderer, "PowerVR Rogue G6200") == 0
- && ::strstr(ver, "1.3") != 0);
+ && ::strstr(ver, "1.3") != 0) ||
+ (qstrcmp(renderer, "Mali-T760") == 0
+ && ::strstr(ver, "3.1") != 0) ||
+ (qstrcmp(renderer, "Mali-T720") == 0
+ && ::strstr(ver, "3.1") != 0);
const bool supports_bgra = has_bgra_ext && !blackListed;