summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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 D3D11: Always execute QueryInterfaceMaurice Kalinowski2013-12-031-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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-262-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix compilation with MinGW gcc 64 bitKai Koehne2013-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | | | | | | | 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: 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-0221-62/+376
|/ | | | | | | | | | | | | | 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-19124-3476/+4866
| | | | | | | | | | | | | | | | | | | | | | | 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-082-1/+11
| | | | | | | | | | | | | 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-08246-16397/+27329
| | | | | | | | | | | | | | | 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-253-40/+53
| | | | | | | | | | | | | 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-204-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-194-0/+436
| | | | | | | | | 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 typedefs for Win64Jonathan Liu2012-12-181-0/+7
| | | | | | | | | The long int type is incorrect for Windows 64-bit as LLP64 is used there. Change-Id: If4ccf49d6bb0cd7ba4ff2997cebfdbe5e7e9711c Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Fix debug-and-release buildsFriedemann Kleint2012-12-012-0/+218
| | | | | | | | | | | | | | | 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>
* ANGLE: Do not reset the share handle when resetting the swap chain.Zeno Albisser2012-11-301-1/+0
| | | | | | | | | | | This change only affects the ANGLE_surface_d3d_texture_2d_share_handle extension. The patch is necessary to have WebGL running in Qt/WebKit2. If the share handle is reset, we are loosing the reference to the EGLSurface and cannot actually reuse it in a different context anymore. Change-Id: I0138432dd8ff60ea57e7e591cfa2f8db1d324f53 Reviewed-by: Simon Hausmann <simon.hausmann@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>
* Fix black screen after minimizing OpenGL window with ANGLEMiikka Heikkinen2012-11-201-0/+16
| | | | | | | | | CreateTexture will fail on zero dimensions, so just release old target and reset dimensions when resetSwapChain is called with zero size area. Task-number: QTBUG-27994 Change-Id: I1e500c4fd4b92f7d9ea2a49a44f3fb930b575cd1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Invalidate client window area when resetting swap chainJonathan Liu2012-11-152-0/+2
| | | | | | | | | | | | | | | | 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. This has been observed on Windows 7 64-bit with Aero theme using NVIDIA GeForce GTS 250 and driver version 301.42. Invalidate the entire client window area when resetting the swap chain so that it updates properly. Upstream patch: https://codereview.appspot.com/6812076/ Task-number: QTBUG-27822 Change-Id: I0f5d2004576019458baee74c35e52f69b893a219 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Dynamically resolve functions of dwmapi.dll.Friedemann Kleint2012-11-061-11/+28
| | | | | | | | | | The library is not present on Windows XP, for which /DELAYLOAD is used in ANGLE. However, as this causes problems with MinGW, use dynamic resolution. Task-number: QTBUG-27741 Change-Id: Ie4a2706d57b751fbb6fc6f3e76ef2e8ddac3b892 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-24223-0/+66542
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>