summaryrefslogtreecommitdiffstats
path: root/src/gui/egl
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2010-04-16 09:50:55 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2010-04-16 12:52:13 (GMT)
commit74f28819d985984170964d12d8f527034db93017 (patch)
tree6c1650f2c0b2cbd70d79e55de8f8edf20107d093 /src/gui/egl
parent5480e3b68da98253ae6ec58bd0db0075225a4e22 (diff)
downloadQt-74f28819d985984170964d12d8f527034db93017.zip
Qt-74f28819d985984170964d12d8f527034db93017.tar.gz
Qt-74f28819d985984170964d12d8f527034db93017.tar.bz2
Set EGL_SWAP_BEHAVIOR to EGL_BUFFER_PRESERVED for regular QWidgets
QGLWidgets are assumed to be buffer destroyed, however regular QWidgets assume they can to partial updates and thus need the preserved swap behaviour. Reviewed-By: Trond Task-number: QTBUG-9554
Diffstat (limited to 'src/gui/egl')
-rw-r--r--src/gui/egl/qeglproperties.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index 5543547..3638de5 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -241,6 +241,9 @@ void QEglProperties::setRenderableType(QEgl::API api)
// reductions in complexity are possible.
bool QEglProperties::reduceConfiguration()
{
+ if (value(EGL_SWAP_BEHAVIOR) != EGL_DONT_CARE)
+ removeValue(EGL_SWAP_BEHAVIOR);
+
#ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT
// For OpenVG, we sometimes try to create a surface using a pre-multiplied format. If we can't
// find a config which supports pre-multiplied formats, remove the flag on the surface type: