ANGLE: Invalidate client window area when resetting swap chain
Resizing a window larger results in the newly exposed region being invalidated but the old region is treated as valid. This can result in the old region no longer updating. This has been observed on Windows 7 64-bit with Aero theme using NVIDIA GeForce GTS 250 and driver version 301.42. Invalidate the entire client window area when resetting the swap chain so that it updates properly. Upstream patch: https://codereview.appspot.com/6812076/ Task-number: QTBUG-27822 Change-Id: I0f5d2004576019458baee74c35e52f69b893a219 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This commit is contained in:
parent
aeb566db73
commit
aa309b9677
1
src/3rdparty/angle/AUTHORS
vendored
1
src/3rdparty/angle/AUTHORS
vendored
@ -24,6 +24,7 @@ Ginn Chen
|
||||
James Hauxwell
|
||||
Sam Hocevar
|
||||
Pierre Leveille
|
||||
Jonathan Liu
|
||||
Boying Lu
|
||||
Aitor Moreno
|
||||
Yuri O'Donnell
|
||||
|
1
src/3rdparty/angle/src/libEGL/Surface.cpp
vendored
1
src/3rdparty/angle/src/libEGL/Surface.cpp
vendored
@ -326,6 +326,7 @@ bool Surface::resetSwapChain(int backbufferWidth, int backbufferHeight)
|
||||
|
||||
result = mSwapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &mBackBuffer);
|
||||
ASSERT(SUCCEEDED(result));
|
||||
InvalidateRect(mWindow, NULL, FALSE);
|
||||
}
|
||||
|
||||
if (mConfig->mDepthStencilFormat != D3DFMT_UNKNOWN)
|
||||
|
Loading…
x
Reference in New Issue
Block a user