diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2012-11-21 09:34:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-21 09:07:07 +0100 |
commit | bd88379482fd8896ec5dd1a20deb2f47c93a4347 (patch) | |
tree | e71220d6a37f073b1c2e581c1b6daf42a46def32 /src/angle | |
parent | 24d26f6c735b433940c16aa6e323d9bb876029f6 (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>
Diffstat (limited to 'src/angle')
-rw-r--r-- | src/angle/patches/0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch | 45 |
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 + |