summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2
Commit message (Collapse)AuthorAgeFilesLines
* Remove ANGLELaszlo Agocs2020-05-2623-19087/+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: Decorate symbol names in MinGW .def filesOliver Wolff2019-06-032-806/+804
| | | | | | | | | In order to be able to link against the created ANGLE libraries, MinGW needs decorated symbol names inside the .def files. Task-number: QTBUG-76087 Change-Id: I090dbfb8fd468e2ea18de3785e2b694294f4b63a Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* ANGLE: clean up displays on dll unloadOliver Wolff2019-04-161-0/+2
| | | | | | | | | | 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>
* Fix ANGLE build failure with mingwMiguel Costa2018-10-171-0/+412
| | | | | | | | | | Added the files libEGLd_mingw32.def and libGLESv2d_mingw32.def that were deleted by mistake in the recent ANGLE update, causing failure when building with mingw in debug. Fixes: QTBUG-71189 Change-Id: I0bf446c3f2d189afb806bbfed2fdc1a3f70750c1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Update ANGLE to chromium/3280Miguel Costa2018-10-1327-10246/+14233
| | | | | Change-Id: I0802c0d7486f772d361f87a544d6c5af937f4ca1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Update ANGLE to chromium/2651Oliver Wolff2016-04-2513-1341/+2475
| | | | | Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* ANGLE: Fix winrt backing store to support feature level 9_3 devices.Samuel Nevala2015-10-241-0/+4
| | | | | | | | | | | 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>
* ANGLE: Fix Windows Store D3D Trim and Level 9 requirementsAndrew Knight2015-09-291-0/+2
| | | | | | | | | | | | 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: Allow Windows Phone to communicate swap regionAndrew Knight2015-05-081-0/+2
| | | | | | | | | | | | | | | | 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-09227-71190/+11398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Do not use std::strlenKai Koehne2014-12-111-1/+1
| | | | | | | | | | 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-1/+8
| | | | | | | | | | 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-246-7/+11
| | | | | | | | | | 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: Upgrade to version 1.2.30d6c255d238Andrew Knight2014-11-14141-8989/+11917
| | | | | | | | | | | | | | | | | | | | | | | | | 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: Delete the ShaderImpl on gl::Shader object destruction.Jocelyn Turcotte2014-10-271-0/+1
| | | | | | | | Cherry-picked from https://chromium-review.googlesource.com/224106 Task-number: QTBUG-41588 Change-Id: I27d75da76cec0b3341f549a3e6891c1c6d321358 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* ANGLE: Upgrade to 2.1~abce76206141Andrew Knight2014-09-29173-12421/+13256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-047-6/+52
| | | | | | | | 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-012-2/+51
| | | | | | | | 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-282-0/+17
| | | | | | | | | | | 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: upgrade to 2.1~07d49ef5350aAndrew Knight2014-08-05212-22014/+44648
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ANGLE D3D11: Don't use mipmaps in level 9 texturesAndrew Knight2014-05-091-1/+1
| | | | | | | | | | | 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>
* ANGLE WinRT: Call Trim() when application suspendsAndrew Knight2014-04-222-0/+62
| | | | | | | | | This is required by Windows Store Apps to pass certification. Task-number: QTBUG-38481 Change-Id: I6dc00431ee5f6c7d4c64111ccc38f46483d3b9a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* ANGLE: Don't export DLLMain functions for static buildsAndrew Knight2014-03-281-0/+4
| | | | | | | | | | | These ifdef guards were originally a part of "0004-Make-it-possible-to-link-ANGLE-statically-for-single.patch", but were lost during the last ANGLE upgrade. Task-number: QTBUG-37842 Change-Id: I4340c1641675dd310c14454a851eb4bc0ae2ec0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* ANGLE D3D11: Fix internal index buffer for level 9 hardwareAndrew Knight2014-03-201-75/+94
| | | | | | | | | | | | | | | | | | Some level 9 hardware does not support 32-bit indices, and in most places this is already checked. It would appear that most phone hardware actually does support 32-bit indices, and so this bug wasn't caught until testing on the Surface RT. This is not surprising, as some level 9 resources are only a minimum for the hardware spec, not the true limit of the device/driver. This patch provides the general fix to use 16-bit indices on such hardware, but a whitelist of known good GPUs should be added to enable 32-bit indices where available. Change-Id: I282ede5dd4a323037ade6c44b7cfac2c6445b491 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* ANGLE: Allow for universal program binariesAndrew Knight2014-02-261-1/+10
| | | | | | | | | | | | | | | | As a safety precaution, ANGLE writes the commit hash, optimization level, and adapter ID to its binary format. However, this hurts portability between systems by making shader pre-compilation/caching artificially system-specific. The shader compiler doesn't take the target adapter into account, and the optimization level information discarded by ANGLE anyway. So, allow ANGLE to bypass these checks on systems where precompilation is required (i.e. WinRT). The default mechanism still applies unless ANGLE_ENABLE_UNIVERSAL_BINARY is passed as a define. Change-Id: Iec6d833fd7010ed163978557238f00e7ac6ae416 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Upgrade ANGLE to 1.3.5bb7ec572d0aAndrew Knight2014-02-2686-1196/+1367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings Qt's copy of ANGLE up to ANGLE master, which contains a number of bugfixes as well as restructuring for the upcoming ES 3.0 support. This version brings considerable stability improvements to the D3D11 renderer. The static translator project files have been merged to align with the ANGLE source tree. Two new patches have been applied to fix errors in upstream ANGLE: - 0011-ANGLE-Fix-compilation-error-on-MinGW-caused-by-trace.patch The event trace header in ANGLE's third_party directory has an unused template which causes a compilation error on MinGW. Disable this part of the code. - 0012-ANGLE-fix-semantic-index-lookup.patch The sorted semantic index table was returning a direct mapping to the new indices, instead of the old indices. This caused a mismatch in the GL type lookup for the translated attribute. All other patches have been rebased, removed if no longer needed, and renamed to clear up the application order: - 0001-Fix-compilation-for-MSVC-2008-and-std-tuple.patch No changes. - 0001-Fix-compilation-with-MinGW-mingw-tdm64-gcc-4.8.1.patch No changes. Renamed to 0002. - 0001-Fix-compilation-with-MinGW-gcc-64-bit.patch No changes. Renamed to 0003. - 0001-Make-it-possible-to-link-ANGLE-statically-for-single.patch Modified patch to adapt to new DLL loading structure. Renamed to 0004. - 0005-Fix-build-when-SSE2-is-not-available.patch No changes. - 0011-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch No changes. Renamed to 0006. - 0006-Make-DX9-DX11-mutually-exclusive.patch Made the patch less invasive by allowing D3D9 code to run unless explicitly disabled (e.g. on WinRT, where it doesn't compile). This makes the patch smaller and allows Desktop Windows to compile both D3D9 and D3D11 codepaths. Renamed to 0007. - 0015-ANGLE-Dynamically-load-D3D-compiler-from-a-list-of-k.patch No changes. Renamed to 0008. - 0012-ANGLE-Support-WinRT.patch Made D3D11_level9 initialization only possible if D3D9 is disabled. This makes sure Desktop PCs use the old D3D9 codepath instead of the less-tested D3D11_level9 codepath. Renamed to 0009. - 0013-Enable-D3D11-for-feature-level-9-cards.patch Conveniently smaller patch due to buffer implementation improvements upstream. Renamed to 0010. - 0014-ANGLE-D3D11-Alwayls-execute-QueryInterface.patch This was a fix for patch 0009, so was integrated there. Removed. - 0016-ANGLE-D3D11-Fix-build-on-desktop-Windows.patch This was a fix for patch 0009, so it was integrated there. Removed. - 0001-ANGLE-Fix-compilation-with-MSVC2013.patch Fixed upstream. Removed. - 0007-ANGLE-Fix-typedefs-for-Win64.patch Fixed upstream. Removed. - 0004-Fix-black-screen-after-minimizing-OpenGL-window-with.patch The issue has been fixed in Qt itself. Removed. - 0008-DX11-Prevent-assert-when-view-is-minimized-or-.patch The cause of the problem was the same as patch 0004, but for the D3D11 codepath. Removed. Change-Id: Id69484ab3a3e013050741c462fb1b06dfb0fd112 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* ANGLE D3D11: Fix build on desktop WindowsAndrew Knight2013-12-091-1/+1
| | | | | | | This fixes a missing declaration caused by 11a2226c Change-Id: I4b8092c6b9592e886353af9193686238105a1512 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* ANGLE: Dynamically load D3D compiler from a list or the environmentAndrew Knight2013-12-091-8/+36
| | | | | | | | | | | | | | If the default compiler cannot be found, load it from a list of DLL names. On Desktop Windows, the default compiler can be specified by an environment variable, QT_D3DCOMPILER_DLL. This can also be set at compile time by a define of the same name. Otherwise, the default compiler DLL is that which is set by the Direct3D SDK. On WinRT, the default compiler is d3dcompiler_qt, which is a non-versioned compiler proxy provided by Qt. Change-Id: I0d7a8a8a36cc571836f8fa59ea14513b9b19c19b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* ANGLE: Enable D3D11 for feature level 9 cardsAndrew Knight2013-11-1718-106/+256
| | | | | | | | | | | Enable use of ANGLE on lower-end hardware, such as Surface RT and Windows Phone 8. Based on https://codereview.appspot.com/12917046/ Change-Id: Ice536802e4eedc1d264abd0dd65960638fce59e4 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-241-1/+1
|\ | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Fix compilation of ANGLE on MinGWKai Koehne2013-10-151-1/+1
| | | | | | | | | | | | | | | | This broke with commit 89f9bc9c5f873d6763e35d2f92d31c28f8fb5262. Task-number: QTBUG-34080 Change-Id: Ib3c7a3c90db7dc04f417eba4c1328390f45e5e5f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-111-1/+5
|\| | | | | | | Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
| * Fix compilation for MSVC 2008 and std::tupleThomas Hartmann2013-10-091-1/+5
| | | | | | | | | | | | | | For MSVC 2008 make_tuple is in the tr1 namespace. Change-Id: I4a51f6cabdf068993869b404b12ed1484a21a9d4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | ANGLE: Support WinRTAndrew Knight2013-10-0210-24/+180
|/ | | | | | | | | | | | | | This enables EGL for WinRT's native types, and adjusts some codepaths to accommodate differences in between desktop Windows and WinRT. - WinRT native handles added to eglplatform.h - References to native handles in libEGL/libGLESv2 follow eglplatform.h - D3D 11.1 structures and methods used when necessary - TLS replaced with thread attribute - LocalAlloc/Free replaced with Heap API Change-Id: Ia90377e700d335a1c569c2145008dd4b0dfd84d3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Update to version 2446Andrew Knight2013-09-1956-628/+1197
| | | | | | | | | | | | | | | | | | | | | | | Update ANGLE and reapply patches. Patch changes: "Dynamically resolve functions of dwmapi.dll" Removed; ANGLE no longer uses DWM API "Make it possible to link ANGLE statically for single-thread use" Avoid name collision by using ANGLE-style getCurrent() "Fix build when SSE2 is not available." Added guard for __cpuid(), which is not available on ARM "Make DX9/DX11 mutually exclusive" Adjustments due to underlying code changes "ANGLE: Avoid memory copies on buffers when data is null" Removed; fixed upstream "Add missing intrin.h include for __cpuid" Removed; fixed upstream Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix compilation of libGLESv2 with older MinGW-w64 headersKai Koehne2013-07-111-0/+19
| | | | | | | | | | | | | | | Fix compilation of libGLESv2 for mingw-headers predating MinGW-w64 svn commit 5567 (like MinGW-builds gcc 4.7.2-rev8, the toolchain we officially support). Commit 5567 added the D3DCOMPILER_DLL define to d3dcompiler.h, but with a trailing semicolon that has then fixed in commit 5783. Any toolchain that ships MinGW-w64 headers from a version in between (like MinGW-builds gcc 4.7.2-rev11) will unfortunately remain broken. Change-Id: I31272a1a991c4fc0f1611f8fb7510be51d6bb925 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix def files for Mingw (32 bit)Kai Koehne2013-04-232-0/+4
| | | | | | | | Add missing symbols. Change-Id: I73579f13b0cbc8b4b405a50b3745785e088cf82d Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add missing intrin.h include for __cpuidKai Koehne2013-04-231-0/+2
| | | | | | | | | This is already fixed upstream in https://codereview.appspot.com/8615046/patch/1/2 Change-Id: I4b9e865f6b5622c484418a8381334381bc256887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Avoid memory copies on buffers when data is nullAndrew Knight2013-04-082-7/+18
| | | | | | | | With data=0, ANGLE can crash when setting the buffer data. As this should be a legal operation, don't perform a memcpy when data is null. Change-Id: I3fa1260482549b1da50d7a68001a65decb98f258 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE DX11: Prevent assert when view is minimized or size goes to 0x0Andrew Knight2013-04-081-0/+3
| | | | | | | | | | | | | This allows the Direct3D 11 version of ANGLE to gracefully allow surfaces with dimensions of 0. This is important because Qt may resize the surface to 0x0 because of window minimization or other user action (window resize). As EGL specifies that empty (0x0) surfaces are valid, this makes sure an assert doesn't occur in the case that a valid surface is resized to an empty one. Change-Id: Ia60c4c694090d03c1da7f43c56e90b925c8eab6d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Upgrade ANGLE to DX11 ProtoAndrew Knight2013-04-08131-9633/+24608
| | | | | | | | | | | | | | | Upgrades ANGLE to dx11proto (dx11-MRT-support tag), which splits out support for DirectX9 & DirectX11. The DX9 codepath is used by default; CONFIG+=angle_d3d11 must be passed to the ANGLE project to build for DX11. Existing patches to ANGLE have been updated (or removed if no longer needed), and a patch has been added to make DX9/DX11 codepaths mutually exclusive. Change-Id: Ibe13befadb94f04883eca449d0ee1f0da955ff92 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Axel Waggershauser <awagger@gmail.com>
* ANGLE: Fix static build.Friedemann Kleint2013-02-251-9/+23
| | | | | | | | | | | | | Introduce QT_OPENGL_ES_2_ANGLE_STATIC define for static builds and modify export accordingly. Provided static instances of gl::Current and egl::Current for Qt's single threaded use. Task-number: QTBUG-28196 Change-Id: Ia75699d6da103fb8dd9d5fe97c1ee51e48a74406 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix linking ANGLE on MinGW-w64 64-bitJonathan Liu2012-12-202-0/+0
| | | | | | | | | | | The MinGW-w64 32-bit .def files shouldn't be used with MinGW-w64 64-bit. Rename .def files from <library>_mingw.def to <library>_mingw32.def and only use them if QT_ARCH is i386. Change-Id: I5dc2a87f7d2ed59bf954faf2983d0787ed9e00e9 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Patrick von Reth <vonreth@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix linking ANGLE on MinGW-w64 32-bitJonathan Liu2012-12-192-0/+364
| | | | | | | | | MinGW-w64 32-bit requires the functions exported in the .def file to be decorated. Change-Id: I174a92829706a9fb6b0007b2c057300bd69e6d9e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* ANGLE: Fix debug-and-release buildsFriedemann Kleint2012-12-011-0/+182
| | | | | | | | | | | | | | | Add a 'd' to debug builds to allow both release and debug builds to be used. - Add .def-files for Debug - Build all libraries debug/release - Add description to README.qt - Differentiate debug/release in qmake.conf. Task-number: QTBUG-28196 Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Fix build when SSE2 is not available.Andy Shaw2012-11-281-0/+4
| | | | | | | | | Although SSE2 support is detected at runtime it still may not be available at build time, so we have to ensure it only uses SSE2 when it is available at build time too. Change-Id: I86c45a6466ab4cec79aa0f62b0d5230a78ad825a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-2448-0/+30067
ANGLE is a component that implements the OpenGL ES 2.0 API on top of DirectX 9. See the following for more info: http://code.google.com/p/angleproject/ ANGLE is now the default configuration on Windows. If you want to use desktop OpenGL, you should build Qt with the following configure options: -opengl desktop To configure Qt to use another OpenGL ES 2 implementation, you should use: -opengl es2 -no-angle Task-number: QTBUG-24207 Change-Id: Iefcbeaa37ed920f431729749ab8333b248fe5134 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>