summaryrefslogtreecommitdiffstats
path: root/src/angle/patches
Commit message (Collapse)AuthorAgeFilesLines
* Remove ANGLELaszlo Agocs2020-05-2620-1156/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks the end of EGL and OpenGL ES support on Windows. The concepts of -opengl dynamic, -opengl desktop, QT_OPENGL=software, etc. remain unchanged, with the exception of the disapperance of everything ANGLE related. CMake builds now work identically to qmake on Windows: they default to 'dynamic' OpenGL on Windows, unless -DINPUT_opengl=desktop is specified. On Windows, Qt 6 is expected to default to the "dynamic" OpenGL model by default, just like Qt 5.15. This can be changed by switching to "desktop" OpenGL, which will link to opengl32 (publicly, so other libs and applications will do so as well) and disallows using another OpenGL DLL. The "dynamic" mode is essential still because the fallback to a software rasterizer, such as the opengl32sw.dll we ship with the Qt packages, has to to work exactly like in Qt 5, the removal of ANGLE does not change this concept in any way (except of course that the middle option of using ANGLE is now gone) When it comes to the windows plugin's OpenGL blacklist feature, it works like before and accepts the ANGLE/D3D related keywords. They will then be ignored. Similarly, requesting QT_OPENGL=angle is ignored (but will show a warning). The D3D11 and DXGI configure time tests are removed: Qt 5.14 already depends on D3D 11.1 and DXGI 1.3 headers being available unconditionally on Win32 (in QRhi's D3D11 backend). No need to test for these. [ChangeLog][Windows] ANGLE is no longer included with Qt. Dynamic OpenGL builds work like before but ANGLE is no longer an option. OpenGL proper or an alternative opengl32 implementation are the two remaining options now. Attempting to set QT_OPENGL=angle or Qt::AA_UseOpenGLES will have no effect on Windows. Fixes: QTBUG-79103 Change-Id: Ia404e0d07f3fe191b27434d863c81180112ecb3b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* ANGLE: d3d11: Do not register windows message hooks for d3d11 windowsOliver Wolff2020-04-021-0/+45
| | | | | | | | | | | | | | | | These message hooks are used to handle ALT+ENTER to enter/exit fullscreen mode and PRINTSCREEN to take screenshots. Qt is implementing these functionalities itself so we do not have to register these hooks. If too many of these hooks are registered, callbacks are no longer called and Qt's message queue is no longer handling messages. By saving these hooks we can make sure that more Qt windows at the same time are possible without getting unresponsive due to too many hooks being registered. Change-Id: I5354f91f08cbfeda5e8dc3ad7f824fbd5b3b2932 Reviewed-by: Dominik Holland <dominik.holland@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* ANGLE: Fix resizing of windows (Take 2)Oliver Wolff2020-03-241-0/+27
| | | | | | | Task-number: QTBUG-62475 Change-Id: I0ea17e7875906508941ae64bb396a4236928b0f9 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* ANGLE: Fix severe performance regressionOliver Wolff2020-03-121-0/+37
| | | | | | | | | | The changed buffer usage priority that was introduced in our ANGLE update caused severe performance regressions for Qt applications. Fixes: QTBUG-73835 Change-Id: I49839bb272cdeec0027264f2751b88bc149665ad Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* ANGLE: Invalidate client window area when resizing swap chainVal Doroshchuk2019-06-211-0/+37
| | | | | | | | | | | | | | | | | | | | Inspired by: https://codereview.appspot.com/6812076/ 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. Was added to D3D9. Improving a fix from Filippo Cucchetto: https://codereview.qt-project.org/c/qt/qtbase/+/195336 and pushing to D3D11. ifndef protects against compilation error for WinRT. Invalidate() should be used only for desktop apps. Task-number: QTBUG-46074 Change-Id: Ie24b8dffe130b970f2362337ac4f9bee666f82b2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* ANGLE: Backport fix for compilation on mingw/64bit with clangMartin Storsjö2019-05-081-0/+35
| | | | | | | | This backports the following upstream fix from angle: https://github.com/google/angle/commit/63cc351fbad06c6241d1c7372fe76f74e1d09a10 Change-Id: Id80dba62c69f3505eb836f758367b4bf054b1fd5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* ANGLE: clean up displays on dll unloadOliver Wolff2019-04-161-0/+78
| | | | | | | | | | If the displays are not cleaned up on dll unloading, profilers might report memory leaks. Change-Id: I04cbc3c2448bfb450f7d840e216827f86856e963 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Revert "Fix compilation with icc, converting between egl's and gl's Error types"Oliver Wolff2019-03-201-93/+0
| | | | | | | | | | | | | The patch causes an Assert on close and thus cannot be used as is. I do not have ICC available to try to come up with an alternative solution so the patch is reverted for the time being. This reverts commit 93a78799c3df7c8859b2d9addad45bb4a535dc97. Fixes: QTBUG-74467 Change-Id: Ic572dfa667a479686675eb3f9066d133657b4499 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Yuhang Zhao <2546789017@qq.com>
* Fix compilation with icc, converting between egl's and gl's Error typesYuhang Zhao2019-02-181-0/+93
| | | | | | | | | | | | | | Each has two constructors from the other, one copying the other moving; and this leads to an ambiguous overload when converting Texture::onDestroy()'s gl::error to the egl::Error that gl::Context::onDestroy() returns. Passing the value through a temporary prevents the move-constructor from being attempted and saves the day. Thanks to Ville Voutilainen for suggesting the fix. Fixes: QTBUG-73698 Change-Id: I628173399a73cee2e253201bc3e8d3e6477a2fbf Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* ANGLE: Dynamically load D3D compiler from a listOliver Wolff2018-12-111-0/+59
| | | | | | | | | | | | If the default compiler cannot be found, load it from a list of DLL names, including a non-versioned proxy DLL provided by Qt. On Desktop Windows, the default compiler can also be specified by an environment variable, QT_D3DCOMPILER_DLL. Change-Id: I590bb11e58339451d187860c449b0209c1ca0578 Reviewed-by: Dmitry Kazakov <dimula73@gmail.com> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Add Windows Desktop arm64 target to QtbaseThomas Miller2018-11-111-0/+63
| | | | | | | | | Allows a qt build to be configured to target arm64 desktop apps cross platform and build them with nmake. Change-Id: I99fed12047b45a504a1644201bcc19b18c69f3e6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Update ANGLE to chromium/3280Miguel Costa2018-10-1325-2479/+496
| | | | | Change-Id: I0802c0d7486f772d361f87a544d6c5af937f4ca1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* [Backport] Remove usage of auto_ptr in MacroExpanderCorentin Wallez2018-06-211-0/+31
| | | | | | | | BUG=angleproject:1269 Task-number: QTBUG-68954 Change-Id: Ie4ebea85bc3721e79c7414dea62ca7a042b2421c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* ANGLE: Fix resizing of windowsOliver Wolff2017-12-131-0/+57
| | | | | | | | | | | | Use the correct height/width values when calculating the vector for resizing the window content and the new size as viewport size. Task-number: QTBUG-62475 Change-Id: I33a8dc1379a908e991b04bc31dfc6254a6d005c9 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* ANGLE: D3D11: Fix shared handle support detection for WARP when MinGW is usedOliver Wolff2017-11-301-9/+0
| | | | | | | | | | | | The MinGW version we support supports IsWindows8OrGreater so that we can check the windows version properly. As the OpenGL detection falls back to WARP in case of RDP it was possible, that shared handles were wrongly stated as supported, which caused crashes in users' code. Task-number: QTBUG-64657 Change-Id: Iaca2bd169f2764cf6ec68a1d36112a735246b29a Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* ANGLE: Fix build for newer MinGW versionsOliver Wolff2017-08-021-0/+32
| | | | | | | | | | | Availability of D3D11_QUERY_DATA_TIMESTAMP_DISJOINT depends on the used MinGW version so that the check for MINGW is not sufficient. The newly added configure test can be used for every toolset. Task-number: QTBUG-57916 Change-Id: Ia9cb48f3e673841101a93cbc8ea23aff9547f639 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* ANGLE: Fix flickering on resize when D3D9 is usedOliver Wolff2017-07-031-0/+157
| | | | | | | | | | | By reverting ANGLE change d3b84ab51db09de238459b0dff2e8420c09aabf3 we get rid of the flickering that happens on resize when D3D9 is used. The issue that was fixed there is not relevant in Qt's context so it is safe to revert the change. Task-number: QTBUG-59893 Change-Id: I9306314b892612fbd1f7a058a2e606aedc0367bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* ANGLE: Fix crash with ltcg on Visual Studio 2015 Update 3Oliver Wolff2017-06-131-0/+110
| | | | | | | | | | | | | Release builds of applications that used Qt configured with "link time code generation" crashed (memory access violation), when calling GetInternalFormatInfo in Context::initCaps. It looks like this is a compiler problem that can be avoided by not using a reference for the return value. Task-number: QTBUG-55718 Change-Id: Ic1fb95d7b518a49859f41c819e860864387a8d3c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* ANGLE: Fix initialization of zero-sized windowMaurice Kalinowski2016-08-171-0/+32
| | | | | | | | | | | The clientRect might be empty when creating a window of zero size. The side effect of a division by zero is that matrix transformation fails and hence the swapchain gets into an invalid state. Change-Id: Idbaed72deadb7b87052ac27e194a40d1810e6f7a Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* ANGLE: fixed usage of shared handles for WinRT/WinPhone applicationsOliver Wolff2016-05-201-0/+57
| | | | | | | | Both checks are not relevant in Qt's context and were skipped before but they sneaked back in with the latest ANGLE update. Change-Id: Ic44de5468a3254afd76ef4804d97d245676daeb1 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-191-0/+44
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp src/network/access/qnetworkaccessmanager.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h src/widgets/widgets/qlineedit_p.cpp src/widgets/widgets/qlineedit_p.h src/winmain/winmain.pro tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp tools/configure/configureapp.cpp Change-Id: Ib9997b0d0f91946e4081d36c0c6b696c5c983b2a
| * ANGLE: Disable support for shared handles in warp mode on Windows < 8Oliver Wolff2016-05-121-0/+44
| | | | | | | | | | | | | | | | | | | | | | 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 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Fix ANGLE glGetUniform*v functions to work properly with arraysMiikka Heikkinen2016-05-091-0/+31
| | | | | | | | | | | | | | | | | | | | glGetUniform*v functions are supposed to return just a single array element, so returning the whole array is always incorrect. Task-number: QTBUG-53072 Change-Id: I22f05d420082d4d9de06d975b3d0f5e64d3e0c41 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Fix MinGW 5.3.0 build of ANGLEOliver Wolff2016-05-021-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | D3D11_QUERY_DATA_SO_STATISTICS is no part of d3d11sdklayers.h and thus not covered by the ANGLE_MINGW32_COMPAT define. The struct is defined in d3d11.h and will be available in an upcoming version of MinGW (see https://sourceforge.net/p/mingw-w64/mingw-w64/ci/a0cd5afeb60be3be0860e9a203314c10485bb9b8/ ). As soon as the MinGW version that includes the change is known, the __MINGW32__ check should be replaced by a proper version check. Change-Id: I774f24432b375fdf9c559449f266cc04a4905275 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Update ANGLE to chromium/2651Oliver Wolff2016-04-2513-1365/+1010
|/ | | | | Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-271-0/+36
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_p.h src/network/ssl/qsslsocket_mac.cpp src/network/ssl/qsslsocket_mac_p.h src/widgets/kernel/qwidget.cpp Change-Id: I39592cb37d710dfaf8640769ba3c1b637927d7f4
| * ANGLE/D3D11: Suppress keyboard handling of DXGI.Friedemann Kleint2015-11-231-0/+36
| | | | | | | | | | | | | | | | | | Set the DXGI_MWA_NO_ALT_ENTER to suppress the Alt-Enter shortcut causing the window to become full screen. Task-number: QTBUG-44904 Change-Id: Ia4156ddee37a8a3da6e9e3130022c63a674f4429 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | ANGLE: Fix winrt backing store to support feature level 9_3 devices.Samuel Nevala2015-10-241-0/+38
| | | | | | | | | | | | | | | | | | | | | | Partially revert c7abf81786f4a0c. Instead of using the ES3 entry point, use ES2 for framebuffer blitting. This means that a small change is required to ANGLE for the blit behave the same as ES3 (applied only for Windows Store apps). Task-Id: QTBUG-48266 Change-Id: Idc51f00a659c91f740876be071eb71bff69e0e38 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-131-0/+57
|\| | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qabstractsocket.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp src/sql/drivers/mysql/qsql_mysql.cpp Change-Id: Ifb73623d09f53340ee5e10283f1f86b580998902
| * ANGLE: Fix D3D feature level detection.Samuel Nevala2015-10-021-27/+21
| | | | | | | | | | | | | | | | | | | | | | | | Commit 7943d4f tried to fix this with a switch/case, but the feature levels need to be in descending order so this failed. So, follow the same style used for feature levels 10/11. Change-Id: Ia1c22981bf8b99eb53df13833aba452482398295 Task-number: QTBUG-38481 Task-number: QTBUG-48571 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * ANGLE: Fix Windows Store D3D Trim and Level 9 requirementsAndrew Knight2015-09-291-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | Due to additional validation not covered in previous patches, the Windows Store certification compatibility had regressed. These changes ensure that the required D3D behaviors are met. Change-Id: I0a74f0d2fecaa87d4a9409da3a7a194254609759 Task-number: QTBUG-38481 Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | ANGLE: Use pixel sizes in the XAML swap chainAndrew Knight2015-08-131-0/+361
|/ | | | | | | | | | | | | | This is necessary for Qt applications, as they render to GL in physical pixels. This is consistent with the CoreWindow swap chain behavior. This includes a partial revert of "ANGLE: Improve Windows Phone Support" as the modifications to SwapChain11 are incompatible with the XAML swap chain. This change only affects Windows Runtime targets. Change-Id: I401ae81028a9dfdb9da37f51c60844467c476f76 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* ANGLE: Fix compilation without d3d11Kai Koehne2015-05-281-0/+57
| | | | | | Change-Id: I0b772698cf521083e5ecf35a395af57100a50131 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* ANGLE: Allow Windows Phone to communicate swap regionAndrew Knight2015-05-081-0/+145
| | | | | | | | | | | | | | | | eglPostSubBufferNV is used to communicate the size of the window, as otherwise there is no way for the renderer to know if the last frame was rendered in landscape or portrait, causing rendering glitches when the orientation changes. The rotation flags are utilized in a few additional places now to fix some corner cases where the rotation was not applied. This patch should be squashed into "ANGLE-Improve-Windows-Phone-Support" during the next ANGLE rebase. Task-number: QTBUG-44333 Task-number: QTBUG-43502 Change-Id: Iec37f7531854184819c30c87eab82d96d56ff133 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Upgrade ANGLE to 2.1~99f075dade7cAndrew Knight2015-04-0919-3278/+1828
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This aligns with Chromium branch 2356. This version brings more complete OpenGL ES 3 support as well as various bug fixes and performance improvements. The following changes were made to earlier patches: -0000-General-fixes-for-ANGLE-2.1 Removed. All changes are now handled elsewhere. +0001-ANGLE-Improve-Windows-Phone-support Consolidated remaining parts from 0009/0010. +0002-ANGLE-Fix-compilation-with-MinGW Remaining issues from patch 0016. +0003-ANGLE-Fix-compilation-with-MSVC2010 Remaining issues from patch 0015. +0004-ANGLE-Dynamically-load-D3D-compiler-from-list Renamed from patch 0008. +0005-ANGLE-Add-support-for-querying-platform-device Renamed from patch 0013. -0004-Make-it-possible-to-link-ANGLE-statically-for-single Removed. Fixed by adding defines to project files. -0008-ANGLE-Dynamically-load-D3D-compiler-from-a-list-or-t Renamed to patch 0005. -0009-ANGLE-Support-WinRT Removed. Mostly fixed upstream; remaining parts in patch 0001. -0010-ANGLE-Enable-D3D11-for-feature-level-9-cards Removed. Mostly fixed upstream; remaining parts in patch 0001. -0012-ANGLE-fix-semantic-index-lookup Removed. Fixed upstream. -0013-ANGLE-Add-support-for-querying-platform-device Renamed to patch 0005. -0014-Let-ANGLE-use-multithreaded-devices-if-necessary Removed. No longer needed. -0015-ANGLE-Fix-angle-d3d11-on-MSVC2010 Moved remaining parts to patch 0003. -0016-ANGLE-Fix-compilation-with-MinGW-D3D11 Moved remaining parts to patch 0002. -0017-ANGLE-Fix-compilation-with-D3D9 Removed. Fixed upstream. -0018-ANGLE-Fix-releasing-textures-after-we-kill-D3D11 Removed. Fixed upstream. -0019-ANGLE-Fix-handling-of-shader-source-with-fixed-lengt Removed. Fixed upstream. -0020-ANGLE-Do-not-use-std-strlen Removed. Fixed upstream. -0020-ANGLE-Fix-compilation-with-MSVC2013-Update4 Removed. Fixed upstream. [ChangeLog][Third-party libraries] ANGLE was updated to Chromium branch 2356 (2.1~99f075dade7c). Change-Id: I32ccbfe95e10986bd94be7191dfd53445ea09158 Task-number: QTBUG-44815 Task-number: QTBUG-37660 Task-number: QTBUG-44694 Task-number: QTBUG-42443 Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* [ANGLE] Fix compilation with MSVC2013 Update4Maurice Kalinowski2014-12-151-0/+43
| | | | | | | | | | Update4 provides a native Sleep implementation. Hence the wrapper needs to be disabled. Change-Id: I162da45934b02c262ac09b557c66c3363c276e54 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* ANGLE: Do not use std::strlenKai Koehne2014-12-111-0/+30
| | | | | | | | | | This is a cherry-pick from upstream change e7cfb3dd2029c1bfe5c175ad994c03cac221ad4d Change-Id: Iefe01545319f9ad268c0c6bf8e8b2181e09d8a84 Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* ANGLE: Fix handling of shader source with fixed lengthAndrew Knight2014-12-031-0/+37
| | | | | | | | | | This is a cherry-pick of upstream f60fab6d154f4c9bf599e92976cd8cee7f8633e0 (See https://chromium-review.googlesource.com/231612) Task-number: QTBUG-42882 Change-Id: I7b4bdc4b68a1b93ff514f09ce35dbf4e9360af9b Reviewed-by: Marko Kangas <marko.kangas@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* ANGLE: Fix releasing textures after we kill D3D11Kai Koehne2014-11-241-0/+106
| | | | | | | | | | Cherry-pick upstream commit cc4cd2925b9a4f1142a86df131345a861c9d7cd9 to fix crashes on exit. Task-number: QTBUG-42772 Change-Id: Ib74be17f2b5fdd58f9e0568e1da74ba19e943019 Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* ANGLE: Fix compilation with D3D9Kai Koehne2014-11-171-0/+62
| | | | | | | | | Fixes a regression introduced in c6df5fe3ed0f2a722 that broke compilation with d3d9 (namely, -target xp). Task-number: QTBUG-42714 Change-Id: I1a5e9682d5463bfa082a5d0c062399a131a7cf52 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* ANGLE: Upgrade to version 1.2.30d6c255d238Andrew Knight2014-11-1415-2951/+1286
| | | | | | | | | | | | | | | | | | | | | | | | | The following patches have been changed: 0001-Fix-compilation-for-MSVC-2008-and-std-tuple.patch Removed because it is no longer possible to build ANGLE with MSVC2008 0002-Fix-compilation-of-ANGLE-with-mingw-tdm64-gcc-4.8.1.patch Removed because the minimum version of MinGW moved to 4.8.2 0005-Fix-build-when-SSE2-is-not-available.patch Removed because it was fixed upstream 0006-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch Removed because older versions of MinGW are not supported 0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch Removed because it was fixed upstream Task-number: QTBUG-41903 Change-Id: I976d30802f7f6fee725cf9a9f1325d5e82609835 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* ANGLE: Upgrade to 2.1~abce76206141Andrew Knight2014-09-2917-865/+1912
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade to address issues discovered since the last upgrade. Patch notes: 0000-General-fixes-for-ANGLE-2.1.patch added removal of the unused third-party tracing functions 0003-Fix-compilation-with-MinGW-gcc-64-bit.patch removed as it is no longer needed 0011-ANGLE-Fix-compilation-error-on-MinGW-caused-by-trace.patch removed as it is no longer needed 0016-ANGLE-Fix-compilation-with-MinGW-D3D11.patch now supports MinGW 64-bit [ChangeLog][Third-party libraries] ANGLE updated to 2.1~f8602ad91e4f Task-number: QTBUG-40649 Task-number: QTBUG-40658 Task-number: QTBUG-41031 Task-number: QTBUG-41081 Task-number: QTBUG-41308 Task-number: QTBUG-41563 Change-Id: I9f776c8d5cb94ddb12d608a8d5630bfc54437bea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* ANGLE: Fix compilation with MinGW + D3D11Andrew Knight2014-09-041-0/+175
| | | | | | | | Provide workarounds for things GCC doesn't like, and define a number of macros not found in the MinGW headers. Change-Id: I254c208209c0071fae5efb6727f2b3cfd5542da6 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* ANGLE: Fix -angle-d3d11 on MSVC2010Andrew Knight2014-09-011-0/+203
| | | | | | | | Allow the D3D11 renderer to build with the June 2010 DirectX SDK. Change-Id: I2343acedab16845d6a0d4a53cf3145f583efc4a7 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Let ANGLE use multithreaded devices if necessary.Michael Brüning2014-08-281-0/+72
| | | | | | | | | | | This is needed to prevent lock-ups in application that use ANGLE from multiple threads, as e.g. QtWebEngine based applications do. The environment variable QT_D3DCREATE_MULTITHREADED is used to communicate this from the QtWebEngine module. Change-Id: Ibd5a5c75eb68af567d420d9a35efb3490c93b27c Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* ANGLE: Add support for querying platform deviceAndrew Knight2014-08-051-0/+97
| | | | | | | | | | | | | | | | The EGL_EXT_device_base extension allows for querying the platform device of the graphics hardware via eglQueryDisplayAttribEXT(). As that extension is not supported by ANGLE, this patch adds similar functionality to the existing eglQuerySurfacePointerANGLE API. When EGL_DEVICE_EXT is passed as the queried attribute, the underlying D3D/DXGI device pointer is passed back to the caller via the value argument. The D3D device is needed for video support in QtMultimedia as well as the IDXGIDevice3::Trim() calls required by the Windows Store. Change-Id: Ibdf228d81d6604e56db9dd8597d7cd2983ebc428 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* ANGLE: upgrade to 2.1~07d49ef5350aAndrew Knight2014-08-0520-2121/+2272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version of ANGLE provides partial ES3 support, numerous bug fixes, and several potentially useful vendor extensions. All patches have been rebased. The following changes are noted: 0000-General-fixes-for-ANGLE-2.1.patch contains compile fixes for the new ANGLE 0004-Make-it-possible-to-link-ANGLE-statically-for-single.patch has incorporated patch 0015. 0007-Make-DX9-DX11-mutually-exclusive.patch has been removed as it was fixed upstream. 0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch has been moved up to fill the patch number gap. 0010-ANGLE-Enable-D3D11-for-feature-level-9-cards.patch now contains patch 0014 and 0017. 0013-ANGLE-Allow-for-universal-program-binaries.patch has been removed as it is no longer relevant. 0014-ANGLE-D3D11-Fix-internal-index-buffer-for-level-9-ha.patch has been merged with patch 0010. 0015-ANGLE-Don-t-export-DLLMain-functions-for-static-buil.patch has been merged with patch 0004. 0016-ANGLE-WinRT-Call-Trim-when-application-suspends.patch has been removed and will be replaced by a follow-up patch using a different technique. 0017-ANGLE-D3D11-Don-t-use-mipmaps-in-level-9-textures.patch has been merged with patch 0010. 0018-ANGLE-WinRT-Create-swap-chain-using-physical-resolut.patch has been removed and will be replaced by a follow-up patch extending the EGL_ANGLE_window_fixed_size extension. 0019-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch is now patch 0007. [ChangeLog][Third-party libraries] ANGLE has been upgraded to version 2.1, bringing partial support for OpenGL ES3 over Direct3D 11, numerous bug fixes, and several new vendor extensions. Change-Id: I6d95ce1480462d67228d83c1e5c74a1706b5b21c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix ANGLE build with Microsoft Visual Studio "14" CTPThiago Macieira2014-06-201-0/+28
| | | | | | | This version has a few new C99 support added, including snprintf. Change-Id: I5776456fd94254a64f08791f59bc775cb24c9b7f Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* ANGLE WinRT: Create swap chain using physical resolutionAndrew Knight2014-05-221-0/+145
| | | | | | | | | | | | ANGLE has been creating the framebuffer in logical pixels instead of physical pixels, which leads to unexpected results and side effects like smudged anti-aliased text. This fixes the issue by multiplying the DIP resolution by the scale factor, making the framebuffer match the physical pixel resolution of the screen. Change-Id: I3594995ce8e18a31b47e27165f72bc6a391b97b6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* ANGLE D3D11: Don't use mipmaps in level 9 texturesAndrew Knight2014-05-091-0/+31
| | | | | | | | | | | As the mipmaps levels aren't being generated on level 9, they shouldn't be used. Fall back to multisampled textures instead (which is the behavior for non-power-of-two textures anyway). This fixes an issue in which textured polygons (e.g. QML Images) turn black when scaled down. Change-Id: I648b8be473dc38f4e1b26724cbaff610e586fdbd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>