|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
From 8e649097b0e11d8b975ba321f343142dd97889cb Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
From: Oliver Wolff <oliver.wolff@qt.io>
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
Date: Wed, 22 Aug 2018 13:12:07 +0200
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
Subject: [PATCH 5/8] ANGLE: Fix initialization of zero-sized window
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
The clientRect might be empty when creating a window of zero size. The
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
side effect of a division by zero is that matrix transformation fails
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
and hence the swapchain gets into an invalid state.
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
Change-Id: Idbaed72deadb7b87052ac27e194a40d1810e6f7a
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
---
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
.../libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp | 4 ++--
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
index c6d07fc888..3425fad95d 100644
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
@@ -324,8 +324,8 @@ HRESULT SwapChainPanelNativeWindow::createSwapChain(ID3D11Device *device,
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
HRESULT SwapChainPanelNativeWindow::scaleSwapChain(const Size &windowSize, const RECT &clientRect)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
{
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
- Size renderScale = {windowSize.Width / (float)clientRect.right,
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
- windowSize.Height / (float)clientRect.bottom};
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
+ Size renderScale = {windowSize.Width / std::max(LONG(1), clientRect.right),
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
+ windowSize.Height / std::max(LONG(1), clientRect.bottom)};
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
// Setup a scale matrix for the swap chain
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
DXGI_MATRIX_3X2_F scaleMatrix = {};
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
scaleMatrix._11 = renderScale.Width;
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
--
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
2.15.0.windows.1
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
47cae49 |
|