summaryrefslogtreecommitdiffstats
path: root/src/angle/src/libGLESv2
Commit message (Collapse)AuthorAgeFilesLines
* Remove ANGLELaszlo Agocs2020-05-261-12/+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>
* Restore behavior of using libEGL and libGLESv2 as default for angleOliver Wolff2017-05-111-0/+12
| | | | | | | | | | | | | | | | | As Qt applications using OpenGL are linked against these libs, merging them into QtANGLE by default (780105f9062dec350bbe2a6800c40db3e6382578) was a binary incompatible change. This change restores the default behavior to the one before given change. If the user wants the libraries to be merged, he can pass combined-angle-lib to configure. Task-number: QTBUG-60373 Change-Id: Iedbd3f2ce9284fdde924cfae8d915d6d5fef00db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge ANGLE's libEGL and libGLESv2 into QtANGLEJan Arve Saether2016-10-281-614/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed in order to be able to specify a custom location of the ANGLE libs, and enables us to perform a LoadLibrary of ANGLE libs by just having the absolute path to QtANGLE.dll as the argument to LoadLibrary(). Previously, we had two ANGLE libraries: libEGL and libGLESv2. libEGL hard linked against libGLESv2. If we wanted to load libEGL from a custom location, we couldn't load libEGL by calling LoadLibrary with the absolute path to libEGL, because libEGL had problems finding libGLESv2. One solution to that could have been to call SetDllDirectory() with the path to the ANGLE libs before calling LoadLibrary("libEGL.dll"). Since the DLL directory would point to both ANGLE libs, this would ensure that the libGLESv2 was also found. Unfortunately, this approach is not thread safe (SetDllDirectory will affect all subsequent LoadLibrary(Ex) from the same process). Therefore, we chose to merge the two libraries into one to circumvent the whole problem. At the same time, this patch also enables loading of two different ANGLE libraries into the same process at once without renaming them: This was not possible before because libEGL hard linked to libGLESv2.dll. When libGLESv2.dll was already loaded, the second instance of libEGL would simply link against the already loaded version of libGLESv2.dll. This behavior is documented in the LoadLibraryEx documentation on MSDN: "If the string specifies a module name without a path and more than one loaded module has the same base name and extension, the function returns a handle to the module that was loaded first." Change-Id: Ic1d886ba802be72ddcf01235bafaedcef662762e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-231-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/angle/src/libGLESv2/libGLESv2.pro src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp Change-Id: If8da4cfe8f57fea9f78e7239f378a6302c01674e
| * don't duplicate CONFIG+=installedOswald Buddenhagen2016-06-221-1/+1
| | | | | | | | | | | | | | | | | | the included common.pri already does it. amends 9ab41425. Change-Id: If8c9285b92485b6574fde2adc2b92cc44f139ea0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Update ANGLE to chromium/2651Oliver Wolff2016-04-251-12/+44
|/ | | | | Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* ANGLE: Do not use march=nativeOliver Wolff2016-04-061-1/+1
| | | | | | | | | | That configuration causes gcc to create non portable code and thus should not be used. Task-number: QTBUG-51938 Change-Id: Ib134bd0b12811c15805943180c41af8f411e6453 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Rename ANGLE libs in order to not conflict with other ANGLE libsJan Arve Saether2015-12-011-2/+4
| | | | | | | | | | | | | | | | This is needed to be able to use Qt (with dynamic ANGLE) in a plugin while the host runs a different version of Qt (and ANGLE). In addition to changing the LIBEGL_NAME and LIBGLESV2_NAME variables you also need to update the value of the LIBRARY definition in the .def files for ANGLE: qtbase/src/3rdparty/angle/src/libGLESv2/libGLESv2[d?].def qtbase/src/3rdparty/angle/src/libGLESv2/libEGL[d?].def Task-number: QTBUG-48431 Change-Id: Idd00d039ba3e20cc0ec7496bee36ed1c90383b0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* ANGLE: fix DllMain collision in static buildsAndrew Knight2015-05-281-0/+2
| | | | | | | | | | | The symbol is simply renamed in static builds, allowing wrappers of the library to still call the function if needed. Task-number: QTBUG-46209 Change-Id: I5d4ad2df59f206a3794b99364d122f9d0f12f8c6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* remove redundant definition of ANGLE_ENABLE_D3D11Oswald Buddenhagen2015-04-211-1/+1
| | | | | | | config.pri already defines it (as needed). Change-Id: If0e87d23a560c6de37457b2d8d3a84b6dc16396f Reviewed-by: Andrew Knight <qt@panimo.net>
* Upgrade ANGLE to 2.1~99f075dade7cAndrew Knight2015-04-091-270/+490
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Upgrade to version 1.2.30d6c255d238Andrew Knight2014-11-141-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | 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-291-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Don't directly link to DirectX 11Andrew Knight2014-09-011-3/+1
| | | | | | | These libraries are dynamically loaded on desktop Windows. Change-Id: I3a0d17a48a3bd4930690d20d387df0d92906662d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: upgrade to 2.1~07d49ef5350aAndrew Knight2014-08-051-148/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* centralize auxiliary lib creationOswald Buddenhagen2014-04-281-9/+2
| | | | | | | | | | | | this covers convenience libraries which are linked into dlls (if we are not building statically) and "proper" (installed) builds of 3rdparty code. Change-Id: I2f00248c0baa0e73346e477724bf49bbc62ba925 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Upgrade ANGLE to 1.3.5bb7ec572d0aAndrew Knight2014-02-261-77/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Replace win32-g++ with mingw scopeKai Koehne2014-01-171-1/+1
| | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-261-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * use private linkage where possibleOswald Buddenhagen2013-10-311-4/+4
| | | | | | | | | | | | Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | ANGLE: Enable D3D11 for feature level 9 cardsAndrew Knight2013-11-171-4/+4
|/ | | | | | | | | | | 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>
* ANGLE: Update to version 2446Andrew Knight2013-09-191-12/+15
| | | | | | | | | | | | | | | | | | | | | | | 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>
* put ANGLE includes in a QtANGLE subdirOswald Buddenhagen2013-06-101-2/+2
| | | | | | | | | otherwise even non-angle builds with pre-generated headers will get them into their include path, which is Not Good (tm). Change-Id: Ie98354297baf3564ef82b3d4a32e5763e625b8f2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* ANGLE: Fix compilation with MinGWKai Koehne2013-04-221-1/+1
| | | | | | | | Make sure ImageSSE2.cpp is compiled with the right flags (-msse2) Change-Id: I410bbd1fd78112d01ebd486908cd22d827e2e472 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Upgrade ANGLE to DX11 ProtoAndrew Knight2013-04-081-27/+159
| | | | | | | | | | | | | | | 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>
* Fix linking ANGLE on MinGW-w64 64-bitJonathan Liu2012-12-201-1/+1
| | | | | | | | | | | 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-191-1/+4
| | | | | | | | | 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>
* remove obsolete DEPENDPATH assignmentsOswald Buddenhagen2012-12-171-1/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: Ie57cf05c369e21b5b9e099b6ce9be4f75da1508f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* ANGLE: Always use DEF_FILE on WindowsJonathan Liu2012-12-171-1/+1
| | | | | | | | | | Building ANGLE with MinGW results in too many symbols being exported in the DLLs. Always use DEF_FILE on Windows to limit the symbols exported and eliminate symbol conflicts when libEGL/libGLESv2 is linked by other libraries that include their own version of ANGLE (e.g. QtWebKit). Change-Id: I7bb1f90d9996eabf30095323e9399efa1c23e3a1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Fix debug-and-release buildsFriedemann Kleint2012-12-011-1/+3
| | | | | | | | | | | | | | | 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-1/+2
| | | | | | | | | 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>
* Build fix when building libGLESv2 on Windows with MSVC 2010Andy Shaw2012-11-281-2/+1
| | | | | | | | | Although SSE2 is not used, texture.cpp does not protect calls to these functions, support for SSE2 is checked at runtime so the code needs to be compiled in. Change-Id: Ie14d0ff6b75448e480236d5d30254f107735b77f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Improve Direct X SDK detection in configure.exeFriedemann Kleint2012-11-061-0/+1
| | | | | | | | | | | | | Check presence of Direct X SDK depending on compiler version. Check for presence of the headers d3dcompile.h and intrin.h (SSE2) as well as d3d9.lib and the shader compiler since the header d3dcompile.h is also present in MinGW. Change-Id: I7ee9701f4f9dc175ed2d733db79dda46de4d69f1 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* ANGLE: Add TextureSSE2.cpp to SSE2_SOURCES.Jason Barron2012-10-301-1/+3
| | | | | | | | | | This file needs to be compiled with SSE2 intrinsic support. It happens to compile on x64 system because SSE2 is implied here, but on 32-bit compilers (in this case MinGW 32-bit) it needs to be explicit. Change-Id: I92dd5bc9257b6dd344ab02341475c023327b756a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-241-0/+107
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>