summaryrefslogtreecommitdiffstats
path: root/src/angle
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-19 06:30:59 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-19 06:31:06 +0200
commit640441882d20f86db05ab5fd1141abe39a0bd409 (patch)
tree9d0e701de155d32d3614a60b4d6eea5f324211f4 /src/angle
parentd16692ed1b12b2d464afcb32799580402e82e393 (diff)
parenteba979f6956f8d74bf5a3cb6ed0d585396b790f1 (diff)
Merge remote-tracking branch 'origin/5.6.1' into 5.6
Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
Diffstat (limited to 'src/angle')
-rw-r--r--src/angle/patches/0011-ANGLE-Disable-support-for-shared-handles-in-warp-mod.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/angle/patches/0011-ANGLE-Disable-support-for-shared-handles-in-warp-mod.patch b/src/angle/patches/0011-ANGLE-Disable-support-for-shared-handles-in-warp-mod.patch
new file mode 100644
index 0000000000..1c4ee1d513
--- /dev/null
+++ b/src/angle/patches/0011-ANGLE-Disable-support-for-shared-handles-in-warp-mod.patch
@@ -0,0 +1,44 @@
+From db13a9cf7e41207660f080827983655864df802d Mon Sep 17 00:00:00 2001
+From: Oliver Wolff <oliver.wolff@qt.io>
+Date: Wed, 11 May 2016 13:51:54 +0200
+Subject: [PATCH] ANGLE: Disable support for shared handles in warp mode on
+ Windows < 8
+
+Shared handles are not supported on Windows 7 and below. If the
+according flag is set CreateTexture2D will fail with E_OUTOFMEMORY. The
+check already happens with newer ANGLE versions, which we use in 5.7
+but has to happen here as well. Otherwise Qt applications running on
+Windows 7 and below will crash at startup.
+
+Change-Id: I8f539f16dce298611fb1ec7b2f6804d4a04d04e0
+---
+ .../angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+index 223e2b0..dd554f4 100644
+--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
++++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+@@ -2370,6 +2370,19 @@ unsigned int Renderer11::getReservedFragmentUniformBuffers() const
+
+ bool Renderer11::getShareHandleSupport() const
+ {
++ if (mDriverType == D3D_DRIVER_TYPE_WARP)
++ {
++#if !defined(ANGLE_ENABLE_WINDOWS_STORE)
++ // Warp mode does not support shared handles in Windows versions below Windows 8
++ OSVERSIONINFO result = { sizeof(OSVERSIONINFO), 0, 0, 0, 0, {'\0'}};
++ if (GetVersionEx(&result) &&
++ ((result.dwMajorVersion == 6 && result.dwMinorVersion < 2) || result.dwMajorVersion < 6))
++ {
++ // WARP on Windows 7 doesn't support shared handles
++ return false;
++ }
++#endif // ANGLE_ENABLE_WINDOWS_STORE
++ }
+ // We only currently support share handles with BGRA surfaces, because
+ // chrome needs BGRA. Once chrome fixes this, we should always support them.
+ // PIX doesn't seem to support using share handles, so disable them.
+--
+2.7.0.windows.1
+