Commit Graph

83 Commits (c26d5cf6ef50ea102cfb18eb2109f60bcdfdafb6)

Author SHA1 Message Date
Andrew Knight a93bfc1ebe Remove d3dcompiler_qt
This library was created as a work around for limitations on Windows
Phone 8.0, which will not be supported going forward (Qt 5.4). Therefore,
we no longer need (or want to maintain) this experimental feature and
should remove it from the repository.

Change-Id: Ia417833f9de43e2d3e0940df93625e7d87a555ea
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-08-05 16:44:13 +02:00
Andrew Knight 093e179b71 ANGLE: Add support for querying platform device
The EGL_EXT_device_base extension allows for querying the platform
device of the graphics hardware via eglQueryDisplayAttribEXT().
As that extension is not supported by ANGLE, this patch adds similar
functionality to the existing eglQuerySurfacePointerANGLE API. When
EGL_DEVICE_EXT is passed as the queried attribute, the underlying
D3D/DXGI device pointer is passed back to the caller via the value
argument.

The D3D device is needed for video support in QtMultimedia as well as
the IDXGIDevice3::Trim() calls required by the Windows Store.

Change-Id: Ibdf228d81d6604e56db9dd8597d7cd2983ebc428
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-05 16:43:34 +02:00
Andrew Knight a6a12d8c0f ANGLE: upgrade to 2.1~07d49ef5350a
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>
2014-08-05 16:43:22 +02:00
Thiago Macieira 4cb03924c1 Fix ANGLE build with Microsoft Visual Studio "14" CTP
This version has a few new C99 support added, including snprintf.

Change-Id: I5776456fd94254a64f08791f59bc775cb24c9b7f
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-06-20 21:54:54 +02:00
Andrew Knight c32295eb80 ANGLE WinRT: Create swap chain using physical resolution
ANGLE has been creating the framebuffer in logical pixels instead of
physical pixels, which leads to unexpected results and side effects like
smudged anti-aliased text. This fixes the issue by multiplying the DIP
resolution by the scale factor, making the framebuffer match the physical
pixel resolution of the screen.

Change-Id: I3594995ce8e18a31b47e27165f72bc6a391b97b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-22 07:59:49 +02:00
Andrew Knight fe0348e103 ANGLE D3D11: Don't use mipmaps in level 9 textures
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>
2014-05-09 12:31:36 +02:00
Oswald Buddenhagen 9ab4142551 centralize auxiliary lib creation
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>
2014-04-28 19:49:44 +02:00
Andrew Knight 878da15f2c ANGLE WinRT: Call Trim() when application suspends
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>
2014-04-22 13:54:38 +02:00
Andrew Knight 4dd9a02001 d3dcompiler_qt: Fix default precompiled path
The trailing slash was missing, which caused the resulting path to be
wrong.

Change-Id: Iaa9dee15e744307c2d438181964b71c412fd9709
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-03 08:54:48 +02:00
Andrew Knight 423823dd2d d3dcompiler_qt: Improve shader source structure
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>
2014-03-31 19:50:37 +02:00
Andrew Knight 0ddf86236e d3dcompiler_qt: Directly link the d3dcompiler DLL on WinRT 8.1
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>
2014-03-28 07:58:47 +01:00
Andrew Knight 993907d299 ANGLE: Don't export DLLMain functions for static builds
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>
2014-03-28 07:58:45 +01:00
Andrew Knight 33cac84df3 ANGLE D3D11: Fix internal index buffer for level 9 hardware
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>
2014-03-20 13:59:33 +01:00
Andrew Knight 42afaa992a d3dcompiler_qt: Remove control file semantics
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>
2014-03-14 22:40:24 +01:00
Friedemann Kleint 39346df12c Use Qt's RTTI setting when building ANGLE statically.
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>
2014-02-26 12:58:00 +01:00
Andrew Knight efc79c6e91 ANGLE: Allow for universal program binaries
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>
2014-02-26 07:56:53 +01:00
Andrew Knight a7d093e740 Upgrade ANGLE to 1.3.5bb7ec572d0a
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>
2014-02-26 07:56:50 +01:00
Frederik Gladhorn a1fe728fa5 Merge remote-tracking branch 'origin/stable' into dev
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
2014-02-07 13:07:25 +01:00
Maurice Kalinowski 10a6e4d22b remove doubled specification
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>
2014-01-31 07:58:39 +01:00
Maurice Kalinowski e196b9a5a0 Add install rules
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>
2014-01-31 07:58:31 +01:00
Kai Koehne c2629632cf Fix compilation of ANGLE with mingw-tdm64 gcc 4.8.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>
2014-01-21 11:10:44 +01:00
Andrew Knight 603eac2dfb d3dcompiler_qt: Place compiler options in the shader file name
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>
2014-01-18 04:39:19 +01:00
Kai Koehne 278152fffd Replace win32-g++ with mingw scope
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>
2014-01-17 12:08:24 +01:00
Simon Hausmann d776937df9 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-23 22:44:13 +01:00
Andrew Knight 863810eb28 d3dcompiler_qt: Remove directory creation inside the proxy library
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>
2013-12-19 21:23:48 +01:00
Andrew Knight 1487ec4da0 d3dcompiler_qt: Fix export warning on MSVC
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>
2013-12-19 21:23:42 +01:00
Frederik Gladhorn 3f3be55835 Merge remote-tracking branch 'origin/stable' into dev
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
2013-12-16 16:59:33 +01:00
Oliver Wolff 72ea1d5992 Moved d3dcompiler from src/angle to src/angle/src
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>
2013-12-12 15:39:46 +01:00
Orgad Shaneh 6d8b84e8d5 GitIgnore updates
* ANGLE artifacts
* qfeatures

