summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2012-11-21 09:34:13 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-21 09:07:07 +0100
commitbd88379482fd8896ec5dd1a20deb2f47c93a4347 (patch)
treee71220d6a37f073b1c2e581c1b6daf42a46def32
parent24d26f6c735b433940c16aa6e323d9bb876029f6 (diff)
Patch file for ANGLE for fixing blackscreen after minimize
Task-number: QTBUG-27994 Change-Id: Iee3d9ff992b0d99c9d1ec3f13631c137114a52a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-rw-r--r--src/angle/patches/0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/angle/patches/0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch b/src/angle/patches/0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch
new file mode 100644
index 0000000000..372b9238af
--- /dev/null
+++ b/src/angle/patches/0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch
@@ -0,0 +1,45 @@
+From 85e9ba49580e307e1213c87cdbfdc301848f497f Mon Sep 17 00:00:00 2001
+From: Miikka Heikkinen <miikka.heikkinen@digia.com>
+Date: Tue, 20 Nov 2012 13:23:27 +0200
+Subject: [PATCH] Fix black screen after minimizing OpenGL window with ANGLE
+
+CreateTexture will fail on zero dimensions, so just release old target
+and reset dimensions when resetSwapChain is called with zero size area.
+
+Task-number: QTBUG-27994
+Change-Id: I1e500c4fd4b92f7d9ea2a49a44f3fb930b575cd1
+Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
+---
+ src/3rdparty/angle/src/libEGL/Surface.cpp | 16 ++++++++++++++++
+ 1 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/src/3rdparty/angle/src/libEGL/Surface.cpp b/src/3rdparty/angle/src/libEGL/Surface.cpp
+index 8e920ab..174b403 100644
+--- a/src/3rdparty/angle/src/libEGL/Surface.cpp
++++ b/src/3rdparty/angle/src/libEGL/Surface.cpp
+@@ -224,6 +224,22 @@ bool Surface::resetSwapChain(int backbufferWidth, int backbufferHeight)
+ pShareHandle = &mShareHandle;
+ }
+
++ // CreateTexture will fail on zero dimensions, so just release old target
++ if (!backbufferWidth || !backbufferHeight)
++ {
++ if (mRenderTarget)
++ {
++ mRenderTarget->Release();
++ mRenderTarget = NULL;
++ }
++
++ mWidth = backbufferWidth;
++ mHeight = backbufferHeight;
++ mPresentIntervalDirty = false;
++
++ return true;
++ }
++
+ result = device->CreateTexture(backbufferWidth, backbufferHeight, 1, D3DUSAGE_RENDERTARGET,
+ mConfig->mRenderTargetFormat, D3DPOOL_DEFAULT, &mOffscreenTexture, pShareHandle);
+ if (FAILED(result))
+--
+1.7.4.msysgit.0
+