summaryrefslogtreecommitdiffstats
path: root/src/angle
Commit message (Collapse)AuthorAgeFilesLines
* d3dcompiler_qt: Fix default precompiled pathAndrew Knight2014-04-031-1/+1
| | | | | | | | The trailing slash was missing, which caused the resulting path to be wrong. Change-Id: Iaa9dee15e744307c2d438181964b71c412fd9709 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* d3dcompiler_qt: Improve shader source structureAndrew Knight2014-03-311-22/+38
| | | | | | | | | | | | The following adjustments are made: - A precompiled path, defaulting to a QRC path, is added for looking up precompiled shaders - The standard service source/binary paths are created if needed, in order to avoid fast-fails when the service cannot create the structure itself fast enough. Change-Id: I966e54c0b35bafdaf0b3a32b76eb896308aca6db Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* d3dcompiler_qt: Directly link the d3dcompiler DLL on WinRT 8.1Andrew Knight2014-03-282-1/+15
| | | | | | | | | The compiler DLL is a system module starting with Windows 8.1, so directly link to it instead of expecting a packaged DLL. This makes shader precompilation completely optional on this platform. Change-Id: I46cd175ac32e4909a518a059721241b1d6e7be17 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* ANGLE: Don't export DLLMain functions for static buildsAndrew Knight2014-03-281-0/+63
| | | | | | | | | | | 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-0/+256
| | | | | | | | | | | | | | | | | | 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>
* d3dcompiler_qt: Remove control file semanticsAndrew Knight2014-03-141-30/+18
| | | | | | | | | | | | | | This simplifies the compiler control semantics by always using the packaged compiler if it is available. With no packaged compiler, the service is assumed to be running if the directory structure is present. Use of a packaged library can be overridden by setting the environment variable QT_D3DCOMPILER_DISABLE_DLL to 1. When the runtime compiler is used, the source will no longer be logged, and the compilation output will no longer be cached. Change-Id: Ib07f517e7043d7785bdfa9da55abd34df518eeed Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Use Qt's RTTI setting when building ANGLE statically.Friedemann Kleint2014-02-261-1/+1
| | | | | | | | | | | | Prevent errors when building Qt statically with RTTI enabled: warning C4743: 'const std::ios_base::failure::`vftable'' has different size in 'qtbase\src\3rdparty\angle\src\libGLESv2\Context.cpp' and '(...)': 16 and 12 bytes Task-number: QTBUG-36951 Change-Id: Ie0501b986be8610c8293cd5c1aa42b502d7c27a1 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* ANGLE: Allow for universal program binariesAndrew Knight2014-02-262-0/+94
| | | | | | | | | | | | | | | | 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-2629-2389/+1598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-0/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| * Fix compilation of ANGLE with mingw-tdm64 gcc 4.8.1Kai Koehne2014-01-211-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | Do not rely on sprintf_s being declared/defined. This also fixes deployment to Windows XP. See https://chromium-review.googlesource.com/#/c/182975/ for a similar commit proposed upstream. Task-number: QTBUG-36242 Change-Id: I520e2f61aeab34963e7a57baafd413c7db93f110 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | remove doubled specificationMaurice Kalinowski2014-01-311-1/+0
| | | | | | | | | | | | | | | | | | DLLDESTDIR is set in config.pri already, hence no need to set it twice Change-Id: I84a5ecd0a3db41ff3920a295644e3d169deed264 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Add install rulesMaurice Kalinowski2014-01-311-0/+2
| | | | | | | | | | | | | | | | | | Otherwise d3dcompiler will not be installed using -prefix in configure Change-Id: I3054969cc5d8b7c2378b12bbaef3dc4ca0194711 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | d3dcompiler_qt: Place compiler options in the shader file nameAndrew Knight2014-01-181-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler service needs to know what options to pass to the compiler, and these options can affect the outcome of the shader blob. Runtime compiled shader output must match this file name in the binary directory. Pre-compiled shader blobs (e.g. those placed in a resource file) are permitted to drop options from the file name if the implementor can ensure the blob is compatible with the target. Defines are not written out as options, but written into the shader source, and therefore affect the cache key. Change-Id: I11e4a43fcf6818ddb29aca5eba3d8647ba4021a1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Replace win32-g++ with mingw scopeKai Koehne2014-01-174-4/+4
| | | | | | | | | | | | | | | | 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 "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-231-0/+6
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-0/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| | * GitIgnore updatesOrgad Shaneh2013-12-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * ANGLE artifacts * qfeatures Change-Id: I3cb8f78bf02119233f115ec53d536c05dd9776e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | d3dcompiler_qt: Remove directory creation inside the proxy libraryAndrew Knight2013-12-191-49/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of mkpath/mkdir is removed in order to make the proxy less invasive when there is no compiler service running. Creation of the directory structure is fully the service's responsibility. Service availability is now only checked once, at the first invocation of D3DCompile, as it is expected to be started before the application. Change-Id: Ib8c4f062c418497c2253daf524654e1db30dae47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | d3dcompiler_qt: Fix export warning on MSVCAndrew Knight2013-12-191-2/+5
|/ / | | | | | | | | | | | | | | MSVC warns about multiple symbols when using extern "C", but MinGW requires it. #ifdef it for MinGW. Change-Id: I8b16ab4ea129312787090e042115d8f709fdd814 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Moved d3dcompiler from src/angle to src/angle/srcOliver Wolff2013-12-126-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though it is not really part of the angle implementation, having it in source is more consistent with the rest of Qt and makes browsing the code easier. There was also an issue, that only a debug build was done when calling nmake or jom. While moving the implementation this issue was fixed by including config.pri to d3dcompiler's .pro file. Change-Id: I3e3630865c94adbe1a1f1af2ccfc2bcb046002a8 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Introducing d3dcompiler_qtAndrew Knight2013-12-095-0/+313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d3dcompiler_qt is a DLL for use with ANGLE which replaces d3dcompiler_XX at runtime to proxy shader compilation calls. This is useful for: - Loading the newest D3D compiler DLL found, instead of loading the version specified when Qt was compiled - Reporting better debug information when the compiler cannot be loaded - Caching shader blobs for later use - Returning cached shader blobs - Deferring compilation to another mechanism, such as a D3D compilation service running on a host debugging machine * The above use cases are especially important for Windows Store apps, as they are not allowed to ship the d3dcompiler. On Windows Phone, where there is no runtime compiler, this is essential for handling QtQuick apps which require runtime shader compilation. * This requires a separate service which monitors a directory for shader source files, compiles these files into D3D bytecode, and places the bytecode in the qtd3dcompiler cache directory. This directory is monitored by qtd3dcompiler, which is then able to then load the blob. Change-Id: I9889c8d66d2ddbe5a7a1dc44bfe5d8ad229b0e43 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | ANGLE D3D11: Fix build on desktop WindowsAndrew Knight2013-12-091-0/+28
| | | | | | | | | | | | | | 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-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 D3D11: Always execute QueryInterfaceMaurice Kalinowski2013-12-031-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | ASSERT removes the condition when building for release mode. However, QueryInterface must be called in any case. Adopt to using ASSERT(false) like in other occurrences in angle. This is a follow-up patch to 331bc16afd23414493b842819e0b747e8f364243 Change-Id: I4413bab06b5a529fcbd09bbc20828fcdcf4e4fc6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-265-10/+73
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-313-9/+9
| | | | | | | | | | | | Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix compilation with MinGW gcc 64 bitKai Koehne2013-10-291-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix compilation of ANGLE with gcc 4.8.0 64 bit: The reinterpret_cast<unsigned long>(void*) was causing error: cast from 'const void*' to 'long unsigned int' loses precision Task-number: QTBUG-34395 Change-Id: Ibde75dd4b5536f3827bdf0ab02a15e93a1a8a4f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * ANGLE: Fix compilation with MSVC2013.Friedemann Kleint2013-10-241-0/+28
| | | | | | | | | | | | | | | | Add missing include for std::min(), std::max(). Change-Id: I740e5db94f9f958ac65de8dd7baab7e203482637 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| * ANGLE: Fix fxc path setting for MSVC 2013.Friedemann Kleint2013-10-241-1/+1
| | | | | | | | | | | | Change-Id: I7be4dbd948052d069bb1b97d759d6fc5099236f9 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | ANGLE: Enable D3D11 for feature level 9 cardsAndrew Knight2013-11-172-4/+994
| | | | | | | | | | | | | | | | | | | | | | 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-0/+32
|\| | | | | | | Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
| * Fix compilation for MSVC 2008 and std::tupleThomas Hartmann2013-10-091-0/+32
| | | | | | | | | | | | | | 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-024-4/+1141
|/ | | | | | | | | | | | | | 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-1915-358/+206
| | | | | | | | | | | | | | | | | | | | | | | 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>
* ANGLE: Fix MSVC compiler warningKai Koehne2013-08-161-1/+2
| | | | | | | | | | | We don't use exceptions anyway, so we can safely ignore this warning. Task-number: QTBUG-32833 Change-Id: Id78cb99770f37a076de3a95721ba40795a8a7b57 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix compilation of libGLESv2 with older MinGW-w64 headersKai Koehne2013-07-111-0/+52
| | | | | | | | | | | | | | | 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>
* put ANGLE includes in a QtANGLE subdirOswald Buddenhagen2013-06-103-4/+4
| | | | | | | | | 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>
* Add missing intrin.h include for __cpuidKai Koehne2013-04-231-0/+30
| | | | | | | | | 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: 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>
* ANGLE: Use rtti_off in CONFIG only for releaseJonathan Liu2013-04-111-1/+2
| | | | | | | | ANGLE uses dynamic_cast in debug.h for debug builds which require RTTI. Change-Id: I0e2fea7ed751dc87624d7e76d179023accb9c126 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Avoid memory copies on buffers when data is nullAndrew Knight2013-04-081-0/+72
| | | | | | | | 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/+58
| | | | | | | | | | | | | 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-0813-217/+397
| | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-211-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * pass module version to syncqtOswald Buddenhagen2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is cleaner than having it parse qmake project files. the only remaining built-in version extraction is the fallback to qglobal.h needed for bootstrapping. as a "side effect", this fixes the build of modules with mismatched versions centralized in .qmake.conf, as this was simply not handled so far. the -mkspecsdir syncqt option goes away, as there is no use case for it any more. Task-number: QTBUG-29838 Change-Id: I6912a38f0e93a26bc267a9e3d738506fd3ad431b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | consolidate syncqt invocationsOswald Buddenhagen2013-03-131-13/+4
| | | | | | | | | | | | Change-Id: Ic28ea95201501b05c4a62366d1f70fa120161927 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | ANGLE: Fix static build.Friedemann Kleint2013-02-252-0/+220
|/ | | | | | | | | | | | | 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>