diff options
Diffstat (limited to 'src')
-rw-r--r-- | 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 8e920ab81e..174b40375d 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)) |