Change-Id: I3cb8f78bf02119233f115ec53d536c05dd9776e7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-09 17:28:18 +01:00
Andrew Knight be2efef7a4 Introducing d3dcompiler_qt
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>
2013-12-09 10:27:28 +01:00
Andrew Knight bcf346a766 ANGLE D3D11: Fix build on desktop Windows
This fixes a missing declaration caused by 11a2226c

Change-Id: I4b8092c6b9592e886353af9193686238105a1512
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2013-12-09 08:11:11 +01:00
Andrew Knight 7900f74456 ANGLE: Dynamically load D3D compiler from a list or the environment
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>
2013-12-09 08:11:07 +01:00
Maurice Kalinowski ae8948a0a9 ANGLE D3D11: Always execute QueryInterface
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 331bc16afd

Change-Id: I4413bab06b5a529fcbd09bbc20828fcdcf4e4fc6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-03 18:42:05 +01:00
Frederik Gladhorn 4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
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
2013-11-26 22:35:48 +01:00
Andrew Knight 331bc16afd ANGLE: Enable D3D11 for feature level 9 cards
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>
2013-11-17 12:13:15 +01:00
Oswald Buddenhagen 43684a20d0 use private linkage where possible
Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:32 +01:00
Kai Koehne 00bf148b07 Fix compilation with MinGW gcc 64 bit
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>
2013-10-29 15:09:29 +01:00
Friedemann Kleint b66a217a1c ANGLE: Fix compilation with MSVC2013.
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>
2013-10-24 20:20:59 +02:00
Friedemann Kleint 9ae94806ad ANGLE: Fix fxc path setting for MSVC 2013.
Change-Id: I7be4dbd948052d069bb1b97d759d6fc5099236f9
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00
Frederik Gladhorn 840f6a40e6 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
2013-10-24 12:48:42 +02:00
Kai Koehne 0008a6f400 Fix compilation of ANGLE on MinGW
This broke with commit  89f9bc9c5f.

Task-number: QTBUG-34080
Change-Id: Ib3c7a3c90db7dc04f417eba4c1328390f45e5e5f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-15 13:13:30 +02:00
Frederik Gladhorn d0eb444a49 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
2013-10-11 16:12:35 +02:00
Thomas Hartmann 89f9bc9c5f Fix compilation for MSVC 2008 and std::tuple
For MSVC 2008 make_tuple is in the tr1 namespace.

Change-Id: I4a51f6cabdf068993869b404b12ed1484a21a9d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-09 13:52:58 +02:00
Andrew Knight 11a2226cfe ANGLE: Support WinRT
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>
2013-10-02 12:36:10 +02:00
Andrew Knight 1a334f8135 ANGLE: Update to version 2446
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>
2013-09-19 08:53:35 +02:00
Kai Koehne 07502898e9 ANGLE: Fix MSVC compiler warning
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>
2013-08-16 16:04:49 +02:00
Kai Koehne 2c0f7fb8dc Fix compilation of libGLESv2 with older MinGW-w64 headers
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>
2013-07-11 17:29:39 +02:00
Oswald Buddenhagen b35ea875a1 put ANGLE includes in a QtANGLE subdir
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>
2013-06-10 21:12:13 +02:00
Kai Koehne 43e1c61a19 Add missing intrin.h include for __cpuid
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>
2013-04-23 12:45:16 +02:00
Kai Koehne 38f6467b81 ANGLE: Fix compilation with MinGW
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>
2013-04-22 14:30:03 +02:00